MATRIX


This menu controls a special mode of operation originally designed to drive a 4x4 liquid crystal matrix display. Channels 1-4 act as data electrodes (columns) and channels 5-8 act as selection electrodes (rows). The display is assumed to be a part of a large imaginary display (the size of the display is defined by the length of the waveforms). Similar operation can be achieved in a standard mode as well, but the matrix mode provides means for altering the displayed image in every frame as well as setting the initial image (random or spreadsheet file).

The display addressing waveforms are created automatically by the software from provided "building blocks". These have to be drawn in a specific way, described below in How to prepare data?

Waveform layout

The waveform in the "A" pane (upper) defines data sequences, while the waveform in "B" defines row sequences. The first sequence in B is the row `non-select' sequence, that will be repeated outside the `selection' sequence.

For a typical one line at a time addressing there can only be two waveforms present. If there is a third waveform, the program understands that row signals are different in odd and even frames.

If items in this menu are dimmed - turn on Mark sequences... from View.

Build addressing scheme...

Before issuing this command you have to prepare the building blocks of the addressing scheme as described in How to prepare data? . You need also to prepare a spreadsheet file describing the pattern in subsequent frames. The command calls a dialog asking for details of the addressing scheme. It is the only necessary command in this menu.

Send all tables

Corresponds to normal Send all command in OUT menu.

Set matrix mode

The mode is set automatically by the Build... command. Deselect to return to the normal operating mode.

Choose frame from data file...

You are prompted to select the spreadsheet file containing frame pattern data. This is a text file (spreadsheet-like) defining the background picture on the virtual display or, in other words, defining the order how the building blocks are put together to create the waveforms. By default such files too have extension *.cws. The frame data file can also be designated within the Build addressing scheme... dialog. Unless you have specific reason for using a frame data file it is much simpler to leave the default choice of random creation of the pattern and deciding only upon the length of the waveforms.

Reset generator

Same as in OUT menu. It is recommended to reset the generator after exiting the Matrix mode.

How to prepare data?

The screen should look like this:

It is necessary that the Control Windows (CWs) are marked by vertical lines. Use View Mark sequences...to obtain this.

The "A" waveform contains all definitions of pulse sequence for columns (data sequences). Zero-voltage pulses may be appended to the end; they will be ignored.

The "B" waveform concerns the rows. The first CW is the "non-select" sequence and will be repeated everywhere in row waveforms outside the "selection" part. The latter is defined after the CW1 (but not necessarily starting at CW2).

It is useful to select the "row selection sequences" (as shown) and place a trigger point before calling the Build addressing scheme... dialog. The default values will then be set properly.

This dialog will be immediately followed by (see The *.cws file):

and the created waveforms will be transmitted to the Waveform Generator. The above will work if there are exactly 2 waveforms defined.

If there are exactly 3 waveforms then the program assumes that the row waveforms in odd and even frames are different. The "B" waveform will define the odd frame and the hidden waveform will define the even frame. For example:

The *.cws file

You also have to prepare at least an ASCII file (a spreadsheet file) with frame data describing which data sequences should be applied at each consecutive frame. An example of such file:

 

;ROLLING 11 seqs in 8 CWs

;sequence starts in CW number 3

8 3

 

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

 

2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9

 

3 4 5 6 7 8 9 10

3 4 5 6 7 8 9 10

3 4 5 6 7 8 9 10

3 4 5 6 7 8 9 10

 

..........

Any line starting with ";" is treated as a comment and ignored

First data line "8 TAB 3 CR" (8 tabulator 3 carriage-return) tells that the active part of column waveforms spans over 8 CWs and starts in CW number 3.

The following groups of 4 lines holding 8 numbers each describe which data sequences are to be inserted into respective column waveforms (first line corresponds to Column1, etc). The numbers refer to the data sequences defined in the "A" waveform (CW1 defines data sequence number 1, CW2 defines data sequence number 2, etc.).

The total number of data bytes transmitted to the generator (all definition tables and frame data) is limited by available internal memory of the Controller module (about 24k).

After preparing the file and data, issue the command Build addressing scheme...and then Send all tables. You will be asked to chose the frame data file (you can also designate a file by the menu item Choose frame from data file...). The Matrix mode will be set. After Run command you will see a changing pattern in a part of column waveforms.