Digital Class

See the Digital Entity for generic information.

class DigitalClass : public Acroname::BrainStem::EntityClass

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.

Public Functions

DigitalClass(void)

Constructor.

virtual ~DigitalClass(void)

Destructor.

void init(Module *pModule, const uint8_t index)

Initialize the Digital Class.

Parameters:
  • pModule – The module to which this entity belongs.

  • index – The index of the Digital entity to be addressed.

aErr setConfiguration(const uint8_t configuration)

Set the digital configuration to one of the available 5 states.

Note

Some configurations are only supported on specific pins.

Parameters:

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

Returns:

Returns common entity return values

aErr getConfiguration(uint8_t *configuration)

Get the digital configuration.

Parameters:

configuration – Current configuration of the digital entity.

Returns:

Returns common entity return values

aErr setState(const uint8_t state)

Set the logical state.

Parameters:

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

Returns:

Returns common entity return values

aErr getState(uint8_t *state)

Get the state.

Note

If in high Z state an error will be returned.

Parameters:

state – The current state of the digital entity. 0 is logic low, 1 is logic high.

Returns:

Returns common entity return values

aErr setStateAll(const uint32_t 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.

Parameters:

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.

Returns:

Returns common entity return values

aErr getStateAll(uint32_t *state)

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.

Parameters:

state – The state of all digitals where bit 0 = digital 0, bit 1 = digital 1 etc. 0 is logic low, 1 is logic high.

Returns:

Returns common entity return values

aErr setValue(const uint8_t value)

Set the expected value of the digital pin.

Parameters:

value – The expected value of the digital pin. 0 is logic low, 1 is logic high.

Returns:

Returns common entity return values

aErr getValue(uint8_t *value)

Get the expected value of the digital pin.

Parameters:

value – The expected value of the digital pin. 0 is logic low, 1 is logic high.

Returns:

Returns common entity return values

aErr setLinkChannel(const uint8_t linkChannel)

Set the link channel (entity index) for linking digital entities. Two digital entities will link when one is configured as LinkInput, one as LinkOutput, and both have each others linkChannel indexes.

Parameters:

linkChannel – The link channel (entity index) value. Entities with matching linkChannel values can be linked.

Returns:

Returns common entity return values

aErr getLinkChannel(uint8_t *linkChannel)

Get the link channel (entity index) for linking digital entities.

Parameters:

linkChannel – The current link channel (entity index) value.

Returns:

Returns common entity return values