Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
dmt
Commits
942e7d18
Commit
942e7d18
authored
Nov 13, 2020
by
Thanassis Tsiodras
Committed by
Thanassis Tsiodras
Nov 17, 2020
Browse files
Case-change in newer versions of Simulink.
parent
e22b1a28
Changes
1
Hide whitespace changes
Inline
Side-by-side
dmt/A_mappers/simulink_A_mapper.py
View file @
942e7d18
...
@@ -131,13 +131,13 @@ def DeclareCollection(node: AsnSequenceOrSetOf, name: str, internal: str) -> Non
...
@@ -131,13 +131,13 @@ def DeclareCollection(node: AsnSequenceOrSetOf, name: str, internal: str) -> Non
for
i
in
range
(
0
,
node
.
_range
[
-
1
]):
for
i
in
range
(
0
,
node
.
_range
[
-
1
]):
g_outputFile
.
write
(
'%s_member_%02d=Simulink.BusElement;
\n
'
%
(
name
,
i
))
g_outputFile
.
write
(
'%s_member_%02d=Simulink.BusElement;
\n
'
%
(
name
,
i
))
# Andreas(ESA) wants them to be called 'element_%02d'
# Andreas(ESA) wants them to be called 'element_%02d'
g_outputFile
.
write
(
"%s_member_%02d.
n
ame='element_%02d';
\n
"
%
(
name
,
i
,
i
))
g_outputFile
.
write
(
"%s_member_%02d.
N
ame='element_%02d';
\n
"
%
(
name
,
i
,
i
))
g_outputFile
.
write
(
"%s_member_%02d.DataType='%s';
\n
"
%
(
name
,
i
,
internal
))
g_outputFile
.
write
(
"%s_member_%02d.DataType='%s';
\n
"
%
(
name
,
i
,
internal
))
g_outputFile
.
write
(
"%s_member_%02d.
d
imensions=1;
\n\n
"
%
(
name
,
i
))
g_outputFile
.
write
(
"%s_member_%02d.
D
imensions=1;
\n\n
"
%
(
name
,
i
))
g_outputFile
.
write
(
'%s_member_length=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
'%s_member_length=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
"%s_member_length.
n
ame='length';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
N
ame='length';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.DataType='int32';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.DataType='int32';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
d
imensions=1;
\n\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
D
imensions=1;
\n\n
"
%
name
)
g_outputFile
.
write
(
'%s=Simulink.Bus;
\n
'
%
name
)
g_outputFile
.
write
(
'%s=Simulink.Bus;
\n
'
%
name
)
g_outputFile
.
write
(
"%s.Elements = "
%
name
)
g_outputFile
.
write
(
"%s.Elements = "
%
name
)
g_outputFile
.
write
(
'['
)
g_outputFile
.
write
(
'['
)
...
@@ -150,9 +150,9 @@ def DeclareCollection(node: AsnSequenceOrSetOf, name: str, internal: str) -> Non
...
@@ -150,9 +150,9 @@ def DeclareCollection(node: AsnSequenceOrSetOf, name: str, internal: str) -> Non
def
DeclareSimpleCollection
(
node
:
Union
[
AsnString
,
AsnSequenceOf
,
AsnSetOf
],
name
:
str
,
internal
:
str
)
->
None
:
def
DeclareSimpleCollection
(
node
:
Union
[
AsnString
,
AsnSequenceOf
,
AsnSetOf
],
name
:
str
,
internal
:
str
)
->
None
:
g_outputFile
.
write
(
'%s_member_data=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
'%s_member_data=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
"%s_member_data.
n
ame='element_data';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_data.
N
ame='element_data';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_data.DataType='%s';
\n
"
%
(
name
,
internal
))
g_outputFile
.
write
(
"%s_member_data.DataType='%s';
\n
"
%
(
name
,
internal
))
g_outputFile
.
write
(
"%s_member_data.
d
imensions=%d;
\n\n
"
%
(
name
,
node
.
_range
[
-
1
]))
g_outputFile
.
write
(
"%s_member_data.
D
imensions=%d;
\n\n
"
%
(
name
,
node
.
_range
[
-
1
]))
bNeedLength
=
False
bNeedLength
=
False
if
len
(
node
.
_range
)
>
1
and
node
.
_range
[
0
]
!=
node
.
_range
[
1
]:
if
len
(
node
.
_range
)
>
1
and
node
.
_range
[
0
]
!=
node
.
_range
[
1
]:
...
@@ -160,9 +160,9 @@ def DeclareSimpleCollection(node: Union[AsnString, AsnSequenceOf, AsnSetOf], nam
...
@@ -160,9 +160,9 @@ def DeclareSimpleCollection(node: Union[AsnString, AsnSequenceOf, AsnSetOf], nam
if
bNeedLength
:
if
bNeedLength
:
g_outputFile
.
write
(
'%s_member_length=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
'%s_member_length=Simulink.BusElement;
\n
'
%
name
)
g_outputFile
.
write
(
"%s_member_length.
n
ame='length';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
N
ame='length';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.DataType='int32';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.DataType='int32';
\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
d
imensions=1;
\n\n
"
%
name
)
g_outputFile
.
write
(
"%s_member_length.
D
imensions=1;
\n\n
"
%
name
)
g_outputFile
.
write
(
'%s=Simulink.Bus;
\n
'
%
name
)
g_outputFile
.
write
(
'%s=Simulink.Bus;
\n
'
%
name
)
g_outputFile
.
write
(
"%s.Elements = "
%
name
)
g_outputFile
.
write
(
"%s.Elements = "
%
name
)
...
@@ -216,14 +216,14 @@ def CreateDeclarationForType(nodeTypename: str, names: AST_Lookup, leafTypeDict:
...
@@ -216,14 +216,14 @@ def CreateDeclarationForType(nodeTypename: str, names: AST_Lookup, leafTypeDict:
elemNo
+=
1
elemNo
+=
1
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
g_outputFile
.
write
(
name
+
"=Simulink.BusElement;
\n
"
)
g_outputFile
.
write
(
name
+
"=Simulink.BusElement;
\n
"
)
g_outputFile
.
write
(
name
+
".
n
ame='choiceIdx';
\n
"
)
g_outputFile
.
write
(
name
+
".
N
ame='choiceIdx';
\n
"
)
g_outputFile
.
write
(
name
+
".DataType='uint8';
\n
"
)
g_outputFile
.
write
(
name
+
".DataType='uint8';
\n
"
)
g_outputFile
.
write
(
name
+
".
d
imensions=1;
\n\n
"
)
g_outputFile
.
write
(
name
+
".
D
imensions=1;
\n\n
"
)
for
child
in
node
.
_members
:
for
child
in
node
.
_members
:
elemNo
+=
1
elemNo
+=
1
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
g_outputFile
.
write
(
name
+
"=Simulink.BusElement;
\n
"
)
g_outputFile
.
write
(
name
+
"=Simulink.BusElement;
\n
"
)
g_outputFile
.
write
(
name
+
".
n
ame='%s';
\n
"
%
CleanNameAsSimulinkWants
(
child
[
0
]))
g_outputFile
.
write
(
name
+
".
N
ame='%s';
\n
"
%
CleanNameAsSimulinkWants
(
child
[
0
]))
# Since AliasType doesn't work well in the Matlab/Simulink typesystem,
# Since AliasType doesn't work well in the Matlab/Simulink typesystem,
# we have to change the simple fields to their native types.
# we have to change the simple fields to their native types.
...
@@ -262,7 +262,7 @@ def CreateDeclarationForType(nodeTypename: str, names: AST_Lookup, leafTypeDict:
...
@@ -262,7 +262,7 @@ def CreateDeclarationForType(nodeTypename: str, names: AST_Lookup, leafTypeDict:
panic
(
"Simulink_A_mapper: Unexpected category of child (%s)"
%
str
(
child
[
1
]))
# pragma: no cover
panic
(
"Simulink_A_mapper: Unexpected category of child (%s)"
%
str
(
child
[
1
]))
# pragma: no cover
g_outputFile
.
write
(
name
+
".DataType='%s';
\n
"
%
mappedType
)
g_outputFile
.
write
(
name
+
".DataType='%s';
\n
"
%
mappedType
)
# Used to be -1 for strings and metaMembers, but requirements have changed (again :-)
# Used to be -1 for strings and metaMembers, but requirements have changed (again :-)
g_outputFile
.
write
(
name
+
".
d
imensions=1;
\n\n
"
)
g_outputFile
.
write
(
name
+
".
D
imensions=1;
\n\n
"
)
g_outputFile
.
write
(
"%s = Simulink.Bus;
\n
"
%
CleanNameAsSimulinkWants
(
nodeTypename
))
g_outputFile
.
write
(
"%s = Simulink.Bus;
\n
"
%
CleanNameAsSimulinkWants
(
nodeTypename
))
g_outputFile
.
write
(
"%s.Elements = "
%
CleanNameAsSimulinkWants
(
nodeTypename
))
g_outputFile
.
write
(
"%s.Elements = "
%
CleanNameAsSimulinkWants
(
nodeTypename
))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment