В этом разделе описывается, как настроить пользовательский целевой процессор для поддержки управления интерфейсом класса C++. Без описанных модификаций использовать C++ class
упаковка интерфейса кода для генерации и конфигурирования интерфейсов класса C++ для моделирования кода. Для получения дополнительной информации об управлении интерфейсом класса C++ смотрите Интерактивная настройка интерфейса C++ (Embedded Coder).
Требования к поддержке управления интерфейсом класса C++ следующие:
Целевой объект должен быть выведен из системного целевого файла ERT.
Системный целевой файл должен объявить податливость интерфейса 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++ class
упаковка интерфейса кода для вашей модели позволяет параметр конфигурации <reservedrangesplaceholder1> модели. Когда вы выбираете этот параметр, генератор кода производит пример основной программы, ert_main.cpp
. Сгенерированная пример основной программы объявляет данные модели и вызывает интерфейс класса C++, сконфигурированный метод шага модели, и иллюстрирует, как сгенерированный код может быть развернут.
Чтобы настроить процесс сборки, отключить генерацию и включение примерной основной программы, смотрите setTargetProvidesMain
(Embedded Coder) функция. Отключение примера разрешения основной генерации, включая пользовательскую основную программу.