Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dmt
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
TASTE
dmt
Compare Revisions
35a2c989acb94fe1b3bd1049c8347b6d48fe3fdb...90f76d601684191265d80a257557872b9aa7e358
Source
90f76d601684191265d80a257557872b9aa7e358
Select Git revision
...
Target
35a2c989acb94fe1b3bd1049c8347b6d48fe3fdb
Select Git revision
Compare
Commits (2)
Appease Coverity - the enum values come from ASN1SCC AST, they cannot be wrong.
· aeea61e2
Thanassis Tsiodras
authored
Oct 13, 2020
aeea61e2
Case-change in newer versions of Simulink.
· 90f76d60
Thanassis Tsiodras
authored
Nov 13, 2020
90f76d60
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
12 deletions
+13
-12
dmt/A_mappers/simulink_A_mapper.py
dmt/A_mappers/simulink_A_mapper.py
+12
-12
dmt/msgPrinterASN1.py
dmt/msgPrinterASN1.py
+1
-0
No files found.
dmt/A_mappers/simulink_A_mapper.py
View file @
90f76d60
...
...
@@ -131,13 +131,13 @@ def DeclareCollection(node: AsnSequenceOrSetOf, name: str, internal: str) -> Non
for
i
in
range
(
0
,
node
.
_range
[
-
1
]):
g_outputFile
.
write
(
'%s_member_%02d=Simulink.BusElement;
\n
'
%
(
name
,
i
))
# 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.
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.
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.
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.Elements = "
%
name
)
g_outputFile
.
write
(
'['
)
...
...
@@ -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
:
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.
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
if
len
(
node
.
_range
)
>
1
and
node
.
_range
[
0
]
!=
node
.
_range
[
1
]:
...
...
@@ -160,9 +160,9 @@ def DeclareSimpleCollection(node: Union[AsnString, AsnSequenceOf, AsnSetOf], nam
if
bNeedLength
:
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.
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.Elements = "
%
name
)
...
...
@@ -216,14 +216,14 @@ def CreateDeclarationForType(nodeTypename: str, names: AST_Lookup, leafTypeDict:
elemNo
+=
1
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
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
+
".
d
imensions=1;
\n\n
"
)
g_outputFile
.
write
(
name
+
".
D
imensions=1;
\n\n
"
)
for
child
in
node
.
_members
:
elemNo
+=
1
name
=
"%s_elem%02d"
%
(
CleanNameAsSimulinkWants
(
nodeTypename
),
elemNo
)
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,
# we have to change the simple fields to their native types.
...
...
@@ -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
g_outputFile
.
write
(
name
+
".DataType='%s';
\n
"
%
mappedType
)
# 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.Elements = "
%
CleanNameAsSimulinkWants
(
nodeTypename
))
...
...
dmt/msgPrinterASN1.py
View file @
90f76d60
...
...
@@ -95,6 +95,7 @@ class Printer(RecursiveMapper):
lines
=
[]
lines
.
append
(
"switch(%s) {"
%
srcCVariable
)
for
d
in
node
.
_members
:
lines
.
append
(
"// coverity[mixed_enum_type]"
)
lines
.
append
(
"case %s:"
%
d
[
1
])
lines
.
append
(
" printf(
\"
%s
\"
);"
%
d
[
0
])
lines
.
append
(
" break;"
)
...
...