enum.h
#ifndef VNENUM_H_INCLUDED
#define VNENUM_H_INCLUDED
typedef enum
{
PACKETTYPE_BINARY,
PACKETTYPE_ASCII,
PACKETTYPE_UNKNOWN
} PacketType;
typedef enum
{
BINARYGROUPTYPE_COMMON = 0x01,
BINARYGROUPTYPE_TIME = 0x02,
BINARYGROUPTYPE_IMU = 0x04,
BINARYGROUPTYPE_GPS = 0x08,
BINARYGROUPTYPE_ATTITUDE = 0x10,
BINARYGROUPTYPE_INS = 0x20
} BinaryGroupType;
typedef enum
{
ASYNCMODE_NONE = 0,
ASYNCMODE_PORT1 = 1,
ASYNCMODE_PORT2 = 2,
ASYNCMODE_BOTH = 3
} AsyncMode;
typedef enum
{
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
} CommonGroup;
typedef enum
{
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
} TimeGroup;
typedef enum
{
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
#ifdef EXTRA
,
IMUGROUP_RAW = 0x1000
#endif
} ImuGroup;
typedef enum
{
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
#ifdef EXTRA
,
GPSGROUP_SVSTAT = 0x1000
#endif
} GpsGroup;
typedef enum
{
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
#ifdef EXTRA
,
ATTITUDEGROUP_YPRRATE = 0x0200,
ATTITUDEGROUP_STATEAHRS = 0x0400,
ATTITUDEGROUP_COVAHRS = 0x0800
#endif
} AttitudeGroup;
typedef enum
{
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
#ifdef EXTRA
,
INSGROUP_STATEINS = 0x0800,
INSGROUP_COVINS = 0x1000
#endif
} InsGroup;
typedef enum
{
CDVEL_None,
CDVEL_GpsNed,
CDVEL_GpsEcef,
CDVEL_EstimatedNed,
CDVEL_EstimatedEcef,
CDVEL_EstimatedBody
} VelocityType;
typedef enum
{
ERR_HARD_FAULT = 1,
ERR_SERIAL_BUFFER_OVERFLOW = 2,
ERR_INVALID_CHECKSUM = 3,
ERR_INVALID_COMMAND = 4,
ERR_NOT_ENOUGH_PARAMETERS = 5,
ERR_TOO_MANY_PARAMETERS = 6,
ERR_INVALID_PARAMETER = 7,
ERR_INVALID_REGISTER = 8,
ERR_UNAUTHORIZED_ACCESS = 9,
ERR_WATCHDOG_RESET = 10,
ERR_OUTPUT_BUFFER_OVERFLOW = 11,
ERR_INSUFFICIENT_BAUD_RATE = 12,
ERR_ERROR_BUFFER_OVERFLOW = 255
} SensorError;
typedef enum
{
E_NONE,
E_UNKNOWN,
E_BUFFER_TOO_SMALL,
E_INVALID_VALUE,
E_NOT_IMPLEMENTED,
E_NOT_SUPPORTED,
E_NOT_FOUND,
E_TIMEOUT,
E_PERMISSION_DENIED,
E_INVALID_OPERATION,
E_SIGNALED,
E_MEMORY_NOT_ALLOCATED,
E_SENSOR_HARD_FAULT = 1001,
E_SENSOR_SERIAL_BUFFER_OVERFLOW = 1002,
E_SENSOR_INVALID_CHECKSUM = 1003,
E_SENSOR_INVALID_COMMAND = 1004,
E_SENSOR_NOT_ENOUGH_PARAMETERS = 1005,
E_SENSOR_TOO_MANY_PARAMETERS = 1006,
E_SENSOR_INVALID_PARAMETER = 1007,
E_SENSOR_INVALID_REGISTER = 1008,
E_SENSOR_UNAUTHORIZED_ACCESS = 1009,
E_SENSOR_WATCHDOG_RESET = 1010,
E_SENSOR_OUTPUT_BUFFER_OVERFLOW = 1011,
E_SENSOR_INSUFFICIENT_BAUD_RATE = 1012,
E_SENSOR_ERROR_BUFFER_OVERFLOW = 1013,
E_DATA_NOT_ELLIPTICAL = 2001,
E_ILL_CONDITIONED = 2002,
E_EXCEEDED_MAX_ITERATIONS = 2003,
E_BAD_FINAL_INTERATION = 2004,
E_INSUFFICIENT_DATA = 2005
} VnError;
typedef enum
{
VNERRORDETECTIONMODE_NONE,
VNERRORDETECTIONMODE_CHECKSUM,
VNERRORDETECTIONMODE_CRC
} VnErrorDetectionMode;
typedef enum
{
#ifdef EXTRA
VNSYNCINMODE_COUNT2 = 0,
VNSYNCINMODE_ADC2 = 1,
VNSYNCINMODE_ASYNC2 = 2,
#endif
VNSYNCINMODE_COUNT = 3,
VNSYNCINMODE_IMU = 4,
VNSYNCINMODE_ASYNC = 5
} VnSyncInMode;
typedef enum
{
VNSYNCINEDGE_RISING = 0,
VNSYNCINEDGE_FALLING = 1
} VnSyncInEdge;
typedef enum
{
VNSYNCOUTMODE_NONE = 0,
VNSYNCOUTMODE_ITEMSTART = 1,
VNSYNCOUTMODE_IMUREADY = 2,
VNSYNCOUTMODE_INS = 3,
VNSYNCOUTMODE_GPSPPS = 6
} VnSyncOutMode;
typedef enum
{
VNSYNCOUTPOLARITY_NEGATIVE = 0,
VNSYNCOUTPOLARITY_POSITIVE = 1
} VnSyncOutPolarity;
typedef enum
{
VNCOUNTMODE_NONE = 0,
VNCOUNTMODE_SYNCINCOUNT = 1,
VNCOUNTMODE_SYNCINTIME = 2,
VNCOUNTMODE_SYNCOUTCOUNTER = 3,
VNCOUNTMODE_GPSPPS = 4
} VnCountMode;
typedef enum
{
VNSTATUSMODE_OFF = 0,
VNSTATUSMODE_VPESTATUS = 1,
VNSTATUSMODE_INSSTATUS = 2
} VnStatusMode;
typedef enum
{
VNCHECKSUMMODE_OFF = 0,
VNCHECKSUMMODE_CHECKSUM = 1,
VNCHECKSUMMODE_CRC = 2
} VnChecksumMode;
typedef enum
{
VNERRORMODE_IGNORE = 0,
VNERRORMODE_SEND = 1,
VNERRORMODE_SENDANDOFF = 2
} VnErrorMode;
typedef enum
{
VNFILTERMODE_NOFILTERING = 0,
VNFILTERMODE_ONLYRAW = 1,
VNFILTERMODE_ONLYCOMPENSATED = 2,
VNFILTERMODE_BOTH = 3
} VnFilterMode;
typedef enum
{
VNINTEGRATIONFRAME_BODY = 0,
VNINTEGRATIONFRAME_NED = 1
} VnIntegrationFrame;
typedef enum
{
VNCOMPENSATIONMODE_NONE = 0,
VNCOMPENSATIONMODE_BIAS = 1
} VnCompensationMode;
typedef enum
{
VNGPSFIX_NOFIX = 0,
VNGPSFIX_TIMEONLY = 1,
VNGPSFIX_2D = 2,
VNGPSFIX_3D = 3
} VnGpsFix;
typedef enum
{
VNGPSMODE_ONBOARDGPS = 0,
VNGPSMODE_EXTERNALGPS = 1,
VNGPSMODE_EXTERNALVN200GPS = 2
} VnGpsMode;
typedef enum
{
VNPPSSOURCE_GPSPPSRISING = 0,
VNPPSSOURCE_GPSPPSFALLING = 1,
VNPPSSOURCE_SYNCINRISING = 2,
VNPPSSOURCE_SYNCINFALLING = 3
} VnPpsSource;
typedef enum
{
VNVPEENABLE_DISABLE = 0,
VNVPEENABLE_ENABLE = 1
} VnVpeEnable;
typedef enum
{
VNHEADINGMODE_ABSOLUTE = 0,
VNHEADINGMODE_RELATIVE = 1,
VNHEADINGMODE_INDOOR = 2
} VnHeadingMode;
typedef enum
{
VNVPEMODE_OFF = 0,
VNVPEMODE_MODE1 = 1
} VnVpeMode;
typedef enum
{
VNSCENARIO_AHRS = 0,
VNSCENARIO_INSWITHPRESSURE = 1,
VNSCENARIO_INSWITHOUTPRESSURE = 2,
VNSCENARIO_GPSMOVINGBASELINEDYNAMIC = 3,
VNSCENARIO_GPSMOVINGBASELINESTATIC = 4
} VnScenario;
typedef enum
{
VNHSIMODE_OFF = 0,
VNHSIMODE_RUN = 1,
VNHSIMODE_RESET = 2
} VnHsiMode;
typedef enum
{
VNHSIOUTPUT_NOONBOARD = 1,
VNHSIOUTPUT_USEONBOARD = 3
} VnHsiOutput;
typedef enum
{
VNVELOCITYCOMPENSATIONMODE_DISABLED = 0,
VNVELOCITYCOMPENSATIONMODE_BODYMEASUREMENT = 1
} VnVelocityCompensationMode;
typedef enum
{
VNMAGNETICMODE_2D = 0,
VNMAGNETICMODE_3D = 1
} VnMagneticMode;
typedef enum
{
VNEXTERNALSENSORMODE_INTERNAL = 0,
VNEXTERNALSENSORMODE_EXTERNAL200HZ = 1,
VNEXTERNALSENSORMODE_EXTERNALONUPDATE = 2
} VnExternalSensorMode;
typedef enum
{
VNFOAMINIT_NOFOAMINIT = 0,
VNFOAMINIT_FOAMINITPITCHROLL = 1,
VNFOAMINIT_FOAMINITHEADINGPITCHROLL = 2,
VNFOAMINIT_FOAMINITPITCHROLLCOVARIANCE = 3,
VNFOAMINIT_FOAMINITHEADINGPITCHROLLCOVARIANCE = 4
} VnFoamInit;
#endif