Base class for concrete devices: implements IDevice and BaseSensor, holds device ID and state.
More...
#include <BaseDevice.hpp>
|
| | BaseDevice (DeviceID id, com::ComInterface *interface, com::ComEndpoint target, bool enable) |
| | Constructs the device with the given ID, communication interface, endpoint, and enable flag.
|
| DeviceID | getDeviceID () const |
| | Returns the device identifier.
|
| void | setPoseOffset (const DevicePoseOffset &offset) |
| | Set the pose offset of this device relative to the board center.
|
| DevicePoseOffset | getPoseOffset () const |
| | Get the pose offset of this device relative to the board center.
|
| | BaseSensor (com::ComInterface *interface, com::ComEndpoint target, unsigned int idx, bool enable) |
| | Construct a base sensor and register it with the communication interface.
|
|
virtual | ~BaseSensor () |
| | Destructor.
|
| unsigned int | getIdx () const |
| | Get the index of this sensor instance.
|
| bool | getEnable () const |
| | Query if the sensor is currently enabled.
|
| void | setEnable (bool enable) |
| | Enable or disable the sensor.
|
| void | setPose (math::Vector3 translation, math::Vector3 rotation) |
| | Set the pose of the sensor in the common coordinate frame.
|
| void | resetSensorState () |
| | Reset error state and internal flags to nominal values.
|
|
void | clearDataFlag () |
| | Clear state for the next measurement cycle. Calls the sensor-specific hook onClearDataFlag().
|
| std::future< bool > | beginMeasurementWait () |
| | Start a measurement-wait cycle and return a future that will be set when the measurement is ready.
|
| std::future< bool > | beginDataAvailableWait () |
| | Start a data-available-wait cycle and return a future that will be set when new data is available.
|
|
|
DeviceState | _state |
| | Current lifecycle/runtime state.
|
|
DeviceID | _id |
| | Device identifier.
|
|
bool | _enable |
| | Whether the device is enabled.
|
| DevicePoseOffset | _pose_offset |
| | Pose offset of the device relative to the sensor board center.
|
|
unsigned int | _idx |
| | Index of this sensor instance within its group.
|
|
DeviceState | _error |
| | Current health state of the sensor.
|
|
com::ComInterface * | _interface |
| | Communication interface used to talk to the sensor.
|
|
math::Vector3 | _translation |
| | Translation of the sensor origin in the common coordinate frame.
|
|
math::Vector3 | _rotation |
| | Rotation of the sensor expressed as Euler angles in degrees.
|
|
math::Matrix3 | _rot_m |
| | Rotation matrix derived from the Euler angles.
|
|
bool | _enable_flag |
| | Flag indicating whether the sensor is enabled.
|
| std::mutex | _state_mutex |
|
std::optional< std::promise< bool > > | _measurement_promise |
| | Promise for the current measurement-wait cycle; set by callback, consumed by wait + get().
|
|
std::optional< std::promise< bool > > | _data_available_promise |
| | Promise for the current data-available-wait cycle; set by callback when "data available" is received.
|
| std::mutex | _promise_mutex |
|
subscription::Subscription | _com_subscription |
| | RAII subscription to the communication interface.
|
Base class for concrete devices: implements IDevice and BaseSensor, holds device ID and state.
◆ BaseDevice()
| eduart::device::BaseDevice::BaseDevice |
( |
DeviceID | id, |
|
|
com::ComInterface * | interface, |
|
|
com::ComEndpoint | target, |
|
|
bool | enable ) |
Constructs the device with the given ID, communication interface, endpoint, and enable flag.
- Parameters
-
| [in] | id | Device identifier. |
| [in] | interface | Communication interface. |
| [in] | target | Communication endpoint. |
| [in] | enable | Whether the device is enabled. |
◆ getDeviceID()
| DeviceID eduart::device::BaseDevice::getDeviceID |
( |
| ) |
const |
Returns the device identifier.
- Returns
- DeviceID of this device.
◆ getPoseOffset()
Get the pose offset of this device relative to the board center.
- Returns
- The current pose offset.
◆ setPoseOffset()
| void eduart::device::BaseDevice::setPoseOffset |
( |
const DevicePoseOffset & | offset | ) |
|
|
inline |
Set the pose offset of this device relative to the board center.
- Parameters
-
| [in] | offset | The pose offset to set. |
◆ _pose_offset
Initial value:{
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 }
}
Pose offset of the device relative to the sensor board center.
The documentation for this class was generated from the following file: