EGrabber for MultiCam usersCoaxlink Programmer's Guide
MyChannel() {
// create and configure channel
...
// enable "END_EXPOSURE" events
status = McSetParamInt(channel, MC_SignalEnable + 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