19#include "sensorring/platform/SensorringExport.hpp"
75 void comCallback(
const com::ComEndpoint source,
const std::vector<uint8_t>& data);
78 com::ComInterface* _interface;
82 std::vector<std::unique_ptr<device::BaseDevice> > _device_vec;
84 mutable std::recursive_mutex _com_mutex;
85 using LockGuard = std::lock_guard<std::recursive_mutex>;
Base device combining IDevice and BaseSensor with device ID and state.
Interface type definition.
Parameter structure of a sensor board.
SensorBoardType
Definition SensorBoardType.hpp:21
RAII wrapper pairing a SubscriberToken with its cancel function.
Uniquely identifies a communication endpoint by its string ID.
Definition ComEndpoint.hpp:25
~SensorBoard()
Destructor.
std::vector< BaseDevice * > getDevices() const
Return non-owning pointers to all devices on this board.
SensorBoard(SensorBoardParams params, com::ComInterfaceID interface, unsigned int idx, std::vector< std::unique_ptr< BaseDevice > > devices)
Construct the board with parameters, communication interface, index, and owned devices.
SensorBoardType getBoardType() const
Board type from configuration (undefined if not set). Used for topology enforcement.
bool isEnumerated() const
Report whether this board has completed enumeration.
const EnumerationInformation & getEnumInfo() const
Return the enumeration info received from the hardware.
Move-only RAII wrapper that pairs a SubscriberToken with an unsubscribe callable. Destroying a Subscr...
Definition Subscription.hpp:30
Definition ComInterfaceID.hpp:32
Thin base interface for all concrete devices in the SensorRing.
Definition IDevice.hpp:18
Parameter structure of a sensor board. A sensor board is one circuit board.
Definition SensorBoardParams.hpp:22