|
libstp
Robotics library for Botball
|
#include <TransportReader.hpp>
Classes | |
| struct | OdometrySnapshot |
| STM32-computed odometry state. More... | |
| struct | CalibOdometrySnapshot |
Public Member Functions | |
| TransportReader () | |
| ~TransportReader () | |
| raccoon::scalar_i8_t | readServoMode (int port) |
| raccoon::scalar_f_t | readServoValue (int port) |
| raccoon::vector3f_t | readGyro () |
| Return the latest cached IMU vectors from raccoon subscriptions. | |
| raccoon::vector3f_t | readAccel () |
| raccoon::vector3f_t | readLinearAccel () |
| raccoon::vector3f_t | readAccelVelocity () |
| void | resetAccelVelocity () |
| Snapshot the current integrated-velocity reading as the new zero point. | |
| raccoon::vector3f_t | readMag () |
| raccoon::scalar_f_t | readHeading () |
| raccoon::quaternion_t | readQuaternion () |
| raccoon::scalar_i32_t | readBemf (int idx) |
| int32_t | readMotorPosition (int port) |
| bool | readMotorDone (int port) |
| raccoon::scalar_i32_t | readAnalog (int port) |
| raccoon::scalar_i32_t | readDigital (int port) |
| raccoon::scalar_f_t | readTemp () |
| OdometrySnapshot | readOdometry () |
| void | resetOdometry () |
| Zero the local odometry cache (call alongside STM32 reset command). | |
| CalibOdometrySnapshot | readCalibOdometry () |
| bool | isCalibBoardConnected () |
| bool | waitForOdometryReset (int timeout_ms=500) |
| bool | waitForImuReady (int timeout_ms=1000) |
| Wait until heading data has been observed at least once. | |
| bool | waitForBemfData (int timeout_ms=500) |
| void | setLinearAccelCallback (std::function< void(float, float, float)>) |
Static Public Member Functions | |
| static TransportReader & | instance () |
Cached shared-transport reader for the wombat bundle.
SharedTransport owns the single raccoon transport daemon. This reader only subscribes and caches latest values for synchronous HAL APIs.
Definition at line 27 of file TransportReader.hpp.
|
explicit |
| platform::wombat::core::TransportReader::~TransportReader | ( | ) |
|
inlinestatic |
Definition at line 32 of file TransportReader.hpp.
| bool platform::wombat::core::TransportReader::isCalibBoardConnected | ( | ) |
True when the calibration board is attached AND has delivered at least one odometry sample (so switching to it won't read stale zeros).
| raccoon::vector3f_t platform::wombat::core::TransportReader::readAccel | ( | ) |
| raccoon::vector3f_t platform::wombat::core::TransportReader::readAccelVelocity | ( | ) |
| raccoon::scalar_i32_t platform::wombat::core::TransportReader::readAnalog | ( | int | port | ) |
| raccoon::scalar_i32_t platform::wombat::core::TransportReader::readBemf | ( | int | idx | ) |
| CalibOdometrySnapshot platform::wombat::core::TransportReader::readCalibOdometry | ( | ) |
| raccoon::scalar_i32_t platform::wombat::core::TransportReader::readDigital | ( | int | port | ) |
| raccoon::vector3f_t platform::wombat::core::TransportReader::readGyro | ( | ) |
Return the latest cached IMU vectors from raccoon subscriptions.
| raccoon::scalar_f_t platform::wombat::core::TransportReader::readHeading | ( | ) |
| raccoon::vector3f_t platform::wombat::core::TransportReader::readLinearAccel | ( | ) |
| raccoon::vector3f_t platform::wombat::core::TransportReader::readMag | ( | ) |
| bool platform::wombat::core::TransportReader::readMotorDone | ( | int | port | ) |
| int32_t platform::wombat::core::TransportReader::readMotorPosition | ( | int | port | ) |
| OdometrySnapshot platform::wombat::core::TransportReader::readOdometry | ( | ) |
| raccoon::quaternion_t platform::wombat::core::TransportReader::readQuaternion | ( | ) |
Latest DMP 6-axis fused orientation quaternion (gyro+accel). Cache is zero-initialised, so a never-received quaternion reads {w,x,y,z} = {0,0,0,0} — callers can detect "no data" via |q| < 0.5.
| raccoon::scalar_i8_t platform::wombat::core::TransportReader::readServoMode | ( | int | port | ) |
| raccoon::scalar_f_t platform::wombat::core::TransportReader::readServoValue | ( | int | port | ) |
| raccoon::scalar_f_t platform::wombat::core::TransportReader::readTemp | ( | ) |
| void platform::wombat::core::TransportReader::resetAccelVelocity | ( | ) |
Snapshot the current integrated-velocity reading as the new zero point.
| void platform::wombat::core::TransportReader::resetOdometry | ( | ) |
Zero the local odometry cache (call alongside STM32 reset command).
|
inline |
Definition at line 110 of file TransportReader.hpp.
| bool platform::wombat::core::TransportReader::waitForBemfData | ( | int | timeout_ms = 500 | ) |
Wait until BEMF telemetry has been observed on any motor channel.
Used by Platform::probe() to confirm motor data is flowing from the STM32. The BEMF channel is published continuously by stm32-data-reader regardless of motor activity, so a non-arrival generally indicates the bridge is silent on the motor side.
| bool platform::wombat::core::TransportReader::waitForImuReady | ( | int | timeout_ms = 1000 | ) |
Wait until heading data has been observed at least once.
| bool platform::wombat::core::TransportReader::waitForOdometryReset | ( | int | timeout_ms = 500 | ) |
Block until the STM32 publishes near-zero odometry after a reset. Returns true if confirmed, false on timeout.