Interface for accessing analog input of a daq-board via a dynamic clamp kernel module.
- Author
- Marco Hackenberg
-
Jan Benda
- Todo:
testReadDevice(): we don't get integer data!!! sigs[k].setGain( 1.0 );
Implement take()
Error handling in readData()
- Bug:
- fix errno usage
- Input traces
As usual, input traces can be assigned to channels of the analog input device. All the input traces the dynamic clamp model requires (its inputNames) must be available.
Some additional input traces might be available. They can be accessed like normal analog input traces, but the channel nummber needs to be set to 1000 or larger. The following three types of additional inputs are supported:
- additional inputs as defined by the dynamic clamp model via its
paramInputNames.
- timing measurements, if they are enabled in moduledef.h:
Interval : the full period of the dynamic clamp loop
AI-time : the time required by the analog input part
AI-acquisition-time : the time required by reading in a single analog input channel
AI-conversion-time : the time required to convert the read in value
AO-time : the time required by the analog output part
Model-time : the time required for calling computModel()
Wait-time : the time rt_task_wait_period() waits for the next period
all times are measured in seconds.
- for each analog output trace the dynamic clamp model is using (its
outputNames),
Stimulus-xxx contains the stimulus a RePro wrote to this channel,
Model-xxx contains the value the model computed, and
Total-xxx contains the total requested output for this channel, i.e. Stimulus-xxx plus Model-xxx.
Injected-xxx contains the total output for this channel as it is written to the analog output. This equals Total-xxx multiplied by a possible correction factor and is only available with ENABLE_SYNCSEC
xxx is the name of the analog output trace. If the Injected or Total output exceeds the limits of the maximum range of the data acquisition board, they are clipped to the minimum or maximum possible values.
- Options:
gainblacklist: List of daq board gains that should not be used. Each gain is identified by its maximal range value in volts.