Можно настроить сгенерированный файл ASAP2 при помощи генератора кода любым из следующих способов:
Создайте объект из базового класса.
obj = coder.asap2.UserCustomizeBase;
Измените поля объекта.
obj.HeaderComment = 'Header comment'; obj.ModParComment = 'Mod Par comment'; obj.ModCommonComment = 'Mod Common comment'; obj.ASAP2FileName = 'File name'; obj.ByteOrder = 'BYTEORDER MSB_LAST';
Передайте объект функции, которая генерирует файл ASAP2.
coder.asap2.export(modelName
,'CustomizationObject',obj
);
Выведите из базового класса coder.asap2.UserCustomizeBase
. Можно поместить производный файл куда угодно в путь MATLAB.
Чтобы отредактировать раздел Header, используйте writeHeader
функция.
Используйте writeHardwareInterface
функционируйте, чтобы отредактировать раздел аппаратного интерфейса, состоящий из MOD_PAR
и MOD_COMMON
поля файла ASAP2.
Чтобы добавить текст в начале файла ASAP2, используйте writeFileHead
функция.
Чтобы добавить текст в конце файла ASAP2, используйте writeFileTail
функция.
Например, код для генерации производного класса TestASAP2Customization
может выглядеть так код:
classdef TestASAP2Customization < coder.asap2.UserCustomizeBase % Customization class for asap2 file methods function header = writeHeader(obj) header = sprintf([' /begin HEADER ' 'test Header text' '\n',... 'header test comments from user\n',... ' /end HEADER']); end function hardwareInterface = writeHardwareInterface(obj) hardwareInterface = sprintf([' /begin MOD_PAR "' 'UserDefined' '"\n',... ' test comments from user\n',... ' /end MOD_PAR\n\n',... ' /begin MOD_COMMON "' 'UserDefined MOD_COMMON' '"\n',... ' user defined values for MOD_COMMON\n',... ' ' obj.ByteOrder '\n',... ' /end MOD_COMMON']); end function fileTail = writeFileTail(obj) fileTail = sprintf(['/* This File can be used for ' ,... 'calibration .*/\n'... '/* EOF ',obj.ASAP2FileName, '*/']); end function fileHeader = writeFileHead(obj) fileHeader = sprintf(['/******************************************************************************\n',... ' This is a a2l file which can be used for calibration with INCA or CANAPE\n',... ' ******************************************************************************/' ]); end end end
Создайте объект из производного класса. Например, следующая команда создает объект из TestASAP2Customization
:
obj = TestASAP2Customization;
Передайте объект функции, которая генерирует файл ASAP2.
coder.asap2.export(modelName
,'CustomizationObject',obj
);