spi.h
#ifndef _VNSPI_H_
#define _VNSPI_H_
#include <stddef.h>
#include "vn/int.h"
#include "vn/error.h"
#include "vn/math/vector.h"
#include "vn/math/matrix.h"
#ifdef __cplusplus
extern "C" {
#endif
VnError VnSpi_genWriteSettings(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genRestorFactorySettings(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genTare(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReset(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genRead(
char* buffer,
size_t* size,
uint8_t regId,
size_t desiredLength);
VnError VnSpi_parseUserTag(
const char* response,
char* tag,
size_t tagLength);
VnError VnSpi_parseModelNumber(
const char* response,
char* productName,
size_t productNameLength);
VnError VnSpi_parseHardwareRevision(
const char* response,
uint32_t* revision);
VnError VnSpi_parseSerialNumber(
const char* response,
uint32_t* serialNum);
VnError VnSpi_parseFirmwareVersion(
const char* response,
char* firmwareVersion,
size_t firmwareVersionLength);
VnError VnSpi_parseSerialBaudRate(
const char* response,
uint32_t* baudrate);
VnError VnSpi_parseAsyncDataOutputType(
const char* response,
uint32_t* ador);
VnError VnSpi_parseAsyncDataOutputFrequency(
const char* response,
uint32_t* adof);
VnError VnSpi_parseYawPitchRoll(
const char* response,
vec3f* yawPitchRoll);
VnError VnSpi_parseAttitudeQuaternion(
const char* response,
vec4f* quat);
VnError VnSpi_parseQuaternionMagneticAccelerationAndAngularRates(
const char* response,
vec4f* quat,
vec3f* mag,
vec3f* accel,
vec3f* gyro);
VnError VnSpi_parseMagneticMeasurements(
const char* response,
vec3f* mag);
VnError VnSpi_parseAccelerationMeasurements(
const char* response,
vec3f* accel);
VnError VnSpi_parseAngularRateMeasurements(
const char* response,
vec3f* gyro);
VnError VnSpi_parseMagneticAccelerationAndAngularRates(
const char* response,
vec3f* mag,
vec3f* accel,
vec3f* gyro);
VnError VnSpi_parseMagneticAndGravityReferenceVectors(
const char* response,
vec3f* magRef,
vec3f* accRef);
VnError VnSpi_parseFilterMeasurementsVarianceParameters(
const char* response,
float* angularWalkVariance,
vec3f* angularRateVariance,
vec3f* magneticVariance,
vec3f* accelerationVariance);
VnError VnSpi_parseMagnetometerCompensation(
const char* response,
mat3f* c,
vec3f* b);
VnError VnSpi_parseFilterActiveTuningParameters(
const char* response,
float* magneticDisturbanceGain,
float* accelerationDisturbanceGain,
float* magneticDisturbanceMemory,
float* accelerationDisturbanceMemory);
VnError VnSpi_parseAccelerationCompensation(
const char* response,
mat3f* c,
vec3f* b);
VnError VnSpi_parseReferenceFrameRotation(
const char* response,
mat3f* c);
VnError VnSpi_parseYawPitchRollMagneticAccelerationAndAngularRates(
const char* response,
vec3f* yawPitchRoll,
vec3f* mag,
vec3f* accel,
vec3f* gyro);
VnError VnSpi_parseCommunicationProtocolControl(
const char* response,
uint8_t* serialCount,
uint8_t* serialStatus,
uint8_t* spiCount,
uint8_t* spiStatus,
uint8_t* serialChecksum,
uint8_t* spiChecksum,
uint8_t* errorMode);
VnError VnSpi_parseSynchronizationControl(
const char* response,
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 VnSpi_parseSynchronizationStatus(
const char* response,
uint32_t* syncInCount,
uint32_t* syncInTime,
uint32_t* syncOutCount);
VnError VnSpi_parseFilterBasicControl(
const char* response,
uint8_t* magMode,
uint8_t* extMagMode,
uint8_t* extAccMode,
uint8_t* extGyroMode,
vec3f* gyroLimit);
VnError VnSpi_parseVpeBasicControl(
const char* response,
uint8_t* enable,
uint8_t* headingMode,
uint8_t* filteringMode,
uint8_t* tuningMode);
VnError VnSpi_parseVpeMagnetometerBasicTuning(
const char* response,
vec3f* baseTuning,
vec3f* adaptiveTuning,
vec3f* adaptiveFiltering);
VnError VnSpi_parseVpeMagnetometerAdvancedTuning(
const char* response,
vec3f* minFiltering,
vec3f* maxFiltering,
float* maxAdaptRate,
float* disturbanceWindow,
float* maxTuning);
VnError VnSpi_parseVpeAccelerometerBasicTuning(
const char* response,
vec3f* baseTuning,
vec3f* adaptiveTuning,
vec3f* adaptiveFiltering);
VnError VnSpi_parseVpeAccelerometerAdvancedTuning(
const char* response,
vec3f* minFiltering,
vec3f* maxFiltering,
float* maxAdaptRate,
float* disturbanceWindow,
float* maxTuning);
VnError VnSpi_parseVpeGyroBasicTuning(
const char* response,
vec3f* angularWalkVariance,
vec3f* baseTuning,
vec3f* adaptiveTuning);
VnError VnSpi_parseFilterStartupGyroBias(
const char* response,
vec3f* bias);
VnError VnSpi_parseMagnetometerCalibrationControl(
const char* response,
uint8_t* hsiMode,
uint8_t* hsiOutput,
uint8_t* convergeRate);
VnError VnSpi_parseCalculatedMagnetometerCalibration(
const char* response,
mat3f* c,
vec3f* b);
VnError VnSpi_parseIndoorHeadingModeControl(
const char* response,
float* maxRateError,
uint8_t* reserved1);
VnError VnSpi_parseVelocityCompensationMeasurement(
const char* response,
vec3f* velocity);
VnError VnSpi_parseVelocityCompensationControl(
const char* response,
uint8_t* mode,
float* velocityTuning,
float* rateTuning);
VnError VnSpi_parseVelocityCompensationStatus(
const char* response,
float* x,
float* xDot,
vec3f* accelOffset,
vec3f* omega);
VnError VnSpi_parseImuMeasurements(
const char* response,
vec3f* mag,
vec3f* accel,
vec3f* gyro,
float* temp,
float* pressure);
VnError VnSpi_parseGpsConfiguration(
const char* response,
uint8_t* mode,
uint8_t* ppsSource,
uint8_t* reserved1,
uint8_t* reserved2,
uint8_t* reserved3);
VnError VnSpi_parseGpsAntennaOffset(
const char* response,
vec3f* position);
VnError VnSpi_parseGpsSolutionLla(
const char* response,
double* time,
uint16_t* week,
uint8_t* gpsFix,
uint8_t* numSats,
vec3d* lla,
vec3f* nedVel,
vec3f* nedAcc,
float* speedAcc,
float* timeAcc);
VnError VnSpi_parseGpsSolutionEcef(
const char* response,
double* tow,
uint16_t* week,
uint8_t* gpsFix,
uint8_t* numSats,
vec3d* position,
vec3f* velocity,
vec3f* posAcc,
float* speedAcc,
float* timeAcc);
VnError VnSpi_parseInsSolutionLla(
const char* response,
double* time,
uint16_t* week,
uint16_t* status,
vec3f* yawPitchRoll,
vec3d* position,
vec3f* nedVel,
float* attUncertainty,
float* posUncertainty,
float* velUncertainty);
VnError VnSpi_parseInsSolutionEcef(
const char* response,
double* time,
uint16_t* week,
uint16_t* status,
vec3f* yawPitchRoll,
vec3d* position,
vec3f* velocity,
float* attUncertainty,
float* posUncertainty,
float* velUncertainty);
VnError VnSpi_parseInsBasicConfiguration(
const char* response,
uint8_t* scenario,
uint8_t* ahrsAiding,
uint8_t* estBaseline,
uint8_t* resv2);
VnError VnSpi_parseInsAdvancedConfiguration(
const char* response,
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);
VnError VnSpi_parseInsStateLla(
const char* response,
vec3f* yawPitchRoll,
vec3d* position,
vec3f* velocity,
vec3f* accel,
vec3f* angularRate);
VnError VnSpi_parseInsStateEcef(
const char* response,
vec3f* yawPitchRoll,
vec3d* position,
vec3f* velocity,
vec3f* accel,
vec3f* angularRate);
VnError VnSpi_parseStartupFilterBiasEstimate(
const char* response,
vec3f* gyroBias,
vec3f* accelBias,
float* pressureBias);
VnError VnSpi_parseDeltaThetaAndDeltaVelocity(
const char* response,
float* deltaTime,
vec3f* deltaTheta,
vec3f* deltaVelocity);
VnError VnSpi_parseDeltaThetaAndDeltaVelocityConfiguration(
const char* response,
uint8_t* integrationFrame,
uint8_t* gyroCompensation,
uint8_t* accelCompensation,
uint8_t* reserved1,
uint16_t* reserved2);
VnError VnSpi_parseReferenceVectorConfiguration(
const char* response,
uint8_t* useMagModel,
uint8_t* useGravityModel,
uint8_t* resv1,
uint8_t* resv2,
uint32_t* recalcThreshold,
float* year,
vec3d* position);
VnError VnSpi_parseGyroCompensation(
const char* response,
mat3f* c,
vec3f* b);
VnError VnSpi_parseImuFilteringConfiguration(
const char* response,
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 VnSpi_parseGpsCompassBaseline(
const char* response,
vec3f* position,
vec3f* uncertainty);
VnError VnSpi_parseGpsCompassEstimatedBaseline(
const char* response,
uint8_t* estBaselineUsed,
uint8_t* resv,
uint16_t* numMeas,
vec3f* position,
vec3f* uncertainty);
VnError VnSpi_parseImuRateConfiguration(
const char* response,
uint16_t* imuRate,
uint16_t* navDivisor,
float* filterTargetRate,
float* filterMinRate);
VnError VnSpi_parseYawPitchRollTrueBodyAccelerationAndAngularRates(
const char* response,
vec3f* yawPitchRoll,
vec3f* bodyAccel,
vec3f* gyro);
VnError VnSpi_parseYawPitchRollTrueInertialAccelerationAndAngularRates(
const char* response,
vec3f* yawPitchRoll,
vec3f* inertialAccel,
vec3f* gyro);
VnError VnSpi_genReadUserTag(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadModelNumber(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadHardwareRevision(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadSerialNumber(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadFirmwareVersion(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadSerialBaudRate(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAsyncDataOutputType(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAsyncDataOutputFrequency(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadYawPitchRoll(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAttitudeQuaternion(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadMagneticMeasurements(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAccelerationMeasurements(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAngularRateMeasurements(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadMagneticAccelerationAndAngularRates(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadMagneticAndGravityReferenceVectors(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadMagnetometerCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadAccelerationCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadReferenceFrameRotation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadCommunicationProtocolControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadSynchronizationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadSynchronizationStatus(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadVpeBasicControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadVpeMagnetometerBasicTuning(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadVpeAccelerometerBasicTuning(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadMagnetometerCalibrationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadCalculatedMagnetometerCalibration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadVelocityCompensationMeasurement(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadVelocityCompensationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadImuMeasurements(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsAntennaOffset(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsSolutionLla(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsSolutionEcef(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsSolutionLla(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsSolutionEcef(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsBasicConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsBasicConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsStateLla(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadInsStateEcef(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadStartupFilterBiasEstimate(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadDeltaThetaAndDeltaVelocity(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadReferenceVectorConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGyroCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadImuFilteringConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsCompassBaseline(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadGpsCompassEstimatedBaseline(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize);
/* \}*/
VnError VnSpi_genWriteUserTag(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
char* tag);
VnError VnSpi_genWriteSerialBaudRate(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t baudrate);
VnError VnSpi_genWriteSerialBaudRateWithOptions(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t baudrate);
VnError VnSpi_genWriteAsyncDataOutputType(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t ador);
VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t ador);
VnError VnSpi_genWriteAsyncDataOutputFrequency(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t adof);
VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t adof);
VnError VnSpi_genWriteMagneticAndGravityReferenceVectors(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f magRef,
vec3f accRef);
VnError VnSpi_genWriteMagnetometerCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
mat3f c,
vec3f b);
VnError VnSpi_genWriteAccelerationCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
mat3f c,
vec3f b);
VnError VnSpi_genWriteReferenceFrameRotation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
mat3f c);
VnError VnSpi_genWriteCommunicationProtocolControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t serialCount,
uint8_t serialStatus,
uint8_t spiCount,
uint8_t spiStatus,
uint8_t serialChecksum,
uint8_t spiChecksum,
uint8_t errorMode);
VnError VnSpi_genWriteSynchronizationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
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 VnSpi_genWriteSynchronizationStatus(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint32_t syncInCount,
uint32_t syncInTime,
uint32_t syncOutCount);
VnError VnSpi_genWriteVpeBasicControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t enable,
uint8_t headingMode,
uint8_t filteringMode,
uint8_t tuningMode);
VnError VnSpi_genWriteVpeMagnetometerBasicTuning(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering);
VnError VnSpi_genWriteVpeAccelerometerBasicTuning(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering);
VnError VnSpi_genWriteMagnetometerCalibrationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t hsiMode,
uint8_t hsiOutput,
uint8_t convergeRate);
VnError VnSpi_genWriteVelocityCompensationMeasurement(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f velocity);
VnError VnSpi_genWriteVelocityCompensationControl(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t mode,
float velocityTuning,
float rateTuning);
VnError VnSpi_genWriteGpsConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t mode,
uint8_t ppsSource,
uint8_t reserved1,
uint8_t reserved2,
uint8_t reserved3);
VnError VnSpi_genWriteGpsAntennaOffset(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f position);
VnError VnSpi_genWriteInsBasicConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t scenario,
uint8_t ahrsAiding,
uint8_t estBaseline,
uint8_t resv2);
VnError VnSpi_genWriteStartupFilterBiasEstimate(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f gyroBias,
vec3f accelBias,
float pressureBias);
VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t integrationFrame,
uint8_t gyroCompensation,
uint8_t accelCompensation,
uint8_t reserved1,
uint16_t reserved2);
VnError VnSpi_genWriteReferenceVectorConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
uint8_t useMagModel,
uint8_t useGravityModel,
uint8_t resv1,
uint8_t resv2,
uint32_t recalcThreshold,
float year,
vec3d position);
VnError VnSpi_genWriteGyroCompensation(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
mat3f c,
vec3f b);
VnError VnSpi_genWriteImuFilteringConfiguration(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
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 VnSpi_genWriteGpsCompassBaseline(
char* buffer,
size_t* size,
size_t desiredLength,
size_t* responseSize,
vec3f position,
vec3f uncertainty);
#ifdef __cplusplus
}
#endif
#endif
VnSpi_genReadAccelerationMeasurements
VnError VnSpi_genReadAccelerationMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Acceleration Measurements register on a VectorNav sensor...
VnSpi_genReadReferenceFrameRotation
VnError VnSpi_genReadReferenceFrameRotation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.
VnSpi_genWriteAsyncDataOutputFrequency
VnError VnSpi_genWriteAsyncDataOutputFrequency(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
Generates a command to write the Async Data Output Frequency register on a VectorNav sensor...
VnSpi_genReadAngularRateMeasurements
VnError VnSpi_genReadAngularRateMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Angular Rate Measurements register on a VectorNav sensor...
VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration
VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav ...
VnSpi_genReadGpsCompassBaseline
VnError VnSpi_genReadGpsCompassBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.
VnSpi_genReadInsStateLla
VnError VnSpi_genReadInsStateLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS State - LLA register on a VectorNav sensor.
VnSpi_genReadGpsConfiguration
VnError VnSpi_genReadGpsConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Configuration register on a VectorNav sensor. ...
VnSpi_genWriteMagnetometerCompensation
VnError VnSpi_genWriteMagnetometerCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Magnetometer Compensation register on a VectorNav sensor...
VnSpi_genReadMagneticAndGravityReferenceVectors
VnError VnSpi_genReadMagneticAndGravityReferenceVectors(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor...
VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration
VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
Generates a command to write the Delta Theta and Delta Velocity Configuration register on a VectorNav...
VnSpi_genReadImuMeasurements
VnError VnSpi_genReadImuMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the IMU Measurements register on a VectorNav sensor.
VnSpi_genWriteVelocityCompensationMeasurement
VnError VnSpi_genWriteVelocityCompensationMeasurement(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f velocity)
Generates a command to write the Velocity Compensation Measurement register on a VectorNav sensor...
VnSpi_genReadSerialNumber
VnError VnSpi_genReadSerialNumber(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Serial Number register on a VectorNav sensor.
VnSpi_genWriteCommunicationProtocolControl
VnError VnSpi_genWriteCommunicationProtocolControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, 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 the Communication Protocol Control register on a VectorNav sensor...
VnSpi_genWriteVpeBasicControl
VnError VnSpi_genWriteVpeBasicControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
Generates a command to write the VPE Basic Control register on a VectorNav sensor.
VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates
VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register o...
VnSpi_genWriteGpsAntennaOffset
VnError VnSpi_genWriteGpsAntennaOffset(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position)
Generates a command to write the GPS Antenna Offset register on a VectorNav sensor.
VnSpi_genWriteUserTag
VnError VnSpi_genWriteUserTag(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, char *tag)
Generates a command to write the User Tag register on a VectorNav sensor.
VnSpi_genReadGpsSolutionLla
VnError VnSpi_genReadGpsSolutionLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.
VnSpi_genReadVpeAccelerometerBasicTuning
VnError VnSpi_genReadVpeAccelerometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
VnSpi_genReadGpsSolutionEcef
VnError VnSpi_genReadGpsSolutionEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.
VnSpi_genWriteMagnetometerCalibrationControl
VnError VnSpi_genWriteMagnetometerCalibrationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
Generates a command to write the Magnetometer Calibration Control register on a VectorNav sensor...
VnSpi_genReadInsSolutionLla
VnError VnSpi_genReadInsSolutionLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Solution - LLA register on a VectorNav sensor.
VnSpi_genReadImuFilteringConfiguration
VnError VnSpi_genReadImuFilteringConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor...
VnSpi_genWriteReferenceFrameRotation
VnError VnSpi_genWriteReferenceFrameRotation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c)
Generates a command to write the Reference Frame Rotation register on a VectorNav sensor...
VnSpi_genReadAsyncDataOutputType
VnError VnSpi_genReadAsyncDataOutputType(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Async Data Output Type register on a VectorNav sensor.
VnSpi_genReadInsStateEcef
VnError VnSpi_genReadInsStateEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS State - ECEF register on a VectorNav sensor.
VnSpi_genReadStartupFilterBiasEstimate
VnError VnSpi_genReadStartupFilterBiasEstimate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor...
VnSpi_genWriteAccelerationCompensation
VnError VnSpi_genWriteAccelerationCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Acceleration Compensation register on a VectorNav sensor...
vec4f
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
VnSpi_genReadUserTag
VnError VnSpi_genReadUserTag(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the User Tag register on a VectorNav sensor.
VnSpi_genWriteVpeAccelerometerBasicTuning
VnError VnSpi_genWriteVpeAccelerometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
vec3d
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
VnSpi_genReadInsBasicConfiguration
VnError VnSpi_genReadInsBasicConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Basic Configuration register on a VectorNav sensor.
VnSpi_genReadAsyncDataOutputFrequency
VnError VnSpi_genReadAsyncDataOutputFrequency(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Async Data Output Frequency register on a VectorNav sensor...
VnSpi_genReadVelocityCompensationControl
VnError VnSpi_genReadVelocityCompensationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Velocity Compensation Control register on a VectorNav sensor...
VnSpi_genReadAccelerationCompensation
VnError VnSpi_genReadAccelerationCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Acceleration Compensation register on a VectorNav sensor...
VnSpi_genWriteInsBasicConfiguration
VnError VnSpi_genWriteInsBasicConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
Generates a command to write the INS Basic Configuration register on a VectorNav sensor.
VnSpi_genReadMagneticAccelerationAndAngularRates
VnError VnSpi_genReadMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sens...
VnSpi_genWriteGpsConfiguration
VnError VnSpi_genWriteGpsConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
Generates a command to write the GPS Configuration register on a VectorNav sensor.
VnSpi_genWriteAsyncDataOutputType
VnError VnSpi_genWriteAsyncDataOutputType(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
Generates a command to write the Async Data Output Type register on a VectorNav sensor.
VnSpi_genReadSynchronizationControl
VnError VnSpi_genReadSynchronizationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Synchronization Control register on a VectorNav sensor.
VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates
VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates regist...
VnSpi_genWriteSerialBaudRateWithOptions
VnError VnSpi_genWriteSerialBaudRateWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
Generates a command to write the Serial Baud Rate register on a VectorNav sensor. ...
VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates
VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a Ve...
VnSpi_genReadSynchronizationStatus
VnError VnSpi_genReadSynchronizationStatus(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Synchronization Status register on a VectorNav sensor.
VnSpi_genReadVpeMagnetometerBasicTuning
VnError VnSpi_genReadVpeMagnetometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates
VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register o...
VnSpi_genReadFirmwareVersion
VnError VnSpi_genReadFirmwareVersion(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Firmware Version register on a VectorNav sensor.
VnSpi_genReadSerialBaudRate
VnError VnSpi_genReadSerialBaudRate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Serial Baud Rate register on a VectorNav sensor.
VnSpi_genWriteStartupFilterBiasEstimate
VnError VnSpi_genWriteStartupFilterBiasEstimate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
Generates a command to write the Startup Filter Bias Estimate register on a VectorNav sensor...
VnSpi_genWriteSerialBaudRate
VnError VnSpi_genWriteSerialBaudRate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
Generates a command to write the Serial Baud Rate register on a VectorNav sensor. ...
VnSpi_genReadYawPitchRoll
VnError VnSpi_genReadYawPitchRoll(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.
VnSpi_genWriteImuFilteringConfiguration
VnError VnSpi_genWriteImuFilteringConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, 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 the IMU Filtering Configuration register on a VectorNav sensor...
VnSpi_genReadDeltaThetaAndDeltaVelocity
VnError VnSpi_genReadDeltaThetaAndDeltaVelocity(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor...
VnSpi_genWriteSynchronizationControl
VnError VnSpi_genWriteSynchronizationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, 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 the Synchronization Control register on a VectorNav sensor.
VnSpi_genWriteSynchronizationStatus
VnError VnSpi_genWriteSynchronizationStatus(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
Generates a command to write the Synchronization Status register on a VectorNav sensor.
VnSpi_genWriteAsyncDataOutputFrequencyWithOptions
VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
Generates a command to write the Async Data Output Frequency register on a VectorNav sensor...
VnSpi_genReadGpsAntennaOffset
VnError VnSpi_genReadGpsAntennaOffset(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.
VnSpi_genReadCommunicationProtocolControl
VnError VnSpi_genReadCommunicationProtocolControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Communication Protocol Control register on a VectorNav sensor...
VnSpi_genReadReferenceVectorConfiguration
VnError VnSpi_genReadReferenceVectorConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Reference Vector Configuration register on a VectorNav sensor...
mat3f
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
VnSpi_genReadVpeBasicControl
VnError VnSpi_genReadVpeBasicControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Basic Control register on a VectorNav sensor. ...
VnSpi_genWriteAsyncDataOutputTypeWithOptions
VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
Generates a command to write the Async Data Output Type register on a VectorNav sensor.
VnSpi_genReadMagnetometerCalibrationControl
VnError VnSpi_genReadMagnetometerCalibrationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor...
VnSpi_genWriteReferenceVectorConfiguration
VnError VnSpi_genWriteReferenceVectorConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
Generates a command to write the Reference Vector Configuration register on a VectorNav sensor...
VnSpi_genReadGpsCompassEstimatedBaseline
VnError VnSpi_genReadGpsCompassEstimatedBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor...
VnSpi_genWriteGyroCompensation
VnError VnSpi_genWriteGyroCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Gyro Compensation register on a VectorNav sensor.
VnSpi_genReadCalculatedMagnetometerCalibration
VnError VnSpi_genReadCalculatedMagnetometerCalibration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor...
VnSpi_genReadHardwareRevision
VnError VnSpi_genReadHardwareRevision(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Hardware Revision register on a VectorNav sensor. ...
VnSpi_genReadMagneticMeasurements
VnError VnSpi_genReadMagneticMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic Measurements register on a VectorNav sensor.
VnSpi_genReadGyroCompensation
VnError VnSpi_genReadGyroCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Gyro Compensation register on a VectorNav sensor. ...
vec3f
Various vector types and operations.
Definition: vector.h:14
VnSpi_genReadVelocityCompensationMeasurement
VnError VnSpi_genReadVelocityCompensationMeasurement(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor...
VnSpi_genReadModelNumber
VnError VnSpi_genReadModelNumber(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Model Number register on a VectorNav sensor.
VnSpi_genWriteVelocityCompensationControl
VnError VnSpi_genWriteVelocityCompensationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, float velocityTuning, float rateTuning)
Generates a command to write the Velocity Compensation Control register on a VectorNav sensor...
VnSpi_genReadInsSolutionEcef
VnError VnSpi_genReadInsSolutionEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.
VnSpi_genReadMagnetometerCompensation
VnError VnSpi_genReadMagnetometerCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetometer Compensation register on a VectorNav sensor...
VnSpi_genWriteMagneticAndGravityReferenceVectors
VnError VnSpi_genWriteMagneticAndGravityReferenceVectors(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f magRef, vec3f accRef)
Generates a command to write the Magnetic and Gravity Reference Vectors register on a VectorNav senso...
VnSpi_genReadAttitudeQuaternion
VnError VnSpi_genReadAttitudeQuaternion(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Attitude Quaternion register on a VectorNav sensor.
VnSpi_genWriteVpeMagnetometerBasicTuning
VnError VnSpi_genWriteVpeMagnetometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
VnSpi_genWriteGpsCompassBaseline
VnError VnSpi_genWriteGpsCompassBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position, vec3f uncertainty)
Generates a command to write the GPS Compass Baseline register on a VectorNav sensor.