Analog

class brainstem.stem.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

Result

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

Result

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

Result

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

Result

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

Result

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

Result

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

Result

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

Result

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