| Customize Help

Steps to use I/O signals

The following steps provide a typical methodology to use I/O signals. Note that, depending on your hardware, you will need to use either the MdigControl() and MdigInquire() functions, or the MsysControl() and MsysInquire() functions, to control or inquire about the I/O signal. For more information on which function to use, refer to the Connectors and signal names section of the MIL Hardware-specific Notes chapter for your Matrox product.

  1. If the I/O signal can be transmitted using one of several formats and the default setting is not appropriate, specify the format using MdigControl() or MsysControl() with M_IO_FORMAT.

  2. For an output signal, set-up the source of the signal. For example, if you want to route the output of a timer to an I/O signal, you can use MdigControl() with M_TIMER_... control types to set-up the timer.

  3. Configure the I/O signal according to its purpose.

    For output signals (or bidirectional signals that you will set to output mode), specify the type of signal to be routed to it, using MdigControl() or MsysControl() with M_IO_SOURCE.

    For input signals (or bidirectional signals that you will set to input mode), specify the input signal (M_AUX_IOn) as the source of the required event. For example, specify auxiliary input signal M_AUX_IO5 as the signal to use to trigger a grab operation (MdigControl() with M_GRAB_TRIGGER_SOURCE set to M_AUX_IO5). You can also poll the state of an input signal using MdigInquire() or MsysInquire() with M_IO_STATUS, and act upon it.

    Note that step #2 does not necessarily need to be performed before step #3; however, it ensures that you know what is being routed on the signal initially.

  4. If the I/O signal is a bidirectional signal, specify its mode (direction) using MdigControl() or MsysControl() with M_IO_MODE set to either M_INPUT or M_OUTPUT.

    Note that in some cases, the bidirectional signal is full-duplex, which can receive input signals and transmit output signals simultaneously (for example, transport layer (TL) trigger signals). For full-duplex signals, you typically do not have to set the mode of the signal unless you are inquiring its state; that is, call MdigControl() or MsysControl() with M_IO_MODE, followed by a call to MdigInquire() or MsysInquire() with M_IO_STATUS.

Using Matrox Intellicam's Feature Browser

You can test settings for I/O signals and other hardware-specific features interactively in real-time with Matrox Intellicam's Feature Browser. That is, you can use this interactive user-interface to set any of the MdigControl() and MsysControl() (and MdigControlFeature()) control types available for your Matrox product, and then inquire the results immediately. For example, you can fine-tune the duration of a timer output signal's delay and active portion by adjusting the values in the Matrox Feature Browser, and verify the result in real-time; otherwise, you would have to re-compile your application program each time you made an adjustment to see the effects of the change.

To help build your application program, Matrox Intellicam's Feature Browser provides code snippets with the MIL functions and MIL constants associated with your selected settings. You can copy and paste these code snippets into your application's code.

For information on how to use Matrox Intellicam's Feature Browser, refer to the Matrox Intellicam Help. To verify if you can save the settings you selected using the Feature Browser directly to the DCF for your camera, refer to the Using your Matrox product with MIL section of the MIL Hardware-specific Notes chapter for your Matrox product.