DATAQ Instruments has announced via its Twitter, RSS, and Facebook feeds that a preliminary version of the protocol for the soon-to-be-released DI-149 starter kit is now available for download and review. So, what’s a protocol?
First, let’s separate those who need to read further from those who don’t. If you will only use the DI-149 with programs written by us or someone else, and have no interest in writing your own program to control and obtain data from the DI-149, then you can stop reading here. Everyone else, please continue.
As you probably suspect when you run our point-and-click WinDaq data acquisition software, there’s a lot going on beneath the surface. WinDaq software needs to take the data acquisition configuration that you design using its menu system and communicate that to the hardware. These are things such as sample rate, the number of channels enabled, the specific channel numbers enabled, etc. Diving down to the bottom level of program activity, past the WinDaq user interface, beyond the device driver to the actual commands sent to the data acquisition hardware and the format of the responses they evoke, is the protocol. The protocol defines the exact set of commands a program can send to the hardware, and how the hardware will react as a result.
The DI-149’s protocol consists of a number of ASCII commands that can be used to configure its scan list (slist), set its sample rate (srate), and echo its serial number and other hardware characteristics (info), and more. You can even instruct the DI-149 to output readings in an ASCII format in either hexadecimal or base 10. And even though the DI-149 physically connects to a USB port, from a software perspective the instrument actually hooks a COM port. This is significant because COM port communication is fundamental to all programming languages and operating systems. So, if you know the command and response definitions for the DI-149 (i.e. its protocol), and your program and operating system can communicate to and from a COM port, the DI-149 may be folded into virtually any operating system and any programming language: C, VB, .NET, C++, Linux, Windows, OSX, etc., etc. The choice is yours.