# VectorNav C++ Library: include/vn/sensors.h Source File

sensors.h
#ifndef _VNSENSORS_SENSORS_H_
#define _VNSENSORS_SENSORS_H_
#if PYTHON
#include "boostpython.h"
#endif
#include <string>
#include <vector>
#include "int.h"
#include "nocopy.h"
#include "packetfinder.h"
#include "export.h"
#include "registers.h"
#if PYTHON
#include "vn/event.h"
#endif
namespace vn {
namespace xplat {
class IPort;
}
namespace sensors {
struct sensor_error : public std::exception
{
private:
sensor_error();
public:
explicit sensor_error(protocol::uart::SensorError e);
sensor_error(const sensor_error& e);
~sensor_error() throw();
char const* what() const throw();
protocol::uart::SensorError error;
private:
char *_errorMessage;
};
class vn_proglib_DLLEXPORT VnSensor : private util::NoCopy
{
public:
enum Family
{
VnSensor_Family_Unknown,
VnSensor_Family_Vn100,
VnSensor_Family_Vn200,
VnSensor_Family_Vn300
};
#if PYTHON
typedef Event<protocol::uart::Packet&, size_t, xplat::TimeStamp> AsyncPacketReceivedEvent;
#endif
typedef void(*RawDataReceivedHandler)(void* userData, const char* rawData, size_t length, size_t runningIndex);
typedef void(*PossiblePacketFoundHandler)(void* userData, protocol::uart::Packet& possiblePacket, size_t packetStartRunningIndex);
typedef void(*AsyncPacketReceivedHandler)(void* userData, protocol::uart::Packet& asyncPacket, size_t packetStartRunningIndex);
typedef void(*ErrorPacketReceivedHandler)(void* userData, protocol::uart::Packet& errorPacket, size_t packetStartRunningIndex);
static std::vector<uint32_t> supportedBaudrates();
VnSensor();
~VnSensor();
uint32_t baudrate();
std::string port();
protocol::uart::ErrorDetectionMode sendErrorDetectionMode();
void setSendErrorDetectionMode(protocol::uart::ErrorDetectionMode mode);
bool isConnected();
uint16_t responseTimeoutMs();
void setResponseTimeoutMs(uint16_t timeout);
uint16_t retransmitDelayMs();
void setRetransmitDelayMs(uint16_t delay);
bool verifySensorConnectivity();
void connect(const std::string &portName, uint32_t baudrate);
void connect(xplat::IPort* port);
void disconnect();
std::string transaction(std::string toSend);
std::string send(
std::string toSend,
bool waitForReply = true,
protocol::uart::ErrorDetectionMode errorDetectionMode = protocol::uart::ERRORDETECTIONMODE_CHECKSUM);
void tare(bool waitForReply = true);
void setGyroBias(bool waitForReply = true);
void magneticDisturbancePresent(bool disturbancePresent, bool waitForReply = true);
void accelerationDisturbancePresent(bool disturbancePresent, bool waitForReply = true);
void writeSettings(bool waitForReply = true);
void restoreFactorySettings(bool waitForReply = true);
void reset(bool waitForReply = true);
void changeBaudRate(uint32_t baudrate);
//static void determineDeviceFamily(std::string portName, uint32_t baudrate);
Family determineDeviceFamily();
static Family determineDeviceFamily(std::string modelNumber);
void registerRawDataReceivedHandler(void* userData, RawDataReceivedHandler handler);
#if PL150
//Event event
#else
#if PYTHON
PyObject* registerRawDataReceivedHandler(PyObject* callable);
#endif
#endif
void unregisterRawDataReceivedHandler();
void registerPossiblePacketFoundHandler(void* userData, PossiblePacketFoundHandler handler);
void unregisterPossiblePacketFoundHandler();
void registerAsyncPacketReceivedHandler(void* userData, AsyncPacketReceivedHandler handler);
#if PL150
//packet, index, timestamp
//Event<protocol::uart::Packet&, size_t, size_t> eventAsyncPacketRecieved;
#if PYTHON
AsyncPacketReceivedEvent eventAsyncPacketReceived;
#endif
#else
#if PYTHON
PyObject* registerAsyncPacketReceivedHandler(PyObject* callable);
#endif
#endif
void unregisterAsyncPacketReceivedHandler();
void registerErrorPacketReceivedHandler(void* userData, ErrorPacketReceivedHandler handler);
void unregisterErrorPacketReceivedHandler();
BinaryOutputRegister readBinaryOutput1();
void writeBinaryOutput1(BinaryOutputRegister &fields, bool waitForReply = true);
BinaryOutputRegister readBinaryOutput2();
void writeBinaryOutput2(BinaryOutputRegister &fields, bool waitForReply = true);
BinaryOutputRegister readBinaryOutput3();
void writeBinaryOutput3(BinaryOutputRegister &fields, bool waitForReply = true);
uint32_t readSerialBaudRate(uint8_t port);
void writeSerialBaudRate(const uint32_t &baudrate, uint8_t port, bool waitForReply = true);
protocol::uart::AsciiAsync readAsyncDataOutputType(uint8_t port);
void writeAsyncDataOutputType(protocol::uart::AsciiAsync ador, uint8_t port, bool waitForReply = true);
uint32_t readAsyncDataOutputFrequency(uint8_t port);
void writeAsyncDataOutputFrequency(const uint32_t &adof, uint8_t port, bool waitForReply = true);
InsBasicConfigurationRegisterVn200 readInsBasicConfigurationVn200();
void writeInsBasicConfigurationVn200(InsBasicConfigurationRegisterVn200 &fields, bool waitForReply = true);
void writeInsBasicConfigurationVn200(
protocol::uart::Scenario scenario,
const uint8_t &ahrsAiding,
bool waitForReply = true);
InsBasicConfigurationRegisterVn300 readInsBasicConfigurationVn300();
void writeInsBasicConfigurationVn300(InsBasicConfigurationRegisterVn300 &fields, bool waitForReply = true);
void writeInsBasicConfigurationVn300(
protocol::uart::Scenario scenario,
const uint8_t &ahrsAiding,
const uint8_t &estBaseline,
bool waitForReply = true);
std::string readUserTag();
void writeUserTag(const std::string &tag, bool waitForReply = true);
std::string readModelNumber();
uint32_t readHardwareRevision();
uint32_t readSerialNumber();
std::string readFirmwareVersion();
uint32_t readSerialBaudRate();
void writeSerialBaudRate(const uint32_t &baudrate, bool waitForReply = true);
protocol::uart::AsciiAsync readAsyncDataOutputType();
void writeAsyncDataOutputType(protocol::uart::AsciiAsync ador, bool waitForReply = true);
uint32_t readAsyncDataOutputFrequency();
void writeAsyncDataOutputFrequency(const uint32_t &adof, bool waitForReply = true);
vn::math::vec3f readYawPitchRoll();
vn::math::vec4f readAttitudeQuaternion();
QuaternionMagneticAccelerationAndAngularRatesRegister readQuaternionMagneticAccelerationAndAngularRates();
vn::math::vec3f readMagneticMeasurements();
vn::math::vec3f readAccelerationMeasurements();
vn::math::vec3f readAngularRateMeasurements();
MagneticAccelerationAndAngularRatesRegister readMagneticAccelerationAndAngularRates();
MagneticAndGravityReferenceVectorsRegister readMagneticAndGravityReferenceVectors();
void writeMagneticAndGravityReferenceVectors(MagneticAndGravityReferenceVectorsRegister &fields, bool waitForReply = true);
void writeMagneticAndGravityReferenceVectors(
const vn::math::vec3f &magRef,
const vn::math::vec3f &accRef,
bool waitForReply = true);
FilterMeasurementsVarianceParametersRegister readFilterMeasurementsVarianceParameters();
void writeFilterMeasurementsVarianceParameters(FilterMeasurementsVarianceParametersRegister &fields, bool waitForReply = true);
void writeFilterMeasurementsVarianceParameters(
const float &angularWalkVariance,
const vn::math::vec3f &angularRateVariance,
const vn::math::vec3f &magneticVariance,
const vn::math::vec3f &accelerationVariance,
bool waitForReply = true);
MagnetometerCompensationRegister readMagnetometerCompensation();
void writeMagnetometerCompensation(MagnetometerCompensationRegister &fields, bool waitForReply = true);
void writeMagnetometerCompensation(
const vn::math::mat3f &c,
const vn::math::vec3f &b,
bool waitForReply = true);
FilterActiveTuningParametersRegister readFilterActiveTuningParameters();
void writeFilterActiveTuningParameters(FilterActiveTuningParametersRegister &fields, bool waitForReply = true);
void writeFilterActiveTuningParameters(
const float &magneticDisturbanceGain,
const float &accelerationDisturbanceGain,
const float &magneticDisturbanceMemory,
const float &accelerationDisturbanceMemory,
bool waitForReply = true);
AccelerationCompensationRegister readAccelerationCompensation();
void writeAccelerationCompensation(AccelerationCompensationRegister &fields, bool waitForReply = true);
void writeAccelerationCompensation(
const vn::math::mat3f &c,
const vn::math::vec3f &b,
bool waitForReply = true);
vn::math::mat3f readReferenceFrameRotation();
void writeReferenceFrameRotation(const vn::math::mat3f &c, bool waitForReply = true);
YawPitchRollMagneticAccelerationAndAngularRatesRegister readYawPitchRollMagneticAccelerationAndAngularRates();
CommunicationProtocolControlRegister readCommunicationProtocolControl();
void writeCommunicationProtocolControl(CommunicationProtocolControlRegister &fields, bool waitForReply = true);
void writeCommunicationProtocolControl(
protocol::uart::CountMode serialCount,
protocol::uart::StatusMode serialStatus,
protocol::uart::CountMode spiCount,
protocol::uart::StatusMode spiStatus,
protocol::uart::ChecksumMode serialChecksum,
protocol::uart::ChecksumMode spiChecksum,
protocol::uart::ErrorMode errorMode,
bool waitForReply = true);
SynchronizationControlRegister readSynchronizationControl();
void writeSynchronizationControl(SynchronizationControlRegister &fields, bool waitForReply = true);
void writeSynchronizationControl(
protocol::uart::SyncInMode syncInMode,
protocol::uart::SyncInEdge syncInEdge,
const uint16_t &syncInSkipFactor,
protocol::uart::SyncOutMode syncOutMode,
protocol::uart::SyncOutPolarity syncOutPolarity,
const uint16_t &syncOutSkipFactor,
const uint32_t &syncOutPulseWidth,
bool waitForReply = true);
SynchronizationStatusRegister readSynchronizationStatus();
void writeSynchronizationStatus(SynchronizationStatusRegister &fields, bool waitForReply = true);
void writeSynchronizationStatus(
const uint32_t &syncInCount,
const uint32_t &syncInTime,
const uint32_t &syncOutCount,
bool waitForReply = true);
FilterBasicControlRegister readFilterBasicControl();
void writeFilterBasicControl(FilterBasicControlRegister &fields, bool waitForReply = true);
void writeFilterBasicControl(
protocol::uart::MagneticMode magMode,
protocol::uart::ExternalSensorMode extMagMode,
protocol::uart::ExternalSensorMode extAccMode,
protocol::uart::ExternalSensorMode extGyroMode,
const vn::math::vec3f &gyroLimit,
bool waitForReply = true);
VpeBasicControlRegister readVpeBasicControl();
void writeVpeBasicControl(VpeBasicControlRegister &fields, bool waitForReply = true);
void writeVpeBasicControl(
protocol::uart::VpeEnable enable,
protocol::uart::HeadingMode headingMode,
protocol::uart::VpeMode filteringMode,
protocol::uart::VpeMode tuningMode,
bool waitForReply = true);
VpeMagnetometerBasicTuningRegister readVpeMagnetometerBasicTuning();
void writeVpeMagnetometerBasicTuning(VpeMagnetometerBasicTuningRegister &fields, bool waitForReply = true);
void writeVpeMagnetometerBasicTuning(
const vn::math::vec3f &baseTuning,
const vn::math::vec3f &adaptiveTuning,
const vn::math::vec3f &adaptiveFiltering,
bool waitForReply = true);
VpeMagnetometerAdvancedTuningRegister readVpeMagnetometerAdvancedTuning();
void writeVpeMagnetometerAdvancedTuning(VpeMagnetometerAdvancedTuningRegister &fields, bool waitForReply = true);
void writeVpeMagnetometerAdvancedTuning(
const vn::math::vec3f &minFiltering,
const vn::math::vec3f &maxFiltering,
const float &maxAdaptRate,
const float &disturbanceWindow,
const float &maxTuning,
bool waitForReply = true);
VpeAccelerometerBasicTuningRegister readVpeAccelerometerBasicTuning();
void writeVpeAccelerometerBasicTuning(VpeAccelerometerBasicTuningRegister &fields, bool waitForReply = true);
void writeVpeAccelerometerBasicTuning(
const vn::math::vec3f &baseTuning,
const vn::math::vec3f &adaptiveTuning,
const vn::math::vec3f &adaptiveFiltering,
bool waitForReply = true);
VpeAccelerometerAdvancedTuningRegister readVpeAccelerometerAdvancedTuning();
void writeVpeAccelerometerAdvancedTuning(VpeAccelerometerAdvancedTuningRegister &fields, bool waitForReply = true);
void writeVpeAccelerometerAdvancedTuning(
const vn::math::vec3f &minFiltering,
const vn::math::vec3f &maxFiltering,
const float &maxAdaptRate,
const float &disturbanceWindow,
const float &maxTuning,
bool waitForReply = true);
VpeGyroBasicTuningRegister readVpeGyroBasicTuning();
void writeVpeGyroBasicTuning(VpeGyroBasicTuningRegister &fields, bool waitForReply = true);
void writeVpeGyroBasicTuning(
const vn::math::vec3f &angularWalkVariance,
const vn::math::vec3f &baseTuning,
const vn::math::vec3f &adaptiveTuning,
bool waitForReply = true);
vn::math::vec3f readFilterStartupGyroBias();
void writeFilterStartupGyroBias(const vn::math::vec3f &bias, bool waitForReply = true);
MagnetometerCalibrationControlRegister readMagnetometerCalibrationControl();
void writeMagnetometerCalibrationControl(MagnetometerCalibrationControlRegister &fields, bool waitForReply = true);
void writeMagnetometerCalibrationControl(
protocol::uart::HsiMode hsiMode,
protocol::uart::HsiOutput hsiOutput,
const uint8_t &convergeRate,
bool waitForReply = true);
CalculatedMagnetometerCalibrationRegister readCalculatedMagnetometerCalibration();
float readIndoorHeadingModeControl();
void writeIndoorHeadingModeControl(const float &maxRateError, bool waitForReply = true);
vn::math::vec3f readVelocityCompensationMeasurement();
void writeVelocityCompensationMeasurement(const vn::math::vec3f &velocity, bool waitForReply = true);
VelocityCompensationControlRegister readVelocityCompensationControl();
void writeVelocityCompensationControl(VelocityCompensationControlRegister &fields, bool waitForReply = true);
void writeVelocityCompensationControl(
protocol::uart::VelocityCompensationMode mode,
const float &velocityTuning,
const float &rateTuning,
bool waitForReply = true);
VelocityCompensationStatusRegister readVelocityCompensationStatus();
ImuMeasurementsRegister readImuMeasurements();
GpsConfigurationRegister readGpsConfiguration();
void writeGpsConfiguration(GpsConfigurationRegister &fields, bool waitForReply = true);
void writeGpsConfiguration(
protocol::uart::GpsMode mode,
protocol::uart::PpsSource ppsSource,
bool waitForReply = true);
vn::math::vec3f readGpsAntennaOffset();
void writeGpsAntennaOffset(const vn::math::vec3f &position, bool waitForReply = true);
GpsSolutionLlaRegister readGpsSolutionLla();
GpsSolutionEcefRegister readGpsSolutionEcef();
InsSolutionLlaRegister readInsSolutionLla();
InsSolutionEcefRegister readInsSolutionEcef();
InsAdvancedConfigurationRegister readInsAdvancedConfiguration();
void writeInsAdvancedConfiguration(InsAdvancedConfigurationRegister &fields, bool waitForReply = true);
void writeInsAdvancedConfiguration(
const uint8_t &useMag,
const uint8_t &usePres,
const uint8_t &posAtt,
const uint8_t &velAtt,
const uint8_t &velBias,
protocol::uart::FoamInit useFoam,
const uint8_t &gpsCovType,
const uint8_t &velCount,
const float &velInit,
const float &moveOrigin,
const float &gpsTimeout,
const float &deltaLimitPos,
const float &deltaLimitVel,
const float &minPosUncertainty,
const float &minVelUncertainty,
bool waitForReply = true);
InsStateLlaRegister readInsStateLla();
InsStateEcefRegister readInsStateEcef();
StartupFilterBiasEstimateRegister readStartupFilterBiasEstimate();
void writeStartupFilterBiasEstimate(StartupFilterBiasEstimateRegister &fields, bool waitForReply = true);
void writeStartupFilterBiasEstimate(
const vn::math::vec3f &gyroBias,
const vn::math::vec3f &accelBias,
const float &pressureBias,
bool waitForReply = true);
DeltaThetaAndDeltaVelocityRegister readDeltaThetaAndDeltaVelocity();
DeltaThetaAndDeltaVelocityConfigurationRegister readDeltaThetaAndDeltaVelocityConfiguration();
void writeDeltaThetaAndDeltaVelocityConfiguration(DeltaThetaAndDeltaVelocityConfigurationRegister &fields, bool waitForReply = true);
void writeDeltaThetaAndDeltaVelocityConfiguration(
protocol::uart::IntegrationFrame integrationFrame,
protocol::uart::CompensationMode gyroCompensation,
protocol::uart::CompensationMode accelCompensation,
bool waitForReply = true);
ReferenceVectorConfigurationRegister readReferenceVectorConfiguration();
void writeReferenceVectorConfiguration(ReferenceVectorConfigurationRegister &fields, bool waitForReply = true);
void writeReferenceVectorConfiguration(
const uint8_t &useMagModel,
const uint8_t &useGravityModel,
const uint32_t &recalcThreshold,
const float &year,
const vn::math::vec3d &position,
bool waitForReply = true);
GyroCompensationRegister readGyroCompensation();
void writeGyroCompensation(GyroCompensationRegister &fields, bool waitForReply = true);
void writeGyroCompensation(
const vn::math::mat3f &c,
const vn::math::vec3f &b,
bool waitForReply = true);
ImuFilteringConfigurationRegister readImuFilteringConfiguration();
void writeImuFilteringConfiguration(ImuFilteringConfigurationRegister &fields, bool waitForReply = true);
void writeImuFilteringConfiguration(
const uint16_t &magWindowSize,
const uint16_t &accelWindowSize,
const uint16_t &gyroWindowSize,
const uint16_t &tempWindowSize,
const uint16_t &presWindowSize,
protocol::uart::FilterMode magFilterMode,
protocol::uart::FilterMode accelFilterMode,
protocol::uart::FilterMode gyroFilterMode,
protocol::uart::FilterMode tempFilterMode,
protocol::uart::FilterMode presFilterMode,
bool waitForReply = true);
GpsCompassBaselineRegister readGpsCompassBaseline();
void writeGpsCompassBaseline(GpsCompassBaselineRegister &fields, bool waitForReply = true);
void writeGpsCompassBaseline(
const vn::math::vec3f &position,
const vn::math::vec3f &uncertainty,
bool waitForReply = true);
GpsCompassEstimatedBaselineRegister readGpsCompassEstimatedBaseline();
ImuRateConfigurationRegister readImuRateConfiguration();
void writeImuRateConfiguration(ImuRateConfigurationRegister &fields, bool waitForReply = true);
void writeImuRateConfiguration(
const uint16_t &imuRate,
const uint16_t &navDivisor,
const float &filterTargetRate,
const float &filterMinRate,
bool waitForReply = true);
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister readYawPitchRollTrueBodyAccelerationAndAngularRates();
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister readYawPitchRollTrueInertialAccelerationAndAngularRates();
#ifdef PYTHON_WRAPPERS
#endif
#if PYTHON && !PL156_ORIGINAL && !PL156_FIX_ATTEMPT_1
void stopRequest();
bool threadStopped();
void unregisterListners();
void shutdownRequest();
void goRequest();
#endif
private:
struct Impl;
Impl *_pi;
};
}
}
#endif
vn::sensors::VelocityCompensationStatusRegister
Structure representing the Velocity Compensation Status register.
Definition: registers.h:681
vn::sensors::InsBasicConfigurationRegisterVn200
Structure representing the INS Basic Configuration register for a VN-200 sensor.
Definition: registers.h:960
vn::sensors::VnSensor::VnSensor_Family_Unknown
Unknown device family.
Definition: sensors.h:65
vn::sensors::VpeGyroBasicTuningRegister
Structure representing the VPE Gyro Basic Tuning register.
Definition: registers.h:585
vn::sensors::InsBasicConfigurationRegisterVn300
Structure representing the INS Basic Configuration register for a VN-300 sensor.
Definition: registers.h:981
vn::math::vec
Template for a Euclidean vector.
Definition: vector.h:22
vn::sensors::StartupFilterBiasEstimateRegister
Structure representing the Startup Filter Bias Estimate register.
Definition: registers.h:1145
vn::sensors::YawPitchRollTrueBodyAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register...
Definition: registers.h:1406
vn::sensors::sensor_error::what
char const * what() const
Returns a description of the exception.
vn::sensors::AccelerationCompensationRegister
Structure representing the Acceleration Compensation register.
Definition: registers.h:250
vn::sensors::MagnetometerCompensationRegister
Structure representing the Magnetometer Compensation register.
Definition: registers.h:200
int.h
vn::sensors::YawPitchRollTrueInertialAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register...
Definition: registers.h:1431
vn::sensors::SynchronizationStatusRegister
Structure representing the Synchronization Status register.
Definition: registers.h:382
nocopy.h
vn::sensors::FilterMeasurementsVarianceParametersRegister
Structure representing the Filter Measurements Variance Parameters register.
Definition: registers.h:171
vn::sensors::GpsCompassEstimatedBaselineRegister
Structure representing the GPS Compass Estimated Baseline register.
Definition: registers.h:1348
vn::sensors::VpeAccelerometerBasicTuningRegister
Structure representing the VPE Accelerometer Basic Tuning register.
Definition: registers.h:527
vn::sensors::InsAdvancedConfigurationRegister
Structure representing the INS Advanced Configuration register.
Definition: registers.h:1006
vn::sensors::InsStateEcefRegister
Structure representing the INS State - ECEF register.
Definition: registers.h:1112
vn::sensors::InsSolutionEcefRegister
Structure representing the INS Solution - ECEF register.
Definition: registers.h:911
vn::sensors::GpsSolutionLlaRegister
Structure representing the GPS Solution - LLA register.
Definition: registers.h:764
vn::sensors::GpsCompassBaselineRegister
Structure representing the GPS Compass Baseline register.
Definition: registers.h:1327
vn::xplat::IPort
Interface for a simple port.
Definition: port.h:12
vn::sensors::VnSensor::VnSensor_Family_Vn200
A device of the VectorNav VN-200 sensor family.
Definition: sensors.h:67
vn::math::mat
Template for a matrix.
Definition: matrix.h:20
vn::sensors::ImuRateConfigurationRegister
Structure representing the IMU Rate Configuration register.
Definition: registers.h:1377
vn::sensors::VnSensor::Family
Family
Definition: sensors.h:63
vn::sensors::InsSolutionLlaRegister
Structure representing the INS Solution - LLA register.
Definition: registers.h:862
vn::sensors::ImuFilteringConfigurationRegister
Structure representing the IMU Filtering Configuration register.
Definition: registers.h:1274
vn::sensors::MagneticAndGravityReferenceVectorsRegister
Structure representing the Magnetic and Gravity Reference Vectors register.
Definition: registers.h:150
vn::sensors::FilterBasicControlRegister
Structure representing the Filter Basic Control register.
Definition: registers.h:407
vn::sensors::GyroCompensationRegister
Structure representing the Gyro Compensation register.
Definition: registers.h:1253
vn::sensors::YawPitchRollMagneticAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register...
Definition: registers.h:271
vn::sensors::VpeMagnetometerAdvancedTuningRegister
Structure representing the VPE Magnetometer Advanced Tuning register.
Definition: registers.h:494
vn::sensors::sensor_error::error
protocol::uart::SensorError error
The associated sensor error.
Definition: sensors.h:51
xplat
Definition: mock.h:4
vn::timeout
A timeout occurred.
Definition: exceptions.h:85
vn::sensors::VnSensor
Helpful class for working with VectorNav sensors.
Definition: sensors.h:58
vn::sensors::VnSensor::VnSensor_Family_Vn100
A device of the VectorNav VN-100 sensor family.
Definition: sensors.h:66
vn::sensors::VpeBasicControlRegister
Structure representing the VPE Basic Control register.
Definition: registers.h:440
vn::sensors::SynchronizationControlRegister
Structure representing the Synchronization Control register.
Definition: registers.h:341
vn::sensors::GpsConfigurationRegister
Structure representing the GPS Configuration register.
Definition: registers.h:743
vn::util::NoCopy
Identifies a derived class as being unable to be copied and prevents copy attempts.
Definition: nocopy.h:21
vn::sensors::sensor_error
Represents an error from a VectorNav sensor.
Definition: sensors.h:29
vn::sensors::GpsSolutionEcefRegister
Structure representing the GPS Solution - ECEF register.
Definition: registers.h:813
vn::sensors::QuaternionMagneticAccelerationAndAngularRatesRegister
Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register.
Definition: registers.h:96
vn::sensors::MagneticAccelerationAndAngularRatesRegister
Structure representing the Magnetic, Acceleration and Angular Rates register.
Definition: registers.h:125
vn
Definition: attitude.h:8
vn::sensors::VelocityCompensationControlRegister
Structure representing the Velocity Compensation Control register.
Definition: registers.h:656
vn::sensors::CalculatedMagnetometerCalibrationRegister
Structure representing the Calculated Magnetometer Calibration register.
Definition: registers.h:635
vn::sensors::ReferenceVectorConfigurationRegister
Structure representing the Reference Vector Configuration register.
Definition: registers.h:1220
vn::sensors::BinaryOutputRegister
Structure representing a Binary Output register.
Definition: registers.h:24
vn::sensors::CommunicationProtocolControlRegister
Structure representing the Communication Protocol Control register.
Definition: registers.h:300
vn::sensors::DeltaThetaAndDeltaVelocityConfigurationRegister
Structure representing the Delta Theta and Delta Velocity Configuration register. ...
Definition: registers.h:1195
vn::sensors::VpeAccelerometerAdvancedTuningRegister
Structure representing the VPE Accelerometer Advanced Tuning register.
Definition: registers.h:552
vn::sensors::VpeMagnetometerBasicTuningRegister
Structure representing the VPE Magnetometer Basic Tuning register.
Definition: registers.h:469
vn::sensors::MagnetometerCalibrationControlRegister
Structure representing the Magnetometer Calibration Control register.
Definition: registers.h:610
vn::sensors::InsStateLlaRegister
Structure representing the INS State - LLA register.
Definition: registers.h:1079
vn::sensors::DeltaThetaAndDeltaVelocityRegister
Structure representing the Delta Theta and Delta Velocity register.
Definition: registers.h:1170
vn::sensors::FilterActiveTuningParametersRegister
Structure representing the Filter Active Tuning Parameters register.
Definition: registers.h:221
vn::protocol::uart::Packet
Structure representing a UART packet received from the VectorNav sensor.
Definition: packet.h:16
vn::sensors::ImuMeasurementsRegister
Structure representing the IMU Measurements register.
Definition: registers.h:710