SparkFun Optical Tracking Odometry Sensor  v1.0.2-11-gb69b326
Library for the SparkFun Optical Tracking Odometry Sensor
Loading...
Searching...
No Matches
QwiicOTOS Class Reference

Arduino class for the SparkFun Qwiic Optical Tracking Odometry Sensor (OTOS) More...

#include <SparkFun_Qwiic_OTOS_Arduino_Library.h>

Inheritance diagram for QwiicOTOS:

Public Member Functions

bool begin (TwoWire &wirePort=Wire)
 Begins the Qwiic OTOS and verifies it is connected. More...
 
sfTkError_t begin (sfTkII2C *commBus=nullptr)
 Begins the Qwiic OTOS and verifies it is connected. More...
 
sfTkError_t isConnected ()
 Checks if the device is connected. More...
 
sfTkError_t getVersionInfo (sfe_otos_version_t &hwVersion, sfe_otos_version_t &fwVersion)
 Gets the hardware and firmware version numbers from the OTOS. More...
 
sfTkError_t selfTest ()
 Performs a self test of the OTOS. More...
 
sfTkError_t calibrateImu (uint8_t numSamples=255, bool waitUntilDone=true)
 Calibrates the IMU on the OTOS, which removes the accelerometer and gyroscope offsets. More...
 
sfTkError_t getImuCalibrationProgress (uint8_t &numSamples)
 Gets the progress of the IMU calibration. Used for asynchronous calibration with calibrateImu() More...
 
sfe_otos_linear_unit_t getLinearUnit ()
 Gets the linear unit used by all methods using a pose. More...
 
void setLinearUnit (sfe_otos_linear_unit_t unit)
 Sets the linear unit used by all methods using a pose. More...
 
sfe_otos_angular_unit_t getAngularUnit ()
 Gets the angular unit used by all methods using a pose. More...
 
void setAngularUnit (sfe_otos_angular_unit_t unit)
 Sets the angular unit used by all methods using a pose. More...
 
sfTkError_t getLinearScalar (float &scalar)
 Gets the linear scalar used by the OTOS. More...
 
sfTkError_t setLinearScalar (float scalar)
 Sets the linear scalar used by the OTOS. Can be used to compensate for scaling issues with the sensor measurements. More...
 
sfTkError_t getAngularScalar (float &scalar)
 Gets the angular scalar used by the OTOS. More...
 
sfTkError_t setAngularScalar (float scalar)
 Sets the angular scalar used by the OTOS. Can be used to compensate for scaling issues with the sensor measurements. More...
 
sfTkError_t resetTracking ()
 Resets the tracking algorithm, which resets the position to the origin, but can also be used to recover from some rare tracking errors. More...
 
sfTkError_t getSignalProcessConfig (sfe_otos_signal_process_config_t &config)
 Gets the signal processing configuration from the OTOS. More...
 
sfTkError_t setSignalProcessConfig (sfe_otos_signal_process_config_t &config)
 Sets the signal processing configuration on the OTOS. This is primarily useful for creating and testing a new lookup table calibration. More...
 
sfTkError_t getStatus (sfe_otos_status_t &status)
 Gets the status register from the OTOS, which includes warnings and errors reported by the sensor. More...
 
sfTkError_t getOffset (sfe_otos_pose2d_t &pose)
 Gets the offset of the OTOS. More...
 
sfTkError_t setOffset (sfe_otos_pose2d_t &pose)
 Sets the offset of the OTOS. This is useful if your sensor is mounted off-center from a robot. Rather than returning the position of the sensor, the OTOS will return the position of the robot. More...
 
sfTkError_t getPosition (sfe_otos_pose2d_t &pose)
 Gets the position measured by the OTOS. More...
 
sfTkError_t setPosition (sfe_otos_pose2d_t &pose)
 Sets the position measured by the OTOS. This is useful if your robot does not start at the origin, or you have another source of location information (eg. vision odometry); the OTOS will continue tracking from this position. More...
 
sfTkError_t getVelocity (sfe_otos_pose2d_t &pose)
 Gets the velocity measured by the OTOS. More...
 
sfTkError_t getAcceleration (sfe_otos_pose2d_t &pose)
 Gets the acceleration measured by the OTOS. More...
 
sfTkError_t getPositionStdDev (sfe_otos_pose2d_t &pose)
 Gets the standard deviation of the measured position. More...
 
sfTkError_t getVelocityStdDev (sfe_otos_pose2d_t &pose)
 Gets the standard deviation of the measured velocity. More...
 
sfTkError_t getAccelerationStdDev (sfe_otos_pose2d_t &pose)
 Gets the standard deviation of the measured acceleration. More...
 
sfTkError_t getPosVelAcc (sfe_otos_pose2d_t &pos, sfe_otos_pose2d_t &vel, sfe_otos_pose2d_t &acc)
 Gets the position, velocity, and acceleration measured by the OTOS in a single burst read. More...
 
sfTkError_t getPosVelAccStdDev (sfe_otos_pose2d_t &pos, sfe_otos_pose2d_t &vel, sfe_otos_pose2d_t &acc)
 Gets the standard deviation of the measured position, velocity, and acceleration in a single burst read. More...
 
sfTkError_t getPosVelAccAndStdDev (sfe_otos_pose2d_t &pos, sfe_otos_pose2d_t &vel, sfe_otos_pose2d_t &acc, sfe_otos_pose2d_t &posStdDev, sfe_otos_pose2d_t &velStdDev, sfe_otos_pose2d_t &accStdDev)
 Gets the position, velocity, acceleration, and standard deviation of each in a single burst read. More...
 

Static Public Attributes

static constexpr uint8_t kDefaultAddress = 0x17
 Default I2C addresses of the Qwiic OTOS. More...
 
static constexpr float kMinScalar = 0.872f
 Minimum scalar value for the linear and angular scalars. More...
 
static constexpr float kMaxScalar = 1.127f
 Maximum scalar value for the linear and angular scalars. More...
 

Protected Member Functions

void delayMs (uint32_t ms)
 
sfTkError_t readPoseRegs (uint8_t reg, sfe_otos_pose2d_t &pose, float rawToXY, float rawToH)
 
sfTkError_t writePoseRegs (uint8_t reg, sfe_otos_pose2d_t &pose, float xyToRaw, float hToRaw)
 
void regsToPose (uint8_t *rawData, sfe_otos_pose2d_t &pose, float rawToXY, float rawToH)
 
void poseToRegs (uint8_t *rawData, sfe_otos_pose2d_t &pose, float xyToRaw, float hToRaw)
 

Protected Attributes

sfTkII2C * _commBus
 
sfe_otos_linear_unit_t _linearUnit
 
sfe_otos_angular_unit_t _angularUnit
 
float _meterToUnit
 
float _radToUnit
 

Static Protected Attributes

static constexpr uint8_t kRegProductId = 0x00
 
static constexpr uint8_t kRegHwVersion = 0x01
 
static constexpr uint8_t kRegFwVersion = 0x02
 
static constexpr uint8_t kRegScalarLinear = 0x04
 
static constexpr uint8_t kRegScalarAngular = 0x05
 
static constexpr uint8_t kRegImuCalib = 0x06
 
static constexpr uint8_t kRegReset = 0x07
 
static constexpr uint8_t kRegSignalProcess = 0x0E
 
static constexpr uint8_t kRegSelfTest = 0x0F
 
static constexpr uint8_t kRegOffXL = 0x10
 
static constexpr uint8_t kRegOffXH = 0x11
 
static constexpr uint8_t kRegOffYL = 0x12
 
static constexpr uint8_t kRegOffYH = 0x13
 
static constexpr uint8_t kRegOffHL = 0x14
 
static constexpr uint8_t kRegOffHH = 0x15
 
static constexpr uint8_t kRegStatus = 0x1F
 
static constexpr uint8_t kRegPosXL = 0x20
 
static constexpr uint8_t kRegPosXH = 0x21
 
static constexpr uint8_t kRegPosYL = 0x22
 
static constexpr uint8_t kRegPosYH = 0x23
 
static constexpr uint8_t kRegPosHL = 0x24
 
static constexpr uint8_t kRegPosHH = 0x25
 
static constexpr uint8_t kRegVelXL = 0x26
 
static constexpr uint8_t kRegVelXH = 0x27
 
static constexpr uint8_t kRegVelYL = 0x28
 
static constexpr uint8_t kRegVelYH = 0x29
 
static constexpr uint8_t kRegVelHL = 0x2A
 
static constexpr uint8_t kRegVelHH = 0x2B
 
static constexpr uint8_t kRegAccXL = 0x2C
 
static constexpr uint8_t kRegAccXH = 0x2D
 
static constexpr uint8_t kRegAccYL = 0x2E
 
static constexpr uint8_t kRegAccYH = 0x2F
 
static constexpr uint8_t kRegAccHL = 0x30
 
static constexpr uint8_t kRegAccHH = 0x31
 
static constexpr uint8_t kRegPosStdXL = 0x32
 
static constexpr uint8_t kRegPosStdXH = 0x33
 
static constexpr uint8_t kRegPosStdYL = 0x34
 
static constexpr uint8_t kRegPosStdYH = 0x35
 
static constexpr uint8_t kRegPosStdHL = 0x36
 
static constexpr uint8_t kRegPosStdHH = 0x37
 
static constexpr uint8_t kRegVelStdXL = 0x38
 
static constexpr uint8_t kRegVelStdXH = 0x39
 
static constexpr uint8_t kRegVelStdYL = 0x3A
 
static constexpr uint8_t kRegVelStdYH = 0x3B
 
static constexpr uint8_t kRegVelStdHL = 0x3C
 
static constexpr uint8_t kRegVelStdHH = 0x3D
 
static constexpr uint8_t kRegAccStdXL = 0x3E
 
static constexpr uint8_t kRegAccStdXH = 0x3F
 
static constexpr uint8_t kRegAccStdYL = 0x40
 
static constexpr uint8_t kRegAccStdYH = 0x41
 
static constexpr uint8_t kRegAccStdHL = 0x42
 
static constexpr uint8_t kRegAccStdHH = 0x43
 
static constexpr uint8_t kProductId = 0x5F
 
static constexpr float kMeterToInch = 39.37f
 
static constexpr float kInchToMeter = 1.0f / kMeterToInch
 
static constexpr float kRadianToDegree = 180.0f / M_PI
 
static constexpr float kDegreeToRadian = M_PI / 180.0f
 
static constexpr float kMeterToInt16 = 32768.0f / 10.0f
 
static constexpr float kInt16ToMeter = 1.0f / kMeterToInt16
 
static constexpr float kMpsToInt16 = 32768.0f / 5.0f
 
static constexpr float kInt16ToMps = 1.0f / kMpsToInt16
 
static constexpr float kMpssToInt16 = 32768.0f / (16.0f * 9.80665f)
 
static constexpr float kInt16ToMpss = 1.0f / kMpssToInt16
 
static constexpr float kRadToInt16 = 32768.0f / M_PI
 
static constexpr float kInt16ToRad = 1.0f / kRadToInt16
 
static constexpr float kRpsToInt16 = 32768.0f / (2000.0f * kDegreeToRadian)
 
static constexpr float kInt16ToRps = 1.0f / kRpsToInt16
 
static constexpr float kRpssToInt16 = 32768.0f / (M_PI * 1000.0f)
 
static constexpr float kInt16ToRpss = 1.0f / kRpssToInt16
 

Detailed Description

Arduino class for the SparkFun Qwiic Optical Tracking Odometry Sensor (OTOS)

Member Function Documentation

◆ begin() [1/2]

sfTkError_t sfDevOTOS::begin ( sfTkII2C *  commBus = nullptr)
inherited

Begins the Qwiic OTOS and verifies it is connected.

Parameters
commBusI2C bus to use for communication
Returns
0 for succuss, negative for errors, positive for warnings

◆ begin() [2/2]

bool QwiicOTOS::begin ( TwoWire &  wirePort = Wire)
inline

Begins the Qwiic OTOS and verifies it is connected.

Parameters
wirePortWire port to use for I2C communication
Returns
True if successful, false otherwise

◆ calibrateImu()

sfTkError_t sfDevOTOS::calibrateImu ( uint8_t  numSamples = 255,
bool  waitUntilDone = true 
)
inherited

Calibrates the IMU on the OTOS, which removes the accelerometer and gyroscope offsets.

Parameters
numSamplesNumber of samples to take for calibration. Each sample takes about 2.4ms, so fewer samples can be taken for faster calibration
waitUntilDoneWhether to wait until the calibration is complete. Set false to calibrate asynchronously, see getImuCalibrationProgress()
Returns
0 for succuss, negative for errors, positive for warnings

◆ delayMs()

void QwiicOTOS::delayMs ( uint32_t  ms)
inlineprotectedvirtual

Implements sfDevOTOS.

◆ getAcceleration()

sfTkError_t sfDevOTOS::getAcceleration ( sfe_otos_pose2d_t pose)
inherited

Gets the acceleration measured by the OTOS.

Parameters
poseAcceleration measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getAccelerationStdDev()

sfTkError_t sfDevOTOS::getAccelerationStdDev ( sfe_otos_pose2d_t pose)
inherited

Gets the standard deviation of the measured acceleration.

Parameters
poseStandard deviation of the acceleration measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings
Note
These values are just the square root of the diagonal elements of the covariance matrices of the Kalman filters used in the firmware, so they are just statistical quantities and do not represent actual error!

◆ getAngularScalar()

sfTkError_t sfDevOTOS::getAngularScalar ( float &  scalar)
inherited

Gets the angular scalar used by the OTOS.

Parameters
scalarAngular scalar
Returns
0 for succuss, negative for errors, positive for warnings

◆ getAngularUnit()

sfe_otos_angular_unit_t sfDevOTOS::getAngularUnit ( )
inherited

Gets the angular unit used by all methods using a pose.

Returns
Angular unit

◆ getImuCalibrationProgress()

sfTkError_t sfDevOTOS::getImuCalibrationProgress ( uint8_t &  numSamples)
inherited

Gets the progress of the IMU calibration. Used for asynchronous calibration with calibrateImu()

Parameters
numSamplesNumber of samples remaining for calibration
Returns
0 for succuss, negative for errors, positive for warnings

◆ getLinearScalar()

sfTkError_t sfDevOTOS::getLinearScalar ( float &  scalar)
inherited

Gets the linear scalar used by the OTOS.

Parameters
scalarLinear scalar
Returns
0 for succuss, negative for errors, positive for warnings

◆ getLinearUnit()

sfe_otos_linear_unit_t sfDevOTOS::getLinearUnit ( )
inherited

Gets the linear unit used by all methods using a pose.

Returns
Linear unit

◆ getOffset()

sfTkError_t sfDevOTOS::getOffset ( sfe_otos_pose2d_t pose)
inherited

Gets the offset of the OTOS.

Parameters
poseOffset of the sensor relative to the center of the robot
Returns
0 for succuss, negative for errors, positive for warnings

◆ getPosition()

sfTkError_t sfDevOTOS::getPosition ( sfe_otos_pose2d_t pose)
inherited

Gets the position measured by the OTOS.

Parameters
posePosition measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getPositionStdDev()

sfTkError_t sfDevOTOS::getPositionStdDev ( sfe_otos_pose2d_t pose)
inherited

Gets the standard deviation of the measured position.

Parameters
poseStandard deviation of the position measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings
Note
These values are just the square root of the diagonal elements of the covariance matrices of the Kalman filters used in the firmware, so they are just statistical quantities and do not represent actual error!

◆ getPosVelAcc()

sfTkError_t sfDevOTOS::getPosVelAcc ( sfe_otos_pose2d_t pos,
sfe_otos_pose2d_t vel,
sfe_otos_pose2d_t acc 
)
inherited

Gets the position, velocity, and acceleration measured by the OTOS in a single burst read.

Parameters
posPosition measured by the OTOS
velVelocity measured by the OTOS
accAcceleration measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getPosVelAccAndStdDev()

sfTkError_t sfDevOTOS::getPosVelAccAndStdDev ( sfe_otos_pose2d_t pos,
sfe_otos_pose2d_t vel,
sfe_otos_pose2d_t acc,
sfe_otos_pose2d_t posStdDev,
sfe_otos_pose2d_t velStdDev,
sfe_otos_pose2d_t accStdDev 
)
inherited

Gets the position, velocity, acceleration, and standard deviation of each in a single burst read.

Parameters
posPosition measured by the OTOS
velVelocity measured by the OTOS
accAcceleration measured by the OTOS
posStdDevStandard deviation of the position measured by the OTOS
velStdDevStandard deviation of the velocity measured by the OTOS
accStdDevStandard deviation of the acceleration measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getPosVelAccStdDev()

sfTkError_t sfDevOTOS::getPosVelAccStdDev ( sfe_otos_pose2d_t pos,
sfe_otos_pose2d_t vel,
sfe_otos_pose2d_t acc 
)
inherited

Gets the standard deviation of the measured position, velocity, and acceleration in a single burst read.

Parameters
posStandard deviation of the position measured by the OTOS
velStandard deviation of the velocity measured by the OTOS
accStandard deviation of the acceleration measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getSignalProcessConfig()

sfTkError_t sfDevOTOS::getSignalProcessConfig ( sfe_otos_signal_process_config_t config)
inherited

Gets the signal processing configuration from the OTOS.

Parameters
configSignal processing configuration
Returns
0 for succuss, negative for errors, positive for warnings

◆ getStatus()

sfTkError_t sfDevOTOS::getStatus ( sfe_otos_status_t status)
inherited

Gets the status register from the OTOS, which includes warnings and errors reported by the sensor.

Parameters
statusStatus register value
Returns
0 for succuss, negative for errors, positive for warnings

◆ getVelocity()

sfTkError_t sfDevOTOS::getVelocity ( sfe_otos_pose2d_t pose)
inherited

Gets the velocity measured by the OTOS.

Parameters
poseVelocity measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings

◆ getVelocityStdDev()

sfTkError_t sfDevOTOS::getVelocityStdDev ( sfe_otos_pose2d_t pose)
inherited

Gets the standard deviation of the measured velocity.

Parameters
poseStandard deviation of the velocity measured by the OTOS
Returns
0 for succuss, negative for errors, positive for warnings
Note
These values are just the square root of the diagonal elements of the covariance matrices of the Kalman filters used in the firmware, so they are just statistical quantities and do not represent actual error!

◆ getVersionInfo()

sfTkError_t sfDevOTOS::getVersionInfo ( sfe_otos_version_t hwVersion,
sfe_otos_version_t fwVersion 
)
inherited

Gets the hardware and firmware version numbers from the OTOS.

Parameters
hwVersionHardware version number
fwVersionFirmware version number
Returns
0 for succuss, negative for errors, positive for warnings

◆ isConnected()

sfTkError_t sfDevOTOS::isConnected ( )
inherited

Checks if the device is connected.

Returns
0 for succuss, negative for errors, positive for warnings

◆ poseToRegs()

void sfDevOTOS::poseToRegs ( uint8_t *  rawData,
sfe_otos_pose2d_t pose,
float  xyToRaw,
float  hToRaw 
)
protectedinherited

◆ readPoseRegs()

sfTkError_t sfDevOTOS::readPoseRegs ( uint8_t  reg,
sfe_otos_pose2d_t pose,
float  rawToXY,
float  rawToH 
)
protectedinherited

◆ regsToPose()

void sfDevOTOS::regsToPose ( uint8_t *  rawData,
sfe_otos_pose2d_t pose,
float  rawToXY,
float  rawToH 
)
protectedinherited

◆ resetTracking()

sfTkError_t sfDevOTOS::resetTracking ( )
inherited

Resets the tracking algorithm, which resets the position to the origin, but can also be used to recover from some rare tracking errors.

Returns
0 for succuss, negative for errors, positive for warnings

◆ selfTest()

sfTkError_t sfDevOTOS::selfTest ( )
inherited

Performs a self test of the OTOS.

Returns
0 for succuss, negative for errors, positive for warnings

◆ setAngularScalar()

sfTkError_t sfDevOTOS::setAngularScalar ( float  scalar)
inherited

Sets the angular scalar used by the OTOS. Can be used to compensate for scaling issues with the sensor measurements.

Parameters
scalarAngular scalar, must be between 0.872 and 1.127
Returns
0 for succuss, negative for errors, positive for warnings

◆ setAngularUnit()

void sfDevOTOS::setAngularUnit ( sfe_otos_angular_unit_t  unit)
inherited

Sets the angular unit used by all methods using a pose.

Parameters
unitAngular unit

◆ setLinearScalar()

sfTkError_t sfDevOTOS::setLinearScalar ( float  scalar)
inherited

Sets the linear scalar used by the OTOS. Can be used to compensate for scaling issues with the sensor measurements.

Parameters
scalarLinear scalar, must be between 0.872 and 1.127
Returns
0 for succuss, negative for errors, positive for warnings

◆ setLinearUnit()

void sfDevOTOS::setLinearUnit ( sfe_otos_linear_unit_t  unit)
inherited

Sets the linear unit used by all methods using a pose.

Parameters
unitLinear unit

◆ setOffset()

sfTkError_t sfDevOTOS::setOffset ( sfe_otos_pose2d_t pose)
inherited

Sets the offset of the OTOS. This is useful if your sensor is mounted off-center from a robot. Rather than returning the position of the sensor, the OTOS will return the position of the robot.

Parameters
poseOffset of the sensor relative to the center of the robot
Returns
0 for succuss, negative for errors, positive for warnings

◆ setPosition()

sfTkError_t sfDevOTOS::setPosition ( sfe_otos_pose2d_t pose)
inherited

Sets the position measured by the OTOS. This is useful if your robot does not start at the origin, or you have another source of location information (eg. vision odometry); the OTOS will continue tracking from this position.

Parameters
poseNew position for the OTOS to track from
Returns
0 for succuss, negative for errors, positive for warnings

◆ setSignalProcessConfig()

sfTkError_t sfDevOTOS::setSignalProcessConfig ( sfe_otos_signal_process_config_t config)
inherited

Sets the signal processing configuration on the OTOS. This is primarily useful for creating and testing a new lookup table calibration.

Parameters
configSignal processing configuration
Returns
0 for succuss, negative for errors, positive for warnings

◆ writePoseRegs()

sfTkError_t sfDevOTOS::writePoseRegs ( uint8_t  reg,
sfe_otos_pose2d_t pose,
float  xyToRaw,
float  hToRaw 
)
protectedinherited

Member Data Documentation

◆ _angularUnit

sfe_otos_angular_unit_t sfDevOTOS::_angularUnit
protectedinherited

◆ _commBus

sfTkII2C* sfDevOTOS::_commBus
protectedinherited

◆ _linearUnit

sfe_otos_linear_unit_t sfDevOTOS::_linearUnit
protectedinherited

◆ _meterToUnit

float sfDevOTOS::_meterToUnit
protectedinherited

◆ _radToUnit

float sfDevOTOS::_radToUnit
protectedinherited

◆ kDefaultAddress

constexpr uint8_t sfDevOTOS::kDefaultAddress = 0x17
staticconstexprinherited

Default I2C addresses of the Qwiic OTOS.

◆ kDegreeToRadian

constexpr float sfDevOTOS::kDegreeToRadian = M_PI / 180.0f
staticconstexprprotectedinherited

◆ kInchToMeter

constexpr float sfDevOTOS::kInchToMeter = 1.0f / kMeterToInch
staticconstexprprotectedinherited

◆ kInt16ToMeter

constexpr float sfDevOTOS::kInt16ToMeter = 1.0f / kMeterToInt16
staticconstexprprotectedinherited

◆ kInt16ToMps

constexpr float sfDevOTOS::kInt16ToMps = 1.0f / kMpsToInt16
staticconstexprprotectedinherited

◆ kInt16ToMpss

constexpr float sfDevOTOS::kInt16ToMpss = 1.0f / kMpssToInt16
staticconstexprprotectedinherited

◆ kInt16ToRad

constexpr float sfDevOTOS::kInt16ToRad = 1.0f / kRadToInt16
staticconstexprprotectedinherited

◆ kInt16ToRps

constexpr float sfDevOTOS::kInt16ToRps = 1.0f / kRpsToInt16
staticconstexprprotectedinherited

◆ kInt16ToRpss

constexpr float sfDevOTOS::kInt16ToRpss = 1.0f / kRpssToInt16
staticconstexprprotectedinherited

◆ kMaxScalar

constexpr float sfDevOTOS::kMaxScalar = 1.127f
staticconstexprinherited

Maximum scalar value for the linear and angular scalars.

◆ kMeterToInch

constexpr float sfDevOTOS::kMeterToInch = 39.37f
staticconstexprprotectedinherited

◆ kMeterToInt16

constexpr float sfDevOTOS::kMeterToInt16 = 32768.0f / 10.0f
staticconstexprprotectedinherited

◆ kMinScalar

constexpr float sfDevOTOS::kMinScalar = 0.872f
staticconstexprinherited

Minimum scalar value for the linear and angular scalars.

◆ kMpssToInt16

constexpr float sfDevOTOS::kMpssToInt16 = 32768.0f / (16.0f * 9.80665f)
staticconstexprprotectedinherited

◆ kMpsToInt16

constexpr float sfDevOTOS::kMpsToInt16 = 32768.0f / 5.0f
staticconstexprprotectedinherited

◆ kProductId

constexpr uint8_t sfDevOTOS::kProductId = 0x5F
staticconstexprprotectedinherited

◆ kRadianToDegree

constexpr float sfDevOTOS::kRadianToDegree = 180.0f / M_PI
staticconstexprprotectedinherited

◆ kRadToInt16

constexpr float sfDevOTOS::kRadToInt16 = 32768.0f / M_PI
staticconstexprprotectedinherited

◆ kRegAccHH

constexpr uint8_t sfDevOTOS::kRegAccHH = 0x31
staticconstexprprotectedinherited

◆ kRegAccHL

constexpr uint8_t sfDevOTOS::kRegAccHL = 0x30
staticconstexprprotectedinherited

◆ kRegAccStdHH

constexpr uint8_t sfDevOTOS::kRegAccStdHH = 0x43
staticconstexprprotectedinherited

◆ kRegAccStdHL

constexpr uint8_t sfDevOTOS::kRegAccStdHL = 0x42
staticconstexprprotectedinherited

◆ kRegAccStdXH

constexpr uint8_t sfDevOTOS::kRegAccStdXH = 0x3F
staticconstexprprotectedinherited

◆ kRegAccStdXL

constexpr uint8_t sfDevOTOS::kRegAccStdXL = 0x3E
staticconstexprprotectedinherited

◆ kRegAccStdYH

constexpr uint8_t sfDevOTOS::kRegAccStdYH = 0x41
staticconstexprprotectedinherited

◆ kRegAccStdYL

constexpr uint8_t sfDevOTOS::kRegAccStdYL = 0x40
staticconstexprprotectedinherited

◆ kRegAccXH

constexpr uint8_t sfDevOTOS::kRegAccXH = 0x2D
staticconstexprprotectedinherited

◆ kRegAccXL

constexpr uint8_t sfDevOTOS::kRegAccXL = 0x2C
staticconstexprprotectedinherited

◆ kRegAccYH

constexpr uint8_t sfDevOTOS::kRegAccYH = 0x2F
staticconstexprprotectedinherited

◆ kRegAccYL

constexpr uint8_t sfDevOTOS::kRegAccYL = 0x2E
staticconstexprprotectedinherited

◆ kRegFwVersion

constexpr uint8_t sfDevOTOS::kRegFwVersion = 0x02
staticconstexprprotectedinherited

◆ kRegHwVersion

constexpr uint8_t sfDevOTOS::kRegHwVersion = 0x01
staticconstexprprotectedinherited

◆ kRegImuCalib

constexpr uint8_t sfDevOTOS::kRegImuCalib = 0x06
staticconstexprprotectedinherited

◆ kRegOffHH

constexpr uint8_t sfDevOTOS::kRegOffHH = 0x15
staticconstexprprotectedinherited

◆ kRegOffHL

constexpr uint8_t sfDevOTOS::kRegOffHL = 0x14
staticconstexprprotectedinherited

◆ kRegOffXH

constexpr uint8_t sfDevOTOS::kRegOffXH = 0x11
staticconstexprprotectedinherited

◆ kRegOffXL

constexpr uint8_t sfDevOTOS::kRegOffXL = 0x10
staticconstexprprotectedinherited

◆ kRegOffYH

constexpr uint8_t sfDevOTOS::kRegOffYH = 0x13
staticconstexprprotectedinherited

◆ kRegOffYL

constexpr uint8_t sfDevOTOS::kRegOffYL = 0x12
staticconstexprprotectedinherited

◆ kRegPosHH

constexpr uint8_t sfDevOTOS::kRegPosHH = 0x25
staticconstexprprotectedinherited

◆ kRegPosHL

constexpr uint8_t sfDevOTOS::kRegPosHL = 0x24
staticconstexprprotectedinherited

◆ kRegPosStdHH

constexpr uint8_t sfDevOTOS::kRegPosStdHH = 0x37
staticconstexprprotectedinherited

◆ kRegPosStdHL

constexpr uint8_t sfDevOTOS::kRegPosStdHL = 0x36
staticconstexprprotectedinherited

◆ kRegPosStdXH

constexpr uint8_t sfDevOTOS::kRegPosStdXH = 0x33
staticconstexprprotectedinherited

◆ kRegPosStdXL

constexpr uint8_t sfDevOTOS::kRegPosStdXL = 0x32
staticconstexprprotectedinherited

◆ kRegPosStdYH

constexpr uint8_t sfDevOTOS::kRegPosStdYH = 0x35
staticconstexprprotectedinherited

◆ kRegPosStdYL

constexpr uint8_t sfDevOTOS::kRegPosStdYL = 0x34
staticconstexprprotectedinherited

◆ kRegPosXH

constexpr uint8_t sfDevOTOS::kRegPosXH = 0x21
staticconstexprprotectedinherited

◆ kRegPosXL

constexpr uint8_t sfDevOTOS::kRegPosXL = 0x20
staticconstexprprotectedinherited

◆ kRegPosYH

constexpr uint8_t sfDevOTOS::kRegPosYH = 0x23
staticconstexprprotectedinherited

◆ kRegPosYL

constexpr uint8_t sfDevOTOS::kRegPosYL = 0x22
staticconstexprprotectedinherited

◆ kRegProductId

constexpr uint8_t sfDevOTOS::kRegProductId = 0x00
staticconstexprprotectedinherited

◆ kRegReset

constexpr uint8_t sfDevOTOS::kRegReset = 0x07
staticconstexprprotectedinherited

◆ kRegScalarAngular

constexpr uint8_t sfDevOTOS::kRegScalarAngular = 0x05
staticconstexprprotectedinherited

◆ kRegScalarLinear

constexpr uint8_t sfDevOTOS::kRegScalarLinear = 0x04
staticconstexprprotectedinherited

◆ kRegSelfTest

constexpr uint8_t sfDevOTOS::kRegSelfTest = 0x0F
staticconstexprprotectedinherited

◆ kRegSignalProcess

constexpr uint8_t sfDevOTOS::kRegSignalProcess = 0x0E
staticconstexprprotectedinherited

◆ kRegStatus

constexpr uint8_t sfDevOTOS::kRegStatus = 0x1F
staticconstexprprotectedinherited

◆ kRegVelHH

constexpr uint8_t sfDevOTOS::kRegVelHH = 0x2B
staticconstexprprotectedinherited

◆ kRegVelHL

constexpr uint8_t sfDevOTOS::kRegVelHL = 0x2A
staticconstexprprotectedinherited

◆ kRegVelStdHH

constexpr uint8_t sfDevOTOS::kRegVelStdHH = 0x3D
staticconstexprprotectedinherited

◆ kRegVelStdHL

constexpr uint8_t sfDevOTOS::kRegVelStdHL = 0x3C
staticconstexprprotectedinherited

◆ kRegVelStdXH

constexpr uint8_t sfDevOTOS::kRegVelStdXH = 0x39
staticconstexprprotectedinherited

◆ kRegVelStdXL

constexpr uint8_t sfDevOTOS::kRegVelStdXL = 0x38
staticconstexprprotectedinherited

◆ kRegVelStdYH

constexpr uint8_t sfDevOTOS::kRegVelStdYH = 0x3B
staticconstexprprotectedinherited

◆ kRegVelStdYL

constexpr uint8_t sfDevOTOS::kRegVelStdYL = 0x3A
staticconstexprprotectedinherited

◆ kRegVelXH

constexpr uint8_t sfDevOTOS::kRegVelXH = 0x27
staticconstexprprotectedinherited

◆ kRegVelXL

constexpr uint8_t sfDevOTOS::kRegVelXL = 0x26
staticconstexprprotectedinherited

◆ kRegVelYH

constexpr uint8_t sfDevOTOS::kRegVelYH = 0x29
staticconstexprprotectedinherited

◆ kRegVelYL

constexpr uint8_t sfDevOTOS::kRegVelYL = 0x28
staticconstexprprotectedinherited

◆ kRpssToInt16

constexpr float sfDevOTOS::kRpssToInt16 = 32768.0f / (M_PI * 1000.0f)
staticconstexprprotectedinherited

◆ kRpsToInt16

constexpr float sfDevOTOS::kRpsToInt16 = 32768.0f / (2000.0f * kDegreeToRadian)
staticconstexprprotectedinherited

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