CyberAtom C++ Library

2.5.0

Public Member Functions | List of all members
cyberatom::Device Class Reference

Implementation of logical CyberAtom device. More...

#include <cyberatom.hpp>

Inheritance diagram for cyberatom::Device:
cyberatom::IDevice

Public Member Functions

 Device (IConnection &connection, IResponse &response)
 Constructs logical device object using given connection and forwards responses to given handler object. More...
 
virtual void onMessage (uint8_t code, const uint8_t *payload, size_t payload_size) override
 
virtual void checkForMessages () override
 Triggers communication with the device and checks whether there are any incoming messages from the device. More...
 
virtual void getSysInfo ()
 Requests sending back information on the device type and firmware version.
 
virtual void getQuatData ()
 Requests information about actual device spatial orientation expressed in form of quaternion.
 
virtual void getEulerData ()
 Requests information about actual device spatial orientation expressed in form of Euler angles.
 
virtual void getRotRateData ()
 Requests actual rotation rate information from the device.
 
virtual void reboot ()
 Requests the device to reboot.
 
virtual void factoryReset ()
 Requests loading factory settings into device RAM memory.
 
virtual void setAccCalibMatrix (float *cal, float *bias)
 Changes accelerometer calibration settings the device is using at the moment. More...
 
virtual void setMagCalibMatrix (float *cal, float *bias)
 Changes magnetometer calibration settings the device is using at the moment. More...
 
virtual void setGyrCalibMatrix (float *cal, float *bias)
 Changes gyroscope calibration settings the device is using at the moment. More...
 
virtual void setFilterMagMatrix (float *mat)
 Changes Kalman filter coeficiences for magnetometer sensor. More...
 
virtual void setFilterAccMatrix (float *mat)
 Changes Kalman filter coeficiences for accelerometer sensor. More...
 
virtual void setFilterGyrMatrix (float *mat)
 Changes Kalman filter coeficiences for gyroscope sensor. More...
 
virtual void setFilterProcMatrix (float *mat)
 
virtual void getFilterMagMatrix ()
 Requests Kalman filter coeficiences for magnetometer measurement noise.
 
virtual void getFilterAccMatrix ()
 Requests Kalman filter coeficiences for accelerometer measurement noise.
 
virtual void getFilterGyrMatrix ()
 Requests Kalman filter coeficiences for gyroscope measurement noise.
 
virtual void getFilterProcMatrix ()
 Requests Kalman filter coeficiences for process noise.
 
virtual void getTemperature ()
 Requests actual tempereature data.
 
virtual void setBaudRate (uint8_t rate)
 Changes baud rate for UART interface. More...
 
virtual void setI2cAddress (uint8_t address)
 Changes 7-bit address as an I2C slave device. More...
 
virtual void getI2cAddress ()
 Requests sending actual I2C device address.
 
virtual void getBaudRate ()
 Requests sending actual baud rate used for UART interface..
 
virtual void resetGyr ()
 Resets gyroscope bias estimates.
 
virtual void writeFlash ()
 Saves current settings in device RAM into internal non-volotile flash memory.
 
virtual void getRawAccData ()
 Requests sending RAW type of accelerometer measurements.
 
virtual void getRawMagData ()
 Requests sending RAW type of magnetometer measurements.
 
virtual void getRawGyrData ()
 Requests sending RAW type of gyroscope measurements.
 
virtual void getNormAccData ()
 Requests sending normalized values of accelerometer measurements.
 
virtual void getNormMagData ()
 Requests sending normalized values of magnetometer measurements.
 
virtual void getNormGyrData ()
 Requests sending normalized values of gyroscope measurements.
 
virtual void getCalibAccData ()
 Requests sending post-calibration values of accelerometer measurements.
 
virtual void getCalibMagData ()
 Requests sending post-calibration values of magnetometer measurements.
 
virtual void getCalibGyrData ()
 Requests sending post-calibration values of gyroscope measurements.
 
virtual void getAccCalibMatrix ()
 Requests calibration matrices used for accelerometer measurements.
 
virtual void getMagCalibMatrix ()
 Requests calibration matrices used for magnetometer measurements.
 
virtual void getGyrCalibMatrix ()
 Requests calibration matrices used for gyroscope measurements.
 
virtual void getStats ()
 

Detailed Description

Implementation of logical CyberAtom device.

Constructor & Destructor Documentation

cyberatom::Device::Device ( IConnection connection,
IResponse response 
)

Constructs logical device object using given connection and forwards responses to given handler object.

Note
Make sure you maintain lifecycle of given connection and response interfaces accordingly with the lifecycle of the Device class instance itself.

Member Function Documentation

virtual void cyberatom::Device::checkForMessages ( )
overridevirtual

Triggers communication with the device and checks whether there are any incoming messages from the device.

Exceptions
UnsupportedMessageIdException
DataTransferException

Implements cyberatom::IDevice.

virtual void cyberatom::Device::onMessage ( uint8_t  code,
const uint8_t *  payload,
size_t  payload_size 
)
overridevirtual
Parameters
code
payload
payload_size

Implements cyberatom::IDevice.

virtual void cyberatom::Device::setAccCalibMatrix ( float *  cal,
float *  bias 
)
virtual

Changes accelerometer calibration settings the device is using at the moment.

Parameters
calArray of 9 matrix (3x3) elements for missalignment calibration.
biasArray of 9 matrix (3x3) elements for bias and temperature and temperature bias calibration.
virtual void cyberatom::Device::setBaudRate ( uint8_t  rate)
virtual

Changes baud rate for UART interface.

Parameters
rateInteger value representing new baud rate.
virtual void cyberatom::Device::setFilterAccMatrix ( float *  mat)
virtual

Changes Kalman filter coeficiences for accelerometer sensor.

Parameters
mata11,a22 and a33 matrix coeficiences for magnetometer accelerometer noise matrix.
virtual void cyberatom::Device::setFilterGyrMatrix ( float *  mat)
virtual

Changes Kalman filter coeficiences for gyroscope sensor.

Parameters
mata11,a22 and a33 matrix coeficiences for magnetometer gyroscope noise matrix.
virtual void cyberatom::Device::setFilterMagMatrix ( float *  mat)
virtual

Changes Kalman filter coeficiences for magnetometer sensor.

Parameters
mata11,a22 and a33 matrix coeficiences for magnetometer measurement noise matrix.
virtual void cyberatom::Device::setFilterProcMatrix ( float *  mat)
virtual
Parameters
matAn array with 7 matrix elements for the filter process matric to set.
virtual void cyberatom::Device::setGyrCalibMatrix ( float *  cal,
float *  bias 
)
virtual

Changes gyroscope calibration settings the device is using at the moment.

Parameters
calArray of 9 matrix (3x3) elements for missalignment calibration.
biasArray of 9 matrix (3x3) elements for bias and temperature and temperature bias calibration.
virtual void cyberatom::Device::setI2cAddress ( uint8_t  address)
virtual

Changes 7-bit address as an I2C slave device.

Parameters
addressNew I2c device address.
virtual void cyberatom::Device::setMagCalibMatrix ( float *  cal,
float *  bias 
)
virtual

Changes magnetometer calibration settings the device is using at the moment.

Parameters
calArray of 9 matrix (3x3) elements for missalignment calibration.
biasArray of 9 matrix (3x3) elements for bias and temperature and temperature bias calibration.

The documentation for this class was generated from the following file: