Analog Entity¶
- group AnalogEntity
AnalogClass: Interface to analog entities on BrainStem modules. Analog entities may be configured as a input or output depending on hardware capabilities. Some modules are capable of providing actual voltage readings, while other simply return the raw analog-to-digital converter (ADC) output value. The resolution of the voltage or number of useful bits is also hardware dependent.
-
void analog_getValue(unsigned int *id, struct Result *result, const int index)¶
Get the raw ADC output value in bits.
Returns common entity return values
Note
Not all modules are provide 16 useful bits; this value’s least significant bits are zero-padded to 16 bits. Refer to the module’s datasheet to determine analog bit depth and reference voltage.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. 16 bit analog reading with 0 corresponding to the negative analog voltage reference and 0xFFFF corresponding to the positive analog voltage reference.
index – The index of the entity in question.
-
void analog_getVoltage(unsigned int *id, struct Result *result, const int index)¶
Get the scaled micro volt value with reference to ground.
Returns common entity return values
Note
Not all modules provide 32 bits of accuracy; Refer to the module’s datasheet to determine the analog bit depth and reference voltage.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. 32 bit signed integer (in microvolts) based on the board’s ground and reference voltages.
index – The index of the entity in question.
-
void analog_getRange(unsigned int *id, struct Result *result, const int index)¶
Get the analog input range.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. 8 bit value corresponding to a discrete range option
index – The index of the entity in question.
-
void analog_getEnable(unsigned int *id, struct Result *result, const int index)¶
Get the analog output enable status.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. 0 if disabled 1 if enabled.
index – The index of the entity in question.
-
void analog_setValue(unsigned int *id, struct Result *result, const int index, const unsigned short value)¶
Set the value of an analog output (DAC) in bits.
Returns common entity return values
Note
Not all modules are provide 16 useful bits; the least significant bits are discarded. E.g. for a 10 bit DAC, 0xFFC0 to 0x0040 is the useful range. Refer to the module’s datasheet to determine analog bit depth and reference voltage.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
value – 16 bit analog set point with 0 corresponding to the negative analog voltage reference and 0xFFFF corresponding to the positive analog voltage reference.
-
void analog_setVoltage(unsigned int *id, struct Result *result, const int index, const int microvolts)¶
Set the voltage level of an analog output (DAC) in microvolts.
Returns common entity return values
Note
Voltage range is dependent on the specific DAC channel range.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
microvolts – 32 bit signed integer (in microvolts) based on the board’s ground and reference voltages.
-
void analog_setRange(unsigned int *id, struct Result *result, const int index, const unsigned char range)¶
Set the analog input range.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
range – 8 bit value corresponding to a discrete range option
-
void analog_setEnable(unsigned int *id, struct Result *result, const int index, const unsigned char enable)¶
Set the analog output enable state.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
enable – set 1 to enable or 0 to disable.
-
void analog_setConfiguration(unsigned int *id, struct Result *result, const int index, const unsigned char configuration)¶
Set the analog configuration.
EntityReturnValues “common entity” return values
aErrConfiguration - Entity does not support this configuration.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
configuration – - bitAnalogConfigurationOutput configures the analog entity as an output.
-
void analog_getConfiguration(unsigned int *id, struct Result *result, const int index)¶
Get the analog configuration.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure.
Current configuration of the analog entity.
index – The index of the entity in question.
-
void analog_setBulkCaptureSampleRate(unsigned int *id, struct Result *result, const int index, const unsigned int value)¶
Set the sample rate for this analog when bulk capturing.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
value – sample rate in samples per second (Hertz). Minimum rate: 7,000 Hz Maximum rate: 200,000 Hz
-
void analog_getBulkCaptureSampleRate(unsigned int *id, struct Result *result, const int index)¶
Get the current sample rate setting for this analog when bulk capturing.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. upon success filled with current sample rate in samples per second (Hertz).
index – The index of the entity in question.
-
void analog_setBulkCaptureNumberOfSamples(unsigned int *id, struct Result *result, const int index, const unsigned int value)¶
Set the number of samples to capture for this analog when bulk capturing.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
value – number of samples. Minimum # of Samples: 0 Maximum # of Samples: (BRAINSTEM_RAM_SLOT_SIZE / 2) = (3FFF / 2) = 1FFF = 8191
-
void analog_getBulkCaptureNumberOfSamples(unsigned int *id, struct Result *result, const int index)¶
Get the current number of samples setting for this analog when bulk capturing.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. number of samples.
index – The index of the entity in question.
-
void analog_initiateBulkCapture(unsigned int *id, struct Result *result, const int index)¶
Initiate a BulkCapture on this analog. Captured measurements are stored in the module’s RAM store (RAM_STORE) slot 0. Data is stored in a contiguous byte array with each sample stored in two consecutive bytes, LSB first.
Returns common entity return values. When the bulk capture is complete getBulkCaptureState() will return either bulkCaptureFinished or bulkCaptureError.
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone on success. Non-zero error code on failure.
index – The index of the entity in question.
-
void analog_getBulkCaptureState(unsigned int *id, struct Result *result, const int index)¶
Get the current bulk capture state for this analog.
Returns common entity return values
- Parameters:
id – ID assigned through “module_createStem”
result – Object containing aErrNone and the requested value on success. Non-zero error code on failure. the state of bulk capture.
Idle: bulkCaptureIdle = 0
Pending: bulkCapturePending = 1
Finished: bulkCaptureFinished = 2
Error: bulkCaptureError = 3
index – The index of the entity in question.