The software has initially been written for Macintosh computer and then translated to the PC- Windows environment. It has its origin in the liquid crystal research. The waveform generator is designed to be as straightforward to work with as possible, but containing all the features we found helpful in addressing of liquid crystal displays.

The snapshot of the Windows screen indicates the important functional parts of the program. Macintosh screen is analogous and can be seen in the Tutorial Chapter of this manual. Two waveforms (marked A and B, respectively) may simultaneously be designed, since we are usually interested in the relation between row and column signals. For the same reason, the superposition of these two waveforms (A-B or B-A), corresponding to the effective driving voltage seen by the liquid crystal cell, is presented for the reference (in a quarter scale) on the upper part of the screen. The optional, thin vertical lines mark here the line addressing periods. The waveforms, to be displayed on the screen, are chosen via ‘pop-up’ menus. The text on the menu button consists of the associated output-channel number and the waveform name

The pulses may be created or altered either by the usual ‘point, click and drag’ method (cursor) or by entering the desired value from the keyboard. A grid may be defined to facilitate the editing operation.

The timing information is drawn in the lower part of the screen. Short vertical lines mark the time-slots. The widths of the pulses may be altered in the same way as their amplitudes.

Additionally, the boundary between two time-slots may be moved. An arbitrarily placed oscilloscope trigger signal, marked as a small triangle, is also visible here. Since the waveforms are normally much longer than the available window size, a scroll bar is provided at the bottom of the window. The Goto menu assists in finding the desired waveform step.

Pulses, sequences and entire waveforms may be copied, cut, pasted, cleared, deleted and duplicated in the usual way. They may also be inverted, mirrored or rolled. The last editing operation can be undone. The commands affect the selected pulse or waveform. In the example presented, waveform A is active, which is marked by a frame around the ‘A’ letter. The pulse selection is visualized by a thick red line (on Mac: by an animated ‘marching ants’ pattern). Parameters of the selected waveform-step are displayed in the bottom-right part of the screen. The units are selectable via pop-up menus (volts, respective μs, or ±100 arbitrary units). The maximum-amplitude controls for respective waveform are drawn above the waveform names. ‘Clicking’ with the mouse on an up or down arrow makes an expected change, while clicking on the value allows for the keyboard entry. The timing may be changed in a similar way. The DC-content in the effective driving signal is continuously monitored.

The waveforms may be joined as column, row or arbitrary groups (called in the program as C, R, X, Y and Z-groups, respectively). Adjusting the maximum amplitude of a waveform assigned to a group, results in the corresponding adjustment in the remaining waveforms. It is, thus, possible to simultaneously change the amplitude of all column waveforms.

Three buttons for communication with the generator (‘Run’, ‘Stop’ and ‘Send all’) are placed in the upper-right corner of the screen. The fourth ‘Auto’/’Manual’ button controls the way the generated waveforms are updated. The default setting is ‘Auto’ which means that all changes are immediately followed by the generator. If more extensive alternations of the waveforms have to be done, the communication may be switched to a manual mode (then the ‘Send all’- button changes to ‘Update now’). Prior to using any of these buttons, the communication with the generator must be established and the waveforms assigned to physical channels of the generator, using a ‘dialog window’ where only the existing channels are shown.

The pull-down menus, shown in the menu-bar at the top of the screen, provide many additional features. The ‘Coupling’ menu requires special attention. It allows for defining the relations between pulses in the waveforms. The coupled pulses are presented by a distinct color when waveforms are drawn on the screen. Any number of pulses may have their amplitudes coupled together. This is done by choosing one of them as a ‘Master’ (for reference) and assigning the coupling parameters (master pulse name, multiplication factor ‘n’ and offset) to a ‘Slave’ pulse, so that its amplitude will always follow the relation:

Aslave = Amaster * factor + offset

When a ‘coupled’ pulse is altered, the software re-adjusts the amplitude of the master pulse and propagates the change to all related pulses, which may be in different waveforms, even those not shown on the screen. These slave pulses make then corresponding changes in their amplitude values. Finally, the appropriate information is transmitted to the waveform generator. There is no limit on the number of coupling chains nor on the number or placement of pulses within each chain.

The time-slots may be coupled together in the same way.

The number of waveforms is limited only by the available memory in the computer. The program has been written in object-oriented C (Symantec) for Macintosh, Borland Pascal for Windows3.x (revision 1.x) and Borland C++ for Windows95/98/NT/2000/ME/XP/ Vista/7/10 (from revision 2.0 up).