Создание процедуры тестирования адаптера заглушки

В рамках Image Acquisition Toolbox Adaptor Kit мы теперь предлагаем процедуру тестирования и автоматические тесты для сторонних разработчиков адаптеров и поставщиков камер для тестирования адаптеров и оборудования на соответствие тулбоксу. Эта процедура тестирования является частью этого набора. Для получения дополнительной информации см. Раздел «Проверка адаптеров или оборудования».

После создания адаптера-заглушки по инструкциям в документе «Создание адаптера заглушки» в этой документации Adaptor Kit выполните следующие действия, чтобы убедиться, что адаптер заглушки отображается в MATLAB®.

Процедуры тестированияОжидаемые результаты
В MATLAB зарегистрировать адаптер можно используя следующую команду:
imaqregister('AdaptorDllName')
где 'AdaptorDllName' - имя файла dll адаптера с полным путем к файлу.

Регистрация адаптера должна работать без каких-либо ошибок или предупреждений.

После проверки выполните следующую команду:

imaqreset
Выполните следующую команду:
imaqhwinfo
imaqhwinfo выводит список доступных адаптеров. Создаваемый адаптер должен быть указан в InstalledAdaptors.
Выполните следующую команду:
imaqhwinfo('AdaptorName')
Показаны детали библиотеки адаптеров. AdaptorDllName должен быть полный путь к библиотеке адаптеров. На данной точке DeviceIDs и DeviceInfo пустой (1x0).

После добавления кода перечисления устройств выполните следующие действия, чтобы проверить информацию об устройстве.

Процедуры тестированияОжидаемые результаты
Выполните следующую команду:
devInfo = imaqhwinfo
   ('AdaptorName')
The DeviceIDs и DeviceInfo теперь поля должны быть заполнены. DeviceIDs должно быть от 1 до N в зависимости от количества добавленных устройств. DeviceInfo - структура MATLAB (или массив структур, если существует несколько устройств).
Выполните следующую команду:
devInfo(:).DeviceInfo
DeviceInfo отобразить информацию для каждого устройства следующим образом:
DefaultFormat: '640x480'
DeviceFileSupported: 0
DeviceName: 'MyDevice'
DeviceID: 1
ObjectConstructor: 'videoinput
   ('mydeviceimaq', 1)'
SupportedFormats: {'640x480' 
   '320x240'}

где,

DefaultFormat - формат, для которого второй аргумент addDeviceFormat установлено в true.

DeviceFileSupported является true (1) если устройство поддерживает файлы устройств.

DeviceName - имя устройства, определенное в createDeviceInfo.

DeviceID - идентификатор, сопоставленный с устройством, как определено в createDeviceInfo. Обычно это 1.

ObjectConstructor является способом создания объекта videoinput для этого устройства в MATLAB.

SupportedFormats - массив ячеек всех поддерживаемых форматов, заданный с помощью addDeviceFormat. Он пуст, если DeviceFileSupported является true и никакие форматы не были добавлены DeviceFormat.

После написания класса адаптера выполните следующие действия, чтобы протестировать videoinput создание и уничтожение объектов.

Процедуры тестированияОжидаемые результаты
Выполните следующую команду:
vidObj = videoinput
   ('AdaptorName')
The videoinput объект должен быть создан с помощью первого найденного устройства и формата по умолчанию без какой-либо ошибки, а его сведения должны отображаться в командной строке MATLAB. Это не сработает, если поддерживаются только файлы устройств. Детали должны быть аналогичны:
Summary of Video Input Object Using 
   'MyDevice'.
Acquisition Source(s): MyDeviceSource is 
   available.
Acquisition Parameters: 
   'MyDeviceSource' is the current selected 
       source.
   10 frames per trigger using the selected 
       source.
   '640x480' video data to be logged upon 
       start.
   Grabbing first of every 1 frame(s).
   Log data to 'memory' on trigger.
Trigger Parameters: 
   1 'immediate' trigger(s) on start.
   Status: Waiting for start.
   0 frames acquired since starting.
   0 frames available for getData.

где MyDevice подключено ли устройство.

Выполните следующие команды:
delete(vidObj);
vidObj

Должно появиться следующее сообщение:

Недопустимый объект Image Acquisition.

Этот объект не связан ни с одним оборудованием и должен быть удален из рабочей области с помощью clear.

Выполните следующие команды:
vidObj = videoinput
   ('AdaptorName');
imaqreset;
vidObj

Должно появиться следующее сообщение:

Недопустимый объект Image Acquisition.

Этот объект не связан ни с одним оборудованием и должен быть удален из рабочей области с помощью clear.