1 #ifndef _VNPROTOCOL_UART_PACKET_H_
2 #define _VNPROTOCOL_UART_PACKET_H_
19 static const unsigned char BinaryGroupLengths[
sizeof(uint8_t)*8][
sizeof(uint16_t)*8];
36 Packet(
char const* packet,
size_t length);
38 explicit Packet(std::string packet);
56 std::string datastr();
95 AsciiAsync determineAsciiAsyncType();
108 bool isCompatible(CommonGroup commonGroup, TimeGroup timeGroup, ImuGroup imuGroup, GpsGroup gpsGroup, AttitudeGroup attitudeGroup, InsGroup insGroup);
120 static size_t computeBinaryPacketLength(
const char *startOfPossibleBinaryPacket);
127 static size_t computeNumOfBytesForBinaryGroupPayload(BinaryGroup group, uint16_t groupField);
132 SensorError parseError();
143 uint16_t groupField(
size_t index);
155 uint8_t extractUint8();
161 int8_t extractInt8();
167 uint16_t extractUint16();
173 uint32_t extractUint32();
179 uint64_t extractUint64();
185 float extractFloat();
221 static size_t finalizeCommand(ErrorDetectionMode errorDetectionMode,
char *packet,
size_t length);
235 static size_t genReadBinaryOutput1(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
243 static size_t genReadBinaryOutput2(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
251 static size_t genReadBinaryOutput3(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
272 static size_t genWriteBinaryOutput1(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField);
292 static size_t genWriteBinaryOutput2(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField);
312 static size_t genWriteBinaryOutput3(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField);
321 static size_t genWriteSettings(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size);
329 static size_t genTare(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size);
338 static size_t genKnownMagneticDisturbance(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size,
bool isMagneticDisturbancePresent);
347 static size_t genKnownAccelerationDisturbance(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size,
bool isAccelerationDisturbancePresent);
355 static size_t genSetGyroBias(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size);
363 static size_t genRestoreFactorySettings(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size);
371 static size_t genReset(ErrorDetectionMode errorDetectionMode,
char *buffer,
size_t size);
380 static size_t genReadSerialBaudRate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t port);
390 static size_t genWriteSerialBaudRate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t baudrate, uint8_t port);
399 static size_t genReadAsyncDataOutputType(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t port);
409 static size_t genWriteAsyncDataOutputType(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t ador, uint8_t port);
418 static size_t genReadAsyncDataOutputFrequency(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t port);
428 static size_t genWriteAsyncDataOutputFrequency(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t adof, uint8_t port);
436 static size_t genReadUserTag(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
445 static size_t genWriteUserTag(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, std::string tag);
453 static size_t genReadModelNumber(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
461 static size_t genReadHardwareRevision(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
469 static size_t genReadSerialNumber(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
477 static size_t genReadFirmwareVersion(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
485 static size_t genReadSerialBaudRate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
494 static size_t genWriteSerialBaudRate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t baudrate);
502 static size_t genReadAsyncDataOutputType(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
511 static size_t genWriteAsyncDataOutputType(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t ador);
519 static size_t genReadAsyncDataOutputFrequency(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
528 static size_t genWriteAsyncDataOutputFrequency(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t adof);
536 static size_t genReadYawPitchRoll(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
544 static size_t genReadAttitudeQuaternion(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
552 static size_t genReadQuaternionMagneticAccelerationAndAngularRates(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
560 static size_t genReadMagneticMeasurements(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
568 static size_t genReadAccelerationMeasurements(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
576 static size_t genReadAngularRateMeasurements(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
584 static size_t genReadMagneticAccelerationAndAngularRates(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
592 static size_t genReadMagneticAndGravityReferenceVectors(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
602 static size_t genWriteMagneticAndGravityReferenceVectors(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f magRef,
vn::math::vec3f accRef);
610 static size_t genReadFilterMeasurementsVarianceParameters(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
622 static size_t genWriteFilterMeasurementsVarianceParameters(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
float angularWalkVariance,
vn::math::vec3f angularRateVariance,
vn::math::vec3f magneticVariance,
vn::math::vec3f accelerationVariance);
630 static size_t genReadMagnetometerCompensation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
640 static size_t genWriteMagnetometerCompensation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::mat3f c,
vn::math::vec3f b);
648 static size_t genReadFilterActiveTuningParameters(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
660 static size_t genWriteFilterActiveTuningParameters(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
float magneticDisturbanceGain,
float accelerationDisturbanceGain,
float magneticDisturbanceMemory,
float accelerationDisturbanceMemory);
668 static size_t genReadAccelerationCompensation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
678 static size_t genWriteAccelerationCompensation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::mat3f c,
vn::math::vec3f b);
686 static size_t genReadReferenceFrameRotation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
695 static size_t genWriteReferenceFrameRotation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::mat3f c);
703 static size_t genReadYawPitchRollMagneticAccelerationAndAngularRates(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
711 static size_t genReadCommunicationProtocolControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
726 static size_t genWriteCommunicationProtocolControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode);
734 static size_t genReadSynchronizationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
749 static size_t genWriteSynchronizationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth);
757 static size_t genReadSynchronizationStatus(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
768 static size_t genWriteSynchronizationStatus(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount);
776 static size_t genReadFilterBasicControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
789 static size_t genWriteFilterBasicControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t magMode, uint8_t extMagMode, uint8_t extAccMode, uint8_t extGyroMode,
vn::math::vec3f gyroLimit);
797 static size_t genReadVpeBasicControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
809 static size_t genWriteVpeBasicControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode);
817 static size_t genReadVpeMagnetometerBasicTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
836 static size_t genReadVpeMagnetometerAdvancedTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
849 static size_t genWriteVpeMagnetometerAdvancedTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f minFiltering,
vn::math::vec3f maxFiltering,
float maxAdaptRate,
float disturbanceWindow,
float maxTuning);
857 static size_t genReadVpeAccelerometerBasicTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
876 static size_t genReadVpeAccelerometerAdvancedTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
889 static size_t genWriteVpeAccelerometerAdvancedTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f minFiltering,
vn::math::vec3f maxFiltering,
float maxAdaptRate,
float disturbanceWindow,
float maxTuning);
897 static size_t genReadVpeGyroBasicTuning(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
916 static size_t genReadFilterStartupGyroBias(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
925 static size_t genWriteFilterStartupGyroBias(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f bias);
933 static size_t genReadMagnetometerCalibrationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
944 static size_t genWriteMagnetometerCalibrationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate);
952 static size_t genReadCalculatedMagnetometerCalibration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
960 static size_t genReadIndoorHeadingModeControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
969 static size_t genWriteIndoorHeadingModeControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
float maxRateError);
977 static size_t genReadVelocityCompensationMeasurement(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
986 static size_t genWriteVelocityCompensationMeasurement(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f velocity);
994 static size_t genReadVelocityCompensationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1005 static size_t genWriteVelocityCompensationControl(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t mode,
float velocityTuning,
float rateTuning);
1013 static size_t genReadVelocityCompensationStatus(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1021 static size_t genReadImuMeasurements(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1029 static size_t genReadGpsConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1039 static size_t genWriteGpsConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t mode, uint8_t ppsSource);
1047 static size_t genReadGpsAntennaOffset(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1056 static size_t genWriteGpsAntennaOffset(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f position);
1064 static size_t genReadGpsSolutionLla(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1072 static size_t genReadGpsSolutionEcef(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1080 static size_t genReadInsSolutionLla(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1088 static size_t genReadInsSolutionEcef(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1096 static size_t genReadInsBasicConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1107 static size_t genWriteInsBasicConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline);
1115 static size_t genReadInsAdvancedConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1138 static size_t genWriteInsAdvancedConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, 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);
1146 static size_t genReadInsStateLla(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1154 static size_t genReadInsStateEcef(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1162 static size_t genReadStartupFilterBiasEstimate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1173 static size_t genWriteStartupFilterBiasEstimate(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f gyroBias,
vn::math::vec3f accelBias,
float pressureBias);
1181 static size_t genReadDeltaThetaAndDeltaVelocity(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1189 static size_t genReadDeltaThetaAndDeltaVelocityConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1200 static size_t genWriteDeltaThetaAndDeltaVelocityConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation);
1208 static size_t genReadReferenceVectorConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1221 static size_t genWriteReferenceVectorConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint8_t useMagModel, uint8_t useGravityModel, uint32_t recalcThreshold,
float year,
vn::math::vec3d position);
1229 static size_t genReadGyroCompensation(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1247 static size_t genReadImuFilteringConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1265 static size_t genWriteImuFilteringConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, 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);
1273 static size_t genReadGpsCompassBaseline(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1283 static size_t genWriteGpsCompassBaseline(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size,
vn::math::vec3f position,
vn::math::vec3f uncertainty);
1291 static size_t genReadGpsCompassEstimatedBaseline(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1299 static size_t genReadImuRateConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1311 static size_t genWriteImuRateConfiguration(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size, uint16_t imuRate, uint16_t navDivisor,
float filterTargetRate,
float filterMinRate);
1319 static size_t genReadYawPitchRollTrueBodyAccelerationAndAngularRates(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1327 static size_t genReadYawPitchRollTrueInertialAccelerationAndAngularRates(ErrorDetectionMode errorDetectionMode,
char* buffer,
size_t size);
1616 void parseBinaryOutput(
1617 uint16_t* asyncMode,
1618 uint16_t* rateDivisor,
1619 uint16_t* outputGroup,
1620 uint16_t* commonField,
1621 uint16_t* timeField,
1624 uint16_t* attitudeField,
1625 uint16_t* insField);
1630 void parseUserTag(
char* tag);
1635 void parseModelNumber(
char* productName);
1640 void parseHardwareRevision(uint32_t* revision);
1645 void parseSerialNumber(uint32_t* serialNum);
1650 void parseFirmwareVersion(
char* firmwareVersion);
1655 void parseSerialBaudRate(uint32_t* baudrate);
1660 void parseAsyncDataOutputType(uint32_t* ador);
1665 void parseAsyncDataOutputFrequency(uint32_t* adof);
1733 void parseFilterActiveTuningParameters(
float* magneticDisturbanceGain,
float* accelerationDisturbanceGain,
float* magneticDisturbanceMemory,
float* accelerationDisturbanceMemory);
1763 void parseCommunicationProtocolControl(uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode);
1774 void parseSynchronizationControl(uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth);
1781 void parseSynchronizationStatus(uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount);
1790 void parseFilterBasicControl(uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode,
vn::math::vec3f* gyroLimit);
1798 void parseVpeBasicControl(uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode);
1814 void parseVpeMagnetometerAdvancedTuning(
vn::math::vec3f* minFiltering,
vn::math::vec3f* maxFiltering,
float* maxAdaptRate,
float* disturbanceWindow,
float* maxTuning);
1830 void parseVpeAccelerometerAdvancedTuning(
vn::math::vec3f* minFiltering,
vn::math::vec3f* maxFiltering,
float* maxAdaptRate,
float* disturbanceWindow,
float* maxTuning);
1849 void parseMagnetometerCalibrationControl(uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate);
1860 void parseIndoorHeadingModeControl(
float* maxRateError);
1872 void parseVelocityCompensationControl(uint8_t* mode,
float* velocityTuning,
float* rateTuning);
1895 void parseGpsConfiguration(uint8_t* mode, uint8_t* ppsSource);
1939 void parseInsSolutionLla(
double* time, uint16_t* week, uint16_t* status,
vn::math::vec3f* yawPitchRoll,
vn::math::vec3d* position,
vn::math::vec3f* nedVel,
float* attUncertainty,
float* posUncertainty,
float* velUncertainty);
1952 void parseInsSolutionEcef(
double* time, uint16_t* week, uint16_t* status,
vn::math::vec3f* yawPitchRoll,
vn::math::vec3d* position,
vn::math::vec3f* velocity,
float* attUncertainty,
float* posUncertainty,
float* velUncertainty);
1958 void parseInsBasicConfiguration(uint8_t* scenario, uint8_t* ahrsAiding);
1965 void parseInsBasicConfiguration(uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline);
1984 void parseInsAdvancedConfiguration(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);
2023 void parseDeltaThetaAndDeltaVelocityConfiguration(uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation);
2032 void parseReferenceVectorConfiguration(uint8_t* useMagModel, uint8_t* useGravityModel, uint32_t* recalcThreshold,
float* year,
vn::math::vec3d* position);
2052 void parseImuFilteringConfiguration(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);
2074 void parseImuRateConfiguration(uint16_t* imuRate, uint16_t* navDivisor,
float* filterTargetRate,
float* filterMinRate);
2094 void ensureCanExtract(
size_t numOfBytes);
2096 bool _isPacketDataMine;
2099 size_t _curExtractLoc;
Template for a Euclidean vector.
Definition: vector.h:22
Template for a matrix.
Definition: matrix.h:20
Type is unknown.
Definition: packet.h:24
Type
The different types of UART packets.
Definition: packet.h:22
Binary packet.
Definition: packet.h:25
Structure representing a UART packet received from the VectorNav sensor.
Definition: packet.h:16