Test Mode

As the name implies, Test mode is intended for testing and debugging the hardware with which Maestro normally interacts. The test facilities provided are by no means exhaustive. There is no support for testing the XYScope controller or RMVideo. The tab pages available in this mode focus on Maestro's analog input, analog output, and event timer digital I/O devices.

The Analog I/O Tab

This tab page lets the user monitor all 16 analog input (AI) channels while setting the voltage driven on any of the available analog output (AO) channels. A 16-row table on the right side of the page displays all analog I/O channels. The INPUT column is read-only and displays the current voltage read on each AI channel. The Pause/Resume Inputs pushbutton allows the user to pause or resume the data acquisition operation on the AI device. When data acquisition is not paused, the AI channels are sampled at 500Hz, and the AI readings in the INPUT column are updated approximately once a second. In addition, if a channel configuration is selected in the Channels Displayed combo box, any data channels selected for display will be drawn in the Data Traces display panel.

The Units pushbutton selects the units in which all voltages are displayed in the analog I/O table. Press the button to change the units. The button's label changes to reflect the new units, and the table is updated accordingly. Three different units are supported: volts, mV, and rawDAC.

The last of these refers to the raw, binary 2s-complement integer representation of voltage on the analog devices. Maestro configures both AI and AO devices for a nominal voltage range of ±10 volts with 12-bit resolution, corresponding to a rawDAC range of [-2048 .. 2047].

The Calibrate AI Device pushbutton is relevant only if Maestro is using the legacy PCI-6071E from National Instruments as its AI device. Pressing the button does not initiate a true self-calibration of the board's AI circuitry; rather it simply reloads the relevant calibration constants from the board's non-volatile EEPROM. The procedure should take very little time to perform (less than a second or two) and does not require specific input conditions or user interaction. In older versions of the program, it was important to perform this reload whenever restarting Maestro after the host PC was power-cycled. The current version of Maestro always reloads the PCI-6071E calibration constants at startup, so the user no longer has to do it manually.

The OUTPUT column displays the current voltage driven on each AO channel. If a cell contains the entry N/A, then the device has no such channel (Maestro several alternative AO devices, having 4, 8, or 10 output channels). In fact, if all cells read N/A, then no AO device was found in the host PC. To change any output, simply double-click on the cell and enter the new voltage in the popup edit window. The edit control will restrict numeric input in accordance with the currently selected display Units.

If you right-click on any cell displaying an AO voltage, a context menu pops up with the following commands:

    • Zero all AO : Set all available AO channels to 0 volts.

    • Maximize all AO : All available AO channels are driven at the maximum possible voltage, which should be approximately +10 volts (DAC value = 2047 for 12-bit device).

    • Minimize all AO : All available AO channels are driven at the minimum possible voltage, which should be approximately -10 volts (DAC value = -2048 for 12-bit device).

    • Set all AO to this value : Set all other AO channels to the voltage currently driven on the channel that was under the mouse cursor when the context menu was invoked.

    • Run Test Waveform : If this command is selected, then a sinusoidal test waveform -- (5.0 V)·sin(2πt) -- is played indefinitely on the selected AO channel. The test waveform can be presented on only one channel at a time. While it is playing, the corresponding cell in the OUTPUT column displays the string *test*. To stop the test waveform, right-click again on the cell and choose the Stop Test Waveform command from the context menu.

The Event Timer DIO Tab

This tab page lets the user monitor events on each of the 16 digital inputs of Maestro's event timer digital I/O device, and individually toggle the state (0, 1) of any of its 16 digital outputs. The user can also initiate a "loopback test" on the timer board, which is a quick way to verify that the device is functioning properly.

Most of the panel is taken up by a table displaying (1) the current state of each channel on the timer's 16-bit digital output (DO) port; (2) the state of each digital input (DI) channel the last time an "event" (a low-to-high state transition) was detected on any one channel; (3) Last Event Time, the last time an event was detected on each DI channel, in seconds since the last reset; and (4) Mean Event Intv, the average interval between events detected on each DI channel, again in seconds. The last three columns might be useful in evaluating the event timestamping functionality of the timer board. However, some external equipment is needed to provide a deteministic TTL pulse train which can be applied to the digital inputs.

To toggle the current state of any DO channel, simply click on the corresponding cell (with left or right mouse button) in the table.

If the user presses the Repeat Write button, Maestro will repetitively write to the timer board's digital output port. Approximately once per second, Maestro clears all 16 DO channels to zero, then writes a 1 or a 0 to each channel to match the current contents of the DO column in the table. The user can continue to toggle the state of any DO channel while the repetitive write function is engaged. To disable the function, hit the button (now labelled Exit Repeat) again. The repetitive write function may be useful when testing/debugging any of the auxiliary latched devices that Maestro controls via commands on the timer board's DO port.

The Loopback Test button initiates the "loopback test" on the timer board. This test requires that the timer's input and output ports be connected by a "loopback" cable, such that DO<0> drives DI<0>, DO<1> drives DI<1>, and so on. The test toggles, in turn, each DO channel from 0 to 1,and verifies that an event is detected on the corresponding DI channel. The last test condition toggles all 16 digital outputs at once and verifies that all 16 events are detected simultaneously on the input side. During the test, the user cannot toggle any of the DO bits, the test button is disabled, and its label reads TEST IN PROGRESS. After the test, the button remains disabled and the button label changes to indicate the result: TEST FAILED or TEST SUCCEEDED. In either case, to restore normal operation, hit the Reset button. This will zero all digital outputs and inputs, reset the statisitics shown in the digital I/O table, and re-enable the Loopback Test button.