Analog¶
- class brainstem.entity.Analog(module, index)[source]¶
The AnalogClass is the 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.
- Useful constants:
CONFIGURATION_INPUT (0)
CONFIGURATION_OUTPUT (1)
HERTZ_MINIMUM (7,000)
HERTZ_MAXIMUM (200,000)
BULK_CAPTURE_IDLE (0)
BULK_CAPTURE_PENDING (1)
BULK_CAPTURE_FINISHED (2)
BULK_CAPTURE_ERROR (3)
- getBulkCaptureNumberOfSamples()[source]¶
Get the current number of samples setting for this analog when bulk capturing.
- Returns:
- Result object, containing NO_ERROR and sample number
or a non zero Error code.
- Return type:
- getBulkCaptureSampleRate()[source]¶
Get the current sample rate setting for this analog when bulk capturing.
Sample rate is in samples per second (Hertz).
- Returns:
- Result object, containing NO_ERROR and sample rate
or a non zero Error code.
- Return type:
- getBulkCaptureState()[source]¶
Get the current bulk capture state for this analog.
Possible states of the bulk capture operation are; idle = 0 pending = 1 finished = 2 error = 3
- Returns:
- Result object, containing NO_ERROR and bulk capture state
or a non zero Error code.
- Return type:
- getConfiguration()[source]¶
Get the analog configuration.
If the configuraton is 1 the analog is configured as an output, if the configuration is 0, the analog is set as an input.
- Returns:
- Result object, containing NO_ERROR and analog configuration
or a non zero Error code.
- Return type:
- getEnable()[source]¶
Get the enable state an analog output
Get a boolean value corresponding to on/off
- Returns:
- Result object, containing NO_ERROR and enable state
or a non zero Error code.
- Return type:
- getRange()[source]¶
Get the range setting of an analog input
Get a value corresponding to a discrete range option.
- Returns:
- Result object, containing NO_ERROR and analog range
or a non zero Error code.
- Return type:
- getValue()[source]¶
Get the raw ADC value in bits.
Get a 16 bit analog set point with 0 corresponding to the negative analog voltage reference and 0xFFFF corresponding to the positive analog voltage reference.
Note
Not all modules provide 16 useful bits; the least significant bits are discarded. E.g. for a 10 bit ADC, 0xFFC0 to 0x0040 is the useful range. Refer to the module’s datasheet to determine analog bit depth and reference voltage.
- Returns:
- Result object, containing NO_ERROR and analog value
or a non zero Error code.
- Return type:
- getVoltage()[source]¶
Get the scaled micro volt value with reference to ground.
Get a 32 bit signed integer (in microVolts) based on the boards ground and reference voltages.
Note
Not all modules provide 32 bits of accuracy; Refer to the module’s datasheet to determine the analog bit depth and reference voltage.
- Returns:
- Result object, containing NO_ERROR and microVolts value
or a non zero Error code.
- Return type:
- initiateBulkCapture()[source]¶
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:
Return NO_ERROR on success, or one of the common sets of return error codes on failure. When the bulk capture is complete getBulkCaptureState() will return either finished or error.
- Return type:
Result.error
- setBulkCaptureNumberOfSamples(value)[source]¶
Set the number of samples to capture for this analog when bulk capturing.
Minimum # of Samples: 0 Maximum # of Samples: (BRAINSTEM_RAM_SLOT_SIZE / 2) = (3FFF / 2) = 1FFF = 8191
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setBulkCaptureSampleRate(value)[source]¶
Set the sample rate for this analog when bulk capturing.
Sample rate is set in samples per second (Hertz).
Minimum Rate: 7,000 Hertz Maximum Rate: 200,000 Hertz
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setConfiguration(value)[source]¶
Set the analog configuration.
Some analogs can be configured as DAC outputs. Please see your module datasheet to determine which analogs can be configured as DAC.
- Param:
value (int): Set 1 for output 0 for input. Default configuration is input.
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setEnable(enable)[source]¶
Set the enable state of an analog output.
Set a boolean value corresponding to on/off
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setRange(value)[source]¶
Set the range of an analog input.
Set a value corresponding to a discrete range option.
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setValue(value)[source]¶
Set the value of an analog output (DAC) in bits.
Set a 16 bit analog set point with 0 corresponding to the negative analog voltage reference and 0xFFFF corresponding to the positive analog voltage reference.
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.
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error
- setVoltage(value)[source]¶
Set the voltage level of an analog output (DAC) in microVolts with reference to ground.
Set a 16 bit signed integer as voltage output (in microVolts).
Note
Voltage range is dependent on the specific DAC channel range. See datasheet and setRange for options.
- Returns:
Return NO_ERROR on success, or one of the common sets of return error codes on failure.
- Return type:
Result.error