Entity Class¶
- class EntityClass¶
EntityClass: The EntityClass is the base class for interacting with BrainStem UEI entities. All BrainStem UEI classes inherit from EntityClass. Advanced users may use EntityClass to extend BrainStem functionality specific to their needs.
Subclassed by Acroname::BrainStem::AnalogClass, Acroname::BrainStem::AppClass, Acroname::BrainStem::ClockClass, Acroname::BrainStem::DigitalClass, Acroname::BrainStem::EqualizerClass, Acroname::BrainStem::EthernetClass, Acroname::BrainStem::I2CClass, Acroname::BrainStem::MuxClass, Acroname::BrainStem::PointerClass, Acroname::BrainStem::PortClass, Acroname::BrainStem::PowerDeliveryClass, Acroname::BrainStem::RailClass, Acroname::BrainStem::RCServoClass, Acroname::BrainStem::RelayClass, Acroname::BrainStem::SignalClass, Acroname::BrainStem::StoreClass, Acroname::BrainStem::SystemClass, Acroname::BrainStem::TemperatureClass, Acroname::BrainStem::TimerClass, Acroname::BrainStem::UARTClass, Acroname::BrainStem::USBClass, Acroname::BrainStem::USBSystemClass
Public Functions
- EntityClass(void)¶
Constructor.
- virtual ~EntityClass(void)¶
Destructor.
- void init(Module *pModule, const uint8_t command, const uint8_t index)¶
init.
Initialize the entity class.
- Parameters:
pModule – The BrainStem module object.
command – The command of the UEI.
index – The index of the UEI entity.
- aErr callUEI(const uint8_t option)¶
A callUEI is a setUEI that has no data length.
- Parameters:
option – An option for the UEI.
- Returns:
Returns common entity return values
- aErr setUEI8(const uint8_t option, const uint8_t byteValue)¶
Set a byte value.
- Parameters:
option – The option for the UEI.
byteValue – The value.
- Returns:
Returns common entity return values
- aErr setUEI8(const uint8_t option, const uint8_t param, const uint8_t byteValue)¶
Set a byte value with a subindex.
- Parameters:
option – The option for the UEI.
param – of the option.
byteValue – The value.
- Returns:
Returns common entity return values
- aErr getUEI8(const uint8_t option, uint8_t *byteValue)¶
Get a byte value.
- Parameters:
option – The option for the UEI.
byteValue – The value.
- Returns:
Returns common entity return values
- aErr getUEI8(const uint8_t option, const uint8_t param, uint8_t *byteValue)¶
Get a byte value with a parameter.
- Parameters:
option – The option for the UEI.
param – The parameter.
byteValue – The value.
- Returns:
Returns common entity return values
- aErr setUEI16(const uint8_t option, const uint16_t shortValue)¶
Set a 2-byte value.
- Parameters:
option – The option for the UEI.
shortValue – The value.
- Returns:
Returns common entity return values
- aErr setUEI16(const uint8_t option, const uint8_t param, const uint16_t shortValue)¶
Set a 2-byte value with a parameter.
- Parameters:
option – The option for the UEI.
param – The parameter.
shortValue – The value.
- Returns:
Returns common entity return values
- aErr getUEI16(const uint8_t option, uint16_t *shortValue)¶
Get a 2-byte value.
- Parameters:
option – The option for the UEI.
shortValue – The value.
- Returns:
Returns common entity return values
- aErr getUEI16(const uint8_t option, const uint8_t param, uint16_t *shortValue)¶
Get a 2-byte value with a parameter.
- Parameters:
option – The option for the UEI.
param – The parameter.
shortValue – The value.
- Returns:
Returns common entity return values
- aErr setUEI32(const uint8_t option, const uint32_t intValue)¶
Set a 4-byte value.
- Parameters:
option – The option for the UEI.
intValue – The value.
- Returns:
Returns common entity return values
- aErr setUEI32(const uint8_t option, const uint8_t subIndex, const uint32_t intValue)¶
Set a 4-byte value, with a subindex parameter.
- Parameters:
option – The option for the UEI.
subIndex – The subindex to set.
intValue – The value.
- Returns:
Returns common entity return values
- aErr getUEI32(const uint8_t option, uint32_t *intValue)¶
Get a 4-byte value.
- Parameters:
option – The option for the UEI.
intValue – The 4 byte value
- Returns:
Returns common entity return values
- aErr getUEI32(const uint8_t option, const uint8_t param, uint32_t *intValue)¶
Get a 4-byte value with parameter.
- Parameters:
option – The option for the UEI.
param – The parameter.
intValue – The 4 byte value
- Returns:
Returns common entity return values
- aErr setUEIBytes(const uint8_t option, const uint8_t *bufPtr, const size_t bufLen)¶
Set a multi-byte value.
- Parameters:
option – The option for the UEI.
bufPtr – The pointer to a data buffer
bufLen – The length of the data buffer
- Returns:
Returns common entity return values
- aErr getUEIBytes(const uint8_t option, uint8_t *buf, const size_t bufLength, size_t *unloadedLength)¶
Unloads UEI Bytes data as byte data
- Parameters:
option – The option for the UEI.
buf – Start of where data should be stored..
bufLength – Size of the buffer
unloadedLength – Amount of data unloaded (in bytes)
- Returns:
Returns common entity return values
- aErr getUEIBytesCheck(size_t *unloadedLength, const size_t valueSize)¶
- Parameters:
unloadedLength – Amount of data unloaded (in bytes)
valueSize – The base type size in this array
- Returns:
Returns common entity return values
- uint8_t getIndex(void) const¶
Get the UEI entity index.
- Returns:
The 1 byte index of the UEI entity.
- aErr drainUEI(const uint8_t option)¶
Drain all packets matching this UEI from the packet fifo.
This functionality is useful in rare cases where packet synchronization is lost and a valid return packet is not accessible.
- aErr setStreamEnabled(uint8_t enabled)¶
Enables streaming for all possible option codes within the cmd and index the entity was created for.
- Parameters:
enabled – The state to be applied. 0 = Disabled; 1 = enabled
- Returns:
Returns common entity return values
- aErr registerOptionCallback(const uint8_t option, const bool enable, Link::streamCallback_t cb, void *pRef)¶
Registers a callback function based on a specific option code. Option code applies to the cmd and index of the called API.
- Parameters:
option – option to filter by (supports Wildcards)
enable – True - installs/updates callback and ref; False - uninstalls callback
cb – Callback to be executed when a new packet matching the criteria is received.
pRef – Pointer to user reference for use inside the callback function.
- Returns:
aErrNotFound - Item not found (uninstalling only)
- Returns:
aErrNone - success
- aErr getStreamStatus(Link::StreamStatusEntry_t *buffer, const size_t bufferLength, size_t *unloadedSize)¶
Gets all available stream values associated with the cmd and index of the called API. Keys can be decoded with Link::getStreamKeyElement.
- Parameters:
buffer – Buffer of user allocated memory to be filled with stream data
bufferLength – Number of elements the buffer can hold.
unloadedSize – Number of elements that were placed in the buffer
- Returns:
aErrParam if status or unloadedSize is null
- Returns:
aErrResource - if the link is not valid
- Returns:
aErrNone - success
Public Static Functions
- static uint8_t getUEIBytesSequence(const aPacket *packet)¶
- Parameters:
packet – UEI packet to be checked/filtered.
- Returns:
The sequence number of the byte.
- group EntityReturnValues
Common EntityClass Return Values.
aErrNone - Action completed successfully.
aErrTimeout - Request timed out without response.
aErrConnection - No active link.