sensors.h
Go to the documentation of this file.
#ifndef _VNSENSORS_H_
#define _VNSENSORS_H_
#include <stddef.h>
#include "vn/int.h"
#include "vn/error.h"
#include "vn/enum.h"
#include "vn/bool.h"
#include "vn/protocol/upack.h"
#include "vn/protocol/upackf.h"
#include "vn/xplat/serialport.h"
#include "vn/xplat/event.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#pragma warning(push)
#pragma warning(disable : 4820)
#endif
typedef struct
{
AsyncMode asyncMode;
uint16_t rateDivisor;
CommonGroup commonField;
TimeGroup timeField;
ImuGroup imuField;
GpsGroup gpsField;
AttitudeGroup attitudeField;
InsGroup insField;
} BinaryOutputRegister;
void BinaryOutputRegister_initialize(
BinaryOutputRegister *reg,
AsyncMode asyncMode,
uint32_t rateDivisor,
CommonGroup commonField,
TimeGroup timeField,
ImuGroup imuField,
GpsGroup gpsField,
AttitudeGroup attitudeField,
InsGroup insField);
typedef struct
{
vec4f quat;
vec3f mag;
vec3f accel;
vec3f gyro;
} QuaternionMagneticAccelerationAndAngularRatesRegister;
typedef struct
{
vec3f mag;
vec3f accel;
vec3f gyro;
} MagneticAccelerationAndAngularRatesRegister;
typedef struct
{
vec3f magRef;
vec3f accRef;
} MagneticAndGravityReferenceVectorsRegister;
typedef struct
{
float angularWalkVariance;
vec3f angularRateVariance;
vec3f magneticVariance;
vec3f accelerationVariance;
} FilterMeasurementsVarianceParametersRegister;
typedef struct
{
mat3f c;
vec3f b;
} MagnetometerCompensationRegister;
typedef struct
{
float magneticDisturbanceGain;
float accelerationDisturbanceGain;
float magneticDisturbanceMemory;
float accelerationDisturbanceMemory;
} FilterActiveTuningParametersRegister;
typedef struct
{
mat3f c;
vec3f b;
} AccelerationCompensationRegister;
typedef struct
{
vec3f yawPitchRoll;
vec3f mag;
vec3f accel;
vec3f gyro;
} YawPitchRollMagneticAccelerationAndAngularRatesRegister;
typedef struct
{
uint8_t serialCount;
uint8_t serialStatus;
uint8_t spiCount;
uint8_t spiStatus;
uint8_t serialChecksum;
uint8_t spiChecksum;
uint8_t errorMode;
} CommunicationProtocolControlRegister;
typedef struct
{
uint8_t syncInMode;
uint8_t syncInEdge;
uint16_t syncInSkipFactor;
uint8_t syncOutMode;
uint8_t syncOutPolarity;
uint16_t syncOutSkipFactor;
uint32_t syncOutPulseWidth;
} SynchronizationControlRegister;
typedef struct
{
uint32_t syncInCount;
uint32_t syncInTime;
uint32_t syncOutCount;
} SynchronizationStatusRegister;
typedef struct
{
uint8_t magMode;
uint8_t extMagMode;
uint8_t extAccMode;
uint8_t extGyroMode;
vec3f gyroLimit;
} FilterBasicControlRegister;
typedef struct
{
uint8_t enable;
uint8_t headingMode;
uint8_t filteringMode;
uint8_t tuningMode;
} VpeBasicControlRegister;
typedef struct
{
vec3f baseTuning;
vec3f adaptiveTuning;
vec3f adaptiveFiltering;
} VpeMagnetometerBasicTuningRegister;
typedef struct
{
vec3f minFiltering;
vec3f maxFiltering;
float maxAdaptRate;
float disturbanceWindow;
float maxTuning;
} VpeMagnetometerAdvancedTuningRegister;
typedef struct
{
vec3f baseTuning;
vec3f adaptiveTuning;
vec3f adaptiveFiltering;
} VpeAccelerometerBasicTuningRegister;
typedef struct
{
vec3f minFiltering;
vec3f maxFiltering;
float maxAdaptRate;
float disturbanceWindow;
float maxTuning;
} VpeAccelerometerAdvancedTuningRegister;
typedef struct
{
vec3f angularWalkVariance;
vec3f baseTuning;
vec3f adaptiveTuning;
} VpeGyroBasicTuningRegister;
typedef struct
{
uint8_t hsiMode;
uint8_t hsiOutput;
uint8_t convergeRate;
} MagnetometerCalibrationControlRegister;
typedef struct
{
mat3f c;
vec3f b;
} CalculatedMagnetometerCalibrationRegister;
typedef struct
{
uint8_t mode;
float velocityTuning;
float rateTuning;
} VelocityCompensationControlRegister;
typedef struct
{
float x;
float xDot;
vec3f accelOffset;
vec3f omega;
} VelocityCompensationStatusRegister;
typedef struct
{
vec3f mag;
vec3f accel;
vec3f gyro;
float temp;
float pressure;
} ImuMeasurementsRegister;
typedef struct
{
uint8_t mode;
uint8_t ppsSource;
} GpsConfigurationRegister;
typedef struct
{
double time;
uint16_t week;
uint8_t gpsFix;
uint8_t numSats;
vec3d lla;
vec3f nedVel;
vec3f nedAcc;
float speedAcc;
float timeAcc;
} GpsSolutionLlaRegister;
typedef struct
{
double tow;
uint16_t week;
uint8_t gpsFix;
uint8_t numSats;
vec3d position;
vec3f velocity;
vec3f posAcc;
float speedAcc;
float timeAcc;
} GpsSolutionEcefRegister;
typedef struct
{
double time;
uint16_t week;
uint16_t status;
vec3f yawPitchRoll;
vec3d position;
vec3f nedVel;
float attUncertainty;
float posUncertainty;
float velUncertainty;
} InsSolutionLlaRegister;
typedef struct
{
double time;
uint16_t week;
uint16_t status;
vec3f yawPitchRoll;
vec3d position;
vec3f velocity;
float attUncertainty;
float posUncertainty;
float velUncertainty;
} InsSolutionEcefRegister;
typedef struct
{
uint8_t scenario;
uint8_t ahrsAiding;
} InsBasicConfigurationRegisterVn200;
typedef struct
{
uint8_t scenario;
uint8_t ahrsAiding;
uint8_t estBaseline;
} InsBasicConfigurationRegisterVn300;
typedef struct
{
uint8_t useMag;
uint8_t usePres;
uint8_t posAtt;
uint8_t velAtt;
uint8_t velBias;
uint8_t useFoam;
uint8_t gpsCovType;
uint8_t velCount;
float velInit;
float moveOrigin;
float gpsTimeout;
float deltaLimitPos;
float deltaLimitVel;
float minPosUncertainty;
float minVelUncertainty;
} InsAdvancedConfigurationRegister;
typedef struct
{
vec3f yawPitchRoll;
vec3d position;
vec3f velocity;
vec3f accel;
vec3f angularRate;
} InsStateLlaRegister;
typedef struct
{
vec3f yawPitchRoll;
vec3d position;
vec3f velocity;
vec3f accel;
vec3f angularRate;
} InsStateEcefRegister;
typedef struct
{
vec3f gyroBias;
vec3f accelBias;
float pressureBias;
} StartupFilterBiasEstimateRegister;
typedef struct
{
float deltaTime;
vec3f deltaTheta;
vec3f deltaVelocity;
} DeltaThetaAndDeltaVelocityRegister;
typedef struct
{
uint8_t integrationFrame;
uint8_t gyroCompensation;
uint8_t accelCompensation;
} DeltaThetaAndDeltaVelocityConfigurationRegister;
typedef struct
{
uint8_t useMagModel;
uint8_t useGravityModel;
uint32_t recalcThreshold;
float year;
vec3d position;
} ReferenceVectorConfigurationRegister;
typedef struct
{
mat3f c;
vec3f b;
} GyroCompensationRegister;
typedef struct
{
uint16_t magWindowSize;
uint16_t accelWindowSize;
uint16_t gyroWindowSize;
uint16_t tempWindowSize;
uint16_t presWindowSize;
uint8_t magFilterMode;
uint8_t accelFilterMode;
uint8_t gyroFilterMode;
uint8_t tempFilterMode;
uint8_t presFilterMode;
} ImuFilteringConfigurationRegister;
typedef struct
{
vec3f position;
vec3f uncertainty;
} GpsCompassBaselineRegister;
typedef struct
{
uint8_t estBaselineUsed;
uint16_t numMeas;
vec3f position;
vec3f uncertainty;
} GpsCompassEstimatedBaselineRegister;
typedef struct
{
uint16_t imuRate;
uint16_t navDivisor;
float filterTargetRate;
float filterMinRate;
} ImuRateConfigurationRegister;
typedef struct
{
vec3f yawPitchRoll;
vec3f bodyAccel;
vec3f gyro;
} YawPitchRollTrueBodyAccelerationAndAngularRatesRegister;
typedef struct
{
vec3f yawPitchRoll;
vec3f inertialAccel;
vec3f gyro;
} YawPitchRollTrueInertialAccelerationAndAngularRatesRegister;
/* \} */
typedef void (*VnSensor_PacketFoundHandler)(void *userData, VnUartPacket *packet, size_t runningIndex);
typedef struct
{
VnSerialPort serialPort;
/* Error detection mode to use for outgoing packets. */
VnErrorDetectionMode sendErrorDetectionMode;
/* Timeout duration for waiting for a response from the sensor. */
uint16_t responseTimeoutMs;
/* Delay between retransmitting commands. */
uint16_t retransmitDelayMs;
VnCriticalSection transactionCS;
VnEvent newResponsesEvent;
/* Indicates if the transaction function is waiting for a response. */
bool waitingForResponse;
/* Indicates if a response is waiting for processing by the transaction functions. */
bool responseWaitingForProcessing;
size_t runningDataIndex;
VnUartPacketFinder packetFinder;
VnSensor_PacketFoundHandler asyncPacketFoundHandler;
void *asyncPacketFoundHandlerUserData;
VnSensor_PacketFoundHandler errorMessageReceivedHandler;
void *errorMessageReceivedHandlerUserData;
size_t responseLength;
/* Holds any received response from the sensor for processing in our transaction functions. */
char response[0x100];
} VnSensor;
VnError VnSensor_initialize(VnSensor* sensor);
VnError VnSensor_connect(VnSensor* sensor, const char* portName, uint32_t baudrate);
VnError VnSensor_disconnect(VnSensor* sensor);
VnError VnSensor_changeBaudrate(VnSensor* sensor, uint32_t baudrate);
VnError VnSensor_transaction(VnSensor* sensor, char* toSend, size_t toSendLength, char* response, size_t* responseLength);
bool VnSensor_isConnected(VnSensor* sensor);
VnError VnSensor_writeSettings(VnSensor* sensor, bool waitForReply);
VnError VnSensor_restoreFactorySettings(VnSensor* sensor, bool waitForReply);
VnError VnSensor_reset(VnSensor* sensor, bool waitForReply);
VnError VnSensor_tare(VnSensor* sensor, bool waitForReply);
VnError VnSensor_setGyroBias(VnSensor* sensor, bool waitForReply);
VnError VnSensor_magneticDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply);
VnError VnSensor_accelerationDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply);
bool VnSensor_verifySensorConnectivity(VnSensor* sensor);
uint16_t VnSensor_getResponseTimeoutMs(VnSensor* sensor);
VnError VnSensor_setResponseTimeoutMs(VnSensor* sensor, uint16_t reponseTimeoutMs);
uint16_t VnSensor_getRetransmitDelayMs(VnSensor* sensor);
VnError VnSensor_setRetransmitDelayMs(VnSensor* sensor, uint16_t retransmitDelayMs);
VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData);
VnError VnSensor_unregisterAsyncPacketReceivedHandler(VnSensor *sensor);
VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData);
VnError VnSensor_unregisterErrorPacketReceivedHandler(VnSensor *sensor);
VnError VnSensor_readBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields);
VnError VnSensor_writeBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
VnError VnSensor_readBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields);
VnError VnSensor_writeBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
VnError VnSensor_readBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields);
VnError VnSensor_writeBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
#ifdef EXTRA
VnError VnSensor_readBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields);
VnError VnSensor_writeBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
VnError VnSensor_readBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields);
VnError VnSensor_writeBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
#endif
VnError VnSensor_readUserTag(VnSensor *sensor, char *tagBuffer, size_t tagBufferLength);
VnError VnSensor_writeUserTag(VnSensor *sensor, char* tag, bool waitForReply);
VnError VnSensor_readModelNumber(VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength);
VnError VnSensor_readHardwareRevision(VnSensor *sensor, uint32_t *revision);
VnError VnSensor_readSerialNumber(VnSensor *sensor, uint32_t *serialNum);
VnError VnSensor_readFirmwareVersion(VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength);
VnError VnSensor_readSerialBaudRate(VnSensor *sensor, uint32_t *baudrate);
VnError VnSensor_writeSerialBaudRate(VnSensor *sensor, uint32_t baudrate, bool waitForReply);
VnError VnSensor_readAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync *ador);
VnError VnSensor_writeAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync ador, bool waitForReply);
VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *sensor, uint32_t *adof);
VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *sensor, uint32_t adof, bool waitForReply);
VnError VnSensor_readYawPitchRoll(VnSensor *sensor, vec3f *yawPitchRoll);
VnError VnSensor_readAttitudeQuaternion(VnSensor *sensor, vec4f *quat);
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates(VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields);
VnError VnSensor_readMagneticMeasurements(VnSensor *sensor, vec3f *mag);
VnError VnSensor_readAccelerationMeasurements(VnSensor *sensor, vec3f *accel);
VnError VnSensor_readAngularRateMeasurements(VnSensor *sensor, vec3f *gyro);
VnError VnSensor_readMagneticAccelerationAndAngularRates(VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields);
VnError VnSensor_readMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields);
VnError VnSensor_writeMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply);
VnError VnSensor_readMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister *fields);
VnError VnSensor_writeMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply);
VnError VnSensor_readAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister *fields);
VnError VnSensor_writeAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply);
VnError VnSensor_readReferenceFrameRotation(VnSensor *sensor, mat3f *c);
VnError VnSensor_writeReferenceFrameRotation(VnSensor *sensor, mat3f c, bool waitForReply);
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields);
VnError VnSensor_readCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister *fields);
VnError VnSensor_writeCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply);
VnError VnSensor_readSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister *fields);
VnError VnSensor_writeSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply);
VnError VnSensor_readSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister *fields);
VnError VnSensor_writeSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply);
VnError VnSensor_readVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister *fields);
VnError VnSensor_writeVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply);
VnError VnSensor_readVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields);
VnError VnSensor_writeVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply);
VnError VnSensor_readVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields);
VnError VnSensor_writeVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply);
VnError VnSensor_readMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister *fields);
VnError VnSensor_writeMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply);
VnError VnSensor_readCalculatedMagnetometerCalibration(VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields);
VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *sensor, vec3f *velocity);
VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *sensor, vec3f velocity, bool waitForReply);
VnError VnSensor_readVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister *fields);
VnError VnSensor_writeVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply);
VnError VnSensor_readImuMeasurements(VnSensor *sensor, ImuMeasurementsRegister *fields);
VnError VnSensor_readGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister *fields);
VnError VnSensor_writeGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply);
VnError VnSensor_readGpsAntennaOffset(VnSensor *sensor, vec3f *position);
VnError VnSensor_writeGpsAntennaOffset(VnSensor *sensor, vec3f position, bool waitForReply);
VnError VnSensor_readGpsSolutionLla(VnSensor *sensor, GpsSolutionLlaRegister *fields);
VnError VnSensor_readGpsSolutionEcef(VnSensor *sensor, GpsSolutionEcefRegister *fields);
VnError VnSensor_readInsSolutionLla(VnSensor *sensor, InsSolutionLlaRegister *fields);
VnError VnSensor_readInsSolutionEcef(VnSensor *sensor, InsSolutionEcefRegister *fields);
VnError VnSensor_readInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields);
VnError VnSensor_writeInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply);
VnError VnSensor_readInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields);
VnError VnSensor_writeInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply);
VnError VnSensor_readInsStateLla(VnSensor *sensor, InsStateLlaRegister *fields);
VnError VnSensor_readInsStateEcef(VnSensor *sensor, InsStateEcefRegister *fields);
VnError VnSensor_readStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister *fields);
VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply);
VnError VnSensor_readDeltaThetaAndDeltaVelocity(VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields);
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields);
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply);
VnError VnSensor_readReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister *fields);
VnError VnSensor_writeReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply);
VnError VnSensor_readGyroCompensation(VnSensor *sensor, GyroCompensationRegister *fields);
VnError VnSensor_writeGyroCompensation(VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply);
VnError VnSensor_readImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister *fields);
VnError VnSensor_writeImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply);
VnError VnSensor_readGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister *fields);
VnError VnSensor_writeGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply);
VnError VnSensor_readGpsCompassEstimatedBaseline(VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields);
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields);
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields);
void strFromSensorError(char *out, SensorError val);
void strFromSyncInMode(char *out, VnSyncInMode val);
void strFromSyncInEdge(char *out, VnSyncInEdge val);
void strFromSyncOutMode(char *out, VnSyncOutMode val);
void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val);
void strFromCountMode(char *out, VnCountMode val);
void strFromStatusMode(char *out, VnStatusMode val);
void strFromChecksumMode(char *out, VnChecksumMode val);
void strFromErrorMode(char *out, VnErrorMode val);
void strFromFilterMode(char *out, VnFilterMode val);
void strFromIntegrationFrame(char *out, VnIntegrationFrame val);
void strFromCompensationMode(char *out, VnCompensationMode val);
void strFromGpsFix(char *out, VnGpsFix val);
void strFromGpsMode(char *out, VnGpsMode val);
void strFromPpsSource(char *out, VnPpsSource val);
void strFromVpeEnable(char *out, VnVpeEnable val);
void strFromHeadingMode(char *out, VnHeadingMode val);
void strFromVpeMode(char *out, VnVpeMode val);
void strFromScenario(char *out, VnScenario val);
void strFromHsiMode(char *out, VnHsiMode val);
void strFromHsiOutput(char *out, VnHsiOutput val);
void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val);
void strFromMagneticMode(char *out, VnMagneticMode val);
void strFromExternalSensorMode(char *out, VnExternalSensorMode val);
void strFromFoamInit(char *out, VnFoamInit val);
#ifdef __cplusplus
}
#endif
#ifdef _WIN32
#pragma warning(pop)
#endif
#endif
VnSensor_writeReferenceFrameRotation
VnError VnSensor_writeReferenceFrameRotation(VnSensor *sensor, mat3f c, bool waitForReply)
Writes to the Reference Frame Rotation register.
GpsConfigurationRegister
Structure representing the GPS Configuration register.
Definition: sensors.h:455
DeltaThetaAndDeltaVelocityConfigurationRegister::integrationFrame
uint8_t integrationFrame
The IntegrationFrame field.
Definition: sensors.h:740
VnSensor_readInsSolutionLla
VnError VnSensor_readInsSolutionLla(VnSensor *sensor, InsSolutionLlaRegister *fields)
Reads the INS Solution - LLA register.
InsStateEcefRegister::velocity
vec3f velocity
The Velocity field.
Definition: sensors.h:698
GpsSolutionEcefRegister::velocity
vec3f velocity
The Velocity field.
Definition: sensors.h:516
FilterActiveTuningParametersRegister::accelerationDisturbanceMemory
float accelerationDisturbanceMemory
The Acceleration Disturbance Memory field.
Definition: sensors.h:161
ImuRateConfigurationRegister::filterTargetRate
float filterTargetRate
The filterTargetRate field.
Definition: sensors.h:854
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register...
Definition: sensors.h:862
ImuFilteringConfigurationRegister::accelFilterMode
uint8_t accelFilterMode
The AccelFilterMode field.
Definition: sensors.h:803
MagneticAndGravityReferenceVectorsRegister::magRef
vec3f magRef
The MagRef field.
Definition: sensors.h:113
InsSolutionLlaRegister
Structure representing the INS Solution - LLA register.
Definition: sensors.h:530
FilterActiveTuningParametersRegister::accelerationDisturbanceGain
float accelerationDisturbanceGain
The Acceleration Disturbance Gain field.
Definition: sensors.h:155
FilterBasicControlRegister
Structure representing the Filter Basic Control register.
Definition: sensors.h:260
VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply)
Writes to the Delta Theta and Delta Velocity Configuration register.
InsSolutionLlaRegister::attUncertainty
float attUncertainty
The AttUncertainty field.
Definition: sensors.h:551
VnSensor_writeAsyncDataOutputType
VnError VnSensor_writeAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync ador, bool waitForReply)
Writes to the Async Data Output Type register.
ImuRateConfigurationRegister
Structure representing the IMU Rate Configuration register.
Definition: sensors.h:845
VnUartPacketFinder
Data structure holding current parsing status of data received from a VectorNav sensor.
Definition: upackf.h:38
AccelerationCompensationRegister::c
mat3f c
The C field.
Definition: sensors.h:169
GyroCompensationRegister::b
vec3f b
The B field.
Definition: sensors.h:777
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register...
Definition: sensors.h:876
VnSensor_readReferenceVectorConfiguration
VnError VnSensor_readReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister *fields)
Reads the Reference Vector Configuration register.
InsStateLlaRegister::angularRate
vec3f angularRate
The AngularRate field.
Definition: sensors.h:684
CommunicationProtocolControlRegister::spiStatus
uint8_t spiStatus
The SPIStatus field.
Definition: sensors.h:206
SynchronizationControlRegister::syncOutMode
uint8_t syncOutMode
The SyncOutMode field.
Definition: sensors.h:232
VnSensor_readMagneticMeasurements
VnError VnSensor_readMagneticMeasurements(VnSensor *sensor, vec3f *mag)
Reads the Magnetic Measurements register.
CommunicationProtocolControlRegister::serialCount
uint8_t serialCount
The SerialCount field.
Definition: sensors.h:197
InsSolutionEcefRegister
Structure representing the INS Solution - ECEF register.
Definition: sensors.h:562
InsStateEcefRegister::position
vec3d position
The Position field.
Definition: sensors.h:695
VnSensor_registerErrorPacketReceivedHandler
VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
Allows registering a callback for notification of when a sensor error message is received.
VnSensor_readSerialBaudRate
VnError VnSensor_readSerialBaudRate(VnSensor *sensor, uint32_t *baudrate)
Reads the Serial Baud Rate register.
InsSolutionEcefRegister::velUncertainty
float velUncertainty
The VelUncertainty field.
Definition: sensors.h:589
strFromPpsSource
void strFromPpsSource(char *out, VnPpsSource val)
Converts a PpsSource into a string.
FilterActiveTuningParametersRegister
Structure representing the Filter Active Tuning Parameters register.
Definition: sensors.h:149
GpsSolutionEcefRegister::gpsFix
uint8_t gpsFix
The GpsFix field.
Definition: sensors.h:507
VnSensor_writeMagnetometerCompensation
VnError VnSensor_writeMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply)
Writes to the Magnetometer Compensation register.
VnSensor_setResponseTimeoutMs
VnError VnSensor_setResponseTimeoutMs(VnSensor *sensor, uint16_t reponseTimeoutMs)
Sets the current response timeout value in milliseconds used for communication with a sensor...
VnSensor_writeBinaryOutput1
VnError VnSensor_writeBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 1 register.
VnSensor_readMagneticAndGravityReferenceVectors
VnError VnSensor_readMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields)
Reads the Magnetic and Gravity Reference Vectors register.
VelocityCompensationControlRegister::rateTuning
float rateTuning
The RateTuning field.
Definition: sensors.h:413
VnSensor_writeVpeMagnetometerBasicTuning
VnError VnSensor_writeVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply)
Writes to the VPE Magnetometer Basic Tuning register.
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:885
GpsConfigurationRegister::mode
uint8_t mode
The Mode field.
Definition: sensors.h:458
FilterMeasurementsVarianceParametersRegister::angularWalkVariance
float angularWalkVariance
The Angular Walk Variance field.
Definition: sensors.h:124
VpeBasicControlRegister
Structure representing the VPE Basic Control register.
Definition: sensors.h:280
VnSensor_writeVpeBasicControl
VnError VnSensor_writeVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply)
Writes to the VPE Basic Control register.
strFromVpeMode
void strFromVpeMode(char *out, VnVpeMode val)
Converts a VpeMode into a string.
strFromCountMode
void strFromCountMode(char *out, VnCountMode val)
Converts a CountMode into a string.
VnSensor_readAccelerationCompensation
VnError VnSensor_readAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister *fields)
Reads the Acceleration Compensation register.
VnSensor_writeReferenceVectorConfiguration
VnError VnSensor_writeReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply)
Writes to the Reference Vector Configuration register.
BinaryOutputRegister::attitudeField
AttitudeGroup attitudeField
Definition: sensors.h:51
GpsCompassEstimatedBaselineRegister::uncertainty
vec3f uncertainty
The Uncertainty field.
Definition: sensors.h:840
VpeGyroBasicTuningRegister::adaptiveTuning
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:374
VnUartPacket
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
InsAdvancedConfigurationRegister::minVelUncertainty
float minVelUncertainty
The MinVelUncertainty field.
Definition: sensors.h:664
strFromVpeEnable
void strFromVpeEnable(char *out, VnVpeEnable val)
Converts a VpeEnable into a string.
VelocityCompensationStatusRegister::omega
vec3f omega
The omega field.
Definition: sensors.h:430
strFromScenario
void strFromScenario(char *out, VnScenario val)
Converts a Scenario into a string.
GpsSolutionEcefRegister::week
uint16_t week
The Week field.
Definition: sensors.h:504
BinaryOutputRegister::gpsField
GpsGroup gpsField
Definition: sensors.h:50
VnSensor_readGpsAntennaOffset
VnError VnSensor_readGpsAntennaOffset(VnSensor *sensor, vec3f *position)
Reads the GPS Antenna Offset register.
InsAdvancedConfigurationRegister::moveOrigin
float moveOrigin
The MoveOrigin field.
Definition: sensors.h:649
VpeAccelerometerBasicTuningRegister::adaptiveFiltering
vec3f adaptiveFiltering
The AdaptiveFiltering field.
Definition: sensors.h:340
VnSensor_readBinaryOutput3
VnError VnSensor_readBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 3 register.
VnSensor_readVelocityCompensationMeasurement
VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *sensor, vec3f *velocity)
Reads the Velocity Compensation Measurement register.
strFromHeadingMode
void strFromHeadingMode(char *out, VnHeadingMode val)
Converts a HeadingMode into a string.
VnSensor_isConnected
bool VnSensor_isConnected(VnSensor *sensor)
Indicates if the VnSensor is connected.
GpsSolutionEcefRegister::timeAcc
float timeAcc
The TimeAcc field.
Definition: sensors.h:525
StartupFilterBiasEstimateRegister
Structure representing the Startup Filter Bias Estimate register.
Definition: sensors.h:709
BinaryOutputRegister::commonField
CommonGroup commonField
Definition: sensors.h:47
VnSensor_readInsStateEcef
VnError VnSensor_readInsStateEcef(VnSensor *sensor, InsStateEcefRegister *fields)
Reads the INS State - ECEF register.
MagneticAndGravityReferenceVectorsRegister::accRef
vec3f accRef
The AccRef field.
Definition: sensors.h:116
GpsSolutionLlaRegister::gpsFix
uint8_t gpsFix
The GpsFix field.
Definition: sensors.h:475
InsSolutionEcefRegister::attUncertainty
float attUncertainty
The AttUncertainty field.
Definition: sensors.h:583
InsBasicConfigurationRegisterVn200::ahrsAiding
uint8_t ahrsAiding
The AhrsAiding field.
Definition: sensors.h:600
VnSensor_reset
VnError VnSensor_reset(VnSensor *sensor, bool waitForReply)
Issues a Reset command to the VectorNav sensor.
GpsCompassEstimatedBaselineRegister::estBaselineUsed
uint8_t estBaselineUsed
The EstBaselineUsed field.
Definition: sensors.h:831
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:871
VnSensor_restoreFactorySettings
VnError VnSensor_restoreFactorySettings(VnSensor *sensor, bool waitForReply)
Issues a Restore Factory Settings command to the VectorNav sensor.
MagnetometerCalibrationControlRegister::hsiOutput
uint8_t hsiOutput
The HSIOutput field.
Definition: sensors.h:385
VpeGyroBasicTuningRegister
Structure representing the VPE Gyro Basic Tuning register.
Definition: sensors.h:365
InsStateEcefRegister::angularRate
vec3f angularRate
The AngularRate field.
Definition: sensors.h:704
VpeBasicControlRegister::tuningMode
uint8_t tuningMode
The TuningMode field.
Definition: sensors.h:292
strFromFoamInit
void strFromFoamInit(char *out, VnFoamInit val)
Converts a FoamInit into a string.
GpsSolutionLlaRegister::timeAcc
float timeAcc
The TimeAcc field.
Definition: sensors.h:493
strFromGpsMode
void strFromGpsMode(char *out, VnGpsMode val)
Converts a GpsMode into a string.
VnSensor_writeVelocityCompensationControl
VnError VnSensor_writeVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply)
Writes to the Velocity Compensation Control register.
ImuFilteringConfigurationRegister::gyroWindowSize
uint16_t gyroWindowSize
The GyroWindowSize field.
Definition: sensors.h:791
VnSensor_readVpeMagnetometerBasicTuning
VnError VnSensor_readVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields)
Reads the VPE Magnetometer Basic Tuning register.
MagnetometerCompensationRegister::b
vec3f b
The B field.
Definition: sensors.h:144
VpeMagnetometerBasicTuningRegister::adaptiveTuning
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:303
VnSensor
Helpful structure for working with VectorNav sensors.
Definition: sensors.h:894
BinaryOutputRegister_initialize
void BinaryOutputRegister_initialize(BinaryOutputRegister *reg, AsyncMode asyncMode, uint32_t rateDivisor, CommonGroup commonField, TimeGroup timeField, ImuGroup imuField, GpsGroup gpsField, AttitudeGroup attitudeField, InsGroup insField)
Initializes a BinaryOutputRegister structure.
SynchronizationStatusRegister::syncInCount
uint32_t syncInCount
The SyncInCount field.
Definition: sensors.h:249
InsBasicConfigurationRegisterVn200
Structure representing the INS Basic Configuration register for a VN-200 sensor.
Definition: sensors.h:594
InsBasicConfigurationRegisterVn300
Structure representing the INS Basic Configuration register for a VN-300 sensor.
Definition: sensors.h:605
ImuFilteringConfigurationRegister::presWindowSize
uint16_t presWindowSize
The PresWindowSize field.
Definition: sensors.h:797
MagneticAccelerationAndAngularRatesRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:102
VpeMagnetometerAdvancedTuningRegister::maxTuning
float maxTuning
The MaxTuning field.
Definition: sensors.h:326
VnSensor_readMagneticAccelerationAndAngularRates
VnError VnSensor_readMagneticAccelerationAndAngularRates(VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields)
Reads the Magnetic, Acceleration and Angular Rates register.
InsSolutionEcefRegister::posUncertainty
float posUncertainty
The PosUncertainty field.
Definition: sensors.h:586
VnSensor_readInsBasicConfigurationVn200
VnError VnSensor_readInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields)
Reads the INS Basic Configuration register for a VN-200 sensor.
VpeBasicControlRegister::headingMode
uint8_t headingMode
The HeadingMode field.
Definition: sensors.h:286
FilterMeasurementsVarianceParametersRegister::angularRateVariance
vec3f angularRateVariance
The Angular Rate Variance field.
Definition: sensors.h:127
GpsSolutionEcefRegister::posAcc
vec3f posAcc
The PosAcc field.
Definition: sensors.h:519
ImuFilteringConfigurationRegister::tempWindowSize
uint16_t tempWindowSize
The TempWindowSize field.
Definition: sensors.h:794
VnSensor_writeVelocityCompensationMeasurement
VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *sensor, vec3f velocity, bool waitForReply)
Writes to the Velocity Compensation Measurement register.
InsSolutionEcefRegister::time
double time
The Time field.
Definition: sensors.h:565
VnSensor_setGyroBias
VnError VnSensor_setGyroBias(VnSensor *sensor, bool waitForReply)
Issues a command to the VectorNav Sensor to set the Gyro's bias.
InsBasicConfigurationRegisterVn300::estBaseline
uint8_t estBaseline
The EstBaseline field.
Definition: sensors.h:614
VnSensor_readAsyncDataOutputType
VnError VnSensor_readAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync *ador)
Reads the Async Data Output Type register.
InsAdvancedConfigurationRegister::useMag
uint8_t useMag
The UseMag field.
Definition: sensors.h:622
VpeGyroBasicTuningRegister::angularWalkVariance
vec3f angularWalkVariance
The AngularWalkVariance field.
Definition: sensors.h:368
VnSensor_readGpsConfiguration
VnError VnSensor_readGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister *fields)
Reads the GPS Configuration register.
VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.
VnSensor_readCalculatedMagnetometerCalibration
VnError VnSensor_readCalculatedMagnetometerCalibration(VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields)
Reads the Calculated Magnetometer Calibration register.
VpeMagnetometerBasicTuningRegister::adaptiveFiltering
vec3f adaptiveFiltering
The AdaptiveFiltering field.
Definition: sensors.h:306
VnSensor_writeGpsCompassBaseline
VnError VnSensor_writeGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply)
Writes to the GPS Compass Baseline register.
InsAdvancedConfigurationRegister::gpsTimeout
float gpsTimeout
The GPSTimeout field.
Definition: sensors.h:652
strFromVelocityCompensationMode
void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val)
Converts a VelocityCompensationMode into a string.
GpsSolutionLlaRegister::lla
vec3d lla
The Lla field.
Definition: sensors.h:481
InsAdvancedConfigurationRegister::velBias
uint8_t velBias
The VelBias field.
Definition: sensors.h:634
QuaternionMagneticAccelerationAndAngularRatesRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:91
strFromSyncInMode
void strFromSyncInMode(char *out, VnSyncInMode val)
Converts a SyncInMode into a string.
strFromSyncInEdge
void strFromSyncInEdge(char *out, VnSyncInEdge val)
Converts a SyncInEdge into a string.
VnSensor_writeMagnetometerCalibrationControl
VnError VnSensor_writeMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply)
Writes to the Magnetometer Calibration Control register.
GpsCompassBaselineRegister
Structure representing the GPS Compass Baseline register.
Definition: sensors.h:817
strFromErrorMode
void strFromErrorMode(char *out, VnErrorMode val)
Converts a ErrorMode into a string.
VnSensor_readAccelerationMeasurements
VnError VnSensor_readAccelerationMeasurements(VnSensor *sensor, vec3f *accel)
Reads the Acceleration Measurements register.
DeltaThetaAndDeltaVelocityConfigurationRegister::gyroCompensation
uint8_t gyroCompensation
The GyroCompensation field.
Definition: sensors.h:743
VnSensor_readGpsCompassEstimatedBaseline
VnError VnSensor_readGpsCompassEstimatedBaseline(VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields)
Reads the GPS Compass Estimated Baseline register.
CalculatedMagnetometerCalibrationRegister::b
vec3f b
The B field.
Definition: sensors.h:399
MagnetometerCompensationRegister
Structure representing the Magnetometer Compensation register.
Definition: sensors.h:138
SynchronizationControlRegister::syncOutSkipFactor
uint16_t syncOutSkipFactor
The SyncOutSkipFactor field.
Definition: sensors.h:238
VnSensor_connect
VnError VnSensor_connect(VnSensor *sensor, const char *portName, uint32_t baudrate)
Connects to a VectorNav sensor.
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:865
VnSensor_writeMagneticAndGravityReferenceVectors
VnError VnSensor_writeMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply)
Writes to the Magnetic and Gravity Reference Vectors register.
VnSensor_writeInsBasicConfigurationVn200
VnError VnSensor_writeInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply)
Writes to the INS Basic Configuration register for a VN-200 sensor.
GpsSolutionLlaRegister::week
uint16_t week
The Week field.
Definition: sensors.h:472
VnSensor_writeSynchronizationControl
VnError VnSensor_writeSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply)
Writes to the Synchronization Control register.
strFromHsiMode
void strFromHsiMode(char *out, VnHsiMode val)
Converts a HsiMode into a string.
QuaternionMagneticAccelerationAndAngularRatesRegister::mag
vec3f mag
The Mag field.
Definition: sensors.h:85
DeltaThetaAndDeltaVelocityConfigurationRegister::accelCompensation
uint8_t accelCompensation
The AccelCompensation field.
Definition: sensors.h:746
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:879
InsStateEcefRegister
Structure representing the INS State - ECEF register.
Definition: sensors.h:689
strFromGpsFix
void strFromGpsFix(char *out, VnGpsFix val)
Converts a GpsFix into a string.
ImuFilteringConfigurationRegister::gyroFilterMode
uint8_t gyroFilterMode
The GyroFilterMode field.
Definition: sensors.h:806
InsBasicConfigurationRegisterVn300::ahrsAiding
uint8_t ahrsAiding
The AhrsAiding field.
Definition: sensors.h:611
VnSerialPort
Provides access to a serial port.
Definition: serialport.h:48
GpsCompassEstimatedBaselineRegister::position
vec3f position
The Position field.
Definition: sensors.h:837
QuaternionMagneticAccelerationAndAngularRatesRegister::quat
vec4f quat
The Quat field.
Definition: sensors.h:82
ImuFilteringConfigurationRegister
Structure representing the IMU Filtering Configuration register.
Definition: sensors.h:782
GpsCompassEstimatedBaselineRegister::numMeas
uint16_t numMeas
The NumMeas field.
Definition: sensors.h:834
VnSensor_initialize
VnError VnSensor_initialize(VnSensor *sensor)
Initializes a VnSensor structure.
InsSolutionLlaRegister::week
uint16_t week
The Week field.
Definition: sensors.h:536
VnSensor_readAngularRateMeasurements
VnError VnSensor_readAngularRateMeasurements(VnSensor *sensor, vec3f *gyro)
Reads the Angular Rate Measurements register.
VnSensor_readStartupFilterBiasEstimate
VnError VnSensor_readStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister *fields)
Reads the Startup Filter Bias Estimate register.
ReferenceVectorConfigurationRegister::recalcThreshold
uint32_t recalcThreshold
The RecalcThreshold field.
Definition: sensors.h:760
VnSensor_readDeltaThetaAndDeltaVelocity
VnError VnSensor_readDeltaThetaAndDeltaVelocity(VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields)
Reads the Delta Theta and Delta Velocity register.
InsAdvancedConfigurationRegister::usePres
uint8_t usePres
The UsePres field.
Definition: sensors.h:625
VnSensor_readVelocityCompensationControl
VnError VnSensor_readVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister *fields)
Reads the Velocity Compensation Control register.
VnSensor_readReferenceFrameRotation
VnError VnSensor_readReferenceFrameRotation(VnSensor *sensor, mat3f *c)
Reads the Reference Frame Rotation register.
GyroCompensationRegister
Structure representing the Gyro Compensation register.
Definition: sensors.h:771
StartupFilterBiasEstimateRegister::gyroBias
vec3f gyroBias
The GyroBias field.
Definition: sensors.h:712
VnSensor_readBinaryOutput2
VnError VnSensor_readBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 2 register.
GpsSolutionEcefRegister::tow
double tow
The Tow field.
Definition: sensors.h:501
ImuMeasurementsRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:441
VnSensor_readImuMeasurements
VnError VnSensor_readImuMeasurements(VnSensor *sensor, ImuMeasurementsRegister *fields)
Reads the IMU Measurements register.
DeltaThetaAndDeltaVelocityRegister::deltaTheta
vec3f deltaTheta
The DeltaTheta field.
Definition: sensors.h:729
InsStateLlaRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:672
YawPitchRollMagneticAccelerationAndAngularRatesRegister::mag
vec3f mag
The Mag field.
Definition: sensors.h:183
VnSensor_readInsBasicConfigurationVn300
VnError VnSensor_readInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields)
Reads the INS Basic Configuration register for a VN-300 sensor.
VnSensor_getResponseTimeoutMs
uint16_t VnSensor_getResponseTimeoutMs(VnSensor *sensor)
Returns the current response timeout value in milliseconds used for communication with a sensor...
GpsCompassBaselineRegister::uncertainty
vec3f uncertainty
The Uncertainty field.
Definition: sensors.h:823
VnSensor_readGpsCompassBaseline
VnError VnSensor_readGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister *fields)
Reads the GPS Compass Baseline register.
SynchronizationStatusRegister::syncOutCount
uint32_t syncOutCount
The SyncOutCount field.
Definition: sensors.h:255
vec4f
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
VnSensor_writeSerialBaudRate
VnError VnSensor_writeSerialBaudRate(VnSensor *sensor, uint32_t baudrate, bool waitForReply)
Writes to the Serial Baud Rate register.
QuaternionMagneticAccelerationAndAngularRatesRegister
Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register.
Definition: sensors.h:79
InsSolutionLlaRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:542
InsSolutionLlaRegister::posUncertainty
float posUncertainty
The PosUncertainty field.
Definition: sensors.h:554
InsAdvancedConfigurationRegister::minPosUncertainty
float minPosUncertainty
The MinPosUncertainty field.
Definition: sensors.h:661
FilterBasicControlRegister::magMode
uint8_t magMode
The MagMode field.
Definition: sensors.h:263
VnSensor_readMagnetometerCompensation
VnError VnSensor_readMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister *fields)
Reads the Magnetometer Compensation register.
VnSensor_writeAsyncDataOutputFrequency
VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *sensor, uint32_t adof, bool waitForReply)
Writes to the Async Data Output Frequency register.
VpeAccelerometerBasicTuningRegister::adaptiveTuning
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:337
strFromFilterMode
void strFromFilterMode(char *out, VnFilterMode val)
Converts a FilterMode into a string.
VnEvent
Structure representing an event.
Definition: event.h:41
vec3d
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
InsAdvancedConfigurationRegister::velInit
float velInit
The VelInit field.
Definition: sensors.h:646
VnSensor_writeGyroCompensation
VnError VnSensor_writeGyroCompensation(VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply)
Writes to the Gyro Compensation register.
DeltaThetaAndDeltaVelocityRegister::deltaTime
float deltaTime
The DeltaTime field.
Definition: sensors.h:726
VnSensor_verifySensorConnectivity
bool VnSensor_verifySensorConnectivity(VnSensor *sensor)
Checks if we are able to send and receive communication with a sensor.
ImuRateConfigurationRegister::imuRate
uint16_t imuRate
The imuRate field.
Definition: sensors.h:848
BinaryOutputRegister::insField
InsGroup insField
Definition: sensors.h:52
GpsSolutionEcefRegister
Structure representing the GPS Solution - ECEF register.
Definition: sensors.h:498
ImuRateConfigurationRegister::navDivisor
uint16_t navDivisor
The NavDivisor field.
Definition: sensors.h:851
InsAdvancedConfigurationRegister::gpsCovType
uint8_t gpsCovType
The GPSCovType field.
Definition: sensors.h:640
VnSensor_accelerationDisturbancePresent
VnError VnSensor_accelerationDisturbancePresent(VnSensor *sensor, bool disturbancePresent, bool waitForReply)
Command to inform the VectorNav Sensor if there is an acceleration disturbance present.
VnSensor_registerAsyncPacketReceivedHandler
VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
Allows registering a callback for notification of when an asynchronous data packet is received...
GpsSolutionEcefRegister::numSats
uint8_t numSats
The NumSats field.
Definition: sensors.h:510
VnSensor_writeBinaryOutput3
VnError VnSensor_writeBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 3 register.
strFromChecksumMode
void strFromChecksumMode(char *out, VnChecksumMode val)
Converts a ChecksumMode into a string.
SynchronizationStatusRegister
Structure representing the Synchronization Status register.
Definition: sensors.h:246
InsSolutionEcefRegister::position
vec3d position
The Position field.
Definition: sensors.h:577
StartupFilterBiasEstimateRegister::accelBias
vec3f accelBias
The AccelBias field.
Definition: sensors.h:715
InsStateLlaRegister::velocity
vec3f velocity
The Velocity field.
Definition: sensors.h:678
VnSensor_unregisterErrorPacketReceivedHandler
VnError VnSensor_unregisterErrorPacketReceivedHandler(VnSensor *sensor)
Allows unregistering callbacks for notifications of when a sensor error message is recieved...
AccelerationCompensationRegister::b
vec3f b
The B field.
Definition: sensors.h:172
DeltaThetaAndDeltaVelocityRegister
Structure representing the Delta Theta and Delta Velocity register.
Definition: sensors.h:723
VpeMagnetometerBasicTuningRegister
Structure representing the VPE Magnetometer Basic Tuning register.
Definition: sensors.h:297
FilterBasicControlRegister::gyroLimit
vec3f gyroLimit
The GyroLimit field.
Definition: sensors.h:275
ReferenceVectorConfigurationRegister::useMagModel
uint8_t useMagModel
The UseMagModel field.
Definition: sensors.h:754
VnSensor_readFirmwareVersion
VnError VnSensor_readFirmwareVersion(VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength)
Reads the Firmware Version register.
strFromCompensationMode
void strFromCompensationMode(char *out, VnCompensationMode val)
Converts a CompensationMode into a string.
VnSensor_unregisterAsyncPacketReceivedHandler
VnError VnSensor_unregisterAsyncPacketReceivedHandler(VnSensor *sensor)
Allows unregistering from callback notifications when asynchronous data packets are received...
DeltaThetaAndDeltaVelocityRegister::deltaVelocity
vec3f deltaVelocity
The DeltaVelocity field.
Definition: sensors.h:732
VnSensor_readVpeAccelerometerBasicTuning
VnError VnSensor_readVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields)
Reads the VPE Accelerometer Basic Tuning register.
DeltaThetaAndDeltaVelocityConfigurationRegister
Structure representing the Delta Theta and Delta Velocity Configuration register. ...
Definition: sensors.h:737
GpsSolutionLlaRegister::speedAcc
float speedAcc
The SpeedAcc field.
Definition: sensors.h:490
YawPitchRollMagneticAccelerationAndAngularRatesRegister
Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register...
Definition: sensors.h:177
InsAdvancedConfigurationRegister::posAtt
uint8_t posAtt
The PosAtt field.
Definition: sensors.h:628
GpsSolutionLlaRegister::nedVel
vec3f nedVel
The NedVel field.
Definition: sensors.h:484
VnSensor_magneticDisturbancePresent
VnError VnSensor_magneticDisturbancePresent(VnSensor *sensor, bool disturbancePresent, bool waitForReply)
Command to inform the VectorNav Sensor if there is a magnetic disturbance present.
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::bodyAccel
vec3f bodyAccel
The BodyAccel field.
Definition: sensors.h:868
InsAdvancedConfigurationRegister::velCount
uint8_t velCount
The VelCount field.
Definition: sensors.h:643
InsSolutionLlaRegister::position
vec3d position
The Position field.
Definition: sensors.h:545
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::inertialAccel
vec3f inertialAccel
The InertialAccel field.
Definition: sensors.h:882
VpeGyroBasicTuningRegister::baseTuning
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:371
CommunicationProtocolControlRegister::spiCount
uint8_t spiCount
The SPICount field.
Definition: sensors.h:203
strFromSyncOutMode
void strFromSyncOutMode(char *out, VnSyncOutMode val)
Converts a SyncOutMode into a string.
BinaryOutputRegister::asyncMode
AsyncMode asyncMode
Definition: sensors.h:45
InsAdvancedConfigurationRegister::velAtt
uint8_t velAtt
The VelAtt field.
Definition: sensors.h:631
MagnetometerCalibrationControlRegister::hsiMode
uint8_t hsiMode
The HSIMode field.
Definition: sensors.h:382
VnSensor_readCommunicationProtocolControl
VnError VnSensor_readCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister *fields)
Reads the Communication Protocol Control register.
VnSensor_readMagnetometerCalibrationControl
VnError VnSensor_readMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister *fields)
Reads the Magnetometer Calibration Control register.
VelocityCompensationControlRegister
Structure representing the Velocity Compensation Control register.
Definition: sensors.h:404
MagneticAccelerationAndAngularRatesRegister::mag
vec3f mag
The Mag field.
Definition: sensors.h:99
ImuMeasurementsRegister
Structure representing the IMU Measurements register.
Definition: sensors.h:435
VnSensor_writeCommunicationProtocolControl
VnError VnSensor_writeCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply)
Writes to the Communication Protocol Control register.
VnSensor_readBinaryOutput1
VnError VnSensor_readBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 1 register.
ImuFilteringConfigurationRegister::magWindowSize
uint16_t magWindowSize
The MagWindowSize field.
Definition: sensors.h:785
InsSolutionEcefRegister::week
uint16_t week
The Week field.
Definition: sensors.h:568
InsSolutionEcefRegister::status
uint16_t status
The Status field.
Definition: sensors.h:571
VpeMagnetometerAdvancedTuningRegister::disturbanceWindow
float disturbanceWindow
The DisturbanceWindow field.
Definition: sensors.h:323
GpsCompassEstimatedBaselineRegister
Structure representing the GPS Compass Estimated Baseline register.
Definition: sensors.h:828
VnSensor_getRetransmitDelayMs
uint16_t VnSensor_getRetransmitDelayMs(VnSensor *sensor)
Gets the current retransmit delay used for communication with a sensor.
strFromSyncOutPolarity
void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val)
Converts a SyncOutPolarity into a string.
InsSolutionLlaRegister::time
double time
The Time field.
Definition: sensors.h:533
VnSensor_disconnect
VnError VnSensor_disconnect(VnSensor *sensor)
Disconnects from a VectorNav sensor.
VelocityCompensationStatusRegister::x
float x
The x field.
Definition: sensors.h:421
VnCriticalSection
Definition: criticalsection.h:38
SynchronizationControlRegister::syncOutPulseWidth
uint32_t syncOutPulseWidth
The SyncOutPulseWidth field.
Definition: sensors.h:241
VnSensor_readGyroCompensation
VnError VnSensor_readGyroCompensation(VnSensor *sensor, GyroCompensationRegister *fields)
Reads the Gyro Compensation register.
InsSolutionLlaRegister::status
uint16_t status
The Status field.
Definition: sensors.h:539
VpeMagnetometerAdvancedTuningRegister::minFiltering
vec3f minFiltering
The MinFiltering field.
Definition: sensors.h:314
YawPitchRollMagneticAccelerationAndAngularRatesRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:186
InsSolutionLlaRegister::nedVel
vec3f nedVel
The NedVel field.
Definition: sensors.h:548
FilterMeasurementsVarianceParametersRegister::magneticVariance
vec3f magneticVariance
The Magnetic Variance field.
Definition: sensors.h:130
VnSensor_writeVpeAccelerometerBasicTuning
VnError VnSensor_writeVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply)
Writes to the VPE Accelerometer Basic Tuning register.
CommunicationProtocolControlRegister::errorMode
uint8_t errorMode
The ErrorMode field.
Definition: sensors.h:215
strFromHsiOutput
void strFromHsiOutput(char *out, VnHsiOutput val)
Converts a HsiOutput into a string.
VpeBasicControlRegister::enable
uint8_t enable
The Enable field.
Definition: sensors.h:283
VnSensor_readQuaternionMagneticAccelerationAndAngularRates
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates(VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields)
Reads the Quaternion, Magnetic, Acceleration and Angular Rates register.
VnSensor_readYawPitchRoll
VnError VnSensor_readYawPitchRoll(VnSensor *sensor, vec3f *yawPitchRoll)
Reads the Yaw Pitch Roll register.
GpsCompassBaselineRegister::position
vec3f position
The Position field.
Definition: sensors.h:820
InsBasicConfigurationRegisterVn200::scenario
uint8_t scenario
The Scenario field.
Definition: sensors.h:597
GpsSolutionLlaRegister::time
double time
The Time field.
Definition: sensors.h:469
CalculatedMagnetometerCalibrationRegister
Structure representing the Calculated Magnetometer Calibration register.
Definition: sensors.h:393
QuaternionMagneticAccelerationAndAngularRatesRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:88
StartupFilterBiasEstimateRegister::pressureBias
float pressureBias
The PressureBias field.
Definition: sensors.h:718
VpeAccelerometerAdvancedTuningRegister::maxTuning
float maxTuning
The MaxTuning field.
Definition: sensors.h:360
VpeAccelerometerBasicTuningRegister::baseTuning
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:334
MagneticAccelerationAndAngularRatesRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:105
ReferenceVectorConfigurationRegister::useGravityModel
uint8_t useGravityModel
The UseGravityModel field.
Definition: sensors.h:757
VnSensor_readSerialNumber
VnError VnSensor_readSerialNumber(VnSensor *sensor, uint32_t *serialNum)
Reads the Serial Number register.
VnSensor_readHardwareRevision
VnError VnSensor_readHardwareRevision(VnSensor *sensor, uint32_t *revision)
Reads the Hardware Revision register.
VpeBasicControlRegister::filteringMode
uint8_t filteringMode
The FilteringMode field.
Definition: sensors.h:289
MagnetometerCalibrationControlRegister::convergeRate
uint8_t convergeRate
The ConvergeRate field.
Definition: sensors.h:388
SynchronizationControlRegister::syncInEdge
uint8_t syncInEdge
The SyncInEdge field.
Definition: sensors.h:226
ReferenceVectorConfigurationRegister
Structure representing the Reference Vector Configuration register.
Definition: sensors.h:751
InsStateEcefRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:701
VpeMagnetometerAdvancedTuningRegister::maxFiltering
vec3f maxFiltering
The MaxFiltering field.
Definition: sensors.h:317
VnSensor_writeGpsAntennaOffset
VnError VnSensor_writeGpsAntennaOffset(VnSensor *sensor, vec3f position, bool waitForReply)
Writes to the GPS Antenna Offset register.
VnSensor_writeStartupFilterBiasEstimate
VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply)
Writes to the Startup Filter Bias Estimate register.
GpsSolutionLlaRegister::nedAcc
vec3f nedAcc
The NedAcc field.
Definition: sensors.h:487
VpeAccelerometerAdvancedTuningRegister::maxFiltering
vec3f maxFiltering
The MaxFiltering field.
Definition: sensors.h:351
VnSensor_readModelNumber
VnError VnSensor_readModelNumber(VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength)
Reads the Model Number register.
MagnetometerCalibrationControlRegister
Structure representing the Magnetometer Calibration Control register.
Definition: sensors.h:379
FilterMeasurementsVarianceParametersRegister::accelerationVariance
vec3f accelerationVariance
The Acceleration Variance field.
Definition: sensors.h:133
VnSensor_writeGpsConfiguration
VnError VnSensor_writeGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply)
Writes to the GPS Configuration register.
FilterActiveTuningParametersRegister::magneticDisturbanceMemory
float magneticDisturbanceMemory
The Magnetic Disturbance Memory field.
Definition: sensors.h:158
SynchronizationStatusRegister::syncInTime
uint32_t syncInTime
The SyncInTime field.
Definition: sensors.h:252
BinaryOutputRegister::rateDivisor
uint16_t rateDivisor
Definition: sensors.h:46
event.h
VpeAccelerometerAdvancedTuningRegister::minFiltering
vec3f minFiltering
The MinFiltering field.
Definition: sensors.h:348
CommunicationProtocolControlRegister::serialStatus
uint8_t serialStatus
The SerialStatus field.
Definition: sensors.h:200
InsSolutionEcefRegister::velocity
vec3f velocity
The Velocity field.
Definition: sensors.h:580
strFromExternalSensorMode
void strFromExternalSensorMode(char *out, VnExternalSensorMode val)
Converts a ExternalSensorMode into a string.
InsStateLlaRegister::accel
vec3f accel
The Accel field.
Definition: sensors.h:681
InsAdvancedConfigurationRegister::useFoam
uint8_t useFoam
The UseFoam field.
Definition: sensors.h:637
ImuFilteringConfigurationRegister::magFilterMode
uint8_t magFilterMode
The MagFilterMode field.
Definition: sensors.h:800
ImuMeasurementsRegister::mag
vec3f mag
The Mag field.
Definition: sensors.h:438
ImuFilteringConfigurationRegister::tempFilterMode
uint8_t tempFilterMode
The TempFilterMode field.
Definition: sensors.h:809
VnSensor_writeSynchronizationStatus
VnError VnSensor_writeSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply)
Writes to the Synchronization Status register.
GyroCompensationRegister::c
mat3f c
The C field.
Definition: sensors.h:774
VelocityCompensationStatusRegister::accelOffset
vec3f accelOffset
The accelOffset field.
Definition: sensors.h:427
ImuFilteringConfigurationRegister::accelWindowSize
uint16_t accelWindowSize
The AccelWindowSize field.
Definition: sensors.h:788
InsAdvancedConfigurationRegister::deltaLimitPos
float deltaLimitPos
The DeltaLimitPos field.
Definition: sensors.h:655
VnSensor_readSynchronizationControl
VnError VnSensor_readSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister *fields)
Reads the Synchronization Control register.
VnSensor_readUserTag
VnError VnSensor_readUserTag(VnSensor *sensor, char *tagBuffer, size_t tagBufferLength)
Reads the User Tag register.
BinaryOutputRegister
Structure representing a Binary Output register.
Definition: sensors.h:43
GpsSolutionEcefRegister::position
vec3d position
The Position field.
Definition: sensors.h:513
strFromStatusMode
void strFromStatusMode(char *out, VnStatusMode val)
Converts a StatusMode into a string.
InsStateLlaRegister
Structure representing the INS State - LLA register.
Definition: sensors.h:669
VnSensor_transaction
VnError VnSensor_transaction(VnSensor *sensor, char *toSend, size_t toSendLength, char *response, size_t *responseLength)
Sends the provided command and returns the response from the sensor.
VpeMagnetometerAdvancedTuningRegister::maxAdaptRate
float maxAdaptRate
The MaxAdaptRate field.
Definition: sensors.h:320
VnSensor_writeSettings
VnError VnSensor_writeSettings(VnSensor *sensor, bool waitForReply)
Issues a Write Settings command to the VectorNav Sensor.
mat3f
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
ImuMeasurementsRegister::pressure
float pressure
The Pressure field.
Definition: sensors.h:450
SynchronizationControlRegister
Structure representing the Synchronization Control register.
Definition: sensors.h:220
CommunicationProtocolControlRegister::serialChecksum
uint8_t serialChecksum
The SerialChecksum field.
Definition: sensors.h:209
MagneticAndGravityReferenceVectorsRegister
Structure representing the Magnetic and Gravity Reference Vectors register.
Definition: sensors.h:110
VnSensor_readImuFilteringConfiguration
VnError VnSensor_readImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister *fields)
Reads the IMU Filtering Configuration register.
VnSensor_readInsStateLla
VnError VnSensor_readInsStateLla(VnSensor *sensor, InsStateLlaRegister *fields)
Reads the INS State - LLA register.
VnSensor_writeInsBasicConfigurationVn300
VnError VnSensor_writeInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply)
Writes to the INS Basic Configuration register for a VN-300 sensor.
VelocityCompensationStatusRegister::xDot
float xDot
The xDot field.
Definition: sensors.h:424
strFromIntegrationFrame
void strFromIntegrationFrame(char *out, VnIntegrationFrame val)
Converts a IntegrationFrame into a string.
InsStateEcefRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:692
InsSolutionEcefRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:574
FilterBasicControlRegister::extAccMode
uint8_t extAccMode
The ExtAccMode field.
Definition: sensors.h:269
MagnetometerCompensationRegister::c
mat3f c
The C field.
Definition: sensors.h:141
strFromMagneticMode
void strFromMagneticMode(char *out, VnMagneticMode val)
Converts a MagneticMode into a string.
VpeAccelerometerAdvancedTuningRegister::disturbanceWindow
float disturbanceWindow
The DisturbanceWindow field.
Definition: sensors.h:357
VnSensor_readAttitudeQuaternion
VnError VnSensor_readAttitudeQuaternion(VnSensor *sensor, vec4f *quat)
Reads the Attitude Quaternion register.
VnSensor_writeBinaryOutput2
VnError VnSensor_writeBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 2 register.
InsStateLlaRegister::position
vec3d position
The Position field.
Definition: sensors.h:675
YawPitchRollMagneticAccelerationAndAngularRatesRegister::yawPitchRoll
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:180
VpeAccelerometerBasicTuningRegister
Structure representing the VPE Accelerometer Basic Tuning register.
Definition: sensors.h:331
ReferenceVectorConfigurationRegister::year
float year
The Year field.
Definition: sensors.h:763
VnSensor_writeAccelerationCompensation
VnError VnSensor_writeAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply)
Writes to the Acceleration Compensation register.
ReferenceVectorConfigurationRegister::position
vec3d position
The Position field.
Definition: sensors.h:766
FilterActiveTuningParametersRegister::magneticDisturbanceGain
float magneticDisturbanceGain
The Magnetic Disturbance Gain field.
Definition: sensors.h:152
SynchronizationControlRegister::syncInSkipFactor
uint16_t syncInSkipFactor
The SyncInSkipFactor field.
Definition: sensors.h:229
ImuRateConfigurationRegister::filterMinRate
float filterMinRate
The filterMinRate field.
Definition: sensors.h:857
ImuMeasurementsRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:444
VnSensor_readGpsSolutionEcef
VnError VnSensor_readGpsSolutionEcef(VnSensor *sensor, GpsSolutionEcefRegister *fields)
Reads the GPS Solution - ECEF register.
FilterBasicControlRegister::extMagMode
uint8_t extMagMode
The ExtMagMode field.
Definition: sensors.h:266
SynchronizationControlRegister::syncInMode
uint8_t syncInMode
The SyncInMode field.
Definition: sensors.h:223
VpeMagnetometerBasicTuningRegister::baseTuning
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:300
InsBasicConfigurationRegisterVn300::scenario
uint8_t scenario
The Scenario field.
Definition: sensors.h:608
VnSensor_writeUserTag
VnError VnSensor_writeUserTag(VnSensor *sensor, char *tag, bool waitForReply)
Writes to the User Tag register.
VpeAccelerometerAdvancedTuningRegister::maxAdaptRate
float maxAdaptRate
The MaxAdaptRate field.
Definition: sensors.h:354
VnSensor_readDeltaThetaAndDeltaVelocityConfiguration
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields)
Reads the Delta Theta and Delta Velocity Configuration register.
ImuFilteringConfigurationRegister::presFilterMode
uint8_t presFilterMode
The PresFilterMode field.
Definition: sensors.h:812
FilterBasicControlRegister::extGyroMode
uint8_t extGyroMode
The ExtGyroMode field.
Definition: sensors.h:272
BinaryOutputRegister::imuField
ImuGroup imuField
Definition: sensors.h:49
VpeAccelerometerAdvancedTuningRegister
Structure representing the VPE Accelerometer Advanced Tuning register.
Definition: sensors.h:345
GpsConfigurationRegister::ppsSource
uint8_t ppsSource
The PpsSource field.
Definition: sensors.h:461
SynchronizationControlRegister::syncOutPolarity
uint8_t syncOutPolarity
The SyncOutPolarity field.
Definition: sensors.h:235
YawPitchRollMagneticAccelerationAndAngularRatesRegister::gyro
vec3f gyro
The Gyro field.
Definition: sensors.h:189
vec3f
Various vector types and operations.
Definition: vector.h:14
InsSolutionLlaRegister::velUncertainty
float velUncertainty
The VelUncertainty field.
Definition: sensors.h:557
MagneticAccelerationAndAngularRatesRegister
Structure representing the Magnetic, Acceleration and Angular Rates register.
Definition: sensors.h:96
VnSensor_writeImuFilteringConfiguration
VnError VnSensor_writeImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply)
Writes to the IMU Filtering Configuration register.
AccelerationCompensationRegister
Structure representing the Acceleration Compensation register.
Definition: sensors.h:166
VelocityCompensationControlRegister::velocityTuning
float velocityTuning
The VelocityTuning field.
Definition: sensors.h:410
GpsSolutionLlaRegister
Structure representing the GPS Solution - LLA register.
Definition: sensors.h:466
InsAdvancedConfigurationRegister::deltaLimitVel
float deltaLimitVel
The DeltaLimitVel field.
Definition: sensors.h:658
GpsSolutionLlaRegister::numSats
uint8_t numSats
The NumSats field.
Definition: sensors.h:478
VnSensor_readInsSolutionEcef
VnError VnSensor_readInsSolutionEcef(VnSensor *sensor, InsSolutionEcefRegister *fields)
Reads the INS Solution - ECEF register.
VpeMagnetometerAdvancedTuningRegister
Structure representing the VPE Magnetometer Advanced Tuning register.
Definition: sensors.h:311
VnSensor_changeBaudrate
VnError VnSensor_changeBaudrate(VnSensor *sensor, uint32_t baudrate)
Issues a change baudrate to the VectorNav sensor and then reconnectes the attached serial port at the...
InsAdvancedConfigurationRegister
Structure representing the INS Advanced Configuration register.
Definition: sensors.h:619
VnSensor_tare
VnError VnSensor_tare(VnSensor *sensor, bool waitForReply)
Issues a tare command to the VectorNav Sensor.
strFromSensorError
void strFromSensorError(char *out, SensorError val)
Converts a sensor error into a string.
VelocityCompensationControlRegister::mode
uint8_t mode
The Mode field.
Definition: sensors.h:407
CommunicationProtocolControlRegister
Structure representing the Communication Protocol Control register.
Definition: sensors.h:194
BinaryOutputRegister::timeField
TimeGroup timeField
Definition: sensors.h:48
VnSensor_readAsyncDataOutputFrequency
VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *sensor, uint32_t *adof)
Reads the Async Data Output Frequency register.
VnSensor_readVpeBasicControl
VnError VnSensor_readVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister *fields)
Reads the VPE Basic Control register.
VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.
VelocityCompensationStatusRegister
Structure representing the Velocity Compensation Status register.
Definition: sensors.h:418
CalculatedMagnetometerCalibrationRegister::c
mat3f c
The C field.
Definition: sensors.h:396
CommunicationProtocolControlRegister::spiChecksum
uint8_t spiChecksum
The SPIChecksum field.
Definition: sensors.h:212
VnSensor_setRetransmitDelayMs
VnError VnSensor_setRetransmitDelayMs(VnSensor *sensor, uint16_t retransmitDelayMs)
Sets the current retransmit delay used for communication with a sensor.
VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.
GpsSolutionEcefRegister::speedAcc
float speedAcc
The SpeedAcc field.
Definition: sensors.h:522
ImuMeasurementsRegister::temp
float temp
The Temp field.
Definition: sensors.h:447
FilterMeasurementsVarianceParametersRegister
Structure representing the Filter Measurements Variance Parameters register.
Definition: sensors.h:121
VnSensor_readGpsSolutionLla
VnError VnSensor_readGpsSolutionLla(VnSensor *sensor, GpsSolutionLlaRegister *fields)
Reads the GPS Solution - LLA register.
VnSensor_readSynchronizationStatus
VnError VnSensor_readSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister *fields)
Reads the Synchronization Status register.