VectorNav .NET Library
Classes | Enumerations
VectorNav.Protocol.Uart Namespace Reference

Classes

class  Packet
 Structure representing a UART packet received from a VectorNav sensor. More...
 
class  PacketFinder
 Helper class for finding packets in raw incoming data from a VectorNav sensor. More...
 
class  PacketFoundEventArgs
 
class  Util
 
struct  VpeStatus
 Status indicators for VPE. More...
 

Enumerations

enum  ErrorDetection { ErrorDetection.None, ErrorDetection.Checksum8, ErrorDetection.Crc16 }
 Various error detection methods used by the sensor and its data packets. More...
 
enum  PacketType { PacketType.Binary, PacketType.Ascii, PacketType.Unknown }
 The different types of UART packets. More...
 
enum  SensorError {
  SensorError.HardFault = 1, SensorError.SerialBufferOverflow = 2, SensorError.InvalidChecksum = 3, SensorError.InvalidCommand = 4,
  SensorError.NotEnoughParameters = 5, SensorError.TooManyParameters = 6, SensorError.InvalidParameter = 7, SensorError.InvalidRegister = 8,
  SensorError.UnauthorizedAccess = 9, SensorError.WatchdogReset = 10, SensorError.OutputBufferOverflow = 11, SensorError.InsufficientBaudRate = 12,
  SensorError.ErrorBufferOverflow = 255
}
 Errors that the VectorNav sensor can report. More...
 
enum  AsciiAsync {
  AsciiAsync.VNOFF = 0, AsciiAsync.VNYPR = 1, AsciiAsync.VNQTN = 2, AsciiAsync.VNQMR = 8,
  AsciiAsync.VNMAG = 10, AsciiAsync.VNACC = 11, AsciiAsync.VNGYR = 12, AsciiAsync.VNMAR = 13,
  AsciiAsync.VNYMR = 14, AsciiAsync.VNYBA = 16, AsciiAsync.VNYIA = 17, AsciiAsync.VNIMU = 19,
  AsciiAsync.VNGPS = 20, AsciiAsync.VNGPE = 21, AsciiAsync.VNINS = 22, AsciiAsync.VNINE = 23,
  AsciiAsync.VNISL = 28, AsciiAsync.VNISE = 29, AsciiAsync.VNDTV = 30
}
 Enumeration of the available asynchronous ASCII message types. More...
 
enum  BinaryGroup {
  BinaryGroup.Common = 0x01, BinaryGroup.Time = 0x02, BinaryGroup.Imu = 0x04, BinaryGroup.Gps = 0x08,
  BinaryGroup.Attitude = 0x10, BinaryGroup.Ins = 0x20
}
 The available binary output groups. More...
 
enum  AsyncMode { AsyncMode.None = 0, AsyncMode.Port1 = 1, AsyncMode.Port2 = 2, AsyncMode.Both = 3 }
 Async modes for the Binary Output registers. More...
 
enum  CommonGroup {
  CommonGroup.None = 0x0000, CommonGroup.TimeStartup = 0x0001, CommonGroup.TimeGps = 0x0002, CommonGroup.TimeSyncIn = 0x0004,
  CommonGroup.YawPitchRoll = 0x0008, CommonGroup.Quaternion = 0x0010, CommonGroup.AngularRate = 0x0020, CommonGroup.Position = 0x0040,
  CommonGroup.Velocity = 0x0080, CommonGroup.Accel = 0x0100, CommonGroup.Imu = 0x0200, CommonGroup.MagPres = 0x0400,
  CommonGroup.DeltaTheta = 0x0800, CommonGroup.InsStatus = 0x1000, CommonGroup.SyncInCnt = 0x2000, CommonGroup.TimeGpsPps = 0x4000
}
 Flags for the binary group 1 'Common' in the binary output registers. More...
 
enum  TimeGroup {
  TimeGroup.None = 0x0000, TimeGroup.TimeStartup = 0x0001, TimeGroup.TimeGps = 0x0002, TimeGroup.GpsTow = 0x0004,
  TimeGroup.GpsWeek = 0x0008, TimeGroup.TimeSyncIn = 0x0010, TimeGroup.TimeGpsPps = 0x0020, TimeGroup.TimeUtc = 0x0040,
  TimeGroup.SyncInCnt = 0x0080
}
 Flags for the binary group 2 'Time' in the binary output registers. More...
 
enum  ImuGroup {
  ImuGroup.None = 0x0000, ImuGroup.ImuStatus = 0x0001, ImuGroup.UncompMag = 0x0002, ImuGroup.UncompAccel = 0x0004,
  ImuGroup.UncompGyro = 0x0008, ImuGroup.Temp = 0x0010, ImuGroup.Pres = 0x0020, ImuGroup.DeltaTheta = 0x0040,
  ImuGroup.DeltaVel = 0x0080, ImuGroup.Mag = 0x0100, ImuGroup.Accel = 0x0200, ImuGroup.AngularRate = 0x0400,
  ImuGroup.SensSat = 0x0800
}
 Flags for the binary group 3 'IMU' in the binary output registers. More...
 
enum  GpsGroup {
  GpsGroup.None = 0x0000, GpsGroup.Utc = 0x0001, GpsGroup.Tow = 0x0002, GpsGroup.Week = 0x0004,
  GpsGroup.NumSats = 0x0008, GpsGroup.Fix = 0x0010, GpsGroup.PosLla = 0x0020, GpsGroup.PosEcef = 0x0040,
  GpsGroup.VelNed = 0x0080, GpsGroup.VelEcef = 0x0100, GpsGroup.PosU = 0x0200, GpsGroup.VelU = 0x0400,
  GpsGroup.TimeU = 0x0800
}
 Flags for the binary group 4 'GPS' in the binary output registers. More...
 
enum  AttitudeGroup {
  AttitudeGroup.None = 0x0000, AttitudeGroup.VpeStatus = 0x0001, AttitudeGroup.YawPitchRoll = 0x0002, AttitudeGroup.Quaternion = 0x0004,
  AttitudeGroup.Dcm = 0x0008, AttitudeGroup.MagNed = 0x0010, AttitudeGroup.AccelNed = 0x0020, AttitudeGroup.LinearAccelBody = 0x0040,
  AttitudeGroup.LinearAccelNed = 0x0080, AttitudeGroup.YprU = 0x0100
}
 Flags for the binary group 5 'Attitude' in the binary output registers. More...
 
enum  InsGroup {
  InsGroup.None = 0x0000, InsGroup.InsStatus = 0x0001, InsGroup.PosLla = 0x0002, InsGroup.PosEcef = 0x0004,
  InsGroup.VelBody = 0x0008, InsGroup.VelNed = 0x0010, InsGroup.VelEcef = 0x0020, InsGroup.MagEcef = 0x0040,
  InsGroup.AccelEcef = 0x0080, InsGroup.LinearAccelEcef = 0x0100, InsGroup.PosU = 0x0200, InsGroup.VelU = 0x0400
}
 Flags for the binary group 6 'INS' in the binary output registers. More...
 
enum  SensSat {
  SensSat.MagX = 0x0001, SensSat.MagY = 0x0002, SensSat.MagZ = 0x0004, SensSat.AccX = 0x0008,
  SensSat.AccY = 0x0010, SensSat.AccZ = 0x0020, SensSat.GyroX = 0x0040, SensSat.GyroY = 0x0080,
  SensSat.GyroZ = 0x0100, SensSat.Pres = 0x0200
}
 Sensor saturation flags. More...
 
enum  InsStatus {
  InsStatus.NotTracking = 0x00, InsStatus.SufficientDynamicMotion = 0x01, InsStatus.Tracking = 0x02, InsStatus.GpsFix = 0x04,
  InsStatus.TimeError = 0x08, InsStatus.ImuError = 0x10, InsStatus.MagPresError = 0x20, InsStatus.GpsError = 0x40
}
 Status flags for INS filters. More...
 
enum  SyncInMode { SyncInMode.Count = 3, SyncInMode.Imu = 4, SyncInMode.Async = 5 }
 Different modes for the SyncInMode field of the Synchronization Control register. More...
 
enum  SyncInEdge { SyncInEdge.Rising = 0, SyncInEdge.Falling = 1 }
 Different modes for the SyncInEdge field of the Synchronization Control register. More...
 
enum  SyncOutMode {
  SyncOutMode.None = 0, SyncOutMode.ItemStart = 1, SyncOutMode.ImuReady = 2, SyncOutMode.Ins = 3,
  SyncOutMode.GpsPps = 6
}
 Different modes for the SyncOutMode field of the Synchronization Control register. More...
 
enum  SyncOutPolarity { SyncOutPolarity.Negative = 0, SyncOutPolarity.Positive = 1 }
 Different modes for the SyncOutPolarity field of the Synchronization Control register. More...
 
enum  CountMode {
  CountMode.None = 0, CountMode.SyncInCount = 1, CountMode.SyncInTime = 2, CountMode.SyncOutCounter = 3,
  CountMode.GpsPps = 4
}
 Counting modes for the Communication Protocol Control register. More...
 
enum  StatusMode { StatusMode.Off = 0, StatusMode.VpeStatus = 1, StatusMode.InsStatus = 2 }
 Status modes for the Communication Protocol Control register. More...
 
enum  ChecksumMode { ChecksumMode.Off = 0, ChecksumMode.Checksum = 1, ChecksumMode.Crc = 2 }
 Checksum modes for the Communication Protocol Control register. More...
 
enum  ErrorMode { ErrorMode.Ignore = 0, ErrorMode.Send = 1, ErrorMode.SendAndOff = 2 }
 Error modes for the Communication Protocol Control register. More...
 
enum  FilterMode { FilterMode.NoFiltering = 0, FilterMode.OnlyRaw = 1, FilterMode.OnlyCompensated = 2, FilterMode.Both = 3 }
 Filter modes for the IMU Filtering Configuration register. More...
 
enum  IntegrationFrame { IntegrationFrame.Body = 0, IntegrationFrame.Ned = 1 }
 Integration frames for the Delta Theta and Delta Velocity Configuration register. More...
 
enum  CompensationMode { CompensationMode.None = 0, CompensationMode.Bias = 1 }
 Compensation modes for the Delta Theta and Delta Velocity configuration register. More...
 
enum  GpsFix { GpsFix.NoFix = 0, GpsFix.TimeOnly = 1, GpsFix.TwoD = 2, GpsFix.ThreeD = 3 }
 GPS fix modes for the GPS Solution - LLA register. More...
 
enum  GpsMode { GpsMode.OnBoardGps = 0, GpsMode.ExternalGps = 1, GpsMode.ExternalVn200Gps = 2 }
 GPS modes for the GPS Configuration register. More...
 
enum  PpsSource { PpsSource.GpsPpsRising = 0, PpsSource.GpsPpsFalling = 1, PpsSource.SyncInRising = 2, PpsSource.SyncInFalling = 3 }
 GPS PPS mode for the GPS Configuration register. More...
 
enum  VpeEnable { VpeEnable.Disable = 0, VpeEnable.Enable = 1 }
 VPE Enable mode for the VPE Basic Control register. More...
 
enum  HeadingMode { HeadingMode.Absolute = 0, HeadingMode.Relative = 1, HeadingMode.Indoor = 2 }
 VPE Heading modes used by the VPE Basic Control register. More...
 
enum  VpeMode { VpeMode.Off = 0, VpeMode.Mode1 = 1 }
 VPE modes for the VPE Basic Control register. More...
 
enum  Scenario {
  Scenario.Ahrs = 0, Scenario.InsWithPressure = 1, Scenario.InsWithoutPressure = 2, Scenario.GpsMovingBaselineDynamic = 3,
  Scenario.GpsMovingBaselineStatic = 4
}
 Different scenario modes for the INS Basic Configuration register. More...
 
enum  HsiMode { HsiMode.Off = 0, HsiMode.Run = 1, HsiMode.Reset = 2 }
 HSI modes used for the Magnetometer Calibration Control register. More...
 
enum  HsiOutput { HsiOutput.NoOnboard = 1, HsiOutput.UseOnboard = 3 }
 HSI output types for the Magnetometer Calibration Control register. More...
 
enum  VelocityCompensationMode { VelocityCompensationMode.Disabled = 0, VelocityCompensationMode.BodyMeasurement = 1 }
 Type of velocity compensation performed by the VPE. More...
 
enum  MagneticMode { MagneticMode.TwoD = 0, MagneticMode.ThreeD = 1 }
 How the magnetometer is used by the filter. More...
 
enum  ExternalSensorMode { ExternalSensorMode.Internal = 0, ExternalSensorMode.External200Hz = 1, ExternalSensorMode.ExternalOnUpdate = 2 }
 Source for magnetometer used by the filter. More...
 
enum  FoamInit {
  FoamInit.NoFoamInit = 0, FoamInit.FoamInitPitchRoll = 1, FoamInit.FoamInitHeadingPitchRoll = 2, FoamInit.FoamInitPitchRollCovariance = 3,
  FoamInit.FoamInitHeadingPitchRollCovariance = 4
}
 Options for the use of FOAM. More...
 

Enumeration Type Documentation

Enumeration of the available asynchronous ASCII message types.

Enumerator
VNOFF 

Asynchronous output is turned off.

VNYPR 

Asynchronous output type is Yaw, Pitch, Roll.

VNQTN 

Asynchronous output type is Quaternion.

VNQMR 

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

VNMAG 

Asynchronous output type is Magnetic Measurements.

VNACC 

Asynchronous output type is Acceleration Measurements.

VNGYR 

Asynchronous output type is Angular Rate Measurements.

VNMAR 

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

VNYMR 

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

VNYBA 

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

VNYIA 

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

VNIMU 

Asynchronous output type is Calibrated Inertial Measurements.

VNGPS 

Asynchronous output type is GPS LLA.

VNGPE 

Asynchronous output type is GPS ECEF.

VNINS 

Asynchronous output type is INS LLA solution.

VNINE 

Asynchronous output type is INS ECEF solution.

VNISL 

Asynchronous output type is INS LLA 2 solution.

VNISE 

Asynchronous output type is INS ECEF 2 solution.

VNDTV 

Asynchronous output type is Delta Theta and Delta Velocity.

Async modes for the Binary Output registers.

Enumerator
None 

None.

Port1 

Serial port 1.

Port2 

Serial port 2.

Both 

Both serial ports.

Flags for the binary group 5 'Attitude' in the binary output registers.

Enumerator
None 

None.

VpeStatus 

VpeStatus.

YawPitchRoll 

YawPitchRoll.

Quaternion 

Quaternion.

Dcm 

DCM.

MagNed 

MagNed.

AccelNed 

AccelNed.

LinearAccelBody 

LinearAccelBody.

LinearAccelNed 

LinearAccelNed.

YprU 

YprU.

The available binary output groups.

Enumerator
Common 

Common group.

Time 

Time group.

Imu 

IMU group.

Gps 

GPS group.

Attitude 

Attitude group.

Ins 

INS group.

Checksum modes for the Communication Protocol Control register.

Enumerator
Off 

Off.

Checksum 

8-bit checksum.

Crc 

16-bit CRC.

Flags for the binary group 1 'Common' in the binary output registers.

Enumerator
None 

None.

TimeStartup 

TimeStartup.

TimeGps 

TimeGps.

TimeSyncIn 

TimeSyncIn.

YawPitchRoll 

YawPitchRoll.

Quaternion 

Quaternion.

AngularRate 

AngularRate.

Position 

Position.

Velocity 

Velocity.

Accel 

Accel.

Imu 

Imu.

MagPres 

MagPres.

DeltaTheta 

DeltaTheta.

InsStatus 

InsStatus.

SyncInCnt 

SyncInCnt.

TimeGpsPps 

TimeGpsPps.

Compensation modes for the Delta Theta and Delta Velocity configuration register.

Enumerator
None 

None.

Bias 

Bias.

Counting modes for the Communication Protocol Control register.

Enumerator
None 

Off.

SyncInCount 

SyncIn counter.

SyncInTime 

SyncIn time.

SyncOutCounter 

SyncOut counter.

GpsPps 

GPS PPS time.

Various error detection methods used by the sensor and its data packets.

Enumerator
None 

Signifies no error-detection should be performed.

Checksum8 

Signifies to use 8-bit XOR checksum.

Crc16 

Signifies to use CRC16-CCITT algorithm.

Error modes for the Communication Protocol Control register.

Enumerator
Ignore 

Ignore error.

Send 

Send error.

SendAndOff 

Send error and set ADOR register to off.

Source for magnetometer used by the filter.

Enumerator
Internal 

Use internal magnetometer.

External200Hz 

Use external magnetometer. Will use measurement at every new time step.

ExternalOnUpdate 

Use external magnetometer. Will only use when the measurement is updated.

Filter modes for the IMU Filtering Configuration register.

Enumerator
NoFiltering 

No filtering.

OnlyRaw 

Filtering performed only on raw uncompensated IMU measurements.

OnlyCompensated 

Filtering performed only on compensated IMU measurements.

Both 

Filtering performed on both uncompensated and compensated IMU measurements.

Options for the use of FOAM.

Enumerator
NoFoamInit 

FOAM is not used.

FoamInitPitchRoll 

FOAM is used to initialize only pitch and roll.

FoamInitHeadingPitchRoll 

FOAM is used to initialize heading, pitch and roll.

FoamInitPitchRollCovariance 

FOAM is used to initialize pitch, roll and covariance.

FoamInitHeadingPitchRollCovariance 

FOAM is used to initialize heading, pitch, roll and covariance

GPS fix modes for the GPS Solution - LLA register.

Enumerator
NoFix 

No fix.

TimeOnly 

Time only.

TwoD 

2D.

ThreeD 

3D.

Flags for the binary group 4 'GPS' in the binary output registers.

Enumerator
None 

None.

Utc 

UTC.

Tow 

Tow.

Week 

Week.

NumSats 

NumSats.

Fix 

Fix.

PosLla 

Fix.

PosEcef 

PosEcef.

VelNed 

VelNed.

VelEcef 

VelEcef.

PosU 

PosU.

VelU 

VelU.

TimeU 

TimeU.

GPS modes for the GPS Configuration register.

Enumerator
OnBoardGps 

Use onboard GPS.

ExternalGps 

Use external GPS.

ExternalVn200Gps 

Use external VN-200 as GPS.

VPE Heading modes used by the VPE Basic Control register.

Enumerator
Absolute 

Absolute heading.

Relative 

Relative heading.

Indoor 

Indoor heading.

HSI modes used for the Magnetometer Calibration Control register.

Enumerator
Off 

Real-time hard/soft iron calibration algorithm is turned off.

Run 

Runs the real-time hard/soft iron calibration algorithm.

Reset 

Resets the real-time hard/soft iron solution.

HSI output types for the Magnetometer Calibration Control register.

Enumerator
NoOnboard 

Onboard HSI is not applied to the magnetic measurements.

UseOnboard 

Onboard HSI is applied to the magnetic measurements.

Flags for the binary group 3 'IMU' in the binary output registers.

Enumerator
None 

None.

ImuStatus 

ImuStatus.

UncompMag 

UncompMag.

UncompAccel 

UncompAccel.

UncompGyro 

UncompGyro.

Temp 

Temp.

Pres 

Pres.

DeltaTheta 

DeltaTheta.

DeltaVel 

DeltaVel.

Mag 

Mag.

Accel 

Accel.

AngularRate 

AngularRate.

SensSat 

SensSat.

Flags for the binary group 6 'INS' in the binary output registers.

Enumerator
None 

None.

InsStatus 

InsStatus.

PosLla 

PosLla.

PosEcef 

PosEcef.

VelBody 

VelBody.

VelNed 

VelNed.

VelEcef 

VelEcef.

MagEcef 

MagEcef.

AccelEcef 

AccelEcef.

LinearAccelEcef 

LinearAccelEcef.

PosU 

PosU.

VelU 

VelU.

Status flags for INS filters.

Enumerator
NotTracking 

Not tracking.

SufficientDynamicMotion 

Sufficient dynamic motion.

Tracking 

INS is tracking.

GpsFix 

Indicates proper GPS fix.

TimeError 

INS filter loop exceeds 5 ms.

ImuError 

IMU communication error.

MagPresError 

Magnetometer or pressure sensor error.

GpsError 

GPS communication error.

Integration frames for the Delta Theta and Delta Velocity Configuration register.

Enumerator
Body 

Body frame.

Ned 

NED frame.

How the magnetometer is used by the filter.

Enumerator
TwoD 

Magnetometer will only affect heading.

ThreeD 

Magnetometer will affect heading, pitch, and roll.

The different types of UART packets.

Enumerator
Binary 

Binary packet.

Ascii 

ASCII packet.

Unknown 

An unknown type of packet.

GPS PPS mode for the GPS Configuration register.

Enumerator
GpsPpsRising 

GPS PPS signal on GPS_PPS pin and triggered on rising edge.

GpsPpsFalling 

GPS PPS signal on GPS_PPS pin and triggered on falling edge.

SyncInRising 

GPS PPS signal on SyncIn pin and triggered on rising edge.

SyncInFalling 

GPS PPS signal on SyncIn pin and triggered on falling edge.

Different scenario modes for the INS Basic Configuration register.

Enumerator
Ahrs 

AHRS.

InsWithPressure 

General purpose INS with barometric pressure sensor.

InsWithoutPressure 

General purpose INS without barometric pressure sensor.

GpsMovingBaselineDynamic 

GPS moving baseline for dynamic applications.

GpsMovingBaselineStatic 

GPS moving baseline for static applications.

Errors that the VectorNav sensor can report.

Enumerator
HardFault 

Hard fault.

SerialBufferOverflow 

Serial buffer overflow.

InvalidChecksum 

Invalid checksum.

InvalidCommand 

Invalid command.

NotEnoughParameters 

Not enough parameters.

TooManyParameters 

Too many parameters.

InvalidParameter 

Invalid parameter.

InvalidRegister 

Invalid register.

UnauthorizedAccess 

Unauthorized access.

WatchdogReset 

Watchdog reset.

OutputBufferOverflow 

Output buffer overflow.

InsufficientBaudRate 

Insufficient baudrate.

ErrorBufferOverflow 

Error buffer overflow.

Sensor saturation flags.

Enumerator
MagX 

Magnetometer X-axis is saturated.

MagY 

Magnetometer Y-axis is saturated.

MagZ 

Magnetometer Z-axis is saturated.

AccX 

Accelerometer X-axis is saturated.

AccY 

Accelerometer Y-axis is saturated.

AccZ 

Accelerometer Z-axis is saturated.

GyroX 

Gyro X-axis is saturated.

GyroY 

Gyro Y-axis is saturated.

GyroZ 

Gyro Z-axis is saturated.

Pres 

Pressure measurement is saturated.

Status modes for the Communication Protocol Control register.

Enumerator
Off 

Off.

VpeStatus 

VPE status.

InsStatus 

INS status.

Different modes for the SyncInEdge field of the Synchronization Control register.

Enumerator
Rising 

Trigger on the rising edge on the SYNC_IN pin.

Falling 

Trigger on the falling edge on the SYNC_IN pin.

Different modes for the SyncInMode field of the Synchronization Control register.

Enumerator
Count 

Count number of trigger events on SYNC_IN pin.

Imu 

Start IMU sampling on trigger of SYNC_IN pin.

Async 

Output asynchronous message on trigger of SYNC_IN pin.

Different modes for the SyncOutMode field of the Synchronization Control register.

Enumerator
None 

None.

ItemStart 

Trigger at start of IMU sampling.

ImuReady 

Trigger when IMU measurements are available.

Ins 

Trigger when attitude measurements are available.

GpsPps 

Trigger on GPS PPS event when a 3D fix is valid.

Different modes for the SyncOutPolarity field of the Synchronization Control register.

Enumerator
Negative 

Negative pulse.

Positive 

Positive pulse.

Flags for the binary group 2 'Time' in the binary output registers.

Enumerator
None 

None.

TimeStartup 

TimeStartup.

TimeGps 

TimeGps.

GpsTow 

GpsTow.

GpsWeek 

GpsWeek.

TimeSyncIn 

TimeSyncIn.

TimeGpsPps 

TimeGpsPps.

TimeUtc 

TimeUTC.

SyncInCnt 

SyncInCnt.

Type of velocity compensation performed by the VPE.

Enumerator
Disabled 

Disabled

BodyMeasurement 

Body Measurement

VPE Enable mode for the VPE Basic Control register.

Enumerator
Disable 

Disable

Enable 

Enable

VPE modes for the VPE Basic Control register.

Enumerator
Off 

Off.

Mode1 

Mode 1.