armodel 1.4.3__py3-none-any.whl → 1.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/cli/arxml_dump_cli.py +14 -14
- armodel/cli/memory_section_cli.py +76 -0
- armodel/cli/system_signal_cli.py +74 -0
- armodel/lib/__init__.py +2 -1
- armodel/lib/system_signal.py +37 -0
- armodel/models/__init__.py +6 -3
- armodel/models/annotation.py +27 -3
- armodel/models/ar_object.py +18 -6
- armodel/models/ar_package.py +248 -30
- armodel/models/ar_ref.py +115 -45
- armodel/models/bsw_module_template.py +66 -28
- armodel/models/common_structure.py +150 -150
- armodel/models/communication.py +1 -1
- armodel/models/data_prototype.py +41 -6
- armodel/models/datatype.py +11 -5
- armodel/models/fibex/__init__.py +0 -0
- armodel/models/fibex/can_communication.py +122 -0
- armodel/models/fibex/fibex_4_can/__init__.py +0 -0
- armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
- armodel/models/fibex/fibex_4_multiplatform.py +138 -0
- armodel/models/fibex/fibex_core/__init__.py +0 -0
- armodel/models/fibex/fibex_core/core_communication.py +627 -0
- armodel/models/fibex/fibex_core/core_topology.py +180 -0
- armodel/models/fibex/fibex_core.py +341 -0
- armodel/models/fibex/lin_communication.py +38 -0
- armodel/models/fibex/lin_topology.py +7 -0
- armodel/models/general_structure.py +119 -10
- armodel/models/implementation.py +4 -5
- armodel/models/internal_behavior.py +63 -0
- armodel/models/m2/__init__.py +0 -0
- armodel/models/m2/autosar_templates/__init__.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
- armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
- armodel/models/m2/autosar_templates/ecuc_description_template.py +268 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/communication.py +316 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +149 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +54 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +39 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +26 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
- armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
- armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
- armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
- armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/units.py +105 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
- armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- armodel/models/m2/msr/documentation/block_elements.py +18 -0
- armodel/models/mode_declaration.py +8 -0
- armodel/models/multilanguage_data.py +15 -0
- armodel/models/per_instance_memory.py +34 -6
- armodel/models/port_prototype.py +15 -159
- armodel/models/rpt_scenario.py +20 -0
- armodel/models/sw_component.py +48 -187
- armodel/models/system_template/__init__.py +0 -0
- armodel/models/system_template/network_management.py +7 -0
- armodel/models/system_template/transport_protocols.py +7 -0
- armodel/models/timing.py +91 -0
- armodel/parser/abstract_arxml_parser.py +11 -2
- armodel/parser/arxml_parser.py +1101 -227
- armodel/tests/test_armodel/models/test_ar_package.py +1 -1
- armodel/tests/test_armodel/models/test_ar_ref.py +3 -3
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
- armodel/tests/test_armodel/models/test_common_structure.py +3 -3
- armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
- armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
- armodel/tests/test_armodel/models/test_datatype.py +8 -8
- armodel/tests/test_armodel/models/test_port_interface.py +6 -6
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +16 -8
- armodel/tests/test_armodel/parser/test_sw_components.py +6 -6
- armodel/writer/arxml_writer.py +1046 -181
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/METADATA +48 -1
- armodel-1.6.0.dist-info/RECORD +127 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/entry_points.txt +3 -1
- armodel-1.4.3.dist-info/RECORD +0 -78
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/LICENSE +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/WHEEL +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
from ....ar_ref import RefType
|
|
5
|
+
from ....general_structure import Identifiable
|
|
6
|
+
from ....ar_object import ARBoolean, ARLiteral, ARNumerical, ARObject
|
|
7
|
+
from ....fibex.fibex_core.core_communication import FibexElement
|
|
8
|
+
from ....fibex.can_communication import RxIdentifierRange
|
|
9
|
+
|
|
10
|
+
class NmClusterCoupling(ARObject, metaclass = ABCMeta):
|
|
11
|
+
def __init__(self):
|
|
12
|
+
if type(self) == NmClusterCoupling:
|
|
13
|
+
raise NotImplementedError("NmClusterCoupling is an abstract class.")
|
|
14
|
+
|
|
15
|
+
super().__init__()
|
|
16
|
+
|
|
17
|
+
class CanNmClusterCoupling(NmClusterCoupling):
|
|
18
|
+
def __init__(self):
|
|
19
|
+
super().__init__()
|
|
20
|
+
|
|
21
|
+
self.coupledClusterRefs = []
|
|
22
|
+
self.nmBusloadReductionEnabled = None
|
|
23
|
+
self.nmImmediateRestartEnabled = None
|
|
24
|
+
|
|
25
|
+
def getCoupledClusterRefs(self):
|
|
26
|
+
return self.coupledClusterRefs
|
|
27
|
+
|
|
28
|
+
def addCoupledClusterRef(self, value):
|
|
29
|
+
self.coupledClusterRefs.append(value)
|
|
30
|
+
return self
|
|
31
|
+
|
|
32
|
+
def getNmBusloadReductionEnabled(self):
|
|
33
|
+
return self.nmBusloadReductionEnabled
|
|
34
|
+
|
|
35
|
+
def setNmBusloadReductionEnabled(self, value):
|
|
36
|
+
self.nmBusloadReductionEnabled = value
|
|
37
|
+
return self
|
|
38
|
+
|
|
39
|
+
def getNmImmediateRestartEnabled(self):
|
|
40
|
+
return self.nmImmediateRestartEnabled
|
|
41
|
+
|
|
42
|
+
def setNmImmediateRestartEnabled(self, value):
|
|
43
|
+
self.nmImmediateRestartEnabled = value
|
|
44
|
+
return self
|
|
45
|
+
|
|
46
|
+
class FlexrayNmClusterCoupling(NmClusterCoupling):
|
|
47
|
+
def __init__(self):
|
|
48
|
+
super().__init__()
|
|
49
|
+
|
|
50
|
+
self.coupledClusterRefs = []
|
|
51
|
+
self.nmScheduleVariant = None
|
|
52
|
+
|
|
53
|
+
def getCoupledClusterRefs(self):
|
|
54
|
+
return self.coupledClusterRefs
|
|
55
|
+
|
|
56
|
+
def addCoupledClusterRef(self, value):
|
|
57
|
+
self.coupledClusterRefs.append(value)
|
|
58
|
+
return self
|
|
59
|
+
|
|
60
|
+
def getNmScheduleVariant(self):
|
|
61
|
+
return self.nmScheduleVariant
|
|
62
|
+
|
|
63
|
+
def setNmScheduleVariant(self, value):
|
|
64
|
+
self.nmScheduleVariant = value
|
|
65
|
+
return self
|
|
66
|
+
|
|
67
|
+
class UdpNmClusterCoupling(NmClusterCoupling):
|
|
68
|
+
def __init__(self):
|
|
69
|
+
super().__init__()
|
|
70
|
+
|
|
71
|
+
class NmNode(Identifiable, metaclass = ABCMeta):
|
|
72
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
73
|
+
if type(self) == NmNode:
|
|
74
|
+
raise NotImplementedError("NmNode is an abstract class.")
|
|
75
|
+
|
|
76
|
+
super().__init__(parent, short_name)
|
|
77
|
+
|
|
78
|
+
self.controllerRef = None
|
|
79
|
+
self.nmCoordCluster = None
|
|
80
|
+
self.nmCoordinatorRole = None
|
|
81
|
+
self.nmIfEcuRef = None
|
|
82
|
+
self.nmNodeId = None
|
|
83
|
+
self.nmPassiveModeEnabled = None
|
|
84
|
+
self.rxNmPduRefs = []
|
|
85
|
+
self.TxNmPduRefs = []
|
|
86
|
+
|
|
87
|
+
def getControllerRef(self) -> RefType:
|
|
88
|
+
return self.controllerRef
|
|
89
|
+
|
|
90
|
+
def setControllerRef(self, value):
|
|
91
|
+
self.controllerRef = value
|
|
92
|
+
return self
|
|
93
|
+
|
|
94
|
+
def getNmCoordCluster(self) -> ARNumerical:
|
|
95
|
+
return self.nmCoordCluster
|
|
96
|
+
|
|
97
|
+
def setNmCoordCluster(self, value: ARNumerical):
|
|
98
|
+
self.nmCoordCluster = value
|
|
99
|
+
return self
|
|
100
|
+
|
|
101
|
+
def getNmCoordinatorRole(self) -> ARLiteral:
|
|
102
|
+
return self.nmCoordinatorRole
|
|
103
|
+
|
|
104
|
+
def setNmCoordinatorRole(self, value: ARLiteral):
|
|
105
|
+
self.nmCoordinatorRole = value
|
|
106
|
+
return self
|
|
107
|
+
|
|
108
|
+
def getNmIfEcuRef(self) -> RefType:
|
|
109
|
+
return self.nmIfEcuRef
|
|
110
|
+
|
|
111
|
+
def setNmIfEcuRef(self, value):
|
|
112
|
+
self.nmIfEcuRef = value
|
|
113
|
+
return self
|
|
114
|
+
|
|
115
|
+
def getNmNodeId(self) -> ARNumerical:
|
|
116
|
+
return self.nmNodeId
|
|
117
|
+
|
|
118
|
+
def setNmNodeId(self, value: ARNumerical):
|
|
119
|
+
self.nmNodeId = value
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
def getNmPassiveModeEnabled(self) -> ARBoolean:
|
|
123
|
+
return self.nmPassiveModeEnabled
|
|
124
|
+
|
|
125
|
+
def setNmPassiveModeEnabled(self, value: ARBoolean):
|
|
126
|
+
self.nmPassiveModeEnabled = value
|
|
127
|
+
return self
|
|
128
|
+
|
|
129
|
+
def addRxNmPduRef(self, ref: RefType):
|
|
130
|
+
self.rxNmPduRefs.append(ref)
|
|
131
|
+
return self
|
|
132
|
+
|
|
133
|
+
def getRxNmPduRefs(self) -> List[RefType]:
|
|
134
|
+
return self.rxNmPduRefs
|
|
135
|
+
|
|
136
|
+
def addTxNmPduRefs(self, ref: RefType):
|
|
137
|
+
self.TxNmPduRefs.append(ref)
|
|
138
|
+
return self
|
|
139
|
+
|
|
140
|
+
def getTxNmPduRefs(self) -> List[RefType]:
|
|
141
|
+
return self.TxNmPduRefs
|
|
142
|
+
|
|
143
|
+
class CanNmNode(NmNode):
|
|
144
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
145
|
+
super().__init__(parent, short_name)
|
|
146
|
+
|
|
147
|
+
self.allNmMessagesKeepAwake = None
|
|
148
|
+
self.nmCarWakeUpFilterEnabled = None
|
|
149
|
+
self.nmCarWakeUpRxEnabled = None
|
|
150
|
+
self.nmMsgCycleOffset = None
|
|
151
|
+
self.nmMsgReducedTime = None
|
|
152
|
+
self.nmRangeConfig = None
|
|
153
|
+
|
|
154
|
+
def getAllNmMessagesKeepAwake(self):
|
|
155
|
+
return self.allNmMessagesKeepAwake
|
|
156
|
+
|
|
157
|
+
def setAllNmMessagesKeepAwake(self, value):
|
|
158
|
+
self.allNmMessagesKeepAwake = value
|
|
159
|
+
return self
|
|
160
|
+
|
|
161
|
+
def getNmCarWakeUpFilterEnabled(self):
|
|
162
|
+
return self.nmCarWakeUpFilterEnabled
|
|
163
|
+
|
|
164
|
+
def setNmCarWakeUpFilterEnabled(self, value):
|
|
165
|
+
self.nmCarWakeUpFilterEnabled = value
|
|
166
|
+
return self
|
|
167
|
+
|
|
168
|
+
def getNmCarWakeUpRxEnabled(self):
|
|
169
|
+
return self.nmCarWakeUpRxEnabled
|
|
170
|
+
|
|
171
|
+
def setNmCarWakeUpRxEnabled(self, value):
|
|
172
|
+
self.nmCarWakeUpRxEnabled = value
|
|
173
|
+
return self
|
|
174
|
+
|
|
175
|
+
def getNmMsgCycleOffset(self):
|
|
176
|
+
return self.nmMsgCycleOffset
|
|
177
|
+
|
|
178
|
+
def setNmMsgCycleOffset(self, value):
|
|
179
|
+
self.nmMsgCycleOffset = value
|
|
180
|
+
return self
|
|
181
|
+
|
|
182
|
+
def getNmMsgReducedTime(self):
|
|
183
|
+
return self.nmMsgReducedTime
|
|
184
|
+
|
|
185
|
+
def setNmMsgReducedTime(self, value):
|
|
186
|
+
self.nmMsgReducedTime = value
|
|
187
|
+
return self
|
|
188
|
+
|
|
189
|
+
def getNmRangeConfig(self) -> RxIdentifierRange:
|
|
190
|
+
return self.nmRangeConfig
|
|
191
|
+
|
|
192
|
+
def setNmRangeConfig(self, value: RxIdentifierRange):
|
|
193
|
+
self.nmRangeConfig = value
|
|
194
|
+
|
|
195
|
+
class FlexrayNmNode(NmNode):
|
|
196
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
197
|
+
super().__init__(parent, short_name)
|
|
198
|
+
|
|
199
|
+
class J1939NmNode(NmNode):
|
|
200
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
201
|
+
super().__init__(parent, short_name)
|
|
202
|
+
|
|
203
|
+
class UdpNmNode(NmNode):
|
|
204
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
205
|
+
super().__init__(parent, short_name)
|
|
206
|
+
|
|
207
|
+
class NmCluster(Identifiable, metaclass=ABCMeta):
|
|
208
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
209
|
+
super().__init__(parent, short_name)
|
|
210
|
+
|
|
211
|
+
self.communicationClusterRef = None
|
|
212
|
+
self.nmChannelId = None
|
|
213
|
+
self.nmChannelSleepMaster = None
|
|
214
|
+
self._nmNodes = [] # type: List[NmNode]
|
|
215
|
+
self.nmNodeDetectionEnabled = None
|
|
216
|
+
self.nmNodeIdEnabled = None
|
|
217
|
+
self.nmPncParticipation = None
|
|
218
|
+
self.nmRepeatMsgIndEnabled = None
|
|
219
|
+
self._nmSynchronizingNetwork = None
|
|
220
|
+
|
|
221
|
+
def getCommunicationClusterRef(self):
|
|
222
|
+
return self.communicationClusterRef
|
|
223
|
+
|
|
224
|
+
def setCommunicationClusterRef(self, value):
|
|
225
|
+
self.communicationClusterRef = value
|
|
226
|
+
return self
|
|
227
|
+
|
|
228
|
+
def getNmChannelId(self):
|
|
229
|
+
return self.nmChannelId
|
|
230
|
+
|
|
231
|
+
def setNmChannelId(self, value):
|
|
232
|
+
self.nmChannelId = value
|
|
233
|
+
return self
|
|
234
|
+
|
|
235
|
+
def getNmChannelSleepMaster(self):
|
|
236
|
+
return self.nmChannelSleepMaster
|
|
237
|
+
|
|
238
|
+
def setNmChannelSleepMaster(self, value):
|
|
239
|
+
self.nmChannelSleepMaster = value
|
|
240
|
+
return self
|
|
241
|
+
|
|
242
|
+
def createCanNmNode(self, short_name: str) -> CanNmNode:
|
|
243
|
+
if (short_name not in self.elements):
|
|
244
|
+
cluster = CanNmNode(self, short_name)
|
|
245
|
+
self.elements[short_name] = cluster
|
|
246
|
+
self._nmNodes.append(cluster)
|
|
247
|
+
return self.elements[short_name]
|
|
248
|
+
|
|
249
|
+
def getCanNmNodes(self) -> List[CanNmNode]:
|
|
250
|
+
return list(sorted(filter(lambda a: isinstance(a, CanNmNode), self.elements.values()), key= lambda o:o.short_name))
|
|
251
|
+
|
|
252
|
+
def getNmNodes(self) -> List[NmNode]:
|
|
253
|
+
return list(sorted(filter(lambda a: isinstance(a, NmNode), self.elements.values()), key= lambda o:o.short_name))
|
|
254
|
+
|
|
255
|
+
def getNmNodeDetectionEnabled(self):
|
|
256
|
+
return self.nmNodeDetectionEnabled
|
|
257
|
+
|
|
258
|
+
def setNmNodeDetectionEnabled(self, value):
|
|
259
|
+
self.nmNodeDetectionEnabled = value
|
|
260
|
+
return self
|
|
261
|
+
|
|
262
|
+
def getNmNodeIdEnabled(self):
|
|
263
|
+
return self.nmNodeIdEnabled
|
|
264
|
+
|
|
265
|
+
def setNmNodeIdEnabled(self, value):
|
|
266
|
+
self.nmNodeIdEnabled = value
|
|
267
|
+
return self
|
|
268
|
+
|
|
269
|
+
def getNmPncParticipation(self):
|
|
270
|
+
return self.nmPncParticipation
|
|
271
|
+
|
|
272
|
+
def setNmPncParticipation(self, value):
|
|
273
|
+
self.nmPncParticipation = value
|
|
274
|
+
return self
|
|
275
|
+
|
|
276
|
+
def getNmRepeatMsgIndEnabled(self):
|
|
277
|
+
return self.nmRepeatMsgIndEnabled
|
|
278
|
+
|
|
279
|
+
def setNmRepeatMsgIndEnabled(self, value):
|
|
280
|
+
self.nmRepeatMsgIndEnabled = value
|
|
281
|
+
return self
|
|
282
|
+
|
|
283
|
+
def getNmSynchronizingNetwork(self):
|
|
284
|
+
return self._nmSynchronizingNetwork
|
|
285
|
+
|
|
286
|
+
def setNmSynchronizingNetwork(self, value):
|
|
287
|
+
self._nmSynchronizingNetwork = value
|
|
288
|
+
return self
|
|
289
|
+
|
|
290
|
+
class CanNmCluster(NmCluster):
|
|
291
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
292
|
+
super().__init__(parent, short_name)
|
|
293
|
+
|
|
294
|
+
self.nmBusloadReductionActive = None
|
|
295
|
+
self.nmCarWakeUpBitPosition = None
|
|
296
|
+
self.nmCarWakeUpFilterNodeId = None
|
|
297
|
+
self.nmCarWakeUpRxEnabled = None
|
|
298
|
+
self.nmCbvPosition = None
|
|
299
|
+
self.nmChannelActive = None
|
|
300
|
+
self.nmImmediateNmCycleTime = None
|
|
301
|
+
self.nmImmediateNmTransmissions = None
|
|
302
|
+
self.nmMessageTimeoutTime = None
|
|
303
|
+
self.nmMsgCycleTime = None
|
|
304
|
+
self.nmNetworkTimeout = None
|
|
305
|
+
self.nmNidPosition = None
|
|
306
|
+
self.nmRemoteSleepIndicationTime = None
|
|
307
|
+
self.nmRepeatMessageTime = None
|
|
308
|
+
self.nmUserDataLength = None
|
|
309
|
+
self.nmWaitBusSleepTime = None
|
|
310
|
+
|
|
311
|
+
def getNmBusloadReductionActive(self):
|
|
312
|
+
return self.nmBusloadReductionActive
|
|
313
|
+
|
|
314
|
+
def setNmBusloadReductionActive(self, value):
|
|
315
|
+
self.nmBusloadReductionActive = value
|
|
316
|
+
return self
|
|
317
|
+
|
|
318
|
+
def getNmCarWakeUpBitPosition(self):
|
|
319
|
+
return self.nmCarWakeUpBitPosition
|
|
320
|
+
|
|
321
|
+
def setNmCarWakeUpBitPosition(self, value):
|
|
322
|
+
self.nmCarWakeUpBitPosition = value
|
|
323
|
+
return self
|
|
324
|
+
|
|
325
|
+
def getNmCarWakeUpFilterNodeId(self):
|
|
326
|
+
return self.nmCarWakeUpFilterNodeId
|
|
327
|
+
|
|
328
|
+
def setNmCarWakeUpFilterNodeId(self, value):
|
|
329
|
+
self.nmCarWakeUpFilterNodeId = value
|
|
330
|
+
return self
|
|
331
|
+
|
|
332
|
+
def getNmCarWakeUpRxEnabled(self):
|
|
333
|
+
return self.nmCarWakeUpRxEnabled
|
|
334
|
+
|
|
335
|
+
def setNmCarWakeUpRxEnabled(self, value):
|
|
336
|
+
self.nmCarWakeUpRxEnabled = value
|
|
337
|
+
return self
|
|
338
|
+
|
|
339
|
+
def getNmCbvPosition(self):
|
|
340
|
+
return self.nmCbvPosition
|
|
341
|
+
|
|
342
|
+
def setNmCbvPosition(self, value):
|
|
343
|
+
self.nmCbvPosition = value
|
|
344
|
+
return self
|
|
345
|
+
|
|
346
|
+
def getNmChannelActive(self):
|
|
347
|
+
return self.nmChannelActive
|
|
348
|
+
|
|
349
|
+
def setNmChannelActive(self, value):
|
|
350
|
+
self.nmChannelActive = value
|
|
351
|
+
return self
|
|
352
|
+
|
|
353
|
+
def getNmImmediateNmCycleTime(self):
|
|
354
|
+
return self.nmImmediateNmCycleTime
|
|
355
|
+
|
|
356
|
+
def setNmImmediateNmCycleTime(self, value):
|
|
357
|
+
self.nmImmediateNmCycleTime = value
|
|
358
|
+
return self
|
|
359
|
+
|
|
360
|
+
def getNmImmediateNmTransmissions(self):
|
|
361
|
+
return self.nmImmediateNmTransmissions
|
|
362
|
+
|
|
363
|
+
def setNmImmediateNmTransmissions(self, value):
|
|
364
|
+
self.nmImmediateNmTransmissions = value
|
|
365
|
+
return self
|
|
366
|
+
|
|
367
|
+
def getNmMessageTimeoutTime(self):
|
|
368
|
+
return self.nmMessageTimeoutTime
|
|
369
|
+
|
|
370
|
+
def setNmMessageTimeoutTime(self, value):
|
|
371
|
+
self.nmMessageTimeoutTime = value
|
|
372
|
+
return self
|
|
373
|
+
|
|
374
|
+
def getNmMsgCycleTime(self):
|
|
375
|
+
return self.nmMsgCycleTime
|
|
376
|
+
|
|
377
|
+
def setNmMsgCycleTime(self, value):
|
|
378
|
+
self.nmMsgCycleTime = value
|
|
379
|
+
return self
|
|
380
|
+
|
|
381
|
+
def getNmNetworkTimeout(self):
|
|
382
|
+
return self.nmNetworkTimeout
|
|
383
|
+
|
|
384
|
+
def setNmNetworkTimeout(self, value):
|
|
385
|
+
self.nmNetworkTimeout = value
|
|
386
|
+
return self
|
|
387
|
+
|
|
388
|
+
def getNmNidPosition(self):
|
|
389
|
+
return self.nmNidPosition
|
|
390
|
+
|
|
391
|
+
def setNmNidPosition(self, value):
|
|
392
|
+
self.nmNidPosition = value
|
|
393
|
+
return self
|
|
394
|
+
|
|
395
|
+
def getNmRemoteSleepIndicationTime(self):
|
|
396
|
+
return self.nmRemoteSleepIndicationTime
|
|
397
|
+
|
|
398
|
+
def setNmRemoteSleepIndicationTime(self, value):
|
|
399
|
+
self.nmRemoteSleepIndicationTime = value
|
|
400
|
+
return self
|
|
401
|
+
|
|
402
|
+
def getNmRepeatMessageTime(self):
|
|
403
|
+
return self.nmRepeatMessageTime
|
|
404
|
+
|
|
405
|
+
def setNmRepeatMessageTime(self, value):
|
|
406
|
+
self.nmRepeatMessageTime = value
|
|
407
|
+
return self
|
|
408
|
+
|
|
409
|
+
def getNmUserDataLength(self):
|
|
410
|
+
return self.nmUserDataLength
|
|
411
|
+
|
|
412
|
+
def setNmUserDataLength(self, value):
|
|
413
|
+
self.nmUserDataLength = value
|
|
414
|
+
return self
|
|
415
|
+
|
|
416
|
+
def getNmWaitBusSleepTime(self):
|
|
417
|
+
return self.nmWaitBusSleepTime
|
|
418
|
+
|
|
419
|
+
def setNmWaitBusSleepTime(self, value):
|
|
420
|
+
self.nmWaitBusSleepTime = value
|
|
421
|
+
return self
|
|
422
|
+
|
|
423
|
+
class FlexrayNmCluster(NmCluster):
|
|
424
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
425
|
+
super().__init__(parent, short_name)
|
|
426
|
+
|
|
427
|
+
class J1939NmCluster(NmCluster):
|
|
428
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
429
|
+
super().__init__(parent, short_name)
|
|
430
|
+
|
|
431
|
+
class UdpNmCluster(NmCluster):
|
|
432
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
433
|
+
super().__init__(parent, short_name)
|
|
434
|
+
|
|
435
|
+
class NmEcu(Identifiable):
|
|
436
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
437
|
+
super().__init__(parent, short_name)
|
|
438
|
+
|
|
439
|
+
self.busDependentNmEcus = []
|
|
440
|
+
self.ecuInstance = None
|
|
441
|
+
self.nmBusSynchronizationEnabled = None
|
|
442
|
+
self.nmComControlEnabled = None
|
|
443
|
+
self.nmCoordinator = None
|
|
444
|
+
self.nmCycletimeMainFunction = None
|
|
445
|
+
self.nmPduRxIndicationEnabled = None
|
|
446
|
+
self.nmRemoteSleepIndEnabled = None
|
|
447
|
+
self.nmStateChangeIndEnabled = None
|
|
448
|
+
self.nmUserDataEnabled = None
|
|
449
|
+
|
|
450
|
+
def getBusDependentNmEcus(self):
|
|
451
|
+
return self.busDependentNmEcus
|
|
452
|
+
|
|
453
|
+
def addBusDependentNmEcu(self, value):
|
|
454
|
+
self.busDependentNmEcus.append(value)
|
|
455
|
+
return self
|
|
456
|
+
|
|
457
|
+
def getEcuInstance(self):
|
|
458
|
+
return self.ecuInstance
|
|
459
|
+
|
|
460
|
+
def setEcuInstance(self, value):
|
|
461
|
+
self.ecuInstance = value
|
|
462
|
+
return self
|
|
463
|
+
|
|
464
|
+
def getNmBusSynchronizationEnabled(self):
|
|
465
|
+
return self.nmBusSynchronizationEnabled
|
|
466
|
+
|
|
467
|
+
def setNmBusSynchronizationEnabled(self, value):
|
|
468
|
+
self.nmBusSynchronizationEnabled = value
|
|
469
|
+
return self
|
|
470
|
+
|
|
471
|
+
def getNmComControlEnabled(self):
|
|
472
|
+
return self.nmComControlEnabled
|
|
473
|
+
|
|
474
|
+
def setNmComControlEnabled(self, value):
|
|
475
|
+
self.nmComControlEnabled = value
|
|
476
|
+
return self
|
|
477
|
+
|
|
478
|
+
def getNmCoordinator(self):
|
|
479
|
+
return self.nmCoordinator
|
|
480
|
+
|
|
481
|
+
def setNmCoordinator(self, value):
|
|
482
|
+
self.nmCoordinator = value
|
|
483
|
+
return self
|
|
484
|
+
|
|
485
|
+
def getNmCycletimeMainFunction(self):
|
|
486
|
+
return self.nmCycletimeMainFunction
|
|
487
|
+
|
|
488
|
+
def setNmCycletimeMainFunction(self, value):
|
|
489
|
+
self.nmCycletimeMainFunction = value
|
|
490
|
+
return self
|
|
491
|
+
|
|
492
|
+
def getNmPduRxIndicationEnabled(self):
|
|
493
|
+
return self.nmPduRxIndicationEnabled
|
|
494
|
+
|
|
495
|
+
def setNmPduRxIndicationEnabled(self, value):
|
|
496
|
+
self.nmPduRxIndicationEnabled = value
|
|
497
|
+
return self
|
|
498
|
+
|
|
499
|
+
def getNmRemoteSleepIndEnabled(self):
|
|
500
|
+
return self.nmRemoteSleepIndEnabled
|
|
501
|
+
|
|
502
|
+
def setNmRemoteSleepIndEnabled(self, value):
|
|
503
|
+
self.nmRemoteSleepIndEnabled = value
|
|
504
|
+
return self
|
|
505
|
+
|
|
506
|
+
def getNmStateChangeIndEnabled(self):
|
|
507
|
+
return self.nmStateChangeIndEnabled
|
|
508
|
+
|
|
509
|
+
def setNmStateChangeIndEnabled(self, value):
|
|
510
|
+
self.nmStateChangeIndEnabled = value
|
|
511
|
+
return self
|
|
512
|
+
|
|
513
|
+
def getNmUserDataEnabled(self):
|
|
514
|
+
return self.nmUserDataEnabled
|
|
515
|
+
|
|
516
|
+
def setNmUserDataEnabled(self, value):
|
|
517
|
+
self.nmUserDataEnabled = value
|
|
518
|
+
return self
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
class NmConfig(FibexElement):
|
|
524
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
525
|
+
super().__init__(parent, short_name)
|
|
526
|
+
|
|
527
|
+
self.nmClusterCouplings = [] # type: List[NmClusterCoupling]
|
|
528
|
+
self.nmIfEcus = [] # type: List[NmEcu]
|
|
529
|
+
|
|
530
|
+
def createCanNmCluster(self, short_name: str) -> CanNmCluster:
|
|
531
|
+
if (short_name not in self.elements):
|
|
532
|
+
cluster = CanNmCluster(self, short_name)
|
|
533
|
+
self.elements[short_name] = cluster
|
|
534
|
+
return self.elements[short_name]
|
|
535
|
+
|
|
536
|
+
def getCanNmClusters(self) -> List[CanNmCluster]:
|
|
537
|
+
return list(sorted(filter(lambda a: isinstance(a, CanNmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
538
|
+
|
|
539
|
+
def getNmClusters(self) -> List[NmCluster]:
|
|
540
|
+
return list(sorted(filter(lambda a: isinstance(a, NmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
541
|
+
|
|
542
|
+
def getNmClusterCouplings(self):
|
|
543
|
+
return self.nmClusterCouplings
|
|
544
|
+
|
|
545
|
+
def addNmClusterCouplings(self, value):
|
|
546
|
+
self.nmClusterCouplings.append(value)
|
|
547
|
+
return self
|
|
548
|
+
|
|
549
|
+
def getNmIfEcus(self):
|
|
550
|
+
return self.nmIfEcus
|
|
551
|
+
|
|
552
|
+
def addNmIfEcus(self, value):
|
|
553
|
+
self.nmIfEcus.append(value)
|
|
554
|
+
return self
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
|
|
2
|
+
from ....ar_ref import RefType
|
|
3
|
+
from ....ar_object import ARFloat, ARLiteral, ARNumerical, ARObject
|
|
4
|
+
from ....general_structure import ARElement
|
|
5
|
+
class PhysicalDimension(ARElement):
|
|
6
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
7
|
+
super().__init__(parent, short_name)
|
|
8
|
+
|
|
9
|
+
self.currentExp = None # type: ARNumerical
|
|
10
|
+
self.lengthExp = None # type: ARNumerical
|
|
11
|
+
self.luminousIntensityExp = None # type: ARNumerical
|
|
12
|
+
self.massExp = None # type: ARNumerical
|
|
13
|
+
self.molarAmountExp = None # type: ARNumerical
|
|
14
|
+
self.temperatureExp = None # type: ARNumerical
|
|
15
|
+
self.timeExp = None # type: ARNumerical
|
|
16
|
+
|
|
17
|
+
def getCurrentExp(self):
|
|
18
|
+
return self.currentExp
|
|
19
|
+
|
|
20
|
+
def setCurrentExp(self, value):
|
|
21
|
+
self.currentExp = value
|
|
22
|
+
return self
|
|
23
|
+
|
|
24
|
+
def getLengthExp(self):
|
|
25
|
+
return self.lengthExp
|
|
26
|
+
|
|
27
|
+
def setLengthExp(self, value):
|
|
28
|
+
self.lengthExp = value
|
|
29
|
+
return self
|
|
30
|
+
|
|
31
|
+
def getLuminousIntensityExp(self):
|
|
32
|
+
return self.luminousIntensityExp
|
|
33
|
+
|
|
34
|
+
def setLuminousIntensityExp(self, value):
|
|
35
|
+
self.luminousIntensityExp = value
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
def getMassExp(self):
|
|
39
|
+
return self.massExp
|
|
40
|
+
|
|
41
|
+
def setMassExp(self, value):
|
|
42
|
+
self.massExp = value
|
|
43
|
+
return self
|
|
44
|
+
|
|
45
|
+
def getMolarAmountExp(self):
|
|
46
|
+
return self.molarAmountExp
|
|
47
|
+
|
|
48
|
+
def setMolarAmountExp(self, value):
|
|
49
|
+
self.molarAmountExp = value
|
|
50
|
+
return self
|
|
51
|
+
|
|
52
|
+
def getTemperatureExp(self):
|
|
53
|
+
return self.temperatureExp
|
|
54
|
+
|
|
55
|
+
def setTemperatureExp(self, value):
|
|
56
|
+
self.temperatureExp = value
|
|
57
|
+
return self
|
|
58
|
+
|
|
59
|
+
def getTimeExp(self):
|
|
60
|
+
return self.timeExp
|
|
61
|
+
|
|
62
|
+
def setTimeExp(self, value):
|
|
63
|
+
self.timeExp = value
|
|
64
|
+
return self
|
|
65
|
+
|
|
66
|
+
class SingleLanguageUnitNames(ARLiteral):
|
|
67
|
+
def __init__(self) -> None:
|
|
68
|
+
super().__init__()
|
|
69
|
+
|
|
70
|
+
class Unit(ARElement):
|
|
71
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
72
|
+
super().__init__(parent, short_name)
|
|
73
|
+
|
|
74
|
+
self.displayName = None # type: SingleLanguageUnitNames
|
|
75
|
+
self.factorSiToUnit = None # type: ARFloat
|
|
76
|
+
self.offsetSiToUnit = None # type: ARFloat
|
|
77
|
+
self.physicalDimensionRef = None # type: RefType
|
|
78
|
+
|
|
79
|
+
def getDisplayName(self):
|
|
80
|
+
return self.displayName
|
|
81
|
+
|
|
82
|
+
def setDisplayName(self, value):
|
|
83
|
+
self.displayName = value
|
|
84
|
+
return self
|
|
85
|
+
|
|
86
|
+
def getFactorSiToUnit(self):
|
|
87
|
+
return self.factorSiToUnit
|
|
88
|
+
|
|
89
|
+
def setFactorSiToUnit(self, value):
|
|
90
|
+
self.factorSiToUnit = value
|
|
91
|
+
return self
|
|
92
|
+
|
|
93
|
+
def getOffsetSiToUnit(self):
|
|
94
|
+
return self.offsetSiToUnit
|
|
95
|
+
|
|
96
|
+
def setOffsetSiToUnit(self, value):
|
|
97
|
+
self.offsetSiToUnit = value
|
|
98
|
+
return self
|
|
99
|
+
|
|
100
|
+
def getPhysicalDimensionRef(self):
|
|
101
|
+
return self.physicalDimensionRef
|
|
102
|
+
|
|
103
|
+
def setPhysicalDimensionRef(self, value):
|
|
104
|
+
self.physicalDimensionRef = value
|
|
105
|
+
return self
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
|
|
2
|
+
from typing import List
|
|
3
|
+
from ....ar_object import ARLiteral, ARObject
|
|
4
|
+
from ....general_structure import Identifiable
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class SwAddrMethod(Identifiable):
|
|
8
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
9
|
+
super().__init__(parent, short_name)
|
|
10
|
+
|
|
11
|
+
self.memoryAllocationKeywordPolicy = None # type: ARLiteral
|
|
12
|
+
self.option = [] # type: List[ARLiteral]
|
|
13
|
+
self.sectionInitializationPolicy = None # type: ARLiteral
|
|
14
|
+
self.sectionType = None # type: ARLiteral
|
|
15
|
+
|
|
16
|
+
def getMemoryAllocationKeywordPolicy(self):
|
|
17
|
+
return self.memoryAllocationKeywordPolicy
|
|
18
|
+
|
|
19
|
+
def setMemoryAllocationKeywordPolicy(self, value):
|
|
20
|
+
self.memoryAllocationKeywordPolicy = value
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getOption(self):
|
|
24
|
+
return self.option
|
|
25
|
+
|
|
26
|
+
def addOption(self, value):
|
|
27
|
+
self.option.append(value)
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getSectionInitializationPolicy(self):
|
|
31
|
+
return self.sectionInitializationPolicy
|
|
32
|
+
|
|
33
|
+
def setSectionInitializationPolicy(self, value):
|
|
34
|
+
self.sectionInitializationPolicy = value
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getSectionType(self):
|
|
38
|
+
return self.sectionType
|
|
39
|
+
|
|
40
|
+
def setSectionType(self, value):
|
|
41
|
+
self.sectionType = value
|
|
42
|
+
return self
|