upack.h
#ifndef VNUPACK_H_INCLUDED
#define VNUPACK_H_INCLUDED
#include <stdarg.h>
#include "vn/int.h"
#include "vn/bool.h"
#include "vn/enum.h"
#include "vn/error.h"
#include "vn/error_detection.h"
#include "vn/math/matrix.h"
#include "vn/math/vector.h"
#include "vn/protocol/common.h"
#ifndef VNUART_PROTOCOL_BUFFER_SIZE
#define VNUART_PROTOCOL_BUFFER_SIZE 256
#endif
#define VN_BINARY_START_CHAR 0xFA
#define VN_ASCII_START_CHAR '$'
#ifdef __cplusplus
extern "C" {
#endif
typedef void(*vnuart_sensor_error_received)(VnError error);
typedef struct
{
size_t curExtractLoc;
size_t length;
uint8_t* data;
} VnUartPacket;
void VnUartPacket_initialize(VnUartPacket* packet, uint8_t* data, size_t len);
void VnUartPacket_initializeFromStr(VnUartPacket* packet, char* data);
bool VnUartPacket_isValid(VnUartPacket *packet);
bool VnUartPacket_isAsciiAsync(VnUartPacket *packet);
bool VnUartPacket_isResponse(VnUartPacket *packet);
bool VnUartPacket_isError(VnUartPacket *packet);
bool VnUartPacket_isErrorRaw(uint8_t *packet);
PacketType VnUartPacket_type(VnUartPacket *packet);
VnError VnUartPacket_finalizeCommand(VnErrorDetectionMode errorDetectionMode, uint8_t *packet, size_t *length);
uint8_t VnUartPacket_groups(VnUartPacket* packet);
uint16_t VnUartPacket_groupField(VnUartPacket* packet, size_t groupIndex);
size_t VnUartPacket_computeBinaryPacketLength(uint8_t const *startOfPossibleBinaryPacket);
size_t VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BinaryGroupType groupType, uint16_t groupField);
bool VnUartPacket_isCompatible(
VnUartPacket *packet,
CommonGroup commonGroup,
TimeGroup timeGroup,
ImuGroup imuGroup,
GpsGroup gpsGroup,
AttitudeGroup attitudeGroup,
InsGroup insGroup);
uint8_t VnUartPacket_extractUint8(VnUartPacket *packet);
int8_t VnUartPacket_extractInt8(VnUartPacket *packet);
uint16_t VnUartPacket_extractUint16(VnUartPacket *packet);
uint32_t VnUartPacket_extractUint32(VnUartPacket *packet);
uint64_t VnUartPacket_extractUint64(VnUartPacket *packet);
float VnUartPacket_extractFloat(VnUartPacket* packet);
vec3f VnUartPacket_extractVec3f(VnUartPacket *packet);
vec3d VnUartPacket_extractVec3d(VnUartPacket *packet);
vec4f VnUartPacket_extractVec4f(VnUartPacket *packet);
mat3f VnUartPacket_extractMat3f(VnUartPacket *packet);
VnAsciiAsync VnUartPacket_determineAsciiAsyncType(VnUartPacket* packet);
void VnUartPacket_parseVNYPR(VnUartPacket* packet, vec3f *yawPitchRoll);
void VnUartPacket_parseVNQTN(VnUartPacket* packet, vec4f *quaternion);
#ifdef EXTRA
void VnUartPacket_parseVNQTM(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic);
void VnUartPacket_parseVNQTA(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration);
void VnUartPacket_parseVNQTR(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRate);
void VnUartPacket_parseVNQMA(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration);
void VnUartPacket_parseVNQAR(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration, vec3f *angularRate);
#endif
void VnUartPacket_parseVNQMR(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate);
#ifdef EXTRA
void VnUartPacket_parseVNDCM(VnUartPacket* packet, mat3f *dcm);
#endif
void VnUartPacket_parseVNMAG(VnUartPacket* packet, vec3f *magnetic);
void VnUartPacket_parseVNACC(VnUartPacket* packet, vec3f *acceleration);
void VnUartPacket_parseVNGYR(VnUartPacket* packet, vec3f *angularRate);
void VnUartPacket_parseVNMAR(VnUartPacket* packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate);
VnError VnUartPacket_parseVNYMR(
VnUartPacket* packet,
vec3f *yawPitchRoll,
vec3f *magnetic,
vec3f *acceleration,
vec3f *angularRate);
/*VnError VnUartPacket_parseVNYMR(
uint8_t* packetBuf,
size_t packetLen,
vec3f *yawPitchRoll,
vec3f *magnetic,
vec3f *acceleration,
vec3f *angularRate);*/
#ifdef EXTRA
void VnUartPacket_parseVNYCM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate, float *temperature);
#endif
void VnUartPacket_parseVNYBA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate);
void VnUartPacket_parseVNYIA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate);
#ifdef EXTRA
void VnUartPacket_parseVNICM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *accelerationInertial, vec3f *angularRate);
#endif
void VnUartPacket_parseVNIMU(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure);
void VnUartPacket_parseVNGPS(VnUartPacket* packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc);
void VnUartPacket_parseVNINS(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty);
void VnUartPacket_parseVNINE(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty);
void VnUartPacket_parseVNISL(VnUartPacket* packet, vec3f* ypr, vec3d* lla, vec3f* velocity, vec3f* acceleration, vec3f* angularRate);
void VnUartPacket_parseVNISE(VnUartPacket* packet, vec3f* ypr, vec3d* position, vec3f* velocity, vec3f* acceleration, vec3f* angularRate);
#ifdef EXTRA
void VnUartPacket_parseVNRAW(VnUartPacket* packet, vec3f *magneticVoltage, vec3f *accelerationVoltage, vec3f *angularRateVoltage, float *temperatureVoltage);
void VnUartPacket_parseVNCMV(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature);
void VnUartPacket_parseVNSTV(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRateBias);
void VnUartPacket_parseVNCOV(VnUartPacket* packet, vec3f *attitudeVariance, vec3f *angularRateBiasVariance);
#endif
void VnUartPacket_parseVNGPE(VnUartPacket* packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc);
void VnUartPacket_parseVNDTV(VnUartPacket* packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity);
VnError vnuart_genread(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
uint16_t registerId,
size_t *cmdSize);
VnError VnUartPacket_genReadBinaryOutput1(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadBinaryOutput2(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadBinaryOutput3(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
#ifdef EXTRA
VnError VnUartPacket_genReadBinaryOutput4(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadBinaryOutput5(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
#endif
VnError VnUartPacket_genCmdWriteSettings(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genCmdRestoreFactorySettings(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genCmdReset(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genCmdTare(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genCmdSetGyroBias(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genCmdKnownMagneticDisturbance(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
bool disturbancePresent,
size_t *cmdSize);
VnError VnUartPacket_genCmdKnownAccelerationDisturbance(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
bool disturbancePresent,
size_t *cmdSize);
VnError VnUartPacket_genReadUserTag(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadModelNumber(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadHardwareRevision(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadSerialNumber(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadFirmwareVersion(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadSerialBaudRate(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAsyncDataOutputType(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAsyncDataOutputFrequency(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadYawPitchRoll(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAttitudeQuaternion(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadMagneticMeasurements(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAccelerationMeasurements(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAngularRateMeasurements(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadMagnetometerCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadAccelerationCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadReferenceFrameRotation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadCommunicationProtocolControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadSynchronizationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadSynchronizationStatus(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadVpeBasicControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadVpeMagnetometerBasicTuning(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadVpeAccelerometerBasicTuning(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadMagnetometerCalibrationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadCalculatedMagnetometerCalibration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadVelocityCompensationMeasurement(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadVelocityCompensationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadImuMeasurements(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsAntennaOffset(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsSolutionLla(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsSolutionEcef(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsSolutionLla(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsSolutionEcef(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsBasicConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsBasicConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsStateLla(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadInsStateEcef(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadStartupFilterBiasEstimate(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadReferenceVectorConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGyroCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadImuFilteringConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsCompassBaseline(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadGpsCompassEstimatedBaseline(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize);
VnError VnUartPacket_genWrite(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
uint16_t registerId,
size_t *cmdSize,
char const *format,
...);
VnError VnUartPacket_genWriteBinaryOutput1(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField);
VnError VnUartPacket_genWriteBinaryOutput2(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField);
VnError VnUartPacket_genWriteBinaryOutput3(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField);
#ifdef EXTRA
VnError VnUartPacket_genWriteBinaryOutput4(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField);
VnError VnUartPacket_genWriteBinaryOutput5(
uint8_t *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField);
#endif
VnError VnUartPacket_genWriteUserTag(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
char* tag);
VnError VnUartPacket_genWriteSerialBaudRate(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t baudrate);
VnError VnUartPacket_genWriteSerialBaudRateWithOptions(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t baudrate);
VnError VnUartPacket_genWriteAsyncDataOutputType(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t ador);
VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t ador);
VnError VnUartPacket_genWriteAsyncDataOutputFrequency(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t adof);
VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t adof);
VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f magRef,
vec3f accRef);
VnError VnUartPacket_genWriteMagnetometerCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
mat3f c,
vec3f b);
VnError VnUartPacket_genWriteAccelerationCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
mat3f c,
vec3f b);
VnError VnUartPacket_genWriteReferenceFrameRotation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
mat3f c);
VnError VnUartPacket_genWriteCommunicationProtocolControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t serialCount,
uint8_t serialStatus,
uint8_t spiCount,
uint8_t spiStatus,
uint8_t serialChecksum,
uint8_t spiChecksum,
uint8_t errorMode);
VnError VnUartPacket_genWriteSynchronizationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t syncInMode,
uint8_t syncInEdge,
uint16_t syncInSkipFactor,
uint32_t reserved1,
uint8_t syncOutMode,
uint8_t syncOutPolarity,
uint16_t syncOutSkipFactor,
uint32_t syncOutPulseWidth,
uint32_t reserved2);
VnError VnUartPacket_genWriteSynchronizationStatus(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint32_t syncInCount,
uint32_t syncInTime,
uint32_t syncOutCount);
VnError VnUartPacket_genWriteVpeBasicControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t enable,
uint8_t headingMode,
uint8_t filteringMode,
uint8_t tuningMode);
VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering);
VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering);
VnError VnUartPacket_genWriteMagnetometerCalibrationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t hsiMode,
uint8_t hsiOutput,
uint8_t convergeRate);
VnError VnUartPacket_genWriteVelocityCompensationMeasurement(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f velocity);
VnError VnUartPacket_genWriteVelocityCompensationControl(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t mode,
float velocityTuning,
float rateTuning);
VnError VnUartPacket_genWriteGpsConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t mode,
uint8_t ppsSource,
uint8_t reserved1,
uint8_t reserved2,
uint8_t reserved3);
VnError VnUartPacket_genWriteGpsAntennaOffset(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f position);
VnError VnUartPacket_genWriteInsBasicConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t scenario,
uint8_t ahrsAiding,
uint8_t estBaseline,
uint8_t resv2);
VnError VnUartPacket_genWriteStartupFilterBiasEstimate(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f gyroBias,
vec3f accelBias,
float pressureBias);
VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t integrationFrame,
uint8_t gyroCompensation,
uint8_t accelCompensation,
uint8_t reserved1,
uint16_t reserved2);
VnError VnUartPacket_genWriteReferenceVectorConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
uint8_t useMagModel,
uint8_t useGravityModel,
uint8_t resv1,
uint8_t resv2,
uint32_t recalcThreshold,
float year,
vec3d position);
VnError VnUartPacket_genWriteGyroCompensation(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
mat3f c,
vec3f b);
VnError VnUartPacket_genWriteImuFilteringConfiguration(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
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);
VnError VnUartPacket_genWriteGpsCompassBaseline(
char *buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t *cmdSize,
vec3f position,
vec3f uncertainty);
void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error);
void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error);
void VnUartPacket_parseBinaryOutput(
VnUartPacket *packet,
uint16_t* asyncMode,
uint16_t* rateDivisor,
uint16_t* outputGroup,
uint16_t* commonField,
uint16_t* timeField,
uint16_t* imuField,
uint16_t* gpsField,
uint16_t* attitudeField,
uint16_t* insField);
void VnUartPacket_parseBinaryOutputRaw(
uint8_t *packet,
uint16_t* asyncMode,
uint16_t* rateDivisor,
uint16_t* outputGroup,
uint16_t* commonField,
uint16_t* timeField,
uint16_t* imuField,
uint16_t* gpsField,
uint16_t* attitudeField,
uint16_t* insField);
void VnUartPacket_parseUserTag(VnUartPacket *packet, char* tag);
void VnUartPacket_parseUserTagRaw(char *packet, char* tag);
void VnUartPacket_parseModelNumber(VnUartPacket *packet, char* productName);
void VnUartPacket_parseModelNumberRaw(char *packet, char* productName);
void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t* revision);
void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t* revision);
void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t* serialNum);
void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t* serialNum);
void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char* firmwareVersion);
void VnUartPacket_parseFirmwareVersionRaw(char *packet, char* firmwareVersion);
void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t* baudrate);
void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t* baudrate);
void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t* ador);
void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t* ador);
void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t* adof);
void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t* adof);
void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f* yawPitchRoll);
void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f* yawPitchRoll);
void VnUartPacket_parseAttitudeQuaternion(VnUartPacket *packet, vec4f* quat);
void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f* quat);
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseMagneticMeasurements(VnUartPacket *packet, vec3f* mag);
void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f* mag);
void VnUartPacket_parseAccelerationMeasurements(VnUartPacket *packet, vec3f* accel);
void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f* accel);
void VnUartPacket_parseAngularRateMeasurements(VnUartPacket *packet, vec3f* gyro);
void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f* gyro);
void VnUartPacket_parseMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseMagneticAndGravityReferenceVectors(VnUartPacket *packet, vec3f* magRef, vec3f* accRef);
void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f* magRef, vec3f* accRef);
void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance);
void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance);
void VnUartPacket_parseMagnetometerCompensation(VnUartPacket *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory);
void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory);
void VnUartPacket_parseAccelerationCompensation(VnUartPacket *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseReferenceFrameRotation(VnUartPacket *packet, mat3f* c);
void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f* c);
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro);
void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode);
void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode);
void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2);
void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2);
void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount);
void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount);
void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit);
void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit);
void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode);
void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode);
void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning);
void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning);
void VnUartPacket_parseFilterStartupGyroBias(VnUartPacket *packet, vec3f* bias);
void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f* bias);
void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate);
void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate);
void VnUartPacket_parseCalculatedMagnetometerCalibration(VnUartPacket *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(char *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float* maxRateError, uint8_t* reserved1);
void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float* maxRateError, uint8_t* reserved1);
void VnUartPacket_parseVelocityCompensationMeasurement(VnUartPacket *packet, vec3f* velocity);
void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f* velocity);
void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t* mode, float* velocityTuning, float* rateTuning);
void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t* mode, float* velocityTuning, float* rateTuning);
void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega);
void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega);
void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure);
void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure);
void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3);
void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3);
void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f* position);
void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f* position);
void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc);
void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc);
void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc);
void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc);
void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty);
void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty);
void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty);
void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty);
void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2);
void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2);
void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, 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);
void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, 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);
void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias);
void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias);
void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity);
void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity);
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2);
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2);
void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position);
void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position);
void VnUartPacket_parseGyroCompensation(VnUartPacket *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f* c, vec3f* b);
void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, 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);
void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, 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);
void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f* position, vec3f* uncertainty);
void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f* position, vec3f* uncertainty);
void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty);
void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty);
void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate);
void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate);
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro);
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro);
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro);
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro);
void strFromVnAsciiAsync(char *out, VnAsciiAsync val);
#ifdef __cplusplus
}
#endif
#endif
VnUartPacket_genReadMagneticAccelerationAndAngularRates
VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sens...
VnUartPacket_parseSynchronizationControlRaw
void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
Parses a response from reading the Synchronization Control register.
VnUartPacket_parseAsyncDataOutputType
void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t *ador)
Parses a response from reading the Async Data Output Type register.
VnUartPacket_genWriteVpeAccelerometerBasicTuning
VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write to the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
VnUartPacket_parseGpsConfiguration
void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
Parses a response from reading the GPS Configuration register.
VnUartPacket_parseInsBasicConfigurationRaw
void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
Parses a response from reading the INS Basic Configuration register.
VnUartPacket_parseIndoorHeadingModeControl
void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float *maxRateError, uint8_t *reserved1)
Parses a response from reading the Indoor Heading Mode Control register.
VnUartPacket_parseVelocityCompensationStatus
void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
Parses a response from reading the Velocity Compensation Status register.
VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration
VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
Generates a command to write to the Delta Theta and Delta Velocity Configuration register on a Vector...
VnUartPacket_genReadAccelerationMeasurements
VnError VnUartPacket_genReadAccelerationMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Acceleration Measurements register on a VectorNav sensor...
VnUartPacket_genCmdTare
VnError VnUartPacket_genCmdTare(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to tare the sensor.
VnUartPacket_parseAccelerationCompensation
void VnUartPacket_parseAccelerationCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Acceleration Compensation register.
VnUartPacket_parseFilterBasicControlRaw
void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
Parses a response from reading the Filter Basic Control register.
VnUartPacket_genWriteSerialBaudRate
VnError VnUartPacket_genWriteSerialBaudRate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.
VnUartPacket_parseReferenceVectorConfigurationRaw
void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
Parses a response from reading the Reference Vector Configuration register.
VnUartPacket_genWriteMagnetometerCalibrationControl
VnError VnUartPacket_genWriteMagnetometerCalibrationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
Generates a command to write to the Magnetometer Calibration Control register on a VectorNav sensor...
VnUartPacket_parseVNYMR
VnError VnUartPacket_parseVNYMR(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNYMR asynchronous packet.
VnUartPacket_parseCommunicationProtocolControlRaw
void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
Parses a response from reading the Communication Protocol Control register.
VnUartPacket_parseVNGYR
void VnUartPacket_parseVNGYR(VnUartPacket *packet, vec3f *angularRate)
Parses a VNGYR asynchronous packet.
VnUartPacket_parseUserTagRaw
void VnUartPacket_parseUserTagRaw(char *packet, char *tag)
Parses a response from reading the User Tag register.
VnUartPacket_genReadInsSolutionLla
VnError VnUartPacket_genReadInsSolutionLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Solution - LLA register on a VectorNav sensor.
VnUartPacket_parseGpsAntennaOffsetRaw
void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f *position)
Parses a response from reading the GPS Antenna Offset register.
VnUartPacket_genWriteSerialBaudRateWithOptions
VnError VnUartPacket_genWriteSerialBaudRateWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.
VnUartPacket_genReadBinaryOutput2
VnError VnUartPacket_genReadBinaryOutput2(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 2 register on a VectorNav sensor.
VnUartPacket_parseErrorRaw
void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error)
Parses an error packet to get the error type.
VnUartPacket_parseInsStateLla
void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - LLA register.
VnUartPacket_genWriteAsyncDataOutputType
VnError VnUartPacket_genWriteAsyncDataOutputType(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
Generates a command to write to the Async Data Output Type register on a VectorNav sensor...
VnUartPacket_parseDeltaThetaAndDeltaVelocity
void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a response from reading the Delta Theta and Delta Velocity register.
VnUartPacket_genWriteSynchronizationStatus
VnError VnUartPacket_genWriteSynchronizationStatus(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
Generates a command to write to the Synchronization Status register on a VectorNav sensor...
VnUartPacket_parseGpsConfigurationRaw
void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
Parses a response from reading the GPS Configuration register.
VnUartPacket_parseImuMeasurementsRaw
void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
Parses a response from reading the IMU Measurements register.
VnUartPacket_extractMat3f
mat3f VnUartPacket_extractMat3f(VnUartPacket *packet)
Extracts a mat3f data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_genWriteSynchronizationControl
VnError VnUartPacket_genWriteSynchronizationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint32_t reserved1, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth, uint32_t reserved2)
Generates a command to write to the Synchronization Control register on a VectorNav sensor...
VnUartPacket
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
VnUartPacket_genReadImuFilteringConfiguration
VnError VnUartPacket_genReadImuFilteringConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor...
VnUartPacket_genReadReferenceFrameRotation
VnError VnUartPacket_genReadReferenceFrameRotation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.
VnUartPacket_genWriteInsBasicConfiguration
VnError VnUartPacket_genWriteInsBasicConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
Generates a command to write to the INS Basic Configuration register on a VectorNav sensor...
VnUartPacket_parseVpeGyroBasicTuning
void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
Parses a response from reading the VPE Gyro Basic Tuning register.
VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register...
VnUartPacket_genReadAsyncDataOutputFrequency
VnError VnUartPacket_genReadAsyncDataOutputFrequency(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Async Data Output Frequency register on a VectorNav sensor...
VnUartPacket_parseInsBasicConfiguration
void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
Parses a response from reading the INS Basic Configuration register.
VnUartPacket_genReadBinaryOutput3
VnError VnUartPacket_genReadBinaryOutput3(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 3 register on a VectorNav sensor.
VnUartPacket_parseMagneticMeasurementsRaw
void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f *mag)
Parses a response from reading the Magnetic Measurements register.
VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav ...
VnUartPacket_parseMagneticAccelerationAndAngularRates
void VnUartPacket_parseMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Magnetic, Acceleration and Angular Rates register.
VnUartPacket_parseMagnetometerCalibrationControl
void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
Parses a response from reading the Magnetometer Calibration Control register.
VnUartPacket_genReadAsyncDataOutputType
VnError VnUartPacket_genReadAsyncDataOutputType(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Async Data Output Type register on a VectorNav sensor.
VnUartPacket_parseVpeMagnetometerAdvancedTuning
void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Magnetometer Advanced Tuning register.
VnUartPacket_genWriteAsyncDataOutputFrequency
VnError VnUartPacket_genWriteAsyncDataOutputFrequency(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor...
VnUartPacket_genReadGyroCompensation
VnError VnUartPacket_genReadGyroCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Gyro Compensation register on a VectorNav sensor. ...
VnUartPacket_parseVpeBasicControlRaw
void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
Parses a response from reading the VPE Basic Control register.
VnUartPacket_genWriteGpsConfiguration
VnError VnUartPacket_genWriteGpsConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
Generates a command to write to the GPS Configuration register on a VectorNav sensor.
VnUartPacket_genReadInsSolutionEcef
VnError VnUartPacket_genReadInsSolutionEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.
VnUartPacket_genWriteVelocityCompensationMeasurement
VnError VnUartPacket_genWriteVelocityCompensationMeasurement(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f velocity)
Generates a command to write to the Velocity Compensation Measurement register on a VectorNav sensor...
VnUartPacket_genReadGpsCompassBaseline
VnError VnUartPacket_genReadGpsCompassBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.
VnUartPacket_parseAccelerationCompensationRaw
void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Acceleration Compensation register.
VnUartPacket_parseSerialBaudRateRaw
void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t *baudrate)
Parses a response from reading the Serial Baud Rate register.
VnUartPacket_parseCalculatedMagnetometerCalibration
void VnUartPacket_parseCalculatedMagnetometerCalibration(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Calculated Magnetometer Calibration register.
VnUartPacket_parseVelocityCompensationMeasurement
void VnUartPacket_parseVelocityCompensationMeasurement(VnUartPacket *packet, vec3f *velocity)
Parses a response from reading the Velocity Compensation Measurement register.
VnUartPacket_parseBinaryOutput
void VnUartPacket_parseBinaryOutput(VnUartPacket *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
Parses a response from reading any of the Binary Output registers.
VnUartPacket_parseReferenceFrameRotation
void VnUartPacket_parseReferenceFrameRotation(VnUartPacket *packet, mat3f *c)
Parses a response from reading the Reference Frame Rotation register.
VnUartPacket_parseFilterMeasurementsVarianceParametersRaw
void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
Parses a response from reading the Filter Measurements Variance Parameters register.
VnUartPacket_parseVNMAR
void VnUartPacket_parseVNMAR(VnUartPacket *packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNMAR asynchronous packet.
VnUartPacket::data
uint8_t * data
Definition: upack.h:43
VnUartPacket_parseVNISE
void VnUartPacket_parseVNISE(VnUartPacket *packet, vec3f *ypr, vec3d *position, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
Parse a VNISE asynchronous packet.
VnUartPacket_parseVNDTV
void VnUartPacket_parseVNDTV(VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a VNDTV asynchronous packet.
VnUartPacket_genReadAngularRateMeasurements
VnError VnUartPacket_genReadAngularRateMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Angular Rate Measurements register on a VectorNav sensor...
VnUartPacket_parseAngularRateMeasurementsRaw
void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f *gyro)
Parses a response from reading the Angular Rate Measurements register.
VnUartPacket_parseUserTag
void VnUartPacket_parseUserTag(VnUartPacket *packet, char *tag)
Parses a response from reading the User Tag register.
VnUartPacket_parseGyroCompensation
void VnUartPacket_parseGyroCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Gyro Compensation register.
VnUartPacket_genReadStartupFilterBiasEstimate
VnError VnUartPacket_genReadStartupFilterBiasEstimate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor...
VnUartPacket_parseImuFilteringConfigurationRaw
void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, 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)
Parses a response from reading the IMU Filtering Configuration register.
VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register...
VnUartPacket_parseSerialNumber
void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t *serialNum)
Parses a response from reading the Serial Number register.
VnUartPacket_genReadYawPitchRoll
VnError VnUartPacket_genReadYawPitchRoll(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.
VnUartPacket_parseHardwareRevisionRaw
void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t *revision)
Parses a response from reading the Hardware Revision register.
VnUartPacket_genWriteMagnetometerCompensation
VnError VnUartPacket_genWriteMagnetometerCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Magnetometer Compensation register on a VectorNav sensor...
VnUartPacket_genCmdWriteSettings
VnError VnUartPacket_genCmdWriteSettings(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to write sensor settings to non-volitile memory.
VnUartPacket_genReadInsStateEcef
VnError VnUartPacket_genReadInsStateEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS State - ECEF register on a VectorNav sensor.
VnUartPacket_genReadMagneticMeasurements
VnError VnUartPacket_genReadMagneticMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic Measurements register on a VectorNav sensor.
VnUartPacket_parseVNGPS
void VnUartPacket_parseVNGPS(VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a VNGPS asynchronous packet.
VnUartPacket_parseSynchronizationStatusRaw
void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
Parses a response from reading the Synchronization Status register.
VnUartPacket_genReadVelocityCompensationControl
VnError VnUartPacket_genReadVelocityCompensationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Velocity Compensation Control register on a VectorNav sensor...
VnUartPacket_parseVpeBasicControl
void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
Parses a response from reading the VPE Basic Control register.
VnUartPacket_parseSerialBaudRate
void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t *baudrate)
Parses a response from reading the Serial Baud Rate register.
VnUartPacket_parseAngularRateMeasurements
void VnUartPacket_parseAngularRateMeasurements(VnUartPacket *packet, vec3f *gyro)
Parses a response from reading the Angular Rate Measurements register.
VnUartPacket_parseFilterActiveTuningParameters
void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
Parses a response from reading the Filter Active Tuning Parameters register.
VnUartPacket_genWriteVpeBasicControl
VnError VnUartPacket_genWriteVpeBasicControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
Generates a command to write to the VPE Basic Control register on a VectorNav sensor.
VnUartPacket_parseAsyncDataOutputFrequencyRaw
void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t *adof)
Parses a response from reading the Async Data Output Frequency register.
VnUartPacket_parseFilterStartupGyroBiasRaw
void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f *bias)
Parses a response from reading the Filter Startup Gyro Bias register.
VnUartPacket_parseVNGPE
void VnUartPacket_parseVNGPE(VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a VNGPE asynchronous packet.
VnUartPacket_genReadGpsAntennaOffset
VnError VnUartPacket_genReadGpsAntennaOffset(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.
VnUartPacket_parseVpeAccelerometerBasicTuningRaw
void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Accelerometer Basic Tuning register.
VnUartPacket_genWriteVelocityCompensationControl
VnError VnUartPacket_genWriteVelocityCompensationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, float velocityTuning, float rateTuning)
Generates a command to write to the Velocity Compensation Control register on a VectorNav sensor...
VnUartPacket_extractInt8
int8_t VnUartPacket_extractInt8(VnUartPacket *packet)
Extracts a int8_t data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_parseVpeAccelerometerAdvancedTuning
void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Accelerometer Advanced Tuning register.
VnUartPacket_parseAttitudeQuaternion
void VnUartPacket_parseAttitudeQuaternion(VnUartPacket *packet, vec4f *quat)
Parses a response from reading the Attitude Quaternion register.
VnUartPacket_parseVNINE
void VnUartPacket_parseVNINE(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a VNINE asynchronous packet.
VnUartPacket_parseGpsCompassBaseline
void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Baseline register.
VnUartPacket_parseFilterStartupGyroBias
void VnUartPacket_parseFilterStartupGyroBias(VnUartPacket *packet, vec3f *bias)
Parses a response from reading the Filter Startup Gyro Bias register.
VnUartPacket_genWriteAsyncDataOutputTypeWithOptions
VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
Generates a command to write to the Async Data Output Type register on a VectorNav sensor...
VnUartPacket_parseFilterActiveTuningParametersRaw
void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
Parses a response from reading the Filter Active Tuning Parameters register.
VnUartPacket_genWriteReferenceVectorConfiguration
VnError VnUartPacket_genWriteReferenceVectorConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
Generates a command to write to the Reference Vector Configuration register on a VectorNav sensor...
VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw
void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f *magRef, vec3f *accRef)
Parses a response from reading the Magnetic and Gravity Reference Vectors register.
VnUartPacket_parseVelocityCompensationControl
void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
Parses a response from reading the Velocity Compensation Control register.
VnUartPacket_parseInsSolutionEcef
void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - ECEF register.
VnUartPacket_genWriteUserTag
VnError VnUartPacket_genWriteUserTag(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, char *tag)
Generates a command to write to the User Tag register on a VectorNav sensor.
VnUartPacket_extractUint32
uint32_t VnUartPacket_extractUint32(VnUartPacket *packet)
Extracts a uint32_t data type from a binary packet and advances the next extraction point appropriate...
VnUartPacket_parseGpsSolutionEcefRaw
void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - ECEF register.
VnUartPacket_parseSynchronizationStatus
void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
Parses a response from reading the Synchronization Status register.
VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions
VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor...
VnUartPacket_parseAsyncDataOutputTypeRaw
void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t *ador)
Parses a response from reading the Async Data Output Type register.
vec4f
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
vec3d
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
VnUartPacket_parseVNYIA
void VnUartPacket_parseVNYIA(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate)
Parses a VNYIA asynchronous packet.
VnUartPacket_genReadMagnetometerCalibrationControl
VnError VnUartPacket_genReadMagnetometerCalibrationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor...
VnUartPacket_genReadAccelerationCompensation
VnError VnUartPacket_genReadAccelerationCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Acceleration Compensation register on a VectorNav sensor...
VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates
VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register o...
VnUartPacket_genReadMagnetometerCompensation
VnError VnUartPacket_genReadMagnetometerCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetometer Compensation register on a VectorNav sensor...
VnUartPacket_parseReferenceVectorConfiguration
void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
Parses a response from reading the Reference Vector Configuration register.
VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates
VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a Ve...
VnUartPacket_genWriteGpsCompassBaseline
VnError VnUartPacket_genWriteGpsCompassBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position, vec3f uncertainty)
Generates a command to write to the GPS Compass Baseline register on a VectorNav sensor.
VnUartPacket_parseInsSolutionLla
void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - LLA register.
VnUartPacket_genWriteMagneticAndGravityReferenceVectors
VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f magRef, vec3f accRef)
Generates a command to write to the Magnetic and Gravity Reference Vectors register on a VectorNav se...
VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates registe...
VnUartPacket_genReadVpeBasicControl
VnError VnUartPacket_genReadVpeBasicControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Basic Control register on a VectorNav sensor. ...
VnUartPacket_parseInsStateLlaRaw
void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - LLA register.
VnUartPacket_parseIndoorHeadingModeControlRaw
void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float *maxRateError, uint8_t *reserved1)
Parses a response from reading the Indoor Heading Mode Control register.
VnUartPacket_parseFilterBasicControl
void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
Parses a response from reading the Filter Basic Control register.
VnUartPacket_extractVec3f
vec3f VnUartPacket_extractVec3f(VnUartPacket *packet)
Extracts a vec3f data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates
VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register o...
VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates registe...
VnUartPacket_genReadBinaryOutput1
VnError VnUartPacket_genReadBinaryOutput1(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 1 register on a VectorNav sensor.
VnUartPacket_parseReferenceFrameRotationRaw
void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f *c)
Parses a response from reading the Reference Frame Rotation register.
VnUartPacket_genReadImuMeasurements
VnError VnUartPacket_genReadImuMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the IMU Measurements register on a VectorNav sensor.
VnUartPacket_parseGpsCompassEstimatedBaselineRaw
void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Estimated Baseline register.
VnUartPacket_parseVelocityCompensationControlRaw
void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
Parses a response from reading the Velocity Compensation Control register.
VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates registe...
VnUartPacket_genReadVpeAccelerometerBasicTuning
VnError VnUartPacket_genReadVpeAccelerometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
VnUartPacket_genReadSynchronizationStatus
VnError VnUartPacket_genReadSynchronizationStatus(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Synchronization Status register on a VectorNav sensor.
VnUartPacket_genReadGpsConfiguration
VnError VnUartPacket_genReadGpsConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Configuration register on a VectorNav sensor. ...
VnUartPacket_parseVNACC
void VnUartPacket_parseVNACC(VnUartPacket *packet, vec3f *acceleration)
Parses a VNACC asynchronous packet.
VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates registe...
VnUartPacket_parseGpsAntennaOffset
void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f *position)
Parses a response from reading the GPS Antenna Offset register.
VnUartPacket_parseGpsSolutionLla
void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - LLA register.
VnUartPacket_genCmdKnownAccelerationDisturbance
VnError VnUartPacket_genCmdKnownAccelerationDisturbance(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
Generates a command to alert the sensor of a known acceleration disturbance.
VnUartPacket_genCmdReset
VnError VnUartPacket_genCmdReset(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to reset the sensor.
VnUartPacket_parseBinaryOutputRaw
void VnUartPacket_parseBinaryOutputRaw(uint8_t *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
Parses a response from reading any of the Binary Output registers.
VnUartPacket_parseAsyncDataOutputFrequency
void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t *adof)
Parses a response from reading the Async Data Output Frequency register.
VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw
void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Magnetic, Acceleration and Angular Rates register.
VnUartPacket_parseMagnetometerCalibrationControlRaw
void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
Parses a response from reading the Magnetometer Calibration Control register.
VnUartPacket_parseSynchronizationControl
void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
Parses a response from reading the Synchronization Control register.
VnUartPacket_genWriteBinaryOutput3
VnError VnUartPacket_genWriteBinaryOutput3(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 3 register.
VnUartPacket_extractVec3d
vec3d VnUartPacket_extractVec3d(VnUartPacket *packet)
Extracts a vec3d data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_genWriteVpeMagnetometerBasicTuning
VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write to the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
VnUartPacket_genReadSynchronizationControl
VnError VnUartPacket_genReadSynchronizationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Synchronization Control register on a VectorNav sensor.
VnUartPacket_parseYawPitchRoll
void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f *yawPitchRoll)
Parses a response from reading the Yaw Pitch Roll register.
VnUartPacket_genReadInsStateLla
VnError VnUartPacket_genReadInsStateLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS State - LLA register on a VectorNav sensor.
VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates reg...
VnUartPacket_parseFirmwareVersionRaw
void VnUartPacket_parseFirmwareVersionRaw(char *packet, char *firmwareVersion)
Parses a response from reading the Firmware Version register.
VnUartPacket_genWriteBinaryOutput2
VnError VnUartPacket_genWriteBinaryOutput2(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 2 register.
VnUartPacket_parseVpeAccelerometerBasicTuning
void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Accelerometer Basic Tuning register.
VnUartPacket_parseInsSolutionEcefRaw
void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - ECEF register.
VnUartPacket_genReadHardwareRevision
VnError VnUartPacket_genReadHardwareRevision(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Hardware Revision register on a VectorNav sensor. ...
VnUartPacket_parseCalculatedMagnetometerCalibrationRaw
void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Calculated Magnetometer Calibration register.
VnUartPacket_parseInsSolutionLlaRaw
void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - LLA register.
VnUartPacket_parseInsAdvancedConfiguration
void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, 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)
Parses a response from reading the INS Advanced Configuration register.
VnUartPacket_extractUint8
uint8_t VnUartPacket_extractUint8(VnUartPacket *packet)
Extracts a uint8_t data type from a binary packet and advances the next extraction point appropriatel...
VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates
VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates regist...
VnUartPacket_parseVpeMagnetometerBasicTuningRaw
void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Magnetometer Basic Tuning register.
VnUartPacket_genReadCommunicationProtocolControl
VnError VnUartPacket_genReadCommunicationProtocolControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Communication Protocol Control register on a VectorNav sensor...
VnUartPacket_parseImuRateConfiguration
void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
Parses a response from reading the IMU Rate Configuration register.
VnUartPacket_genReadGpsSolutionLla
VnError VnUartPacket_genReadGpsSolutionLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.
VnUartPacket_parseVNQTN
void VnUartPacket_parseVNQTN(VnUartPacket *packet, vec4f *quaternion)
Parses a VNQTN asynchronous packet.
VnUartPacket_parseVelocityCompensationStatusRaw
void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
Parses a response from reading the Velocity Compensation Status register.
VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
Parses a response from reading the Delta Theta and Delta Velocity Configuration register.
VnUartPacket_genReadAttitudeQuaternion
VnError VnUartPacket_genReadAttitudeQuaternion(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Attitude Quaternion register on a VectorNav sensor.
VnUartPacket_parseGpsCompassBaselineRaw
void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Baseline register.
VnUartPacket_parseInsAdvancedConfigurationRaw
void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, 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)
Parses a response from reading the INS Advanced Configuration register.
VnUartPacket_parseImuRateConfigurationRaw
void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
Parses a response from reading the IMU Rate Configuration register.
VnUartPacket_genReadVelocityCompensationMeasurement
VnError VnUartPacket_genReadVelocityCompensationMeasurement(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor...
VnUartPacket_parseGpsCompassEstimatedBaseline
void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Estimated Baseline register.
VnUartPacket_genWriteGyroCompensation
VnError VnUartPacket_genWriteGyroCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Gyro Compensation register on a VectorNav sensor.
VnUartPacket_parseMagneticAndGravityReferenceVectors
void VnUartPacket_parseMagneticAndGravityReferenceVectors(VnUartPacket *packet, vec3f *magRef, vec3f *accRef)
Parses a response from reading the Magnetic and Gravity Reference Vectors register.
VnUartPacket_parseVNQMR
void VnUartPacket_parseVNQMR(VnUartPacket *packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNQMR asynchronous packet.
VnUartPacket_genCmdRestoreFactorySettings
VnError VnUartPacket_genCmdRestoreFactorySettings(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to restore the sensor to factory settings.
VnUartPacket_parseVNYPR
void VnUartPacket_parseVNYPR(VnUartPacket *packet, vec3f *yawPitchRoll)
Parses a VNYPR asynchronous packet.
VnUartPacket_parseImuFilteringConfiguration
void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, 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)
Parses a response from reading the IMU Filtering Configuration register.
VnUartPacket_parseVNISL
void VnUartPacket_parseVNISL(VnUartPacket *packet, vec3f *ypr, vec3d *lla, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
Parse a VNISL asynchronous packet.
VnUartPacket_genCmdSetGyroBias
VnError VnUartPacket_genCmdSetGyroBias(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to set the gyro bias.
VnUartPacket_genReadSerialBaudRate
VnError VnUartPacket_genReadSerialBaudRate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Serial Baud Rate register on a VectorNav sensor.
VnUartPacket_genWriteImuFilteringConfiguration
VnError VnUartPacket_genWriteImuFilteringConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, 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)
Generates a command to write to the IMU Filtering Configuration register on a VectorNav sensor...
VnUartPacket_genWriteReferenceFrameRotation
VnError VnUartPacket_genWriteReferenceFrameRotation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c)
Generates a command to write to the Reference Frame Rotation register on a VectorNav sensor...
VnUartPacket_genCmdKnownMagneticDisturbance
VnError VnUartPacket_genCmdKnownMagneticDisturbance(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
Generates a command to alert the sensor of a known magnetic disturbance.
VnUartPacket_parseVNMAG
void VnUartPacket_parseVNMAG(VnUartPacket *packet, vec3f *magnetic)
Parses a VNMAG asynchronous packet.
VnUartPacket_genReadFirmwareVersion
VnError VnUartPacket_genReadFirmwareVersion(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Firmware Version register on a VectorNav sensor.
VnUartPacket_parseVNIMU
void VnUartPacket_parseVNIMU(VnUartPacket *packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure)
Parses a VNIMU asynchronous packet.
VnUartPacket_extractFloat
float VnUartPacket_extractFloat(VnUartPacket *packet)
Extracts a float data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_genReadDeltaThetaAndDeltaVelocity
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor...
VnUartPacket_parseStartupFilterBiasEstimateRaw
void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
Parses a response from reading the Startup Filter Bias Estimate register.
VnUartPacket_genReadUserTag
VnError VnUartPacket_genReadUserTag(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the User Tag register on a VectorNav sensor.
VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw
void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Accelerometer Advanced Tuning register.
VnUartPacket_parseImuMeasurements
void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
Parses a response from reading the IMU Measurements register.
mat3f
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
VnUartPacket_parseAccelerationMeasurementsRaw
void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f *accel)
Parses a response from reading the Acceleration Measurements register.
VnUartPacket_parseAccelerationMeasurements
void VnUartPacket_parseAccelerationMeasurements(VnUartPacket *packet, vec3f *accel)
Parses a response from reading the Acceleration Measurements register.
VnUartPacket_genWriteCommunicationProtocolControl
VnError VnUartPacket_genWriteCommunicationProtocolControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode)
Generates a command to write to the Communication Protocol Control register on a VectorNav sensor...
VnUartPacket_parseFirmwareVersion
void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char *firmwareVersion)
Parses a response from reading the Firmware Version register.
VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates reg...
VnUartPacket_genReadGpsCompassEstimatedBaseline
VnError VnUartPacket_genReadGpsCompassEstimatedBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor...
VnUartPacket_genReadInsBasicConfiguration
VnError VnUartPacket_genReadInsBasicConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Basic Configuration register on a VectorNav sensor.
VnUartPacket_genReadReferenceVectorConfiguration
VnError VnUartPacket_genReadReferenceVectorConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Reference Vector Configuration register on a VectorNav sensor...
VnUartPacket_parseMagnetometerCompensationRaw
void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Magnetometer Compensation register.
VnUartPacket_parseGpsSolutionEcef
void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - ECEF register.
VnUartPacket_genWriteStartupFilterBiasEstimate
VnError VnUartPacket_genWriteStartupFilterBiasEstimate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
Generates a command to write to the Startup Filter Bias Estimate register on a VectorNav sensor...
VnUartPacket_genWriteAccelerationCompensation
VnError VnUartPacket_genWriteAccelerationCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Acceleration Compensation register on a VectorNav sensor...
VnUartPacket_parseMagneticMeasurements
void VnUartPacket_parseMagneticMeasurements(VnUartPacket *packet, vec3f *mag)
Parses a response from reading the Magnetic Measurements register.
VnUartPacket_extractUint64
uint64_t VnUartPacket_extractUint64(VnUartPacket *packet)
Extracts a uint64_t data type from a binary packet and advances the next extraction point appropriate...
VnUartPacket_genReadVpeMagnetometerBasicTuning
VnError VnUartPacket_genReadVpeMagnetometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
VnUartPacket_parseYawPitchRollRaw
void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f *yawPitchRoll)
Parses a response from reading the Yaw Pitch Roll register.
VnUartPacket_parseGpsSolutionLlaRaw
void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - LLA register.
VnUartPacket_genReadSerialNumber
VnError VnUartPacket_genReadSerialNumber(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Serial Number register on a VectorNav sensor.
VnUartPacket_parseVNYBA
void VnUartPacket_parseVNYBA(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate)
Parses a VNYMR asynchronous packet.
VnUartPacket_genReadCalculatedMagnetometerCalibration
VnError VnUartPacket_genReadCalculatedMagnetometerCalibration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor...
VnUartPacket_parseModelNumberRaw
void VnUartPacket_parseModelNumberRaw(char *packet, char *productName)
Parses a response from reading the Model Number register.
VnUartPacket_parseFilterMeasurementsVarianceParameters
void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
Parses a response from reading the Filter Measurements Variance Parameters register.
VnUartPacket_parseGyroCompensationRaw
void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Gyro Compensation register.
VnUartPacket_extractVec4f
vec4f VnUartPacket_extractVec4f(VnUartPacket *packet)
Extracts a vec4f data type from a binary packet and advances the next extraction point appropriately...
VnUartPacket_parseVelocityCompensationMeasurementRaw
void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f *velocity)
Parses a response from reading the Velocity Compensation Measurement register.
VnUartPacket_parseAttitudeQuaternionRaw
void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f *quat)
Parses a response from reading the Attitude Quaternion register.
VnUartPacket_parseStartupFilterBiasEstimate
void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
Parses a response from reading the Startup Filter Bias Estimate register.
VnUartPacket_extractUint16
uint16_t VnUartPacket_extractUint16(VnUartPacket *packet)
Extracts a uint16_t data type from a binary packet and advances the next extraction point appropriate...
VnUartPacket_genReadMagneticAndGravityReferenceVectors
VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor...
VnUartPacket_parseInsStateEcefRaw
void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - ECEF register.
vec3f
Various vector types and operations.
Definition: vector.h:14
VnUartPacket_parseError
void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error)
Parses an error packet to get the error type.
VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw
void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a response from reading the Delta Theta and Delta Velocity register.
VnUartPacket_parseVpeGyroBasicTuningRaw
void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
Parses a response from reading the VPE Gyro Basic Tuning register.
VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw
void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Magnetometer Advanced Tuning register.
VnUartPacket_parseInsStateEcef
void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - ECEF register.
VnUartPacket::curExtractLoc
size_t curExtractLoc
Definition: upack.h:37
VnUartPacket_genReadGpsSolutionEcef
VnError VnUartPacket_genReadGpsSolutionEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.
VnUartPacket_parseCommunicationProtocolControl
void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
Parses a response from reading the Communication Protocol Control register.
VnUartPacket_parseHardwareRevision
void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t *revision)
Parses a response from reading the Hardware Revision register.
VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
Parses a response from reading the Delta Theta and Delta Velocity Configuration register.
VnUartPacket_parseSerialNumberRaw
void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t *serialNum)
Parses a response from reading the Serial Number register.
VnUartPacket_parseMagnetometerCompensation
void VnUartPacket_parseMagnetometerCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Magnetometer Compensation register.
VnUartPacket_parseVNINS
void VnUartPacket_parseVNINS(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a VNINS asynchronous packet.
VnUartPacket_genWriteBinaryOutput1
VnError VnUartPacket_genWriteBinaryOutput1(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 1 register.
VnUartPacket_genReadModelNumber
VnError VnUartPacket_genReadModelNumber(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Model Number register on a VectorNav sensor.
VnUartPacket_genWriteGpsAntennaOffset
VnError VnUartPacket_genWriteGpsAntennaOffset(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position)
Generates a command to write to the GPS Antenna Offset register on a VectorNav sensor.
VnUartPacket::length
size_t length
Definition: upack.h:40
VnUartPacket_parseVpeMagnetometerBasicTuning
void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Magnetometer Basic Tuning register.
VnUartPacket_parseModelNumber
void VnUartPacket_parseModelNumber(VnUartPacket *packet, char *productName)
Parses a response from reading the Model Number register.