Поддержка аппаратных триггеров

Тулбокс поддерживает три типа триггеров:

  • Мгновенный — Триггер стреляет, когда объект ввода видео запускается.

  • Руководство — Триггер стреляет, когда пользователь вызывает функцию 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;
}