Самый простой способ начать создание адаптера - создать реализацию заглушки, скомпилировать и связать ее, а затем протестировать свою работу. Этот метод может быть эффективным, поскольку он обеспечивает немедленные результаты и позволяет проверить правильность настройки среды построения.
В этом разделе показана заглушка реализации адаптера, которую можно скопировать и вставить в файл в проекте адаптера Microsoft ® Visual C++ ®. После компиляции и связывания этого кода можно увидеть адаптер, включенный в список доступных адаптеров, возвращаемых imaqhwinfo функция.
Примечание
Однако создать экземпляр объекта класса адаптера будет невозможно. Это описано в разделе Определение класса адаптера.
Чтобы создать адаптер-заглушку, выполните следующие действия.
Добавьте исходный файл C++ в проект адаптера C++. Сведения о создании проекта адаптера C++ см. в разделе Настройка среды сборки в системах Windows. Этот исходный файл будет содержать реализации экспортированных функций C++ адаптера. Можно присвоить этому файлу любое имя. В этом примере используется имя адаптера для этого файла с символьным вектором "_exported_fcns"прилагается к нему, mydevice_exported_fcns.cpp
Скопируйте следующие строки кода C++ в этот новый файл. Этот код обеспечивает реализацию заглушек экспортируемых функций требуемого адаптера. Обратите внимание, что необходимо включить файл заголовка набора адаптеров mwadaptorimaq.h. Этот файл заголовка включает все остальные требуемые файлы заголовка набора адаптеров. getDeviceAttributes() определяет источник видео - дополнительные сведения см. в разделе Идентификация источников видео.
#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 адаптера. Выберите параметр «Решение сборки» в меню «Сборка».
Запустите программное обеспечение 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]