Original Code Consulting
OCC Streaming Data System
The OCC Streaming Data System
(OSDS) is a set of LabVIEW tools for working with streaming or
simple query-response data over serial, ethernet, and other
buses. The OSDS assumes that the streaming data is in the form
of a string and that it needs to be converted to a
one-dimensional array of numeric values. OSDS consists of four
main components, OSDS Drivers, OSDS Editor, OSDS Recorder, and
OSDS Simulator , in addition to several other tools and
example programs. The OSDS Drivers are intended to be used
inside LabVIEW programs for reading data from streaming
sources. The OSDS Editor is used to edit, view, and create the
OSDS Format Files that define how the system deals with a
given stream of data. The OSDS Recorder can be used to capture
a data stream and store it in a file that can then later be
played back with the OSDS Simulator. Two example
programs are included. The first demonstrates how to use
the OSDS Driver to acquire data. It can optionally log
the data to a file. The second example implements a
variation of the OSDS Driver that allows it to be
multiply-instantiated, so that several data streams can be
acquired using the same set of VIs. This example uses a
configuration file to define which data streams to record and
where to record them, and it operates without user
intervention once it is launched. It can therefore be
used as a data logger for multiple data streams without
The OSDS was originally implemented to create a re-usable component for reading streaming navigational data from research aircraft by a variety of custom scientific instruments. Often, these instruments would be deployed on different aircraft, and although each aircraft supplied a similar data stream, the format and interface specifications were always different. OSDS abstracts these details into the OSDS Format File, so that the same software can read various data streams simply by substituting a different OSDS Format File definition. However, once this functionality was implemented, it became clear that the OSDS could be used to interface to a wide array of data streams. Originally, only streaming data was supported: e.g. the data is continuously broadcast at a fixed rate, with no prompting required from the software that is reading the data. However, basic query/response functionality has been added to enable the OSDS to read data from relatively simple instruments that do require a prompt.
OSDS is licensed under the
Creative Commons Attribution-Share Alike 3.0 license
(http://creativecommons.org/). Derivative and commercial works
incorporating OSDS are allowed, as long as any changes made
are made available to the community at large. Please submit
improvements as well as new OSDS Format Files and OSDS Stream
1.2.0 of OSDS (LV 2013, 3.3 MB) was released in June,
2015. Support has been added for TCP connections.
Version 1.1.4 of OSDS (LV 2012, 9.8 MB) is available as of October, 2013. This version has one significant fix, in that all OSDS Readers are now set to be re-entrant, so that multiple calls to the same reader from different driver instances will not block each other. New Format and Stream files have also been included.
Version 1.1.1 of OSDS (LV 2010, 7.4 MB) is available as of September, 2011. This version has several minor bug fixes and features and includes the new Multi Line Reader that allows OSDS to handle instruments that send more than one line end character per data packet. New Format and Stream files have also been included.
Version 1.0.1 of OSDS (LV 8.2.1, 3.8 MB) is now available. This version is relatively new and should be used with caution. This download includes all of the above OSDS components as well as a selection of OSDS Format Files and OSDS Stream Files, and the OSDS Description document. As more OSDS Format and OSDS Stream Files are developed by OCC and submitted to OCC by other users, they will be made available on this page as well. Currently available OSDS Format Files include definitions for reading the navigation data from the NASA WB57, NASA/North Dakota DC8, and NOAA P3 research aircraft, Garmin GPS units, computer time (local and UTC), NTP time servers, and the Brookfield DVII-Pro+ Viscometer. OSDS Stream Files are available for most of these sources as well. Note that the WB57 Format File has not yet been tested.
Updated from v 1.0 to 1.0.1 20080322. Minor changes and improvements for UDP data streams and for using various OSDS components inside built executables. Also a few additional Format Files and Stream Files. It also includes a project with build scripts for creating a compiled version and installer for the OSDS MI Logger and for the OSDS Recorder and OSDS Simulator.
Additional OSDS Downloads
OSDS MI Logger (executable, 55MB) This is an installer, including the LabVIEW Run-Time Engine, for a compiled version of the OSDS MI Logger, a stand-alone program that can acquire from any number of data streams and log the data to disk. This installer also includes a compiled version of the OSDS Editor as well as the OSDS Description document.
OSDS Recorder and Simulator (executable, 57MB) This is an installer that includes three compiled programs (including the LabVIEW Run-Time Engine), the OSDS Recorder, OSDS Simulator, and OSDS Editor. With these programs, you can record streaming data in the OSDS Stream Format, which the OSDS Simulator can later re-transmit to simulate the instrument of interest. These programs allow you to record OSDS Stream Files for later use (e.g. development and testing of OSDS Drivers) without needing LabVIEW and the entire OSDS system installed.
OSDS Format Files (18KB) This is a zipped file containing the current collection of OSDS Format Files. There are currently 19 OSDS Format Files included. As more become available, these can be downloaded here without having to download the entire OSDS system.
OSDS Stream Files (2.1MB) This is a zipped file containing the current collection of OSDS Stream Files, with 48 OSDS Stream Files currently included. Last updated Oct, 2009.
report any bad links, other problems, or comments