MultiCam Boards Documentation > MultiCam Documentation > MultiCam User Guide > MultiCam Basics > Signaling > Advanced Signaling > Advanced Signaling Information

Advanced Signaling Information

Linkage of MultiCam Signals to Windows Events

To implement an advanced signaling mechanism of his own, the user has to associate a signal to a regular Windows event.

This is realized with an expert-level parameter called SignalEvent.

One such parameter exists for the channel class. It has the MultiCam type "integer collection".

Each item of the collection allows for retrieving the operating system event object associated to the addressed signal.

To address a specific signal, the by-ident parameter access method is used with the SignalEnable parameter belonging to the desired channel object. The parameter getting function is McSetParamInt with a parameter identifier established as follows:

To reach signal...

Use parameter identifier...

Frame Trigger Violation

MC_SignalEvent + MC_SIG_FRAMETRIGGER_VIOLATION

Start Exposure

MC_SignalEvent + MC_SIG_START_EXPOSURE

End Exposure

MC_SignalEvent + MC_SIG_END_EXPOSURE

Release (*)

MC_SignalEnable + MC_SIG_RELEASE

Surface Filled

MC_SignalEvent + MC_SIG_SURFACE_FILLED

Surface Processing

MC_SignalEvent + MC_SIG_SURFACE_PROCESSING

Cluster Unavailable

MC_SignalEvent + MC_SIG_CLUSTER_UNAVAILABLE

Acquisition failure

MC_SignalEvent + MC_SIG_ACQUISITION_FAILURE

(*) This signal is generated only with Domino boards.

The retrieved value may be cast into an operating system handle (HANDLE) and subsequently used in any of the following wait functions:

The operating system event is signaled each time an enabled MultiCam signal occurs. Enabling a MultiCam signal is done with the SignalEnable parameter. It is allowed to enable several signals.

When waiting for the Surface Processing signal, it is the application responsibility to reset the SurfaceState parameter of the PROCESSING surface to FREE when done. Failure to do so would prevent the surface from being used by subsequent acquisition phases.

The MultiCam signal information associated with the event may be retrieved by calling the McGetSignalInfo function.

If the advanced signaling mechanism is used, the callback signaling mechanism cannot be used. However, the waiting signaling mechanism can be used as long as the waiting function is not used to wait for an event used by the advanced signaling mechanism.

Example

HANDLE MyHandle;
McSetParamInt(hChannel, MC_SignalEnable + MC_SIG_SURFACE_FILLED, MC_SignalEnable_ON);
McGetParamInt(hChannel, MC_SignalEvent + MC_SIG_SURFACE_FILLED, (int*)&MyHandle);
WaitForSingleObject(MyHandle, INFINITE);

Retrieving Signal Information

A dedicated MultiCam function is provided to retrieve the signal information for one or several specified signals issued by a specified object at any time. The retrieving function is called McGetSignalInfo. The function should be called several times if information from several signals is to be retrieved.

Any signal the information of which is to be retrieved should be enabled with the SignalEnable parameter.