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

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

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

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