An NCOM decoder based in C for use with OxTS navigation systems, enabling users to decode the binary NCOM output.
This folder contains two library files NcomRxC.h
and NcomRxC.c
, which can be included in your project.
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.
NB: This has been tested on the following platforms:
- Unix (MacOS)
- 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
The following table lists all the measurements available in a standard NCOM packet.
These can also be found in measurements.csv
Store name | Type | Units | Format | Full name | Coordinate Frame | Alternate Coordinate Frame Name | Description |
---|---|---|---|---|---|---|---|
Ax | double | m/s² | 0 | Acceleration Xv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame longitudinal (forward) IMU acceleration |
Ay | double | m/s² | 0 | Acceleration Yv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame lateral (right) IMU acceleration |
Az | double | m/s² | 0 | Acceleration Zv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame vertical (down) IMU acceleration |
Af | double | m/s² | 0 | Acceleration forward | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame longitudinal (forward) IMU acceleration |
Al | double | m/s² | 0 | Acceleration lateral | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame lateral (right) IMU acceleration |
Ad | double | m/s² | 0 | Acceleration down | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame vertical (down) IMU acceleration |
FiltAx | double | m/s² | 0 | Acceleration filtered Xv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame longitudinal (forward) filtered IMU acceleration |
FiltAy | double | m/s² | 0 | Acceleration filtered Yv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame lateral (right) filtered IMU acceleration |
FiltAz | double | m/s² | 0 | Acceleration filtered Zv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame vertical (down) filtered IMU acceleration |
FiltAf | double | m/s² | 0 | Acceleration filtered forward | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame longitudinal (forward) filtered IMU acceleration |
FiltAl | double | m/s² | 0 | Acceleration filtered lateral | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame lateral (right) filtered IMU acceleration |
FiltAd | double | m/s² | 0 | Acceleration filtered down | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame vertical (down) filtered IMU acceleration |
IsoAnX | double | m/s² | 0 | ISO e.f.s. east acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system east acceleration | |
IsoAnY | double | m/s² | 0 | ISO e.f.s. north acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system north acceleration | |
IsoAnZ | double | m/s² | 0 | ISO e.f.s. vertical acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system vertical (up) acceleration | |
IsoAhX | double | m/s² | 0 | ISO i.s. longitudinal acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system longitudinal (forward) acceleration | |
IsoAhY | double | m/s² | 0 | ISO i.s. lateral acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system lateral (left) acceleration | |
IsoAhZ | double | m/s² | 0 | ISO i.s. vertical acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system vertical (up) acceleration | |
IsoAoX | double | m/s² | 0 | ISO v.s. longitudinal acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system longitudinal (forward) acceleration | |
IsoAoY | double | m/s² | 0 | ISO v.s. lateral acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system lateral (left) acceleration | |
IsoAoZ | double | m/s² | 0 | ISO v.s. vertical acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system vertical (up) acceleration | |
FiltIsoAnX | double | m/s² | 0 | ISO e.f.s. east filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system east filtered acceleration | |
FiltIsoAnY | double | m/s² | 0 | ISO e.f.s. north filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system north filtered acceleration | |
FiltIsoAnZ | double | m/s² | 0 | ISO e.f.s. vertical filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system vertical (up) filtered acceleration | |
FiltIsoAhX | double | m/s² | 0 | ISO i.s. longitudinal filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system longitudinal (forward) filtered acceleration | |
FiltIsoAhY | double | m/s² | 0 | ISO i.s. lateral filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system lateral (left) filtered acceleration | |
FiltIsoAhZ | double | m/s² | 0 | ISO i.s. vertical filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system vertical (up) filtered acceleration | |
FiltIsoAoX | double | m/s² | 0 | ISO v.s. longitudinal filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system longitudinal (forward) filtered acceleration | |
FiltIsoAoY | double | m/s² | 0 | ISO v.s. lateral filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system lateral (left) filtered acceleration | |
FiltIsoAoZ | double | m/s² | 0 | ISO v.s. vertical filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system vertical (up) filtered acceleration | |
Yx | double | deg/s² | 0 | Angular acceleration Xv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame longitudinal (forward) IMU angular acceleration |
Yy | double | deg/s² | 0 | Angular acceleration Yv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame lateral (right) IMU angular acceleration |
Yz | double | deg/s² | 0 | Angular acceleration Zv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame vertical (down) IMU angular acceleration |
Yf | double | deg/s² | 0 | Angular acceleration forward | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame longitudinal (forward) IMU angular acceleration |
Yl | double | deg/s² | 0 | Angular acceleration lateral | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame lateral (right) IMU angular acceleration |
Yd | double | deg/s² | 0 | Angular acceleration down | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame vertical (down) IMU angular acceleration |
FiltYx | double | deg/s² | 0 | Angular acceleration filtered Xv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame longitudinal (forward) filtered IMU angular acceleration |
FiltYy | double | deg/s² | 0 | Angular acceleration filtered Yv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame lateral (right) filtered IMU angular acceleration |
FiltYz | double | deg/s² | 0 | Angular acceleration filtered Zv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame vertical (down) filtered IMU angular acceleration |
FiltYf | double | deg/s² | 0 | Angular acceleration filtered forward | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame longitudinal (forward) filtered IMU angular acceleration |
FiltYl | double | deg/s² | 0 | Angular acceleration filtered lateral | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame lateral (right) filtered IMU angular acceleration |
FiltYd | double | deg/s² | 0 | Angular acceleration filtered down | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame vertical (down) filtered IMU angular acceleration |
IsoYnX | double | deg/s² | 0 | ISO e.f.s. roll acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system roll (east angular) acceleration | |
IsoYnY | double | deg/s² | 0 | ISO e.f.s. pitch acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system pitch (north angular) acceleration | |
IsoYnZ | double | deg/s² | 0 | ISO e.f.s. yaw acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system yaw (vertical angular) acceleration | |
IsoYhX | double | deg/s² | 0 | ISO i.s. roll acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system roll (longitudinal angular) acceleration | |
IsoYhY | double | deg/s² | 0 | ISO i.s. pitch acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system pitch (lateral angular) acceleration | |
IsoYhZ | double | deg/s² | 0 | ISO i.s. yaw acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system yaw (vertical angular) acceleration | |
IsoYoX | double | deg/s² | 0 | ISO v.s. roll acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system roll (longitudinal angular) acceleration | |
IsoYoY | double | deg/s² | 0 | ISO v.s. pitch acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system pitch (lateral angular) acceleration | |
IsoYoZ | double | deg/s² | 0 | ISO v.s. yaw acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system yaw (vertical angular) acceleration | |
FiltIsoYnX | double | deg/s² | 0 | ISO e.f.s. roll filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system roll (east angular) filtered acceleration | |
FiltIsoYnY | double | deg/s² | 0 | ISO e.f.s. pitch filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system pitch (north angular) filtered acceleration | |
FiltIsoYnZ | double | deg/s² | 0 | ISO e.f.s. yaw filtered acceleration | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system yaw (vertical angular) filtered acceleration | |
FiltIsoYhX | double | deg/s² | 0 | ISO i.s. roll filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system roll (longitudinal angular) filtered acceleration | |
FiltIsoYhY | double | deg/s² | 0 | ISO i.s. pitch filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system pitch (lateral angular) filtered acceleration | |
FiltIsoYhZ | double | deg/s² | 0 | ISO i.s. yaw filtered acceleration | ISO 8855 intermediate system | ISO 8855 intermediate system yaw (vertical angular) filtered acceleration | |
FiltIsoYoX | double | deg/s² | 0 | ISO v.s. roll filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system roll (longitudinal angular) filtered acceleration | |
FiltIsoYoY | double | deg/s² | 0 | ISO v.s. pitch filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system pitch (lateral angular) filtered acceleration | |
FiltIsoYoZ | double | deg/s² | 0 | ISO v.s. yaw filtered acceleration | ISO 8855 vehicle system | ISO 8855 vehicle system yaw (vertical angular) filtered acceleration | |
Wx | double | deg/s | 0 | Angular rate Xv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame longitudinal (forward) IMU angular rate |
Wy | double | deg/s | 0 | Angular rate Yv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame lateral (right) IMU angular rate |
Wz | double | deg/s | 0 | Angular rate Zv | OxTS vehicle frame | OxTS output frame (with default output displacement) | OxTS output frame vertical (down) IMU angular rate |
Wf | double | deg/s | 0 | Angular rate forward | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame longitudinal (forward) IMU angular rate |
Wl | double | deg/s | 0 | Angular rate lateral | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame lateral (right) IMU angular rate |
Wd | double | deg/s | 0 | Angular rate down | OxTS horizontal frame | OxTS level frame | OxTS horizontal frame vertical (down) IMU angular rate |
IsoWnX | double | deg/s | 0 | ISO e.f.s. roll velocity | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system roll (east angular) velocity | |
IsoWnY | double | deg/s | 0 | ISO e.f.s. pitch velocity | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system pitch (north angular) velocity | |
IsoWnZ | double | deg/s | 0 | ISO e.f.s. yaw velocity | ISO 8855 earth-fixed system | ISO 8855 earth-fixed system yaw (vertical angular) velocity | |
IsoWhX | double | deg/s | 0 | ISO i.s. roll velocity | ISO 8855 intermediate system | ISO 8855 intermediate system roll (longitudinal angular) velocity | |
IsoWhY | double | deg/s | 0 | ISO i.s. pitch velocity | ISO 8855 intermediate system | ISO 8855 intermediate system pitch (lateral angular) velocity | |
IsoWhZ | double | deg/s | 0 | ISO i.s. yaw velocity | ISO 8855 intermediate system | ISO 8855 intermediate system yaw (vertical angular) velocity | |
IsoWoX | double | deg/s | 0 | ISO v.s. roll velocity | ISO 8855 vehicle system | ISO 8855 vehicle system roll (longitudinal angular) velocity | |
IsoWoY | double | deg/s | 0 | ISO v.s. pitch velocity | ISO 8855 vehicle system | ISO 8855 vehicle system pitch (lateral angular) velocity | |
IsoWoZ | double | deg/s | 0 | ISO v.s. yaw velocity | ISO 8855 vehicle system | ISO 8855 vehicle system yaw (vertical angular) velocity | |
HeadingAcc | double | deg | 0 | Heading accuracy | Heading Accuracy | ||
PitchAcc | double | deg | 0 | Pitch accuracy | Pitch Accuracy | ||
RollAcc | double | deg | 0 | Roll accuracy | Roll Accuracy | ||
Track | double | deg | 0 | Track angle | |||
TrackAcc | double | deg | 0 | Track angle accuracy | |||
Slip | double | deg | 0 | Slip angle | |||
SlipAcc | double | deg | 0 | Slip angle accuracy | |||
IsoYaw | double | deg | 0 | ISO yaw angle | ISO 8855 yaw angle | ||
IsoPitch | double | deg | 0 | ISO pitch angle | ISO 8855 pitch angle | ||
IsoRoll | double | deg | 0 | ISO roll angle | ISO 8855 roll angle | ||
Surf2OutHeading | double | deg | 0 | Heading to surface | |||
Surf2OutPitch | double | deg | 0 | Pitch to surface | |||
Surf2OutRoll | double | deg | 0 | Roll to surface | |||
Lat | double | deg | 0 | Latitude | Latitude | ||
Lon | double | deg | 0 | Longitude | Longitude | ||
Alt | double | m | 0 | Altitude | Altitude | ||
NorthAcc | double | m | 0 | Position accuracy north | North Position Accuracy | ||
EastAcc | double | m | 0 | Position accuracy east | East Position Accuracy | ||
AltAcc | double | m | 0 | Position accuracy down | Down Position Accuracy | ||
Dist2d | double | m | 0 | Distance horizontal | Distance travelled in horizontal directions | ||
Dist3d | double | m | 0 | Distance 3D | Distance travelled in all directions | ||
GpsPosMode | int | ~GpsXModeName (#) | GPS position mode | Position mode of the GPS receiver being used for position | |||
GpsVelMode | int | ~GpsXModeName (#) | GPS velocity mode | Velocity mode of the GPS receiver being used for velocity | |||
GpsAttMode | int | ~GpsXModeName (#) | GPS dual antenna attitude mode | Attitude (dual-antenna) mode of the GPS receivers | |||
GpsNumObs | int | # | Number of GPS satellites used | Number of GPS satellites tracked by the Primary GPS receiver | |||
GpsDiffAge | double | s | 0 | Differential GPS age | Age of the current differential corrections | ||
"Time " | double | Time in seconds from start of GPS time | Seconds from GPS time zero (0h 1980-01-06). [s] | ||||
"TimeWeekCount " | uint32_t | GPS time format week counter | GPS time format week counter. [week] | ||||
"TimeWeekSecond " | double | GPS time format seconds into week | GPS time format seconds into week. [s] | ||||
"TimeUtcOffset " | int | Offset between Coordinated Universal Time (UTC) and GPS time | Offset between Coordinated Universal Time (UTC) and GPS time. [s] | ||||
TrigTime | double | Time of last trigger falling edge | Time of last trigger falling edge. [s] | ||||
Trig2Time | double | Time of last trigger rising edge | Time of last trigger rising edge. [s] |
This table is generated from .README.csv using https://donatstudios.com/CsvToMarkdownTable