VectorNav C/C++ Library
Data Structures | Defines | Typedefs | Functions
include/vn100.h File Reference
#include "vncp_services.h"
#include "vn_kinematics.h"
#include "vn_linearAlgebra.h"

Go to the source code of this file.

Data Structures

struct  Vn100
 Holds connection information for accessing a VN-100 device. More...
struct  Vn100CompositeData
 Composite structure of the various asynchronous data the VN-100 device is capable of outputting. More...

Defines

#define VNASYNC_OFF   0
#define VNASYNC_VNYPR   1
#define VNASYNC_VNQTN   2
#define VNASYNC_VNQTM   3
#define VNASYNC_VNQTA   4
#define VNASYNC_VNQTR   5
#define VNASYNC_VNQMA   6
#define VNASYNC_VNQAR   7
#define VNASYNC_VNQMR   8
#define VNASYNC_VNDCM   9
#define VNASYNC_VNMAG   10
#define VNASYNC_VNACC   11
#define VNASYNC_VNGYR   12
#define VNASYNC_VNMAR   13
#define VNASYNC_VNYMR   14
#define VNASYNC_VNYCM   15
#define VNASYNC_VNYBA   16
#define VNASYNC_VNYIA   17
#define VNASYNC_VNICM   18
#define VNASYNC_VNRAW   252
#define VNASYNC_VNCMV   253
#define VNASYNC_VNSTV   254
#define VNASYNC_VNCOV   255

Typedefs

typedef void(* Vn100NewAsyncDataReceivedListener )(Vn100 *sender, Vn100CompositeData *newData)
 Fuction type used for receiving notifications of when new asynchronous data is received.

Functions

VN_ERROR_CODE vn100_connect (Vn100 *newVn100, const char *portName, int baudrate)
 Connects to a VectorNav VN-100 device.
VN_ERROR_CODE vn100_disconnect (Vn100 *vn100)
 Disconnects from the VN-100 device and disposes of any internal resources.
unsigned char vn100_checksum_compute (const char *cmdToCheck)
 Computes the checksum for the provided command.
void vn100_checksum_computeAndReturnAsHex (const char *cmdToCheck, char *checksum)
 Computes the checksum for the provided command and returns it as a two character string representing it in hexidecimal.
VN_ERROR_CODE vn100_set_timeout (Vn100 *vn100, int timeout)
 Sets the timeout value for the reading values from the VN-100 sensor.
int vn100_get_timeout (Vn100 *vn100)
 Retrieves the associated timeout value for the Vn100 object.
VN_ERROR_CODE vn100_getCurrentAsyncData (Vn100 *vn100, Vn100CompositeData *curData)
 Retreives the most recently received asynchronous measurements received from the VN-100 device.
VN_ERROR_CODE vn100_writeSettings (Vn100 *vn100, VN_BOOL waitForResponse)
 Commands the VN-100 unit to write its current register setting to non-volatile memory.
VN_ERROR_CODE vn100_restoreFactorySettings (Vn100 *vn100, VN_BOOL waitForResponse)
 Commands the VN-100 unit to revert its settings to factory defaults.
VN_ERROR_CODE vn100_tare (Vn100 *vn100, VN_BOOL waitForResponse)
 Commands the VN-100 module to zero out its current orientation.
VN_ERROR_CODE vn100_reset (Vn100 *vn100)
 Commands the VN-100 module to reset itself.
VN_ERROR_CODE vn100_knownMagneticDisturbance (Vn100 *vn100, VN_BOOL isDisturbancePresent, VN_BOOL waitForResponse)
 Notifies the VN-100 module if a known magnetic disturbance is present.
VN_ERROR_CODE vn100_knownAccelerationDisturbance (Vn100 *vn100, VN_BOOL isDisturbancePresent, VN_BOOL waitForResponse)
 Notifies the VN-100 module if a known acceleration disturbance is present.
VN_ERROR_CODE vn100_setGyroBias (Vn100 *vn100, VN_BOOL waitForResponse)
 Commands the VN-100 module to save the current gyro bias estimate to memory for use on the next module startup.
VN_ERROR_CODE vn100_registerAsyncDataReceivedListener (Vn100 *vn100, Vn100NewAsyncDataReceivedListener listener)
 Allows registering a function which will be called whenever a new asynchronous data packet is received from the VN-100 module.
VN_ERROR_CODE vn100_unregisterAsyncDataReceivedListener (Vn100 *vn100, Vn100NewAsyncDataReceivedListener listener)
 Unregisters an already registered function for recieving notifications of when new asynchronous data is received.
VN_ERROR_CODE vn100_getUserTag (Vn100 *vn100, char *userTagBuffer, unsigned int userTagBufferLength)
 Gets the values in the User Tag register.
VN_ERROR_CODE vn100_setUserTag (Vn100 *vn100, char *userTagData, unsigned int userTagDataLength, VN_BOOL waitForResponse)
 Sets the values of the User Tag register.
VN_ERROR_CODE vn100_getModelNumber (Vn100 *vn100, char *modelBuffer, unsigned int modelBufferLength)
 Gets the values in the Model Number register.
VN_ERROR_CODE vn100_getHardwareRevision (Vn100 *vn100, int *hardwareRevision)
 Gets the values in the Hardware Revision register.
VN_ERROR_CODE vn100_getSerialNumber (Vn100 *vn100, char *serialNumberBuffer, unsigned int serialNumberBufferLength)
 Gets the values in the Serial Number register.
VN_ERROR_CODE vn100_getFirmwareVersion (Vn100 *vn100, char *firmwareVersionBuffer, unsigned int firmwareVersionBufferLength)
 Gets the values in the Firmware Version register.
VN_ERROR_CODE vn100_getSerialBaudRate (Vn100 *vn100, unsigned int *serialBaudrate)
 Gets the values in the Serial Baud Rate register.
VN_ERROR_CODE vn100_setSerialBaudRate (Vn100 *vn100, unsigned int serialBaudrate, VN_BOOL waitForResponse)
 Sets the values of the Serial Baud Rate register.
VN_ERROR_CODE vn100_getAsynchronousDataOutputType (Vn100 *vn100, unsigned int *asyncDataOutputType)
 Gets the values in the Asynchronous Data Output Type register.
VN_ERROR_CODE vn100_setAsynchronousDataOutputType (Vn100 *vn100, unsigned int asyncDataOutputType, VN_BOOL waitForResponse)
 Sets the values of the Asynchronous Data Output Type register.
VN_ERROR_CODE vn100_getAsynchronousDataOutputFrequency (Vn100 *vn100, unsigned int *asyncDataOutputFrequency)
 Gets the values in the Asynchronous Data Output Frequency register.
VN_ERROR_CODE vn100_setAsynchronousDataOutputFrequency (Vn100 *vn100, unsigned int asyncDataOutputFrequency, VN_BOOL waitForResponse)
 Sets the values of the Asynchronous Data Output Frequency register.
VN_ERROR_CODE vn100_getYawPitchRoll (Vn100 *vn100, VnYpr *attitude)
 Gets the values in the Attitude (Yaw, Pitch, Roll) register.
VN_ERROR_CODE vn100_getQuaternion (Vn100 *vn100, VnQuaternion *attitude)
 Gets the values in the Attitude (Quaternion) register.
VN_ERROR_CODE vn100_getQuaternionMagnetic (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *magnetic)
 Gets the values in the Quaternion and Magnetic register.
VN_ERROR_CODE vn100_getQuaternionAcceleration (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *acceleration)
 Gets the values in the Quaternion and Acceleration register.
VN_ERROR_CODE vn100_getQuaternionAngularRate (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *angularRate)
 Gets the values in the Quaternion and Angular Rates register.
VN_ERROR_CODE vn100_getQuaternionMagneticAcceleration (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *magnetic, VnVector3 *acceleration)
 Gets the values in the Quaternion, Magnetic and Acceleration register.
VN_ERROR_CODE vn100_getQuaternionAccelerationAngularRate (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *magnetic, VnVector3 *angularRate)
 Gets the values in the Quaternion, Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getQuaternionMagneticAcclerationAngularRate (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *magnetic, VnVector3 *acceleration, VnVector3 *angularRate)
 Gets the values in the Quaternion, Magnetic, Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getDirectionCosineMatrix (Vn100 *vn100, VnMatrix3x3 *attitude)
 Gets the values in the Attitude (Directional Cosine Matrix) register.
VN_ERROR_CODE vn100_getMagnetic (Vn100 *vn100, VnVector3 *magnetic)
 Gets the values in the Magnetic Measurements register.
VN_ERROR_CODE vn100_getAcceleration (Vn100 *vn100, VnVector3 *acceleration)
 Gets the values in the Acceleration Measurements register.
VN_ERROR_CODE vn100_getAngularRate (Vn100 *vn100, VnVector3 *angularRate)
 Gets the values in the Angular Rate Measurements register.
VN_ERROR_CODE vn100_getMagneticAccelerationAngularRate (Vn100 *vn100, VnVector3 *magnetic, VnVector3 *acceleration, VnVector3 *angularRate)
 Gets the values in the Magnetic, Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getMagneticGravityReferenceVectors (Vn100 *vn100, VnVector3 *magneticReference, VnVector3 *gravityReference)
 Gets the values in the Magnetic and Gravity Reference Vectors register.
VN_ERROR_CODE vn100_setMagneticGravityReferenceVectors (Vn100 *vn100, VnVector3 magneticReference, VnVector3 gravityReference, VN_BOOL waitForResponse)
 Sets the values of the Magnetic and Gravity Reference Vectors register.
VN_ERROR_CODE vn100_getFilterMeasurementVarianceParameters (Vn100 *vn100, double *angularWalkVariance, VnVector3 *angularRateVariance, VnVector3 *magneticVariance, VnVector3 *accelerationVariance)
 Gets the values in the Filter Measurement Variance Parameters register.
VN_ERROR_CODE vn100_setFilterMeasurementVarianceParameters (Vn100 *vn100, double angularWalkVariance, VnVector3 angularRateVariance, VnVector3 magneticVariance, VnVector3 accelerationVariance, VN_BOOL waitForResponse)
 Sets the values of the Filter Measurement Variance Parameters register.
VN_ERROR_CODE vn100_getMagneticHardSoftIronCompensationParameters (Vn100 *vn100, VnMatrix3x3 *c, VnVector3 *b)
 Gets the values in the Magnetic Hard/Soft Iron Compensation Parameters register.
VN_ERROR_CODE vn100_setMagneticHardSoftIronCompensationParameters (Vn100 *vn100, VnMatrix3x3 c, VnVector3 b, VN_BOOL waitForResponse)
 Sets the values of the Magnetic Hard/Soft Iron Compensation Parameters register.
VN_ERROR_CODE vn100_getFilterActiveTuningParameters (Vn100 *vn100, double *magneticGain, double *accelerationGain, double *magneticMemory, double *accelerationMemory)
 Gets the values in the Filter Active Tuning Parameters register.
VN_ERROR_CODE vn100_setFilterActiveTuningParameters (Vn100 *vn100, double magneticGain, double accelerationGain, double magneticMemory, double accelerationMemory, VN_BOOL waitForResponse)
 Sets the values of the Filter Active Tuning Parameters register.
VN_ERROR_CODE vn100_getAccelerometerCompensation (Vn100 *vn100, VnMatrix3x3 *c, VnVector3 *b)
 Gets the values in the Accelerometer Compensation register.
VN_ERROR_CODE vn100_setAccelerometerCompensation (Vn100 *vn100, VnMatrix3x3 c, VnVector3 b, VN_BOOL waitForResponse)
 Sets the values of the Accelerometer Compensation register.
VN_ERROR_CODE vn100_getReferenceFrameRotation (Vn100 *vn100, VnMatrix3x3 *c)
 Gets the values in the Reference Frame Rotation register.
VN_ERROR_CODE vn100_setReferenceFrameRotation (Vn100 *vn100, VnMatrix3x3 c, VN_BOOL waitForResponse)
 Sets the values of the Reference Frame Rotation register.
VN_ERROR_CODE vn100_getYawPitchRollMagneticAccelerationAngularRate (Vn100 *vn100, VnYpr *attitude, VnVector3 *magnetic, VnVector3 *acceleration, VnVector3 *angularRate)
 Gets the values in the Yaw,Pitch,Roll, Magnetic, Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getAccelerometerGain (Vn100 *vn100, unsigned int *accelerometerGain)
 Gets the values in the Accelerometer Gain register.
VN_ERROR_CODE vn100_setAccelerometerGain (Vn100 *vn100, unsigned int accelerometerGain, VN_BOOL waitForResponse)
 Sets the values of the Accelerometer Gain register.
VN_ERROR_CODE vn100_getYawPitchRollAndCalibratedMeasurements (Vn100 *vn100, VnYpr *attitude, VnVector3 *magnetic, VnVector3 *acceleration, VnVector3 *angularRate, double *temperature)
 Gets the values in the Yaw,Pitch,Roll, and Calibrated Measurements register.
VN_ERROR_CODE vn100_getCommunicationProtocolControl (Vn100 *vn100, unsigned char *serialCount, unsigned char *serialStatus, unsigned char *spiCount, unsigned char *spiStatus, unsigned char *serialChecksum, unsigned char *spiChecksum, unsigned char *errorMode)
 Gets the values in the Communication Protocol Control register.
VN_ERROR_CODE vn100_setCommunicationProtocolControl (Vn100 *vn100, unsigned char serialCount, unsigned char serialStatus, unsigned char spiCount, unsigned char spiStatus, unsigned char serialChecksum, unsigned char spiChecksum, unsigned char errorMode, VN_BOOL waitForResponse)
 Sets the values of the Communication Protocol Control register.
VN_ERROR_CODE vn100_getCommunicationProtocolStatus (Vn100 *vn100, unsigned int *numOfParsedSerialMessages, unsigned int *numOfParsedSpiMessages, unsigned char *maxUsageSerialRxBuffer, unsigned char *maxUsageSerialTxBuffer, unsigned char *maxUsageSpiRxBuffer, unsigned char *maxUsageSpiTxBuffer, unsigned short *reserved0, unsigned short *reserved1, unsigned short *reserved2, unsigned short *reserved3, unsigned short *reserved4, unsigned short *reserved5, unsigned short *reserved6, unsigned short *reserved7, unsigned short *reserved8, unsigned short *reserved9, unsigned short *reserved10, unsigned short *reserved11, unsigned short *reserved12, unsigned short *reserved13, unsigned short *reserved14, unsigned short *reserved15)
 Gets the values in the Communication Protocol Status register.
VN_ERROR_CODE vn100_setCommunicationProtocolStatus (Vn100 *vn100, unsigned int numOfParsedSerialMessages, unsigned int numOfParsedSpiMessages, unsigned char maxUsageSerialRxBuffer, unsigned char maxUsageSerialTxBuffer, unsigned char maxUsageSpiRxBuffer, unsigned char maxUsageSpiTxBuffer, unsigned short reserved0, unsigned short reserved1, unsigned short reserved2, unsigned short reserved3, unsigned short reserved4, unsigned short reserved5, unsigned short reserved6, unsigned short reserved7, unsigned short reserved8, unsigned short reserved9, unsigned short reserved10, unsigned short reserved11, unsigned short reserved12, unsigned short reserved13, unsigned short reserved14, unsigned short reserved15, VN_BOOL waitForResponse)
 Sets the values of the Communication Protocol Status register.
VN_ERROR_CODE vn100_getSynchronizationControl (Vn100 *vn100, unsigned char *syncInMode, unsigned char *syncInEdge, unsigned short *syncInSkipFactor, unsigned int *reserved0, unsigned char *syncOutMode, unsigned char *syncOutPolarity, unsigned short *syncOutSkipFactor, unsigned int *syncOutPulseWidth, unsigned int *reserved1)
 Gets the values in the Synchronization Control register.
VN_ERROR_CODE vn100_setSynchronizationControl (Vn100 *vn100, unsigned char syncInMode, unsigned char syncInEdge, unsigned short syncInSkipFactor, unsigned int reserved0, unsigned char syncOutMode, unsigned char syncOutPolarity, unsigned short syncOutSkipFactor, unsigned int syncOutPulseWidth, unsigned int reserved1, VN_BOOL waitForResponse)
 Sets the values of the Synchronization Control register.
VN_ERROR_CODE vn100_getSynchronizationStatus (Vn100 *vn100, unsigned int *syncInCount, unsigned int *syncInTime, unsigned int *syncOutCount)
 Gets the values in the Synchronization Status register.
VN_ERROR_CODE vn100_setSynchronizationStatus (Vn100 *vn100, unsigned int syncInCount, unsigned int syncInTime, unsigned int syncOutCount, VN_BOOL waitForResponse)
 Sets the values of the Synchronization Status register.
VN_ERROR_CODE vn100_getAttitudeFilterControl (Vn100 *vn100, unsigned char *magneticMode, unsigned char *externalMagnetometerMode, unsigned char *externalAccelerometerMode, unsigned char *externalGyroscopeMode, VnVector3 *angularRateLimit)
 Gets the values in the Attitude Filter Control register.
VN_ERROR_CODE vn100_setAttitudeFilterControl (Vn100 *vn100, unsigned char magneticMode, unsigned char externalMagnetometerMode, unsigned char externalAccelerometerMode, unsigned char externalGyroscopeMode, VnVector3 angularRateLimit, VN_BOOL waitForResponse)
 Sets the values of the Attitude Filter Control register.
VN_ERROR_CODE vn100_getVpeControl (Vn100 *vn100, unsigned char *enable, unsigned char *headingMode, unsigned char *filteringMode, unsigned char *tuningMode)
 Gets the values in the VPE Control register.
VN_ERROR_CODE vn100_setVpeControl (Vn100 *vn100, unsigned char enable, unsigned char headingMode, unsigned char filteringMode, unsigned char tuningMode, VN_BOOL waitForResponse)
 Sets the values of the VPE Control register.
VN_ERROR_CODE vn100_getVpeMagnetometerBasicTuning (Vn100 *vn100, VnVector3 *baseTuning, VnVector3 *adaptiveTuning, VnVector3 *adaptiveFiltering)
 Gets the values in the VPE Magnetometer Basic Tuning register.
VN_ERROR_CODE vn100_setVpeMagnetometerBasicTuning (Vn100 *vn100, VnVector3 baseTuning, VnVector3 adaptiveTuning, VnVector3 adaptiveFiltering, VN_BOOL waitForResponse)
 Sets the values of the VPE Magnetometer Basic Tuning register.
VN_ERROR_CODE vn100_getVpeMagnetometerAdvancedTuning (Vn100 *vn100, VnVector3 *minimumFiltering, VnVector3 *maximumFiltering, double *maximumAdaptRate, double *disturbanceWindow, double *maximumTuning)
 Gets the values in the VPE Magnetometer Advanced Tuning register.
VN_ERROR_CODE vn100_setVpeMagnetometerAdvancedTuning (Vn100 *vn100, VnVector3 minimumFiltering, VnVector3 maximumFiltering, double maximumAdaptRate, double disturbanceWindow, double maximumTuning, VN_BOOL waitForResponse)
 Sets the values of the VPE Magnetometer Advanced Tuning register.
VN_ERROR_CODE vn100_getVpeAccelerometerBasicTuning (Vn100 *vn100, VnVector3 *baseTuning, VnVector3 *adaptiveTuning, VnVector3 *adaptiveFiltering)
 Gets the values in the VPE Accelerometer Basic Tuning register.
VN_ERROR_CODE vn100_setVpeAccelerometerBasicTuning (Vn100 *vn100, VnVector3 baseTuning, VnVector3 adaptiveTuning, VnVector3 adaptiveFiltering, VN_BOOL waitForResponse)
 Sets the values of the VPE Accelerometer Basic Tuning register.
VN_ERROR_CODE vn100_getVpeAccelerometerAdvancedTuning (Vn100 *vn100, VnVector3 *minimumFiltering, VnVector3 *maximumFiltering, double *maximumAdaptRate, double *disturbanceWindow, double *maximumTuning)
 Gets the values in the VPE Accelerometer Advanced Tuning register.
VN_ERROR_CODE vn100_setVpeAccelerometerAdvancedTuning (Vn100 *vn100, VnVector3 minimumFiltering, VnVector3 maximumFiltering, double maximumAdaptRate, double disturbanceWindow, double maximumTuning, VN_BOOL waitForResponse)
 Sets the values of the VPE Accelerometer Advanced Tuning register.
VN_ERROR_CODE vn100_getVpeGyroBasicTuning (Vn100 *vn100, VnVector3 *baseTuning, VnVector3 *adaptiveTuning, VnVector3 *adaptiveFiltering)
 Gets the values in the VPE Gyro Basic Tuning register.
VN_ERROR_CODE vn100_setVpeGyroBasicTuning (Vn100 *vn100, VnVector3 baseTuning, VnVector3 adaptiveTuning, VnVector3 adaptiveFiltering, VN_BOOL waitForResponse)
 Sets the values of the VPE Gyro Basic Tuning register.
VN_ERROR_CODE vn100_getFilterStatus (Vn100 *vn100, unsigned short *solutionStatus, double *yawUncertainty, double *pitchUncertainty, double *rollUncertainty, double *gyroBiasUncertainty, double *magUncertainty, double *accelUncertainty)
 Gets the values in the Filter Status register.
VN_ERROR_CODE vn100_getFilterStartupGyroBias (Vn100 *vn100, VnVector3 *gyroBias)
 Gets the values in the Filter Startup Gyro Bias register.
VN_ERROR_CODE vn100_setFilterStartupGyroBias (Vn100 *vn100, VnVector3 gyroBias, VN_BOOL waitForResponse)
 Sets the values of the Filter Startup Gyro Bias register.
VN_ERROR_CODE vn100_getMagnetometerBasicCalibrationControl (Vn100 *vn100, unsigned char *hsiMode, unsigned char *hsiOutput, unsigned char *convergeRate)
 Gets the values in the Magnetometer Basic Calibration Control register.
VN_ERROR_CODE vn100_setMagnetometerBasicCalibrationControl (Vn100 *vn100, unsigned char hsiMode, unsigned char hsiOutput, unsigned char convergeRate, VN_BOOL waitForResponse)
 Sets the values of the Magnetometer Basic Calibration Control register.
VN_ERROR_CODE vn100_getMagnetometerCalibrationStatus (Vn100 *vn100, unsigned char *lastBin, unsigned short *numOfMeasurements, double *avgResidual, VnVector3 *lastMeasurement, unsigned char *bin0, unsigned char *bin1, unsigned char *bin2, unsigned char *bin3, unsigned char *bin4, unsigned char *bin5, unsigned char *bin6, unsigned char *bin7)
 Gets the values in the Magnetometer Calibration Status register.
VN_ERROR_CODE vn100_getCalculatedMagnetometerCalibration (Vn100 *vn100, VnMatrix3x3 *c, VnVector3 *b)
 Gets the values in the Calculated Magnetometer Calibration register.
VN_ERROR_CODE vn100_getIndoorHeadingModeControl (Vn100 *vn100, double *maxRateError, double *reserved)
 Gets the values in the Indoor Heading Mode Control register.
VN_ERROR_CODE vn100_setIndoorHeadingModeControl (Vn100 *vn100, double maxRateError, double reserved, VN_BOOL waitForResponse)
 Sets the values of the Indoor Heading Mode Control register.
VN_ERROR_CODE vn100_getYawPitchRollTrueBodyAccelerationAngularRate (Vn100 *vn100, VnYpr *attitude, VnVector3 *bodyAcceleration, VnVector3 *angularRate)
 Gets the values in the Yaw,Pitch,Roll, True Body Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getYawPitchRollTrueInertialAcclerationAngularRate (Vn100 *vn100, VnYpr *attitude, VnVector3 *inertialAcceleration, VnVector3 *angularRate)
 Gets the values in the Yaw,Pitch,Roll, True Inertial Acceleration and Angular Rates register.
VN_ERROR_CODE vn100_getYawPitchRollInertialCalibratedMeasurements (Vn100 *vn100, VnYpr *attitude, VnVector3 *inertialMagnetic, VnVector3 *inertialAcceleration, VnVector3 *angularRate)
 Gets the values in the Yaw,Pitch,Roll and Inertial Calibrated Measurements register.
VN_ERROR_CODE vn100_getRawVoltageMeasurements (Vn100 *vn100, VnVector3 *magnetometer, VnVector3 *accelerometer, VnVector3 *gyroscope, double *temperature)
 Gets the values in the Raw Voltage Measurements register.
VN_ERROR_CODE vn100_getCalibratedImuMeasurements (Vn100 *vn100, VnVector3 *magnetic, VnVector3 *acceleration, VnVector3 *angularRate, double *temperature)
 Gets the values in the Calibrated IMU Measurements register.
VN_ERROR_CODE vn100_getKalmanFilterStateVector (Vn100 *vn100, VnQuaternion *attitude, VnVector3 *gyroscopeBias)
 Gets the values in the Kalman Filter State Vector register.

Detailed Description

LICENSE

MIT License (MIT)

Copyright (c) 2011 VectorNav Technologies, LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION

This header file provides access to devices based on VectorNav's VN-100 family of orientation sensors.


Define Documentation

#define VNASYNC_OFF   0

Asynchronous output is turned off.

#define VNASYNC_VNACC   11

Asynchronous output type is Acceleration Measurements.

#define VNASYNC_VNCMV   253

Asynchronous output type is Calibrated Measurements.

#define VNASYNC_VNCOV   255

Asynchronous output type is Kalman Filter Covariance Matrix Diagonal.

#define VNASYNC_VNDCM   9

Asynchronous output type is Directional Cosine Orientation Matrix.

#define VNASYNC_VNGYR   12

Asynchronous output type is Angular Rate Measurements.

#define VNASYNC_VNICM   18

Asynchronous output type is Yaw, Pitch, Roll, Inertial Magnetic/Acceleration, and Angular Rate Measurements.

#define VNASYNC_VNMAG   10

Asynchronous output type is Magnetic Measurements.

#define VNASYNC_VNMAR   13

Asynchronous output type is Magnetic, Acceleration, and Angular Rate Measurements.

#define VNASYNC_VNQAR   7

Asynchronous output type is Quaternion, Acceleration and Angular Rates.

#define VNASYNC_VNQMA   6

Asynchronous output type is Quaternion, Magnetic and Acceleration.

#define VNASYNC_VNQMR   8

Asynchronous output type is Quaternion, Magnetic, Acceleration and Angular Rates.

#define VNASYNC_VNQTA   4

Asynchronous output type is Quaternion and Acceleration.

#define VNASYNC_VNQTM   3

Asynchronous output type is Quaternion and Magnetic.

#define VNASYNC_VNQTN   2

Asynchronous output type is Quaternion.

#define VNASYNC_VNQTR   5

Asynchronous output type is Quaternion and Angular Rates.

#define VNASYNC_VNRAW   252

Asynchronous output type is Raw Voltage Measurements.

#define VNASYNC_VNSTV   254

Asynchronous output type is Kalman Filter State Vector.

#define VNASYNC_VNYBA   16

Asynchronous output type is Yaw, Pitch, Roll, Body True Acceleration.

#define VNASYNC_VNYCM   15

Asynchronous output type is Yaw, Pitch, Roll, and Calibrated Measurements.

#define VNASYNC_VNYIA   17

Asynchronous output type is Yaw, Pitch, Roll, Inertial True Acceleration.

#define VNASYNC_VNYMR   14

Asynchronous output type is Yaw, Pitch, Roll, Magnetic, Acceleration, and Angular Rate Measurements.

#define VNASYNC_VNYPR   1

Asynchronous output type is Yaw, Pitch, Roll.


Typedef Documentation

typedef void(* Vn100NewAsyncDataReceivedListener)(Vn100 *sender, Vn100CompositeData *newData)

Fuction type used for receiving notifications of when new asynchronous data is received.

Parameters:
[in]senderThe device that sent the notification.
[in]newDataPointer to the new data.

Function Documentation

unsigned char vn100_checksum_compute ( const char *  cmdToCheck)

Computes the checksum for the provided command.

Parameters:
[in]cmdToCheckNull-terminated string of the form "VNRRG,1".
Returns:
The computed checksum number.
void vn100_checksum_computeAndReturnAsHex ( const char *  cmdToCheck,
char *  checksum 
)

Computes the checksum for the provided command and returns it as a two character string representing it in hexidecimal.

Parameters:
[in]cmdToCheckNull-terminated string of the form "VNRRG,1".
[out]checksumA character array of length 2 which the computed checksum will be placed.
VN_ERROR_CODE vn100_connect ( Vn100 newVn100,
const char *  portName,
int  baudrate 
)

Connects to a VectorNav VN-100 device.

Parameters:
[out]newVn100An uninitialized Vn100 control object should be passed in.
[in]portNameThe name of the COM port to connect to.
[in]baudrateThe baudrate to connect at.
Returns:
VectorNav error code.
Examples:
linux_async.c, linux_basic.c, windows_async.c, and windows_basic.c.
VN_ERROR_CODE vn100_disconnect ( Vn100 vn100)

Disconnects from the VN-100 device and disposes of any internal resources.

Parameters:
vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
Examples:
linux_async.c, linux_basic.c, windows_async.c, and windows_basic.c.
int vn100_get_timeout ( Vn100 vn100)

Retrieves the associated timeout value for the Vn100 object.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
The timeout value in milliseconds. -1 indicates that timeouts are not used.
VN_ERROR_CODE vn100_getAcceleration ( Vn100 vn100,
VnVector3 acceleration 
)

Gets the values in the Acceleration Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAccelerometerCompensation ( Vn100 vn100,
VnMatrix3x3 c,
VnVector3 b 
)

Gets the values in the Accelerometer Compensation register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]cThe current sensor C matrix values.
[out]bThe current sensor B vector values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAccelerometerGain ( Vn100 vn100,
unsigned int *  accelerometerGain 
)

Gets the values in the Accelerometer Gain register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]accelerometerGainThe accelerometer gain mode value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAngularRate ( Vn100 vn100,
VnVector3 angularRate 
)

Gets the values in the Angular Rate Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAsynchronousDataOutputFrequency ( Vn100 vn100,
unsigned int *  asyncDataOutputFrequency 
)

Gets the values in the Asynchronous Data Output Frequency register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]asyncDataOutputFrequencyThe asynchronous data output frequency value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAsynchronousDataOutputType ( Vn100 vn100,
unsigned int *  asyncDataOutputType 
)

Gets the values in the Asynchronous Data Output Type register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]asyncDataOutputTypeThe asynchronous data output type value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getAttitudeFilterControl ( Vn100 vn100,
unsigned char *  magneticMode,
unsigned char *  externalMagnetometerMode,
unsigned char *  externalAccelerometerMode,
unsigned char *  externalGyroscopeMode,
VnVector3 angularRateLimit 
)

Gets the values in the Attitude Filter Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticModeThe magnetic mode value of the sensor.
[out]externalMagnetometerModeThe external magnetometer mode value of the sensor.
[out]externalAccelerometerModeThe external accelerometer mode value of the sensor.
[out]externalGyroscopeModeThe external gyroscope mode value of the sensor.
[out]angularRateLimitThe current sensor angular rate saturation liimit (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getCalculatedMagnetometerCalibration ( Vn100 vn100,
VnMatrix3x3 c,
VnVector3 b 
)

Gets the values in the Calculated Magnetometer Calibration register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]cThe current sensor C matrix values.
[out]bThe current sensor B vector values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getCalibratedImuMeasurements ( Vn100 vn100,
VnVector3 magnetic,
VnVector3 acceleration,
VnVector3 angularRate,
double *  temperature 
)

Gets the values in the Calibrated IMU Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticThe current sensor calibrated magnetic measurements (X,Y,Z) values.
[out]accelerationThe current sensor calibrated acceleration measurements (X,Y,Z) values.
[out]angularRateThe current sensor calibrated angular rate measurements (X,Y,Z) values.
[out]temperatureThe temperature value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getCommunicationProtocolControl ( Vn100 vn100,
unsigned char *  serialCount,
unsigned char *  serialStatus,
unsigned char *  spiCount,
unsigned char *  spiStatus,
unsigned char *  serialChecksum,
unsigned char *  spiChecksum,
unsigned char *  errorMode 
)

Gets the values in the Communication Protocol Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]serialCountThe serial count value of the sensor.
[out]serialStatusThe serial status value of the sensor.
[out]spiCountThe SPI count value of the sensor.
[out]spiStatusThe SPI status value of the sensor.
[out]serialChecksumThe serial checksum value of the sensor.
[out]spiChecksumThe SPI checksum value of the sensor.
[out]errorModeThe error mode value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getCommunicationProtocolStatus ( Vn100 vn100,
unsigned int *  numOfParsedSerialMessages,
unsigned int *  numOfParsedSpiMessages,
unsigned char *  maxUsageSerialRxBuffer,
unsigned char *  maxUsageSerialTxBuffer,
unsigned char *  maxUsageSpiRxBuffer,
unsigned char *  maxUsageSpiTxBuffer,
unsigned short *  reserved0,
unsigned short *  reserved1,
unsigned short *  reserved2,
unsigned short *  reserved3,
unsigned short *  reserved4,
unsigned short *  reserved5,
unsigned short *  reserved6,
unsigned short *  reserved7,
unsigned short *  reserved8,
unsigned short *  reserved9,
unsigned short *  reserved10,
unsigned short *  reserved11,
unsigned short *  reserved12,
unsigned short *  reserved13,
unsigned short *  reserved14,
unsigned short *  reserved15 
)

Gets the values in the Communication Protocol Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]numOfParsedSerialMessagesThe number of successfully parsed serial messages received value of the sensor.
[out]numOfParsedSpiMessagesThe number of successfully parsed SPI messages received value of the sensor.
[out]maxUsageSerialRxBufferThe maximum percent usage of serial incoming buffer value of the sensor.
[out]maxUsageSerialTxBufferThe maximum percent usage of serial outgoing buffer value of the sensor.
[out]maxUsageSpiRxBufferThe maximum percent usage of SPI incoming buffer value of the sensor.
[out]maxUsageSpiTxBufferThe maximum percent usage of SPI outgoing buffer value of the sensor.
[out]reserved0The reserved 0 value of the sensor.
[out]reserved1The reserved 1 value of the sensor.
[out]reserved2The reserved 2 value of the sensor.
[out]reserved3The reserved 3 value of the sensor.
[out]reserved4The reserved 4 value of the sensor.
[out]reserved5The reserved 5 value of the sensor.
[out]reserved6The reserved 6 value of the sensor.
[out]reserved7The reserved 7 value of the sensor.
[out]reserved8The reserved 8 value of the sensor.
[out]reserved9The reserved 9 value of the sensor.
[out]reserved10The reserved 10 value of the sensor.
[out]reserved11The reserved 11 value of the sensor.
[out]reserved12The reserved 12 value of the sensor.
[out]reserved13The reserved 13 value of the sensor.
[out]reserved14The reserved 14 value of the sensor.
[out]reserved15The reserved 15 value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getCurrentAsyncData ( Vn100 vn100,
Vn100CompositeData curData 
)

Retreives the most recently received asynchronous measurements received from the VN-100 device.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]curDataComposite of the last currently received data from the device. If there was no data received for certain fields, they will be zeroed out.
Returns:
VectorNav error code.
Examples:
linux_async.c, and windows_async.c.
VN_ERROR_CODE vn100_getDirectionCosineMatrix ( Vn100 vn100,
VnMatrix3x3 attitude 
)

Gets the values in the Attitude (Directional Cosine Matrix) register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor attitude (DCM) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getFilterActiveTuningParameters ( Vn100 vn100,
double *  magneticGain,
double *  accelerationGain,
double *  magneticMemory,
double *  accelerationMemory 
)

Gets the values in the Filter Active Tuning Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticGainThe magnetic disturbance gain value of the sensor.
[out]accelerationGainThe acceleration disturbance gain value of the sensor.
[out]magneticMemoryThe magnetic disturbance memory value of the sensor.
[out]accelerationMemoryThe acceleration disturbance memory value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getFilterMeasurementVarianceParameters ( Vn100 vn100,
double *  angularWalkVariance,
VnVector3 angularRateVariance,
VnVector3 magneticVariance,
VnVector3 accelerationVariance 
)

Gets the values in the Filter Measurement Variance Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]angularWalkVarianceThe angular walk variance value of the sensor.
[out]angularRateVarianceThe current sensor angular rate variance (X,Y,Z) values.
[out]magneticVarianceThe current sensor magnetic variance (X,Y,Z) values.
[out]accelerationVarianceThe current sensor acceleration variance (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getFilterStartupGyroBias ( Vn100 vn100,
VnVector3 gyroBias 
)

Gets the values in the Filter Startup Gyro Bias register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]gyroBiasThe current sensor gyroscope startup bias (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getFilterStatus ( Vn100 vn100,
unsigned short *  solutionStatus,
double *  yawUncertainty,
double *  pitchUncertainty,
double *  rollUncertainty,
double *  gyroBiasUncertainty,
double *  magUncertainty,
double *  accelUncertainty 
)

Gets the values in the Filter Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]solutionStatusThe solution status bitfield value of the sensor.
[out]yawUncertaintyThe YawUncertainty value of the sensor.
[out]pitchUncertaintyThe PitchUncertainty value of the sensor.
[out]rollUncertaintyThe RollUncertainty value of the sensor.
[out]gyroBiasUncertaintyThe GyroBiasUncertainty value of the sensor.
[out]magUncertaintyThe MagUncertainty value of the sensor.
[out]accelUncertaintyThe AccelUncertainty value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getFirmwareVersion ( Vn100 vn100,
char *  firmwareVersionBuffer,
unsigned int  firmwareVersionBufferLength 
)

Gets the values in the Firmware Version register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]firmwareVersionBufferBuffer to store the response. Must have a length of at least 16 characters.
[in]firmwareVersionBufferLengthLength of the provided firmwareVersionBuffer buffer.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getHardwareRevision ( Vn100 vn100,
int *  hardwareRevision 
)

Gets the values in the Hardware Revision register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]hardwareRevisionThe hardware revision value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getIndoorHeadingModeControl ( Vn100 vn100,
double *  maxRateError,
double *  reserved 
)

Gets the values in the Indoor Heading Mode Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]maxRateErrorThe MaxRateError value of the sensor.
[out]reservedThe reserved value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getKalmanFilterStateVector ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 gyroscopeBias 
)

Gets the values in the Kalman Filter State Vector register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]gyroscopeBiasThe current sensor gyroscope bias (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getMagnetic ( Vn100 vn100,
VnVector3 magnetic 
)

Gets the values in the Magnetic Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getMagneticAccelerationAngularRate ( Vn100 vn100,
VnVector3 magnetic,
VnVector3 acceleration,
VnVector3 angularRate 
)

Gets the values in the Magnetic, Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getMagneticGravityReferenceVectors ( Vn100 vn100,
VnVector3 magneticReference,
VnVector3 gravityReference 
)

Gets the values in the Magnetic and Gravity Reference Vectors register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magneticReferenceThe current sensor magnetic reference vector (X,Y,Z) values.
[out]gravityReferenceThe current sensor gravity reference vector (X,Y,Z) values.
Returns:
VectorNav error code.

Gets the values in the Magnetic Hard/Soft Iron Compensation Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]cThe current sensor C matrix values.
[out]bThe current sensor B vector values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getMagnetometerBasicCalibrationControl ( Vn100 vn100,
unsigned char *  hsiMode,
unsigned char *  hsiOutput,
unsigned char *  convergeRate 
)

Gets the values in the Magnetometer Basic Calibration Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]hsiModeThe HSIMode value of the sensor.
[out]hsiOutputThe HSIOutput value of the sensor.
[out]convergeRateThe ConvergeRate value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getMagnetometerCalibrationStatus ( Vn100 vn100,
unsigned char *  lastBin,
unsigned short *  numOfMeasurements,
double *  avgResidual,
VnVector3 lastMeasurement,
unsigned char *  bin0,
unsigned char *  bin1,
unsigned char *  bin2,
unsigned char *  bin3,
unsigned char *  bin4,
unsigned char *  bin5,
unsigned char *  bin6,
unsigned char *  bin7 
)

Gets the values in the Magnetometer Calibration Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]lastBinThe LastBin value of the sensor.
[out]numOfMeasurementsThe NumMeas value of the sensor.
[out]avgResidualThe AvgResidual value of the sensor.
[out]lastMeasurementThe current sensor last measurement (X,Y,Z) values.
[out]bin0The number of measurements in bin 1 value of the sensor.
[out]bin1The number of measurements in bin 2 value of the sensor.
[out]bin2The number of measurements in bin 3 value of the sensor.
[out]bin3The number of measurements in bin 4 value of the sensor.
[out]bin4The number of measurements in bin 5 value of the sensor.
[out]bin5The number of measurements in bin 6 value of the sensor.
[out]bin6The number of measurements in bin 7 value of the sensor.
[out]bin7The number of measurements in bin 8 value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getModelNumber ( Vn100 vn100,
char *  modelBuffer,
unsigned int  modelBufferLength 
)

Gets the values in the Model Number register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]modelBufferBuffer to store the response. Must have a length of at least 25 characters.
[in]modelBufferLengthLength of the provided modelBuffer buffer.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternion ( Vn100 vn100,
VnQuaternion attitude 
)

Gets the values in the Attitude (Quaternion) register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionAcceleration ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 acceleration 
)

Gets the values in the Quaternion and Acceleration register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionAccelerationAngularRate ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 magnetic,
VnVector3 angularRate 
)

Gets the values in the Quaternion, Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionAngularRate ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 angularRate 
)

Gets the values in the Quaternion and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionMagnetic ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 magnetic 
)

Gets the values in the Quaternion and Magnetic register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionMagneticAcceleration ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 magnetic,
VnVector3 acceleration 
)

Gets the values in the Quaternion, Magnetic and Acceleration register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getQuaternionMagneticAcclerationAngularRate ( Vn100 vn100,
VnQuaternion attitude,
VnVector3 magnetic,
VnVector3 acceleration,
VnVector3 angularRate 
)

Gets the values in the Quaternion, Magnetic, Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor Quaterion values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getRawVoltageMeasurements ( Vn100 vn100,
VnVector3 magnetometer,
VnVector3 accelerometer,
VnVector3 gyroscope,
double *  temperature 
)

Gets the values in the Raw Voltage Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]magnetometerThe current sensor magnetometer raw voltages (X,Y,Z) values.
[out]accelerometerThe current sensor accelerometer raw voltages (X,Y,Z) values.
[out]gyroscopeThe current sensor gyroscope raw voltages (X,Y,Z) values.
[out]temperatureThe temperature raw voltages value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getReferenceFrameRotation ( Vn100 vn100,
VnMatrix3x3 c 
)

Gets the values in the Reference Frame Rotation register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]cThe current sensor C matrix values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getSerialBaudRate ( Vn100 vn100,
unsigned int *  serialBaudrate 
)

Gets the values in the Serial Baud Rate register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]serialBaudrateThe serial baudrate value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getSerialNumber ( Vn100 vn100,
char *  serialNumberBuffer,
unsigned int  serialNumberBufferLength 
)

Gets the values in the Serial Number register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]serialNumberBufferBuffer to store the response. Must have a length of at least 25 characters.
[in]serialNumberBufferLengthLength of the provided serialNumberBuffer buffer.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getSynchronizationControl ( Vn100 vn100,
unsigned char *  syncInMode,
unsigned char *  syncInEdge,
unsigned short *  syncInSkipFactor,
unsigned int *  reserved0,
unsigned char *  syncOutMode,
unsigned char *  syncOutPolarity,
unsigned short *  syncOutSkipFactor,
unsigned int *  syncOutPulseWidth,
unsigned int *  reserved1 
)

Gets the values in the Synchronization Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]syncInModeThe input signal synchronization mode value of the sensor.
[out]syncInEdgeThe input signal synchronization edge selection value of the sensor.
[out]syncInSkipFactorThe input signal trigger skip factor value of the sensor.
[out]reserved0The reserved value of the sensor.
[out]syncOutModeThe output signal synchronization mode value of the sensor.
[out]syncOutPolarityThe output signal synchronization polarity value of the sensor.
[out]syncOutSkipFactorThe output synchronization signal skip factor value of the sensor.
[out]syncOutPulseWidthThe output synchronization signal pulse width value of the sensor.
[out]reserved1The reserved value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getSynchronizationStatus ( Vn100 vn100,
unsigned int *  syncInCount,
unsigned int *  syncInTime,
unsigned int *  syncOutCount 
)

Gets the values in the Synchronization Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]syncInCountThe synchronization in count value of the sensor.
[out]syncInTimeThe synchronization in time value of the sensor.
[out]syncOutCountThe synchronization out count value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getUserTag ( Vn100 vn100,
char *  userTagBuffer,
unsigned int  userTagBufferLength 
)

Gets the values in the User Tag register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]userTagBufferBuffer to store the response. Must have a length of at least 21 characters.
[in]userTagBufferLengthLength of the provided userTagBuffer buffer.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeAccelerometerAdvancedTuning ( Vn100 vn100,
VnVector3 minimumFiltering,
VnVector3 maximumFiltering,
double *  maximumAdaptRate,
double *  disturbanceWindow,
double *  maximumTuning 
)

Gets the values in the VPE Accelerometer Advanced Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]minimumFilteringThe current sensor minimum allowed level of filtering (X,Y,Z) values.
[out]maximumFilteringThe current sensor maximum allowed level of filtering (X,Y,Z) values.
[out]maximumAdaptRateThe MaxAdaptRate value of the sensor.
[out]disturbanceWindowThe DisturbanceWindow value of the sensor.
[out]maximumTuningThe MaxTuning value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeAccelerometerBasicTuning ( Vn100 vn100,
VnVector3 baseTuning,
VnVector3 adaptiveTuning,
VnVector3 adaptiveFiltering 
)

Gets the values in the VPE Accelerometer Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]baseTuningThe current sensor accelerometer base tuning (X,Y,Z) values.
[out]adaptiveTuningThe current sensor accelerometer adaptive tuning (X,Y,Z) values.
[out]adaptiveFilteringThe current sensor accelerometer adaptive filtering (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeControl ( Vn100 vn100,
unsigned char *  enable,
unsigned char *  headingMode,
unsigned char *  filteringMode,
unsigned char *  tuningMode 
)

Gets the values in the VPE Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]enableThe enable/disable value of the sensor.
[out]headingModeThe heading mode value of the sensor.
[out]filteringModeThe filtering mode value of the sensor.
[out]tuningModeThe tuning mode value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeGyroBasicTuning ( Vn100 vn100,
VnVector3 baseTuning,
VnVector3 adaptiveTuning,
VnVector3 adaptiveFiltering 
)

Gets the values in the VPE Gyro Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]baseTuningThe current sensor gyroscope base tuning (X,Y,Z) values.
[out]adaptiveTuningThe current sensor gyroscope adaptive tuning (X,Y,Z) values.
[out]adaptiveFilteringThe current sensor gyroscope adaptive filtering (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeMagnetometerAdvancedTuning ( Vn100 vn100,
VnVector3 minimumFiltering,
VnVector3 maximumFiltering,
double *  maximumAdaptRate,
double *  disturbanceWindow,
double *  maximumTuning 
)

Gets the values in the VPE Magnetometer Advanced Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]minimumFilteringThe current sensor minimum allowed level of filtering (X,Y,Z) values.
[out]maximumFilteringThe current sensor maximum allowed level of filtering (X,Y,Z) values.
[out]maximumAdaptRateThe MaxAdaptRate value of the sensor.
[out]disturbanceWindowThe DisturbanceWindow value of the sensor.
[out]maximumTuningThe MaxTuning value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getVpeMagnetometerBasicTuning ( Vn100 vn100,
VnVector3 baseTuning,
VnVector3 adaptiveTuning,
VnVector3 adaptiveFiltering 
)

Gets the values in the VPE Magnetometer Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]baseTuningThe current sensor magnetometer base tuning (X,Y,Z) values.
[out]adaptiveTuningThe current sensor magnetometer adaptive tuning (X,Y,Z) values.
[out]adaptiveFilteringThe current sensor magnetometer adaptive filtering (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getYawPitchRoll ( Vn100 vn100,
VnYpr attitude 
)

Gets the values in the Attitude (Yaw, Pitch, Roll) register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
Returns:
VectorNav error code.
Examples:
linux_basic.c, and windows_basic.c.
VN_ERROR_CODE vn100_getYawPitchRollAndCalibratedMeasurements ( Vn100 vn100,
VnYpr attitude,
VnVector3 magnetic,
VnVector3 acceleration,
VnVector3 angularRate,
double *  temperature 
)

Gets the values in the Yaw,Pitch,Roll, and Calibrated Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
[out]angularRateThe current sensor uncompensated angular rate (X,Y,Z) values.
[out]temperatureThe temperature value of the sensor.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getYawPitchRollInertialCalibratedMeasurements ( Vn100 vn100,
VnYpr attitude,
VnVector3 inertialMagnetic,
VnVector3 inertialAcceleration,
VnVector3 angularRate 
)

Gets the values in the Yaw,Pitch,Roll and Inertial Calibrated Measurements register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
[out]inertialMagneticThe current sensor inertial magnetic (X,Y,Z) values.
[out]inertialAccelerationThe current sensor inertial acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getYawPitchRollMagneticAccelerationAngularRate ( Vn100 vn100,
VnYpr attitude,
VnVector3 magnetic,
VnVector3 acceleration,
VnVector3 angularRate 
)

Gets the values in the Yaw,Pitch,Roll, Magnetic, Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
[out]magneticThe current sensor magnetic (X,Y,Z) values.
[out]accelerationThe current sensor acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getYawPitchRollTrueBodyAccelerationAngularRate ( Vn100 vn100,
VnYpr attitude,
VnVector3 bodyAcceleration,
VnVector3 angularRate 
)

Gets the values in the Yaw,Pitch,Roll, True Body Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
[out]bodyAccelerationThe current sensor body acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_getYawPitchRollTrueInertialAcclerationAngularRate ( Vn100 vn100,
VnYpr attitude,
VnVector3 inertialAcceleration,
VnVector3 angularRate 
)

Gets the values in the Yaw,Pitch,Roll, True Inertial Acceleration and Angular Rates register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[out]attitudeThe current sensor YawPitchRoll values.
[out]inertialAccelerationThe current sensor inertial acceleration (X,Y,Z) values.
[out]angularRateThe current sensor angular rate (X,Y,Z) values.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_knownAccelerationDisturbance ( Vn100 vn100,
VN_BOOL  isDisturbancePresent,
VN_BOOL  waitForResponse 
)

Notifies the VN-100 module if a known acceleration disturbance is present.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]isDisturbancePresentTrue if a known acceleration disturbance is present. False if not.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_knownMagneticDisturbance ( Vn100 vn100,
VN_BOOL  isDisturbancePresent,
VN_BOOL  waitForResponse 
)

Notifies the VN-100 module if a known magnetic disturbance is present.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]isDisturbancePresentTrue if a known magnetic disturbance is present. False if not.
Returns:
VectorNav error code.

Allows registering a function which will be called whenever a new asynchronous data packet is received from the VN-100 module.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_reset ( Vn100 vn100)

Commands the VN-100 module to reset itself.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_restoreFactorySettings ( Vn100 vn100,
VN_BOOL  waitForResponse 
)

Commands the VN-100 unit to revert its settings to factory defaults.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_set_timeout ( Vn100 vn100,
int  timeout 
)

Sets the timeout value for the reading values from the VN-100 sensor.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]timeoutThe timeout value in milliseconds. Specify -1 to not use any timeouts.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setAccelerometerCompensation ( Vn100 vn100,
VnMatrix3x3  c,
VnVector3  b,
VN_BOOL  waitForResponse 
)

Sets the values of the Accelerometer Compensation register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]cThe C matrix values to write to the sensor.
[in]bThe B vector values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setAccelerometerGain ( Vn100 vn100,
unsigned int  accelerometerGain,
VN_BOOL  waitForResponse 
)

Sets the values of the Accelerometer Gain register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]accelerometerGainValue for the accelerometer gain mode field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setAsynchronousDataOutputFrequency ( Vn100 vn100,
unsigned int  asyncDataOutputFrequency,
VN_BOOL  waitForResponse 
)

Sets the values of the Asynchronous Data Output Frequency register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]asyncDataOutputFrequencyValue for the asynchronous data output frequency field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setAsynchronousDataOutputType ( Vn100 vn100,
unsigned int  asyncDataOutputType,
VN_BOOL  waitForResponse 
)

Sets the values of the Asynchronous Data Output Type register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]asyncDataOutputTypeValue for the asynchronous data output type field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setAttitudeFilterControl ( Vn100 vn100,
unsigned char  magneticMode,
unsigned char  externalMagnetometerMode,
unsigned char  externalAccelerometerMode,
unsigned char  externalGyroscopeMode,
VnVector3  angularRateLimit,
VN_BOOL  waitForResponse 
)

Sets the values of the Attitude Filter Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]magneticModeValue for the magnetic mode field.
[in]externalMagnetometerModeValue for the external magnetometer mode field.
[in]externalAccelerometerModeValue for the external accelerometer mode field.
[in]externalGyroscopeModeValue for the external gyroscope mode field.
[in]angularRateLimitThe angular rate saturation liimit (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setCommunicationProtocolControl ( Vn100 vn100,
unsigned char  serialCount,
unsigned char  serialStatus,
unsigned char  spiCount,
unsigned char  spiStatus,
unsigned char  serialChecksum,
unsigned char  spiChecksum,
unsigned char  errorMode,
VN_BOOL  waitForResponse 
)

Sets the values of the Communication Protocol Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]serialCountValue for the serial count field.
[in]serialStatusValue for the serial status field.
[in]spiCountValue for the SPI count field.
[in]spiStatusValue for the SPI status field.
[in]serialChecksumValue for the serial checksum field.
[in]spiChecksumValue for the SPI checksum field.
[in]errorModeValue for the error mode field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setCommunicationProtocolStatus ( Vn100 vn100,
unsigned int  numOfParsedSerialMessages,
unsigned int  numOfParsedSpiMessages,
unsigned char  maxUsageSerialRxBuffer,
unsigned char  maxUsageSerialTxBuffer,
unsigned char  maxUsageSpiRxBuffer,
unsigned char  maxUsageSpiTxBuffer,
unsigned short  reserved0,
unsigned short  reserved1,
unsigned short  reserved2,
unsigned short  reserved3,
unsigned short  reserved4,
unsigned short  reserved5,
unsigned short  reserved6,
unsigned short  reserved7,
unsigned short  reserved8,
unsigned short  reserved9,
unsigned short  reserved10,
unsigned short  reserved11,
unsigned short  reserved12,
unsigned short  reserved13,
unsigned short  reserved14,
unsigned short  reserved15,
VN_BOOL  waitForResponse 
)

Sets the values of the Communication Protocol Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]numOfParsedSerialMessagesValue for the number of successfully parsed serial messages received field.
[in]numOfParsedSpiMessagesValue for the number of successfully parsed SPI messages received field.
[in]maxUsageSerialRxBufferValue for the maximum percent usage of serial incoming buffer field.
[in]maxUsageSerialTxBufferValue for the maximum percent usage of serial outgoing buffer field.
[in]maxUsageSpiRxBufferValue for the maximum percent usage of SPI incoming buffer field.
[in]maxUsageSpiTxBufferValue for the maximum percent usage of SPI outgoing buffer field.
[in]reserved0Value for the reserved 0 field.
[in]reserved1Value for the reserved 1 field.
[in]reserved2Value for the reserved 2 field.
[in]reserved3Value for the reserved 3 field.
[in]reserved4Value for the reserved 4 field.
[in]reserved5Value for the reserved 5 field.
[in]reserved6Value for the reserved 6 field.
[in]reserved7Value for the reserved 7 field.
[in]reserved8Value for the reserved 8 field.
[in]reserved9Value for the reserved 9 field.
[in]reserved10Value for the reserved 10 field.
[in]reserved11Value for the reserved 11 field.
[in]reserved12Value for the reserved 12 field.
[in]reserved13Value for the reserved 13 field.
[in]reserved14Value for the reserved 14 field.
[in]reserved15Value for the reserved 15 field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setFilterActiveTuningParameters ( Vn100 vn100,
double  magneticGain,
double  accelerationGain,
double  magneticMemory,
double  accelerationMemory,
VN_BOOL  waitForResponse 
)

Sets the values of the Filter Active Tuning Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]magneticGainValue for the magnetic disturbance gain field.
[in]accelerationGainValue for the acceleration disturbance gain field.
[in]magneticMemoryValue for the magnetic disturbance memory field.
[in]accelerationMemoryValue for the acceleration disturbance memory field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setFilterMeasurementVarianceParameters ( Vn100 vn100,
double  angularWalkVariance,
VnVector3  angularRateVariance,
VnVector3  magneticVariance,
VnVector3  accelerationVariance,
VN_BOOL  waitForResponse 
)

Sets the values of the Filter Measurement Variance Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]angularWalkVarianceValue for the angular walk variance field.
[in]angularRateVarianceThe angular rate variance (X,Y,Z) values to write to the sensor.
[in]magneticVarianceThe magnetic variance (X,Y,Z) values to write to the sensor.
[in]accelerationVarianceThe acceleration variance (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setFilterStartupGyroBias ( Vn100 vn100,
VnVector3  gyroBias,
VN_BOOL  waitForResponse 
)

Sets the values of the Filter Startup Gyro Bias register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]gyroBiasThe gyroscope startup bias (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setGyroBias ( Vn100 vn100,
VN_BOOL  waitForResponse 
)

Commands the VN-100 module to save the current gyro bias estimate to memory for use on the next module startup.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setIndoorHeadingModeControl ( Vn100 vn100,
double  maxRateError,
double  reserved,
VN_BOOL  waitForResponse 
)

Sets the values of the Indoor Heading Mode Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]maxRateErrorValue for the MaxRateError field.
[in]reservedValue for the reserved field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setMagneticGravityReferenceVectors ( Vn100 vn100,
VnVector3  magneticReference,
VnVector3  gravityReference,
VN_BOOL  waitForResponse 
)

Sets the values of the Magnetic and Gravity Reference Vectors register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]magneticReferenceThe magnetic reference vector (X,Y,Z) values to write to the sensor.
[in]gravityReferenceThe gravity reference vector (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setMagneticHardSoftIronCompensationParameters ( Vn100 vn100,
VnMatrix3x3  c,
VnVector3  b,
VN_BOOL  waitForResponse 
)

Sets the values of the Magnetic Hard/Soft Iron Compensation Parameters register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]cThe C matrix values to write to the sensor.
[in]bThe B vector values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setMagnetometerBasicCalibrationControl ( Vn100 vn100,
unsigned char  hsiMode,
unsigned char  hsiOutput,
unsigned char  convergeRate,
VN_BOOL  waitForResponse 
)

Sets the values of the Magnetometer Basic Calibration Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]hsiModeValue for the HSIMode field.
[in]hsiOutputValue for the HSIOutput field.
[in]convergeRateValue for the ConvergeRate field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setReferenceFrameRotation ( Vn100 vn100,
VnMatrix3x3  c,
VN_BOOL  waitForResponse 
)

Sets the values of the Reference Frame Rotation register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]cThe C matrix values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setSerialBaudRate ( Vn100 vn100,
unsigned int  serialBaudrate,
VN_BOOL  waitForResponse 
)

Sets the values of the Serial Baud Rate register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]serialBaudrateValue for the serial baudrate field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setSynchronizationControl ( Vn100 vn100,
unsigned char  syncInMode,
unsigned char  syncInEdge,
unsigned short  syncInSkipFactor,
unsigned int  reserved0,
unsigned char  syncOutMode,
unsigned char  syncOutPolarity,
unsigned short  syncOutSkipFactor,
unsigned int  syncOutPulseWidth,
unsigned int  reserved1,
VN_BOOL  waitForResponse 
)

Sets the values of the Synchronization Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]syncInModeValue for the input signal synchronization mode field.
[in]syncInEdgeValue for the input signal synchronization edge selection field.
[in]syncInSkipFactorValue for the input signal trigger skip factor field.
[in]reserved0Value for the reserved field.
[in]syncOutModeValue for the output signal synchronization mode field.
[in]syncOutPolarityValue for the output signal synchronization polarity field.
[in]syncOutSkipFactorValue for the output synchronization signal skip factor field.
[in]syncOutPulseWidthValue for the output synchronization signal pulse width field.
[in]reserved1Value for the reserved field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setSynchronizationStatus ( Vn100 vn100,
unsigned int  syncInCount,
unsigned int  syncInTime,
unsigned int  syncOutCount,
VN_BOOL  waitForResponse 
)

Sets the values of the Synchronization Status register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]syncInCountValue for the synchronization in count field.
[in]syncInTimeValue for the synchronization in time field.
[in]syncOutCountValue for the synchronization out count field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setUserTag ( Vn100 vn100,
char *  userTagData,
unsigned int  userTagDataLength,
VN_BOOL  waitForResponse 
)

Sets the values of the User Tag register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]userTagDataArray containg the data to send. Length must be equal to or less than 20 characters.
[in]userTagDataLengthLength of the data to send in the userTagData array.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeAccelerometerAdvancedTuning ( Vn100 vn100,
VnVector3  minimumFiltering,
VnVector3  maximumFiltering,
double  maximumAdaptRate,
double  disturbanceWindow,
double  maximumTuning,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Accelerometer Advanced Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]minimumFilteringThe minimum allowed level of filtering (X,Y,Z) values to write to the sensor.
[in]maximumFilteringThe maximum allowed level of filtering (X,Y,Z) values to write to the sensor.
[in]maximumAdaptRateValue for the MaxAdaptRate field.
[in]disturbanceWindowValue for the DisturbanceWindow field.
[in]maximumTuningValue for the MaxTuning field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeAccelerometerBasicTuning ( Vn100 vn100,
VnVector3  baseTuning,
VnVector3  adaptiveTuning,
VnVector3  adaptiveFiltering,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Accelerometer Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]baseTuningThe accelerometer base tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveTuningThe accelerometer adaptive tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveFilteringThe accelerometer adaptive filtering (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeControl ( Vn100 vn100,
unsigned char  enable,
unsigned char  headingMode,
unsigned char  filteringMode,
unsigned char  tuningMode,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Control register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]enableValue for the enable/disable field.
[in]headingModeValue for the heading mode field.
[in]filteringModeValue for the filtering mode field.
[in]tuningModeValue for the tuning mode field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeGyroBasicTuning ( Vn100 vn100,
VnVector3  baseTuning,
VnVector3  adaptiveTuning,
VnVector3  adaptiveFiltering,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Gyro Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]baseTuningThe gyroscope base tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveTuningThe gyroscope adaptive tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveFilteringThe gyroscope adaptive filtering (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeMagnetometerAdvancedTuning ( Vn100 vn100,
VnVector3  minimumFiltering,
VnVector3  maximumFiltering,
double  maximumAdaptRate,
double  disturbanceWindow,
double  maximumTuning,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Magnetometer Advanced Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]minimumFilteringThe minimum allowed level of filtering (X,Y,Z) values to write to the sensor.
[in]maximumFilteringThe maximum allowed level of filtering (X,Y,Z) values to write to the sensor.
[in]maximumAdaptRateValue for the MaxAdaptRate field.
[in]disturbanceWindowValue for the DisturbanceWindow field.
[in]maximumTuningValue for the MaxTuning field.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_setVpeMagnetometerBasicTuning ( Vn100 vn100,
VnVector3  baseTuning,
VnVector3  adaptiveTuning,
VnVector3  adaptiveFiltering,
VN_BOOL  waitForResponse 
)

Sets the values of the VPE Magnetometer Basic Tuning register.

Parameters:
[in]vn100Pointer to the Vn100 control object.
[in]baseTuningThe magnetometer base tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveTuningThe magnetometer adaptive tuning (X,Y,Z) values to write to the sensor.
[in]adaptiveFilteringThe magnetometer adaptive filtering (X,Y,Z) values to write to the sensor.
[in]waitForResponseSignals if the function should block until a response is received from the sensor. TRUE to block for a response; FALSE to immediately return after sending out the command.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_tare ( Vn100 vn100,
VN_BOOL  waitForResponse 
)

Commands the VN-100 module to zero out its current orientation.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.

Unregisters an already registered function for recieving notifications of when new asynchronous data is received.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
VN_ERROR_CODE vn100_writeSettings ( Vn100 vn100,
VN_BOOL  waitForResponse 
)

Commands the VN-100 unit to write its current register setting to non-volatile memory.

Parameters:
[in]vn100Pointer to the Vn100 control object.
Returns:
VectorNav error code.
 All Data Structures Files Functions Variables Typedefs Defines