www.xonelectronics.it
Record up to 16 tracks from one or more EZ-Red, and display data in real time, much like an electronic scope. The program can acquire data for up to many days; data can be saved and reloaded. Recorded data can also be opened by other programs like spreadsheets and databases, thanks to CSV format.
The program
The main screen shows, in real time, data from the configured tracks (each track refers to a physical I/O of an EZ-Red). Tracks can be added by clicking "Add track", and configured or deleted by clicking their buttons ("AIN1" or "Y1" in the screenshot).
Next to each button, there is a square box to show or hide the track, and a round selector to choose the active track. The active track is the one that is zoomed by "Track zoom" trackbar and moved by "Track offset" trackbar. Another way to do that is to use the mouse wheel on the track button itself: use the wheel to move the track, and Ctrl+Wheel to zoom in/out.
At the bottom of the main window there are a few controls for the scope area:
- Lock screen is useful when acquiring is running, so the display is not still. This command freezes the screen, while letting the acquisition process go on.
- Smart slide is useful to always display the last arrived data when acquisition is running: it keeps the scope window synchronized with the lates data.
- HZoom modifies the horizontal zoom; with 1x every pixel corresponds to a sample; the zoom can enlarge up to 8x, or shrink down to about 4%.
- HOffset moves the scope window above the collected samples, when they do not fit in the window.
The tracks
Up to 16 tracks can be configured. Each track is associated to an I/O of an EZ-Red. For every track can be chosen its name and its color.
Choose a serial port and check that the EZ-Red is replying, then choose the I/O that must be acquired.
The raw data read can be scaled and an offset can be added.
If the chosen I/O is an output, then it is possible to automatically drive it while acquiring data. There are two fields to fill: the first specifies when to generate a positive pulse (0=no driving); the second field specifies how long the pulse must be.The generated waveform can not have more resolution than the chosen timebase: the width of the pulse will be at least "timebase" milliseconds, no matter of the value indicated.
Also, the rising fronts of the pulses will be aligned with timebase. The period of the waveform will be the sum of the two indicated values, with "timebase" resolution.
Data acquisition
Provided that there is at least a track configured, acquisition can be done: the buttons Run, Paw, Stop can be used to start polling, pause it, or stop it. The data, either collected or loaded from a file, stay in memory until Run is pressed when in (from the) stopped state: if you want to clear the data and start over, press Stop and then Run. If you want to get more data without erasing those already in memory, press Paw and then Run.Keep in mind that changing the timebase is possible only when acquisition is stopped. It is possible to change timebase and restart the acquisition, but doing so will misalign the overall time scale - old data were recorded using the previous timebase, the new data will be appended using the new timebase, without managing the different meaning (in time) of the samples.
The collected samples can be cleared by using the menu item File/Clear all.
Storing and retrieving data from files
At any time it is possible to store data to disk: use the menu File/Save, choose a name, and confirm. The data is stored in two files with same name but different extension (the last part of the name, after the last dot). The ".xdlog" file contains informations about the track names, color, EZ-Red associations, and so on. The ".csv" file contains the samples, in CSV format: this is a simple, plain text file similar to a table: every line contains a row, and every row contains columns separated by commas. The first line (row) contains the names of the columns, all the other lines contain the data.When saving data, if a file is chosen which already exists, the old files will be renamed to ".bak" to preserve them.
A file can be loaded at any time using the menu item File/Load; the two aforementioned files will be loaded substituting the present data, and the acquisition will be paused.
If a special file called auto.xdlog is present in the same folder of the program, it will be automatically loaded at program startup. This can be handy to start the program with a set of tracks already configured.
Comments
At any time it is possible to insert a comment - a simple text to describe a sampled datum, or to explain what data will follow. The comment will be appended to the data, and displayed with a vertical gray line in the scope window: by moving the mouse cursor near the vertical line, the text of the comment is displayed. When saved to disk, comments are written as an additional field (column) after the last track (only in lines/rows where a comment is present). If you plan to import the CSV file in some other program, and that program does not like this added field, either edit the CSV file with a text editor prior to importing, or abstain to use comments, so the CSV file will fully respect the simple format.The EZ-Red console
Sometimes it can be handy to drive the EZ-Red outputs while doing, or prior to do, data acquisition. The menu Tools/EZ-Red console... recalls a little window where it is possible to set the output pins. In order to interfere as little as possible with the acquisition process, the leds of this window are updated only when the window brings up - the status of the leds will reflect the real EZ-Red outputs. After this initial moment, the leds will change color only when clicked and, if EZ-Red changes some status, the leds are not updated.Installing the program
The program is a single win32 application with no external dependancies; simply download the ZIP archive, and extract its content in a directory of your choice. It will run on any windows computer, even 64 bits ones.For users of other operating systems, the Lazarus sources are provided. The only external dependancy of the source code is the Ararat Synapse library, which is freely available. The library is used to communicate with EZ-Red using the Simple text protocol.
Notes on the software:
- No warranty is provided; we hope that this software is useful, but everyone using it will do it at his/her own risk.
- This software is freeware and the source is available. If you have some patches or improvement, please send it to us - so we can incorporate it.
- Send bug reports, comments or whatever to web@xonelectronics.it