Skip to content

Repository files navigation

NCOMdecoder Build Status

An NCOM decoder based in C for use with OxTS navigation systems, enabling users to decode the binary NCOM output.

Repository folders

nav

This folder contains two library files NcomRxC.h and NcomRxC.c, which can be included in your project.

example

The folder contains a simple program that exports an NCOM file to a CSV file, using the library files in nav. The program opens a file stream (to read the file), and decodes the NCOM packets from this stream.

Instructions to build and run example program


NB: This has been tested on the following platforms:

  • Unix (MacOS, Xenial)
  • MINGW64 (Windows 10)

Please note there appears to be an issue running in Cygwin.


# First clone this repository
git clone https://github.com/OxfordTechnicalSolutions/NCOMdecoder.git
cd NCOMdecoder
# Change directory into example source code folder
cd example
# Run make, which includes library files in nav (specified in Makefile)
make # Run executable, with example ncom data to create csv file
# Usage: NcomToCsv <input file> <output file> [<trig_file>]
./NcomToCsv 171019_031603.ncom 171019_031603.csv 

Measurements

The following table lists all the measurements available in a standard NCOM packet.

These can also be found in measurements.csv

Store nameTypeUnitsFormatFull nameCoordinate FrameAlternate Coordinate Frame NameDescription
Axdoublem/s²0Acceleration XvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame longitudinal (forward) IMU acceleration
Aydoublem/s²0Acceleration YvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame lateral (right) IMU acceleration
Azdoublem/s²0Acceleration ZvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame vertical (down) IMU acceleration
Afdoublem/s²0Acceleration forwardOxTS horizontal frameOxTS level frameOxTS horizontal frame longitudinal (forward) IMU acceleration
Aldoublem/s²0Acceleration lateralOxTS horizontal frameOxTS level frameOxTS horizontal frame lateral (right) IMU acceleration
Addoublem/s²0Acceleration downOxTS horizontal frameOxTS level frameOxTS horizontal frame vertical (down) IMU acceleration
FiltAxdoublem/s²0Acceleration filtered XvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame longitudinal (forward) filtered IMU acceleration
FiltAydoublem/s²0Acceleration filtered YvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame lateral (right) filtered IMU acceleration
FiltAzdoublem/s²0Acceleration filtered ZvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame vertical (down) filtered IMU acceleration
FiltAfdoublem/s²0Acceleration filtered forwardOxTS horizontal frameOxTS level frameOxTS horizontal frame longitudinal (forward) filtered IMU acceleration
FiltAldoublem/s²0Acceleration filtered lateralOxTS horizontal frameOxTS level frameOxTS horizontal frame lateral (right) filtered IMU acceleration
FiltAddoublem/s²0Acceleration filtered downOxTS horizontal frameOxTS level frameOxTS horizontal frame vertical (down) filtered IMU acceleration
IsoAnXdoublem/s²0ISO e.f.s. east accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system east acceleration
IsoAnYdoublem/s²0ISO e.f.s. north accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system north acceleration
IsoAnZdoublem/s²0ISO e.f.s. vertical accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system vertical (up) acceleration
IsoAhXdoublem/s²0ISO i.s. longitudinal accelerationISO 8855 intermediate systemISO 8855 intermediate system longitudinal (forward) acceleration
IsoAhYdoublem/s²0ISO i.s. lateral accelerationISO 8855 intermediate systemISO 8855 intermediate system lateral (left) acceleration
IsoAhZdoublem/s²0ISO i.s. vertical accelerationISO 8855 intermediate systemISO 8855 intermediate system vertical (up) acceleration
IsoAoXdoublem/s²0ISO v.s. longitudinal accelerationISO 8855 vehicle systemISO 8855 vehicle system longitudinal (forward) acceleration
IsoAoYdoublem/s²0ISO v.s. lateral accelerationISO 8855 vehicle systemISO 8855 vehicle system lateral (left) acceleration
IsoAoZdoublem/s²0ISO v.s. vertical accelerationISO 8855 vehicle systemISO 8855 vehicle system vertical (up) acceleration
FiltIsoAnXdoublem/s²0ISO e.f.s. east filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system east filtered acceleration
FiltIsoAnYdoublem/s²0ISO e.f.s. north filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system north filtered acceleration
FiltIsoAnZdoublem/s²0ISO e.f.s. vertical filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system vertical (up) filtered acceleration
FiltIsoAhXdoublem/s²0ISO i.s. longitudinal filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system longitudinal (forward) filtered acceleration
FiltIsoAhYdoublem/s²0ISO i.s. lateral filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system lateral (left) filtered acceleration
FiltIsoAhZdoublem/s²0ISO i.s. vertical filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system vertical (up) filtered acceleration
FiltIsoAoXdoublem/s²0ISO v.s. longitudinal filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system longitudinal (forward) filtered acceleration
FiltIsoAoYdoublem/s²0ISO v.s. lateral filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system lateral (left) filtered acceleration
FiltIsoAoZdoublem/s²0ISO v.s. vertical filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system vertical (up) filtered acceleration
Yxdoubledeg/s²0Angular acceleration XvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame longitudinal (forward) IMU angular acceleration
Yydoubledeg/s²0Angular acceleration YvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame lateral (right) IMU angular acceleration
Yzdoubledeg/s²0Angular acceleration ZvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame vertical (down) IMU angular acceleration
Yfdoubledeg/s²0Angular acceleration forwardOxTS horizontal frameOxTS level frameOxTS horizontal frame longitudinal (forward) IMU angular acceleration
Yldoubledeg/s²0Angular acceleration lateralOxTS horizontal frameOxTS level frameOxTS horizontal frame lateral (right) IMU angular acceleration
Yddoubledeg/s²0Angular acceleration downOxTS horizontal frameOxTS level frameOxTS horizontal frame vertical (down) IMU angular acceleration
FiltYxdoubledeg/s²0Angular acceleration filtered XvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame longitudinal (forward) filtered IMU angular acceleration
FiltYydoubledeg/s²0Angular acceleration filtered YvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame lateral (right) filtered IMU angular acceleration
FiltYzdoubledeg/s²0Angular acceleration filtered ZvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame vertical (down) filtered IMU angular acceleration
FiltYfdoubledeg/s²0Angular acceleration filtered forwardOxTS horizontal frameOxTS level frameOxTS horizontal frame longitudinal (forward) filtered IMU angular acceleration
FiltYldoubledeg/s²0Angular acceleration filtered lateralOxTS horizontal frameOxTS level frameOxTS horizontal frame lateral (right) filtered IMU angular acceleration
FiltYddoubledeg/s²0Angular acceleration filtered downOxTS horizontal frameOxTS level frameOxTS horizontal frame vertical (down) filtered IMU angular acceleration
IsoYnXdoubledeg/s²0ISO e.f.s. roll accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system roll (east angular) acceleration
IsoYnYdoubledeg/s²0ISO e.f.s. pitch accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system pitch (north angular) acceleration
IsoYnZdoubledeg/s²0ISO e.f.s. yaw accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system yaw (vertical angular) acceleration
IsoYhXdoubledeg/s²0ISO i.s. roll accelerationISO 8855 intermediate systemISO 8855 intermediate system roll (longitudinal angular) acceleration
IsoYhYdoubledeg/s²0ISO i.s. pitch accelerationISO 8855 intermediate systemISO 8855 intermediate system pitch (lateral angular) acceleration
IsoYhZdoubledeg/s²0ISO i.s. yaw accelerationISO 8855 intermediate systemISO 8855 intermediate system yaw (vertical angular) acceleration
IsoYoXdoubledeg/s²0ISO v.s. roll accelerationISO 8855 vehicle systemISO 8855 vehicle system roll (longitudinal angular) acceleration
IsoYoYdoubledeg/s²0ISO v.s. pitch accelerationISO 8855 vehicle systemISO 8855 vehicle system pitch (lateral angular) acceleration
IsoYoZdoubledeg/s²0ISO v.s. yaw accelerationISO 8855 vehicle systemISO 8855 vehicle system yaw (vertical angular) acceleration
FiltIsoYnXdoubledeg/s²0ISO e.f.s. roll filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system roll (east angular) filtered acceleration
FiltIsoYnYdoubledeg/s²0ISO e.f.s. pitch filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system pitch (north angular) filtered acceleration
FiltIsoYnZdoubledeg/s²0ISO e.f.s. yaw filtered accelerationISO 8855 earth-fixed systemISO 8855 earth-fixed system yaw (vertical angular) filtered acceleration
FiltIsoYhXdoubledeg/s²0ISO i.s. roll filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system roll (longitudinal angular) filtered acceleration
FiltIsoYhYdoubledeg/s²0ISO i.s. pitch filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system pitch (lateral angular) filtered acceleration
FiltIsoYhZdoubledeg/s²0ISO i.s. yaw filtered accelerationISO 8855 intermediate systemISO 8855 intermediate system yaw (vertical angular) filtered acceleration
FiltIsoYoXdoubledeg/s²0ISO v.s. roll filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system roll (longitudinal angular) filtered acceleration
FiltIsoYoYdoubledeg/s²0ISO v.s. pitch filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system pitch (lateral angular) filtered acceleration
FiltIsoYoZdoubledeg/s²0ISO v.s. yaw filtered accelerationISO 8855 vehicle systemISO 8855 vehicle system yaw (vertical angular) filtered acceleration
Wxdoubledeg/s0Angular rate XvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame longitudinal (forward) IMU angular rate
Wydoubledeg/s0Angular rate YvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame lateral (right) IMU angular rate
Wzdoubledeg/s0Angular rate ZvOxTS vehicle frameOxTS output frame (with default output displacement)OxTS output frame vertical (down) IMU angular rate
Wfdoubledeg/s0Angular rate forwardOxTS horizontal frameOxTS level frameOxTS horizontal frame longitudinal (forward) IMU angular rate
Wldoubledeg/s0Angular rate lateralOxTS horizontal frameOxTS level frameOxTS horizontal frame lateral (right) IMU angular rate
Wddoubledeg/s0Angular rate downOxTS horizontal frameOxTS level frameOxTS horizontal frame vertical (down) IMU angular rate
IsoWnXdoubledeg/s0ISO e.f.s. roll velocityISO 8855 earth-fixed systemISO 8855 earth-fixed system roll (east angular) velocity
IsoWnYdoubledeg/s0ISO e.f.s. pitch velocityISO 8855 earth-fixed systemISO 8855 earth-fixed system pitch (north angular) velocity
IsoWnZdoubledeg/s0ISO e.f.s. yaw velocityISO 8855 earth-fixed systemISO 8855 earth-fixed system yaw (vertical angular) velocity
IsoWhXdoubledeg/s0ISO i.s. roll velocityISO 8855 intermediate systemISO 8855 intermediate system roll (longitudinal angular) velocity
IsoWhYdoubledeg/s0ISO i.s. pitch velocityISO 8855 intermediate systemISO 8855 intermediate system pitch (lateral angular) velocity
IsoWhZdoubledeg/s0ISO i.s. yaw velocityISO 8855 intermediate systemISO 8855 intermediate system yaw (vertical angular) velocity
IsoWoXdoubledeg/s0ISO v.s. roll velocityISO 8855 vehicle systemISO 8855 vehicle system roll (longitudinal angular) velocity
IsoWoYdoubledeg/s0ISO v.s. pitch velocityISO 8855 vehicle systemISO 8855 vehicle system pitch (lateral angular) velocity
IsoWoZdoubledeg/s0ISO v.s. yaw velocityISO 8855 vehicle systemISO 8855 vehicle system yaw (vertical angular) velocity
HeadingAccdoubledeg0Heading accuracyHeading Accuracy
PitchAccdoubledeg0Pitch accuracyPitch Accuracy
RollAccdoubledeg0Roll accuracyRoll Accuracy
Trackdoubledeg0Track angle
TrackAccdoubledeg0Track angle accuracy
Slipdoubledeg0Slip angle
SlipAccdoubledeg0Slip angle accuracy
IsoYawdoubledeg0ISO yaw angleISO 8855 yaw angle
IsoPitchdoubledeg0ISO pitch angleISO 8855 pitch angle
IsoRolldoubledeg0ISO roll angleISO 8855 roll angle
Surf2OutHeadingdoubledeg0Heading to surface
Surf2OutPitchdoubledeg0Pitch to surface
Surf2OutRolldoubledeg0Roll to surface
Latdoubledeg0LatitudeLatitude
Londoubledeg0LongitudeLongitude
Altdoublem0AltitudeAltitude
NorthAccdoublem0Position accuracy northNorth Position Accuracy
EastAccdoublem0Position accuracy eastEast Position Accuracy
AltAccdoublem0Position accuracy downDown Position Accuracy
Dist2ddoublem0Distance horizontalDistance travelled in horizontal directions
Dist3ddoublem0Distance 3DDistance travelled in all directions
GpsPosModeint~GpsXModeName (#)GPS position modePosition mode of the GPS receiver being used for position
GpsVelModeint~GpsXModeName (#)GPS velocity modeVelocity mode of the GPS receiver being used for velocity
GpsAttModeint~GpsXModeName (#)GPS dual antenna attitude modeAttitude (dual-antenna) mode of the GPS receivers
GpsNumObsint#Number of GPS satellites usedNumber of GPS satellites tracked by the Primary GPS receiver
GpsDiffAgedoubles0Differential GPS ageAge of the current differential corrections
"Time "doubleTime in seconds from start of GPS timeSeconds from GPS time zero (0h 1980-01-06). [s]
"TimeWeekCount "uint32_tGPS time format week counterGPS time format week counter. [week]
"TimeWeekSecond "doubleGPS time format seconds into weekGPS time format seconds into week. [s]
"TimeUtcOffset "intOffset between Coordinated Universal Time (UTC) and GPS timeOffset between Coordinated Universal Time (UTC) and GPS time. [s]
TrigTimedoubleTime of last trigger falling edgeTime of last trigger falling edge. [s]
Trig2TimedoubleTime of last trigger rising edgeTime of last trigger rising edge. [s]

This table is generated from .README.csv using https://donatstudios.com/CsvToMarkdownTable

About

An NCOM decoder based in C for use with OxTS navigation systems, to decode their output.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages