Digital Entity

group DigitalEntity

DigitalClass: Interface to digital entities on BrainStem modules. Digital entities have the following 5 possibilities: Digital Input, Digital Output, RCServo Input, RCServo Output, and HighZ. Other capabilities may be available and not all pins support all configurations. Please see the product datasheet.

void digital_setConfiguration(unsigned int *id, struct Result *result, const int index, const unsigned char configuration)

Set the digital configuration to one of the available 5 states. Note: Some configurations are only supported on specific pins.

Returns 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 – The configuration to be applied

    • Digital Input: digitalConfigurationInput = 0

    • Digital Output: digitalConfigurationOutput = 1

    • RCServo Input: digitalConfigurationRCServoInput = 2

    • RCServo Output: digitalConfigurationRCServoOutput = 3

    • High Z State: digitalConfigurationHiZ = 4

    • Digital Input: digitalConfigurationInputPullUp = 0

    • Digital Input: digitalConfigurationInputNoPull = 4

    • Digital Input: digitalConfigurationInputPullDown = 5

void digital_getConfiguration(unsigned int *id, struct Result *result, const int index)

Get the digital 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 digital entity.

  • index – The index of the entity in question.

void digital_setState(unsigned int *id, struct Result *result, const int index, const unsigned char state)

Set the logical 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.

  • state – The state to be set. 0 is logic low, 1 is logic high.

void digital_getState(unsigned int *id, struct Result *result, const int index)

Get the state.

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 current state of the digital entity. 0 is logic low, 1 is logic high. Note: If in high Z state an error will be returned.

  • index – The index of the entity in question.

void digital_setStateAll(unsigned int *id, struct Result *result, const int index, const unsigned int state)

Sets the logical state of all available digitals based on the bit mapping. Number of digitals varies across BrainStem modules. Refer to the datasheet for the capabilities of your module.

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.

  • state – The state to be set for all digitals in a bit mapped representation. 0 is logic low, 1 is logic high. Where bit 0 = digital 0, bit 1 = digital 1 etc.

void digital_getStateAll(unsigned int *id, struct Result *result, const int index)

Gets the logical state of all available digitals in a bit mapped representation. Number of digitals varies across BrainStem modules. Refer to the datasheet for the capabilities of your module.

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 all digitals where bit 0 = digital 0, bit 1 = digital 1 etc. 0 is logic low, 1 is logic high.

  • index – The index of the entity in question.