Самый легкий способ начать создавать адаптер - создать заглушку реализации, скомпилировать и связать ее, а затем протестировать свою работу. Этот метод может быть эффективным, потому что он обеспечивает немедленные результаты и позволяет вам проверить, что ваше окружение сборки настройки правильно.
В этом разделе показана заглушка реализаций адаптера, которую можно скопировать и вставить в файл в адаптере Microsoft® Визуальный C++® проект. После компиляции и связывания этого кода можно увидеть ваш адаптер, включенный в список доступных адаптеров, возвращенных imaqhwinfo
функция.
Примечание
Однако вы не сможете создать экземпляр объекта вашего класса адаптера. Это описано в разделе «Определение класса адаптера».
Чтобы создать адаптер заглушки, выполните следующую процедуру:
Добавьте исходный файл C++ к проекту адаптера C++. Сведения о создании проекта адаптера C++ см. в разделе Настройка окружении сборки в системах Windows. Этот исходный файл будет содержать ваши реализации экспортированных функций C++ адаптера. Вы можете присвоить этому файлу любое имя. Этот пример использует имя адаптера для этого файла с вектором символов "_exported_fcns
"приложенный к нему, mydevice_exported_fcns.cpp
Скопируйте следующие линии кода С++ в этот новый файл. Этот код обеспечивает реализации заглушек необходимых функций экспорта адаптеров. Обратите внимание, что вы должны включить файл заголовка набора адаптеров mwadaptorimaq.h
. Этот файл заголовка включает все другие необходимые файлы заголовка набора адаптеров. The getDeviceAttributes()
stub определяет источник видео - для получения дополнительной информации см. раздел Идентификация источников видео.
#include "mwadaptorimaq.h" void initializeAdaptor(){ } void getAvailHW(imaqkit::IHardwareInfo* hardwareInfo){ } void getDeviceAttributes(const imaqkit::IDeviceInfo* deviceInfo, const char* formatName, imaqkit::IPropFactory* devicePropFact, imaqkit::IVideoSourceInfo* sourceContainer, imaqkit::ITriggerInfo* hwTriggerInfo){ // Create a video source sourceContainer->addAdaptorSource("MyDeviceSource", 1); } imaqkit::IAdaptor* createInstance(imaqkit::IEngine* engine, const imaqkit::IDeviceInfo* deviceInfo, const char* formatName){ imaqkit::IAdaptor* adaptor = NULL; return adaptor; } void uninitializeAdaptor(){ }
Создайте DLL адаптера. Выберите опцию Build Solution в меню Build.
Запуск MATLAB® программное обеспечение.
Сообщите тулбоксу, где найти этот новый адаптер с помощью imaqregister
функция. Дополнительные сведения см. в разделе Регистрация адаптера в тулбоксе. Этот шаг необходимо выполнить только один раз.
Вызовите imaqhwinfo
функция. Обратите внимание, что шлейфный адаптер с именем mydeviceimaq
, включена в список доступных возвращенных адаптеров.
imaqhwinfo ans = InstalledAdaptors: {'demo' 'mydeviceimaq' 'winvideo'} MATLABVersion: '7.12 (R2011a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '4.1 (R2011a)'
Чтобы получить дополнительную информацию о заглушке адаптера, позвоните imaqhwinfo
снова на этот раз задает имя адаптера.
Примечание
На данной точке разработки адаптера DeviceIDs
поле и DeviceInfo
поля являются пустыми.
imaqhwinfo('mydeviceimaq') ans = AdaptorDllName: 'C\My_Adaptor\mydeviceimaq.dll' AdaptorDllVersion: '4.1 (R2011a)' AdaptorName: 'mydeviceimaq' DeviceIDs: {1x0 cell} DeviceInfo: [1x0 struct]