Создание тупикового адаптера

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

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

Примечание

Вы не сможете инстанцировать объекта своего класса адаптера, как бы то ни было. Это описано в Определении Вашего Класса Адаптера.

Чтобы создать тупиковый адаптер, выполните эту процедуру:

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

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