1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
function CFunName = C_GenerateFunName(FunctionName,InArg,NInArg,OutArg,NOutArg)
// function CFunName = C_GenerateFunName(FunctionName,InArg,NInArg,OutArg,NOutArg)
// -----------------------------------------------------------------
// //NUT: add description here
//
// Input data:
// //NUT: add description here
//
// Output data:
// //NUT: add description here
//
// Status:
// 26-Oct-2007 -- Raffaele Nutricato: Author.
// 26-Oct-2007 -- Alberto Morea: Test Ok.
// 11-Nov-2007 -- Raffaele Nutricato: changed naming rule.
//
// Copyright 2007 Raffaele Nutricato.
// Contact: raffaele.nutricato@tiscali.it
// -----------------------------------------------------------------
// ------------------------------
// --- Check input arguments. ---
// ------------------------------
SCI2CNInArgCheck(argn(2),5,5);
CFunName = '';
if((IsAVRSupportFunction(FunctionName)) | (IsRPISupportFunction(FunctionName)) | ...
(mtlb_strcmp(part(FunctionName,1:5),'odefn') == %T) |...
(mtlb_strcmp(part(FunctionName,1:9),'PI_thread') == %T)| ...
(mtlb_strcmp(part(FunctionName,1:4),'ISR_') == %T))
//If current function is an AVR or RPi function, then function name can be just
//plain function name without any input/output arguments types
//Slimilarly for functions conataining ode functions and functions to be called in
//separate thread in RPi
CFunName = CFunName+FunctionName;
else
for tmpcnt = 1:NInArg
if (InArg(tmpcnt).Dimension == 1)
CFunName = CFunName+InArg(tmpcnt).Type+'2';
else
CFunName = CFunName+InArg(tmpcnt).Type+SCI2Cstring(InArg(tmpcnt).Dimension);
end
end
CFunName = CFunName+FunctionName;
for tmpcnt = 1:NOutArg
if (OutArg(tmpcnt).Dimension == 1)
CFunName = CFunName+OutArg(tmpcnt).Type+'2';
else
CFunName = CFunName+OutArg(tmpcnt).Type+SCI2Cstring(OutArg(tmpcnt).Dimension);
end
end
end
endfunction
|