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.
Files changed (52) hide show
  1. armodel/cli/arxml_dump_cli.py +33 -22
  2. armodel/cli/arxml_format_cli.py +25 -13
  3. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +64 -29
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +322 -63
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
  8. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
  9. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
  10. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
  11. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +214 -156
  12. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +63 -42
  14. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
  15. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
  16. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
  17. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
  18. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
  19. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
  23. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
  24. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
  25. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
  33. armodel/models/__init__.py +5 -1
  34. armodel/parser/abstract_arxml_parser.py +34 -30
  35. armodel/parser/arxml_parser.py +1196 -525
  36. armodel/parser/file_parser.py +5 -3
  37. armodel/tests/test_armodel/models/test_ar_package.py +6 -11
  38. armodel/tests/test_armodel/models/test_port_interface.py +116 -117
  39. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
  40. armodel/tests/test_armodel/parser/test_sw_components.py +38 -27
  41. armodel/tests/test_armodel/parser/test_system.py +2 -8
  42. armodel/transformer/__init__.py +0 -0
  43. armodel/transformer/abstract.py +6 -0
  44. armodel/transformer/admin_data.py +31 -0
  45. armodel/writer/abstract_arxml_writer.py +22 -29
  46. armodel/writer/arxml_writer.py +1198 -477
  47. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/METADATA +41 -1
  48. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/RECORD +52 -43
  49. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
  50. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
  51. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
  52. {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, PositiveUnlimitedInteger, TimeValue
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
- class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta):
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
- class AbstractCanCommunicationController(CommunicationController, metaclass = ABCMeta):
265
+
266
+ class AbstractCanCommunicationController(CommunicationController, metaclass=ABCMeta):
261
267
  def __init__(self, parent: ARObject, short_name: str):
262
- if type(self) == AbstractCanCommunicationController:
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
- class AbstractCanCommunicationConnector(CommunicationConnector, metaclass = ABCMeta):
287
+
288
+ class AbstractCanCommunicationConnector(CommunicationConnector, metaclass=ABCMeta):
281
289
  def __init__(self, parent: ARObject, short_name: str):
282
- if type(self) == AbstractCanCommunicationConnector:
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.pncWakeupCanIdMask = None
296
- # type: PositiveUnlimitedInteger
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
- self.pncWakeupCanId = value
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
- self.pncWakeupCanIdExtended = value
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
- self.pncWakeupCanIdMask = value
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
- self.pncWakeupDataMask = value
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
- self.pncWakeupDlc = value
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
- class AbstractEthernetFrame(Frame, metaclass = ABCMeta):
5
+
6
+ class AbstractEthernetFrame(Frame, metaclass=ABCMeta):
6
7
  def __init__(self, parent: ARObject, short_name: str):
7
- if type(self) == AbstractEthernetFrame:
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