Создание заглушечного адаптера

Самый легкий способ начать создавать адаптер - создать заглушку реализации, скомпилировать и связать ее, а затем протестировать свою работу. Этот метод может быть эффективным, потому что он обеспечивает немедленные результаты и позволяет вам проверить, что ваше окружение сборки настройки правильно.

В этом разделе показана заглушка реализаций адаптера, которую можно скопировать и вставить в файл в адаптере Microsoft® Визуальный C++® проект. После компиляции и связывания этого кода можно увидеть ваш адаптер, включенный в список доступных адаптеров, возвращенных imaqhwinfo функция.

Примечание

Однако вы не сможете создать экземпляр объекта вашего класса адаптера. Это описано в разделе «Определение класса адаптера».

Чтобы создать адаптер заглушки, выполните следующую процедуру:

  1. Добавьте исходный файл C++ к проекту адаптера C++. Сведения о создании проекта адаптера C++ см. в разделе Настройка окружении сборки в системах Windows. Этот исходный файл будет содержать ваши реализации экспортированных функций C++ адаптера. Вы можете присвоить этому файлу любое имя. Этот пример использует имя адаптера для этого файла с вектором символов "_exported_fcns"приложенный к нему, mydevice_exported_fcns.cpp

  2. Скопируйте следующие линии кода С++ в этот новый файл. Этот код обеспечивает реализации заглушек необходимых функций экспорта адаптеров. Обратите внимание, что вы должны включить файл заголовка набора адаптеров 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(){ 
    
    }
    
  3. Создайте DLL адаптера. Выберите опцию Build Solution в меню Build.

  4. Запуск MATLAB® программное обеспечение.

  5. Сообщите тулбоксу, где найти этот новый адаптер с помощью imaqregister функция. Дополнительные сведения см. в разделе Регистрация адаптера в тулбоксе. Этот шаг необходимо выполнить только один раз.

  6. Вызовите 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]