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

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

  • Немедленный - триггер запускается при запуске объекта входа видео.

  • Ручной - триггер срабатывает при вызовах пользователем 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;
}