armodel 1.7.7__py3-none-any.whl → 1.7.8__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 +33 -22
- armodel/cli/arxml_format_cli.py +25 -13
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +64 -29
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +322 -63
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +214 -156
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +63 -42
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
- armodel/models/__init__.py +5 -1
- armodel/parser/abstract_arxml_parser.py +34 -30
- armodel/parser/arxml_parser.py +1196 -525
- armodel/parser/file_parser.py +5 -3
- armodel/tests/test_armodel/models/test_ar_package.py +6 -11
- armodel/tests/test_armodel/models/test_port_interface.py +116 -117
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
- armodel/tests/test_armodel/parser/test_sw_components.py +38 -27
- armodel/tests/test_armodel/parser/test_system.py +2 -8
- armodel/transformer/__init__.py +0 -0
- armodel/transformer/abstract.py +6 -0
- armodel/transformer/admin_data.py +31 -0
- armodel/writer/abstract_arxml_writer.py +22 -29
- armodel/writer/arxml_writer.py +1198 -477
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/METADATA +41 -1
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/RECORD +52 -43
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/top_level.txt +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
|
|
3
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveUnlimitedInteger, TimeValue
|
|
4
5
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
6
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
7
|
|
|
8
|
+
|
|
7
9
|
class CanControllerFdConfiguration(ARObject):
|
|
8
10
|
def __init__(self):
|
|
9
11
|
super().__init__()
|
|
@@ -72,6 +74,7 @@ class CanControllerFdConfiguration(ARObject):
|
|
|
72
74
|
self.txBitRateSwitch = value
|
|
73
75
|
return self
|
|
74
76
|
|
|
77
|
+
|
|
75
78
|
class CanControllerFdConfigurationRequirements(ARObject):
|
|
76
79
|
def __init__(self):
|
|
77
80
|
super().__init__()
|
|
@@ -167,7 +170,8 @@ class CanControllerFdConfigurationRequirements(ARObject):
|
|
|
167
170
|
self.txBitRateSwitch = value
|
|
168
171
|
return self
|
|
169
172
|
|
|
170
|
-
|
|
173
|
+
|
|
174
|
+
class AbstractCanCommunicationControllerAttributes(ARObject, metaclass=ABCMeta):
|
|
171
175
|
def __init__(self):
|
|
172
176
|
super().__init__()
|
|
173
177
|
|
|
@@ -204,6 +208,7 @@ class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta
|
|
|
204
208
|
self.canControllerXlRequirements = value
|
|
205
209
|
return self
|
|
206
210
|
|
|
211
|
+
|
|
207
212
|
class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerAttributes):
|
|
208
213
|
def __init__(self):
|
|
209
214
|
super().__init__()
|
|
@@ -257,9 +262,10 @@ class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerA
|
|
|
257
262
|
self.minSyncJumpWidth = value
|
|
258
263
|
return self
|
|
259
264
|
|
|
260
|
-
|
|
265
|
+
|
|
266
|
+
class AbstractCanCommunicationController(CommunicationController, metaclass=ABCMeta):
|
|
261
267
|
def __init__(self, parent: ARObject, short_name: str):
|
|
262
|
-
if type(self)
|
|
268
|
+
if type(self) is AbstractCanCommunicationController:
|
|
263
269
|
raise NotImplementedError("AbstractCanCommunicationController is an abstract class.")
|
|
264
270
|
|
|
265
271
|
super().__init__(parent, short_name)
|
|
@@ -272,63 +278,67 @@ class AbstractCanCommunicationController(CommunicationController, metaclass = AB
|
|
|
272
278
|
def setCanControllerAttributes(self, value):
|
|
273
279
|
self.canControllerAttributes = value
|
|
274
280
|
return self
|
|
275
|
-
|
|
281
|
+
|
|
282
|
+
|
|
276
283
|
class CanCommunicationController(AbstractCanCommunicationController):
|
|
277
284
|
def __init__(self, parent: ARObject, short_name: str):
|
|
278
285
|
super().__init__(parent, short_name)
|
|
279
286
|
|
|
280
|
-
|
|
287
|
+
|
|
288
|
+
class AbstractCanCommunicationConnector(CommunicationConnector, metaclass=ABCMeta):
|
|
281
289
|
def __init__(self, parent: ARObject, short_name: str):
|
|
282
|
-
if type(self)
|
|
290
|
+
if type(self) is AbstractCanCommunicationConnector:
|
|
283
291
|
raise NotImplementedError("AbstractCanCommunicationConnector is an abstract class.")
|
|
284
292
|
|
|
285
293
|
super().__init__(parent, short_name)
|
|
286
294
|
|
|
295
|
+
|
|
287
296
|
class CanCommunicationConnector(AbstractCanCommunicationConnector):
|
|
288
297
|
def __init__(self, parent: ARObject, short_name: str):
|
|
289
|
-
super().__init__(parent, short_name)
|
|
298
|
+
super().__init__(parent, short_name)
|
|
290
299
|
|
|
291
|
-
# type: PositiveInteger
|
|
292
|
-
self.pncWakeupCanId = None
|
|
300
|
+
self.pncWakeupCanId = None # type: PositiveInteger
|
|
293
301
|
self.pncWakeupCanIdExtended = None # type: Boolean
|
|
294
|
-
# type: PositiveInteger
|
|
295
|
-
self.
|
|
296
|
-
# type:
|
|
297
|
-
self.pncWakeupDataMask = None
|
|
298
|
-
# type: PositiveInteger
|
|
299
|
-
self.pncWakeupDlc = None
|
|
302
|
+
self.pncWakeupCanIdMask = None # type: PositiveInteger
|
|
303
|
+
self.pncWakeupDataMask = None # type: PositiveUnlimitedInteger
|
|
304
|
+
self.pncWakeupDlc = None # type: PositiveInteger
|
|
300
305
|
|
|
301
306
|
def getPncWakeupCanId(self):
|
|
302
307
|
return self.pncWakeupCanId
|
|
303
308
|
|
|
304
309
|
def setPncWakeupCanId(self, value):
|
|
305
|
-
|
|
310
|
+
if value is not None:
|
|
311
|
+
self.pncWakeupCanId = value
|
|
306
312
|
return self
|
|
307
313
|
|
|
308
314
|
def getPncWakeupCanIdExtended(self):
|
|
309
315
|
return self.pncWakeupCanIdExtended
|
|
310
316
|
|
|
311
317
|
def setPncWakeupCanIdExtended(self, value):
|
|
312
|
-
|
|
318
|
+
if value is not None:
|
|
319
|
+
self.pncWakeupCanIdExtended = value
|
|
313
320
|
return self
|
|
314
321
|
|
|
315
322
|
def getPncWakeupCanIdMask(self):
|
|
316
323
|
return self.pncWakeupCanIdMask
|
|
317
324
|
|
|
318
325
|
def setPncWakeupCanIdMask(self, value):
|
|
319
|
-
|
|
326
|
+
if value is not None:
|
|
327
|
+
self.pncWakeupCanIdMask = value
|
|
320
328
|
return self
|
|
321
329
|
|
|
322
330
|
def getPncWakeupDataMask(self):
|
|
323
331
|
return self.pncWakeupDataMask
|
|
324
332
|
|
|
325
333
|
def setPncWakeupDataMask(self, value):
|
|
326
|
-
|
|
334
|
+
if value is not None:
|
|
335
|
+
self.pncWakeupDataMask = value
|
|
327
336
|
return self
|
|
328
337
|
|
|
329
338
|
def getPncWakeupDlc(self):
|
|
330
339
|
return self.pncWakeupDlc
|
|
331
340
|
|
|
332
341
|
def setPncWakeupDlc(self, value):
|
|
333
|
-
|
|
342
|
+
if value is not None:
|
|
343
|
+
self.pncWakeupDlc = value
|
|
334
344
|
return self
|
|
@@ -2,13 +2,15 @@ from abc import ABCMeta
|
|
|
2
2
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
3
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
class AbstractEthernetFrame(Frame, metaclass=ABCMeta):
|
|
6
7
|
def __init__(self, parent: ARObject, short_name: str):
|
|
7
|
-
if type(self)
|
|
8
|
+
if type(self) is AbstractEthernetFrame:
|
|
8
9
|
raise NotImplementedError("AbstractEthernetFrame is an abstract class.")
|
|
9
10
|
|
|
10
11
|
super().__init__(parent, short_name)
|
|
11
12
|
|
|
13
|
+
|
|
12
14
|
class GenericEthernetFrame(AbstractEthernetFrame):
|
|
13
15
|
def __init__(self, parent: ARObject, short_name: str):
|
|
14
|
-
super().__init__(parent, short_name)
|
|
16
|
+
super().__init__(parent, short_name)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame, FrameTriggering
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class FlexrayFrame(Frame):
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlexrayAbsolutelyScheduledTiming(ARObject):
|
|
14
|
+
def __init__(self):
|
|
15
|
+
super().__init__()
|
|
16
|
+
|
|
17
|
+
self.communicationCycle = None # type: CommunicationCycle
|
|
18
|
+
self.slotID = None # type: PositiveInteger
|
|
19
|
+
|
|
20
|
+
def getCommunicationCycle(self):
|
|
21
|
+
return self.communicationCycle
|
|
22
|
+
|
|
23
|
+
def setCommunicationCycle(self, value):
|
|
24
|
+
if value is not None:
|
|
25
|
+
self.communicationCycle = value
|
|
26
|
+
return self
|
|
27
|
+
|
|
28
|
+
def getSlotID(self):
|
|
29
|
+
return self.slotID
|
|
30
|
+
|
|
31
|
+
def setSlotID(self, value):
|
|
32
|
+
if value is not None:
|
|
33
|
+
self.slotID = value
|
|
34
|
+
return self
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class FlexrayFrameTriggering(FrameTriggering):
|
|
38
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
39
|
+
super().__init__(parent, short_name)
|
|
40
|
+
|
|
41
|
+
self.absolutelyScheduledTimings = [] # type: List[FlexrayAbsolutelyScheduledTiming]
|
|
42
|
+
self.allowDynamicLSduLength = None # type: Boolean
|
|
43
|
+
self.messageId = None # type: PositiveInteger
|
|
44
|
+
self.payloadPreambleIndicator = None # type: Boolean
|
|
45
|
+
|
|
46
|
+
def getAbsolutelyScheduledTimings(self):
|
|
47
|
+
return self.absolutelyScheduledTimings
|
|
48
|
+
|
|
49
|
+
def addAbsolutelyScheduledTiming(self, value):
|
|
50
|
+
if value is not None:
|
|
51
|
+
self.absolutelyScheduledTimings.append(value)
|
|
52
|
+
return self
|
|
53
|
+
|
|
54
|
+
def getAllowDynamicLSduLength(self):
|
|
55
|
+
return self.allowDynamicLSduLength
|
|
56
|
+
|
|
57
|
+
def setAllowDynamicLSduLength(self, value):
|
|
58
|
+
if value is not None:
|
|
59
|
+
self.allowDynamicLSduLength = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
def getMessageId(self):
|
|
63
|
+
return self.messageId
|
|
64
|
+
|
|
65
|
+
def setMessageId(self, value):
|
|
66
|
+
if value is not None:
|
|
67
|
+
self.messageId = value
|
|
68
|
+
return self
|
|
69
|
+
|
|
70
|
+
def getPayloadPreambleIndicator(self):
|
|
71
|
+
return self.payloadPreambleIndicator
|
|
72
|
+
|
|
73
|
+
def setPayloadPreambleIndicator(self, value):
|
|
74
|
+
if value is not None:
|
|
75
|
+
self.payloadPreambleIndicator = value
|
|
76
|
+
return self
|