Commit 132097d9 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Update Simulink templates

parent 02c02b48
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the function
@_LOWER:Name_@_script.m
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the function
@@-- @_Language_@ : The implementation language
@@-- @_List_Of_PIs_@ : List of all Provided Interfaces (just names)
@@-- @_List_Of_RIs_@ : List of all Required Interfaces (just names)
@@-- @_List_Of_Sync_PIs@ : List of synchronous Provided Interfaces
@@-- @_List_Of_Sync_RIs@ : List of synchronous Required Interfaces
@@-- @_List_Of_ASync_PIs@ : List of asynchronous Provided Interfaces
@@-- @_List_Of_ASync_RIs@ : List of asynchronous Required Interfaces
@@-- @_ASN1_Modules_@ : List of ASN.1 Modules names
@@-- @_ASN1_Files_@ : List of ASN.1 Files with path
@@-- @_Timers_@ : List of timers (just names)
@@-- @_Has_Context_@ : Flag, True if there are context parameters
@@-- @_CP_Names_@ : List of Context Parameter names
@@-- @_CP_Types_@ : List of Context Parameter types
@@-- @_Provided_Interfaces_@ : From template: Provided interfaces with params
@@-- @_Required_Interfaces_@ : From template: Required interfaces with params
@@-- @_Property_Names_@ : List of User-defined properties (names)
@@-- @_Property_Values_@ : List of User-defined properties (values)
@@-- @_Is_Type_@ : Flag, True if function is a component type
@@-- @_Instance_Of_@ : Optional name of component type
function []=setInputsBusCreator(in_type, in_busCrea)
if(isa(in_type, 'Simulink.Bus'))
s='';
if(length(in_type.Elements)==1)
set_param(in_busCrea, 'Inputs', '1');
else
for i=1:length(in_type.Elements)
s=strcat(s,in_type.Elements(i).name);
if i < length(in_type.Elements)
s=strcat(s, ',');
end
end
set_param(in_busCrea, 'Inputs', s);
end
end
end
function []=setOutputsBusSelector(in_type, in_busSel)
if(isa(in_type, 'Simulink.Bus'))
s='';
for i=1:length(in_type.Elements)
s=strcat(s,in_type.Elements(i).name);
if i < length(in_type.Elements)
s=strcat(s, ',');
end
end
set_param(in_busSel, 'OutputSignals', s);
end
end
run Simulink_DataView_asn;
inports_positions = zeros(1, 4);
bussel_positions = zeros(1, 4);
outports_positions = zeros(1, 4);
buscre_positions = zeros(1, 4);
@_Provided_Interfaces_@
simulink('close');
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the function
Makefile
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The function name
@@-- @_ASN1_Files_@ : List of all ASN.1 files
@@-- @_ASN1_Modules_@ : List of all ASN.1 modules
@@-- @_Is_Type_@ : Flag set to True for function type
@@-- @_Instance_Of_@ : Name of function type if instance
all: compile-linux
clean:
rm -rf obj
compile-linux:
mkdir -p obj && cd obj && gcc -c ../src/*.c
@@-- This template must return either TRUE or something else (meaning FALSE)
@@-- It is used to determine if the other templates in this folder will be
@@-- processed or ignored.
@@-- One folder can contain two templates: one for a function, and one for
@@-- a corresponding makefile (or build script)
@@-- The name of the function is read from template "function-filename.tmplt"
@@-- The name of the makefile is read from template "makefile-filename.tmplt"
@@-- These files are optional, if absent no error is raised
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the function
@@-- @_Is_Type_@ : True if function type
@@-- @_Instance_Of_@ : Name of instance or empty string
@@-- @_Language_@ : Implementation language for the function
@@-- @_Filename_Is_Present_@ : True if target function output already exists
@@-- @_Makefile_Is_Present_@ : True if target build script already exists
@@-- @_C_Middleware_@ : True if middleware is in C (e.g. PO-HI-C)
@@IF@@ @_Language_@ = SIMULINK
TRUE
@@END_IF@@
function []=setInputsBusCreator(in_type, in_busCrea)
if(isa(in_type, 'Simulink.Bus'))
s='';
if(length(in_type.Elements)==1)
set_param(in_busCrea, 'Inputs', '1');
else
for i=1:length(in_type.Elements)
s=strcat(s,in_type.Elements(i).name);
if i < length(in_type.Elements)
s=strcat(s, ',');
end
end
set_param(in_busCrea, 'Inputs', s);
end
end
@@IF@@ @_Language_@ = SIMULINK
TRUE
@@END_IF@@
run Simulink_DataView_asn;
inports_positions = zeros(1, 4);
bussel_positions = zeros(1, 4);
outports_positions = zeros(1, 4);
buscre_positions = zeros(1, 4);
@_Provided_Interfaces_@
simulink('close');
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the interface
@@-- @_Direction_@ : "PI" or "RI"
@@-- @_Kind_@ : The RCM Kind
@@-- @_Parent_Function_@ : The name of the function
@@-- @_Param_Names_@ : List of parameter names
@@-- @_Param_Types_@ : |_ Corresponding parameter types
@@-- @_Param_Basic_Types_@ : |_ Corresponding ASN1 Basic type (ASN1_SEQUENCE, ASN1_SEQUENCEOF, ASN1_ENUMERATED, ASN1_SET, ASN1_SETOF, ASN1_INTEGER, ASN1_BOOLEAN, ASN1_REAL, ASN1_OCTETSTRING, ASN1_CHOICE, ASN1_STRING, ASN1_UNKNOWN)
@@-- @_Param_Directions_@ : |_ Corresponding direction
@@-- @_Param_Encodings_@ : |_ Corresponding ASN.1 encoding
@@-- @_Period_@, @_WCET_@, @_Queue_Size_@ : Properties of the interface
@@-- @_IF_Property_Names_@, _Values_@ : User-defined properties (vector tag)
if (exist('@_Name_@') == 4),
simulink('open');
load_system('@_Name_@');
......
all: compile-linux
clean:
rm -rf obj
compile-linux:
mkdir -p obj && cd obj && gcc -c ../src/*.c
@@IF@@ @_Language_@ = SIMULINK
TRUE
@@END_IF@@
function []=setOutputsBusSelector(in_type, in_busSel)
if(isa(in_type, 'Simulink.Bus'))
s='';
for i=1:length(in_type.Elements)
s=strcat(s,in_type.Elements(i).name);
if i < length(in_type.Elements)
s=strcat(s, ',');
end
end
set_param(in_busSel, 'OutputSignals', s);
end
@@IF@@ @_Language_@ = SIMULINK
TRUE
@@END_IF@@
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment