This programming handbook presents the results of work performed by members of the Telemetry Group (TG) under Task TG-110 of the Range Commanders Council (RCC) to update the original handbook to reflect additions and changes to the standard made since its release.
IRIG 106-09 was released in April of 2009 with primarily clarifications and additional definitions for existing commands. No new data types were added with this release although the TELNET protocol was introduced as a new interface type for ground-based recorders. In addition, a number of changes were made to support XML TMATS for use in configuring the recorder.
IRIG 106-13 was released in June of 2013 with two new data types (CAN BUS and AFDX) plus a new sub-type to support Dynamic Image Packets. A complete list of changes to this version can be found under IRIG 106-13 Changes. A number of updates were also made to TMATS (IRIG 106-13 Chapter 9) related to Chapter 10 with a complete list found under IRIG 106-13 TMATS Changes.
The primary goal of this document is to provide updates to the original where additional clarification is needed or where new information needs to be added. The sections below address both of these cases.
Many if not most programmers learn best from sample code. This update to the IRIG 106 Programmer's Handbook adds a number of new code samples in multiple languages to show how to process different data types and specific features of the Chapter 10 file format. These samples are linked below on individual pages to make it easy to access. A number of these samples use the C library available from sourceforge.
The samples repository is hosted on bitbucket here. Included in the repository are basic installation and usage directions akin to what is given here.
The samples are organized into 3 categories:
Each of the above directories has the same basic samples written as similarly as possible to perform the following tasks:
Dependencies (C samples)
Dependencies (Python Samples)
Building and Running (C samples)
The code for the C samples are (as much as possible) kept in the src directory under C samples. The code has comments outlining the different sections and is written as consistently as possible to the matching samples in the pyc10 and pyi106 sample directories. The visual studio project files are in the vs directory at the top of the c directory structure. Make sure samples/c/src and samples/c/irig106lib/src are in your “Additional Include Directories” and you should be able to compile, debug, etc.
Once dependencies are installed you should be able to build binaries of the samples. The video sample depends on the mplayer executable (included) located relative to the build and debug directories, but the others are self-contained.
All of the samples (again, excluding video since it's a full GUI application) are run from the command line. Each one supports the –help option to view usage, options, etc. for that specific tool.
Building and Running (Python samples)
Once python and any other dependencies are installed the python samples can be run at the command prompt by prefixing the invocation with “python” as in: “python stat.py test.c10” which would run the stat sample on a file “test.c10”.
It was decided during a Recorder Vendor Working Group telecon to push CR031 into an appendix of the next release of the programmer's handbook. The work on this was submitted by Christian Rueck of Data Bus Tools GmbH. The XML below presents one example of a file definition based on this concept.