Тулбокс поддерживает три типа триггеров:
Мгновенный — Триггер стреляет, когда объект ввода видео запускается.
Руководство — Триггер стреляет, когда пользователь вызывает функцию trigger
.
Оборудование — Триггер стреляет, когда внешне заданные условия соблюдают
Механизм оказывает автоматическую поддержку для мгновенных и ручных триггеров. Если вы хотите, чтобы ваш адаптер поддержал аппаратные триггеры, необходимо проверять, чтобы видеть, задали ли пользователи аппаратный триггер в функции потока приобретения. Прежде чем вы начнете получать кадры от своего устройства, вставите вызов функции членства IAdaptor
useHardwareTrigger()
, чтобы определить, должен ли цикл приобретения кадра ожидать аппаратного триггера, чтобы стрелять. Если аппаратный триггер сконфигурирован, вставьте вызовы SDK устройства, требуемые ожидать триггера.
Следующая фигура иллюстрирует цикл приобретения кадра с тестом для аппаратного триггера.
Основной цикл приобретения с тестом для аппаратного триггера
Следующее является функцией потока приобретения, которая включает вызов, чтобы проверять на аппаратный триггер.
while(adaptor->isAcquisitionNotComplete()) { // Check for hardware trigger if (adaptor->useHardwareTrigger()) { // Add code here to configure the image // acquisition device for hardware // triggering. } if (adaptor->isSendFrame()) { // see acquistion thread } // if isSendFrame() // Increment the frame count. adaptor->incrementFrameCount(); } // while(isAcquisitionNotComplete() break; } //switch-case WM_USER } //while message is not WM_QUIT return 0; }