EGrabber for MultiCam users
Coaxlink Programmer's Guide
MyChannel() {
// create and configure channel
...
// enable "END_EXPOSURE" events
status = McSetParamInt(channel, MC_Signal MC_SIG_END_EXPOSURE,
MC_SignalEnable_ON);
if
(status != MC_OK) {
...
}
}
void
waitForEvent(uint32_t timeout) {
// wait for an event
MCSTATUS status = McWaitSignal(channel, MC_SIG_END_EXPOSURE, timeout, &info);
if
(status != MC_OK) {
...
}
// handle "END_EXPOSURE" event
...
}
private
:
...
};
//EGrabber
class
MyGrabber :
public
EGrabber<CallbackOnDemand> {
public
:
MyGrabber(EGenTL &gentl) : EGrabber<CallbackOnDemand>(gentl) {
// configure grabber
...
// enable "Cic" events
enableEvent<CicData>();
}
void
waitForEvent(uint64_t timeout) {
// wait for an event
processEvent<CicData>(timeout);
}
private
:
// onCicEvent is called by processEvent when a "Cic" event occurs
virtual
void
onCicEvent(
const
CicData &data) {
// handle "Cic" event
...
}
};
39