Readout and control of all our instruments is provided by our LWDAQ Software. We describe this software in detail in our LWDAQ User Manual. The LWDAQ Software is free and distributed under the GNU Public License. It runs equally well on Windows, Linux, and MacOS. You can download the LWDAQ software as a single Zip archive from our Software Download page, or you can clone the LWDAQ Repository using Git. There is no separate Zip archive or repository for different operating systems: all versions are bundled together.
Communication between the data acquisition computer and our data acquisition hardware always takes place by TCP/IP. In the LWDAQ program, we specify the IP address of the data acquisition server in order to acquire from or send commands to the instruments. In larger, distributed data acquisition systems, we will also specify driver and multiplexer sockets. Most of our instruments are managed by Long-Wire Data Acquisition (LWDAQ) servers, but those built around the Raspberry Pi are different. They are Raspberry Pi Data Acquisition (RPDAQ) servers. The LWDAQ Software reads out both LWDAQ and RPDAQ servers. In the case of our Animal Cage Cameras (ACC), which are RPDAQ devices, the standard LWDAQ Software download or clone does not provide all the libraries necessary to read out the cameras. We must download the Videoarchiver Libraries that are used by the LWDAQ uses to manage video compression and concatination.
![]() |
![]() |
![]() |
The Rasnik Instrument | The LWDAQ Icon | The Acquisifier Tool |
---|
The LWDAQ source code is a combination of Pascal and TclTk. We compile the Pascal code with the Free Pascal Compiler for Windows, Linux, and MacOS, so that it runs as a native binary application. But we include all the Pascal source code with every LWDAQ distribution: you will find it in the Sources directory. We run LWDAQ's many TclTk scripts with LWDAQ's built-in TclTk interpreter. The LWDAQ Software distribution comes with its own built-in TclTk interpreters for Windows, Linux, and MacOS. We use compiled Pascal code to perform computationally intense analysis, such as matrix inversion, fast Fourier transforms, and image analysis. We use TclTk scripts to create the LWDAQ graphical user interfaces and to perform TCP/IP communication. All the code is distributed under the GNU Public License. You are free to incorporate the code into your own programs, but if you do, you must distribute your own programs under the same license.
In addition to its data acquisition and control functions, the LWDAQ program performs various levels of analysis of acquired data. The Rasnik instrument analyzes images of coded chessboard masks. The WPS instrument finds the silhouettes of wires in images obtained from a Wire Position Sensor. The Neuroplayer tool displays telemetry data and plots its spectrum. The Neuroplayer also provides an event classifier for automatic event detection in continuous signals and an exporter for writing telemetry data to disk in new formats. The Videoarchiver tool reads out segements of video from ACCs and concatinates them into longer videos of a fixed frame rate by padding segments that are missing frames and shortening segments that have extra frames.
![]() |
![]() |
![]() |
The SCAM Instrument | The Receiver Instrument | The Startup Manager Tool |
---|
We can control LWDAQ over TCP/IP using the LWDAQ System Server. The System Server listens on a socket of our choosing, receives Tcl text commands, preforms acquisition, and returns results. If our experiment consists of recording from multiple data acquisition systems, the LWDAQ Startup Manager will configure and launch multiple, independent instances of the LWDAQ program to manage parallel acquisition from all our servers. On Linux and MacOS, we can launch LWDAQ from the command line and have it run with our without graphics. We can even have LWDAQ run in the background with no console, listening on a TCP/IP port with the System Server. With the exception of background execution, LWDAQ always provides a Tcl console into which we can type TclTk commands. In addition to the standard TclTk commands, LWDAQ provides its own library of commands for data acquisition, which we present in the LWDAQ Command Reference. If we want to write our own scripts that direct data acquisition, LWDAQ provides a Toolmaker for debugging such scripts, and a simple text editor to guarantee that wherever you are, you can always open, edit, and save text files.
For information on software installation and use, please see our LWDAQ User Manual. We make frequent updates the LWDAQ software in response to reports of bugs and requests for new features. If you have any questions or concerns about LWDAQ, you can contact us by email.
The Long-Wire Data Acquisition (LWDAQ) system was developed at the Brandeis Univeristy Physics Department to manage the ATLAS End-Cap Alignment System at CERN. This alignment system consists of thousands of cameras, hundreds of thermometers, and thousands of light sources that must be flashed synchronously with image-taking. The LWDAQ in the ATLAS has been reading out the entire set of instruments every twenty minutes for almost twenty years. The LWDAQ was adopted for alignment systems in the ALICE, CMS, and LHCb experiments at CERN, and for a dozen other experiments around the world. When we designed our telemetry system for laboratory animals, we designed it as a LWDAQ system, which allowed us to use our existing LWDAQ program for acquisition and control.
As we add new physical instruments to our suite of products, we add new software instruments to the LWDAQ program. These software instruments appear in the Instrument Menu in the program. The Receiver instrument reads our telemetry receivers. The BCAM instrument captures images from BCAM cameras. Higher-level management of data acquisition is performed by additional software components, such as the Acquisifier, Neuroplayer, Videoarchiver, and DFPS Manager. These higher-level programs appear in the Tool Menu of the program. Whichever physical instrument you are reading out, you will be using only a subset of the instruments and tools available in LWDAQ. We have made no effort to create separate versions of the software for different classes of instruments. The long wires of the large alignment systems are nowhere to be seen in our telemetry systems, but the TCP/IP communication, and the way the software is built out of a TclTk interpreter and a library of compiled Pascal code, remains the same.