comedirecord is an oscilloscope program to record data from a COMEDI-compatible device. Its philosophy is to save the data in its original unfiltered form but allow comfortable viewing of the data during an experiment. One can acquire data from multiple DAQ boards simultaneously, and also append data via an incoming TCP port, which could be a telnet connection into comedirecord or data from another program. Low-pass, high-pass, and notch filters can be switched on for each channel. A DC filter can be switched on, which is useful when observing small voltage changes at a high gain (for example, measuring small temperature changes). The output format is ASCII so that the data can be imported into GNUPLOT, scilab, or octave.
IIR is a C++ library that implements fast IIR filters: bandpass, bandstop, lowpass, and highpass. These can be designed using popular analogue filter functions such as Butterworth, Bessel, Chebyshev, Elliptic, Legendre, and pole placement. Creation of a complete filter requires only a single command and filtering is performed with a single function taking a sample and returning its result instantly. The library is template-based and avoids new/mallocs throughout. This library has been adapted form Vinnie Falco's original work and has been converted to run on Unix systems and turned into a realtime causal filter.
comedi2py feeds data from a data acquisition board into Python by using call-back functions. The goal was to make this as easy as possible, hiding all the complexity of the asynchronous acquisition in comedi2py and providing the Python program simply with an array of the sampled data at a given sampling rate. The program has been tested with the USB-DUX boards, but should also run with any other COMEDI supported data acquisition board.