Поддержка управления интерфейсами классов C++

В этом разделе описывается, как настроить пользовательский целевой процессор для поддержки управления интерфейсом класса C++. Без описанных модификаций использовать C++ class упаковка интерфейса кода для генерации и конфигурирования интерфейсов класса C++ для моделирования кода. Для получения дополнительной информации об управлении интерфейсом класса C++ смотрите Интерактивная настройка интерфейса C++ (Embedded Coder).

Об управлении интерфейсом класса C++ и пользовательских целевых устройствах

Требования к поддержке управления интерфейсом класса C++ следующие:

Пример, в котором показано, как сконфигурировать пользовательские целевые дополнительные функции, см. в разделе Настройка системных целевых файлов.

Объявление податливости управления интерфейсом класса C++

Чтобы объявить податливость интерфейса класса C++ управлению для вашего целевого объекта, вы должны реализовать функцию обратного вызова, которая устанавливает CPPClassGenCompliant флаг, а затем установите функцию обратного вызова в SelectCallback поле rtwgensettings структура в целевом файле системы. Функция обратного вызова запускается каждый раз, когда пользователь выбирает цель в System Target File Browser. Например, следующий системный код целевого файла устанавливает SelectCallback функция с именем custom_select_callback_handler:

rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';

Аргументы в адрес SelectCallback функция (hDlg, hSrc) являются указателями на частные данные, используемые функциями API коллбэка. Эти указатели ограничены для использования в функциях обратного вызова системного целевого файла. Они должны быть переданы без переделок.

Ваша функция обратного вызова должна задать CPPClassGenCompliant отметьте следующим образом:

slConfigUISetVal(hDlg,hSrc,'CPPClassGenCompliant','on');
slConfigUISetEnabled(hDlg,hSrc,'CPPClassGenCompliant',false);
hSrc.refreshDialog;

Для получения дополнительной информации о системном API коллбэка целевого файла, смотрите slConfigUIGetVal, slConfigUISetEnabled, и slConfigUISetVal function страниц с описанием.

Когда CPPClassGenCompliant целевому параметру конфигурации задано значение on, можно использовать C++ class упаковка интерфейса кода для генерации и конфигурирования интерфейсов класса C++ для моделирования кода.

Обеспечение поддержки управления интерфейсом C++ класса в пользовательской статической основной программе

Выбор C++ class упаковка интерфейса кода для вашей модели позволяет параметр конфигурации <reservedrangesplaceholder1> модели. Когда вы выбираете этот параметр, генератор кода производит пример основной программы, ert_main.cpp. Сгенерированная пример основной программы объявляет данные модели и вызывает интерфейс класса C++, сконфигурированный метод шага модели, и иллюстрирует, как сгенерированный код может быть развернут.

Чтобы настроить процесс сборки, отключить генерацию и включение примерной основной программы, смотрите setTargetProvidesMain (Embedded Coder) функция. Отключение примера разрешения основной генерации, включая пользовательскую основную программу.

Похожие темы