armodel 1.7.5__py3-none-any.whl → 1.7.6__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/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +7 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +13 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +400 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +356 -8
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +2 -4
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +45 -23
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +55 -2
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +2 -1
- armodel/parser/abstract_arxml_parser.py +5 -5
- armodel/parser/arxml_parser.py +632 -466
- armodel/writer/arxml_writer.py +347 -52
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/METADATA +22 -1
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/RECORD +22 -22
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/LICENSE +0 -0
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/WHEEL +0 -0
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/top_level.txt +0 -0
|
@@ -156,9 +156,9 @@ class ImplementationDataType(AbstractImplementationDataType):
|
|
|
156
156
|
return self._struct_type
|
|
157
157
|
|
|
158
158
|
def createSymbolProps(self, short_name: str) -> SymbolProps:
|
|
159
|
-
if short_name not in self.
|
|
159
|
+
if short_name not in self.elements:
|
|
160
160
|
symbol_props = SymbolProps(self, short_name)
|
|
161
|
-
self.
|
|
161
|
+
self.addElement(symbol_props)
|
|
162
162
|
self.symbolProps = symbol_props
|
|
163
163
|
return self.symbolProps
|
|
164
164
|
|
armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py
CHANGED
|
@@ -56,6 +56,7 @@ class MemorySection(Identifiable):
|
|
|
56
56
|
|
|
57
57
|
@alignment.setter
|
|
58
58
|
def alignment(self, value: ARLiteral):
|
|
59
|
+
'''
|
|
59
60
|
if value is not None and value.getValue() != "":
|
|
60
61
|
match = False
|
|
61
62
|
if value.getValue() in ("UNKNOWN", "UNSPECIFIED", "BOOLEAN", "PTR"):
|
|
@@ -69,6 +70,9 @@ class MemorySection(Identifiable):
|
|
|
69
70
|
|
|
70
71
|
if not match:
|
|
71
72
|
raise ValueError("Invalid alignment <%s> of memory section <%s>" % (value, self.getShortName()))
|
|
73
|
+
'''
|
|
74
|
+
if value is not None:
|
|
75
|
+
self._alignment = value
|
|
72
76
|
|
|
73
77
|
def addOption(self, option: ARLiteral):
|
|
74
78
|
self.options.append(option)
|
|
@@ -40,7 +40,7 @@ from .....M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigura
|
|
|
40
40
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerInterface, ModeSwitchInterface, ParameterInterface, PortInterfaceMappingSet, SenderReceiverInterface, TriggerInterface
|
|
41
41
|
from .....M2.AUTOSARTemplates.SystemTemplate import System
|
|
42
42
|
from .....M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import NmConfig
|
|
43
|
-
from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig, DoIpTpConfig
|
|
43
|
+
from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig, DoIpTpConfig, LinTpConfig
|
|
44
44
|
|
|
45
45
|
class ReferenceBase(ARObject):
|
|
46
46
|
def __init__(self):
|
|
@@ -390,6 +390,12 @@ class ARPackage(Identifiable, CollectableElement):
|
|
|
390
390
|
element = CanTpConfig(self, short_name)
|
|
391
391
|
self.addElement(element)
|
|
392
392
|
return self.getElement(short_name)
|
|
393
|
+
|
|
394
|
+
def createLinTpConfig(self, short_name: str) -> LinTpConfig:
|
|
395
|
+
if (short_name not in self.elements):
|
|
396
|
+
element = LinTpConfig(self, short_name)
|
|
397
|
+
self.addElement(element)
|
|
398
|
+
return self.getElement(short_name)
|
|
393
399
|
|
|
394
400
|
def createCanFrame(self, short_name: str) -> CanFrame:
|
|
395
401
|
if (short_name not in self.elements):
|
armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py
CHANGED
|
@@ -493,5 +493,18 @@ class Ip6AddressString(ARLiteral):
|
|
|
493
493
|
* xml.xsd.pattern=[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY
|
|
494
494
|
* xml.xsd.type=string
|
|
495
495
|
'''
|
|
496
|
+
def __init__(self):
|
|
497
|
+
super().__init__()
|
|
498
|
+
|
|
499
|
+
class MacAddressString(ARLiteral):
|
|
500
|
+
'''
|
|
501
|
+
This primitive specifies a Mac Address. Notation: FF:FF:FF:FF:FF:FF
|
|
502
|
+
Alternative notations, e.g. using dash instead of colon, or another grouping of numbers, is not allowed.
|
|
503
|
+
|
|
504
|
+
Tags:
|
|
505
|
+
* xml.xsd.customType=MAC-ADDRESS-STRING
|
|
506
|
+
* xml.xsd.pattern=([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}
|
|
507
|
+
* xml.xsd.type=string
|
|
508
|
+
'''
|
|
496
509
|
def __init__(self):
|
|
497
510
|
super().__init__()
|
|
@@ -1,9 +1,172 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
|
|
3
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger, TimeValue
|
|
4
4
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
5
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
6
|
|
|
7
|
+
class CanControllerFdConfiguration(ARObject):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
super().__init__()
|
|
10
|
+
|
|
11
|
+
self.paddingValue = None # type: PositiveInteger
|
|
12
|
+
self.propSeg = None # type: PositiveInteger
|
|
13
|
+
self.sspOffset = None # type: PositiveInteger
|
|
14
|
+
self.syncJumpWidth = None # type: PositiveInteger
|
|
15
|
+
self.timeSeg1 = None # type: PositiveInteger
|
|
16
|
+
self.timeSeg2 = None # type: PositiveInteger
|
|
17
|
+
self.txBitRateSwitch = None # type: Boolean
|
|
18
|
+
|
|
19
|
+
def getPaddingValue(self):
|
|
20
|
+
return self.paddingValue
|
|
21
|
+
|
|
22
|
+
def setPaddingValue(self, value):
|
|
23
|
+
if value is not None:
|
|
24
|
+
self.paddingValue = value
|
|
25
|
+
return self
|
|
26
|
+
|
|
27
|
+
def getPropSeg(self):
|
|
28
|
+
return self.propSeg
|
|
29
|
+
|
|
30
|
+
def setPropSeg(self, value):
|
|
31
|
+
if value is not None:
|
|
32
|
+
self.propSeg = value
|
|
33
|
+
return self
|
|
34
|
+
|
|
35
|
+
def getSspOffset(self):
|
|
36
|
+
return self.sspOffset
|
|
37
|
+
|
|
38
|
+
def setSspOffset(self, value):
|
|
39
|
+
if value is not None:
|
|
40
|
+
self.sspOffset = value
|
|
41
|
+
return self
|
|
42
|
+
|
|
43
|
+
def getSyncJumpWidth(self):
|
|
44
|
+
return self.syncJumpWidth
|
|
45
|
+
|
|
46
|
+
def setSyncJumpWidth(self, value):
|
|
47
|
+
if value is not None:
|
|
48
|
+
self.syncJumpWidth = value
|
|
49
|
+
return self
|
|
50
|
+
|
|
51
|
+
def getTimeSeg1(self):
|
|
52
|
+
return self.timeSeg1
|
|
53
|
+
|
|
54
|
+
def setTimeSeg1(self, value):
|
|
55
|
+
if value is not None:
|
|
56
|
+
self.timeSeg1 = value
|
|
57
|
+
return self
|
|
58
|
+
|
|
59
|
+
def getTimeSeg2(self):
|
|
60
|
+
return self.timeSeg2
|
|
61
|
+
|
|
62
|
+
def setTimeSeg2(self, value):
|
|
63
|
+
if value is not None:
|
|
64
|
+
self.timeSeg2 = value
|
|
65
|
+
return self
|
|
66
|
+
|
|
67
|
+
def getTxBitRateSwitch(self):
|
|
68
|
+
return self.txBitRateSwitch
|
|
69
|
+
|
|
70
|
+
def setTxBitRateSwitch(self, value):
|
|
71
|
+
if value is not None:
|
|
72
|
+
self.txBitRateSwitch = value
|
|
73
|
+
return self
|
|
74
|
+
|
|
75
|
+
class CanControllerFdConfigurationRequirements(ARObject):
|
|
76
|
+
def __init__(self):
|
|
77
|
+
super().__init__()
|
|
78
|
+
|
|
79
|
+
self.maxNumberOfTimeQuantaPerBit = None # type: Integer
|
|
80
|
+
self.maxSamplePoint = None # type: Float
|
|
81
|
+
self.maxSyncJumpWidth = None # type: Float
|
|
82
|
+
self.maxTrcvDelayCompensationOffset = None # type: TimeValue
|
|
83
|
+
self.minNumberOfTimeQuantaPerBit = None # type: Integer
|
|
84
|
+
self.minSamplePoint = None # type: Float
|
|
85
|
+
self.minSyncJumpWidth = None # type: Float
|
|
86
|
+
self.minTrcvDelayCompensationOffset = None # type: TimeValue
|
|
87
|
+
self.paddingValue = None # type: PositiveInteger
|
|
88
|
+
self.txBitRateSwitch = None # type: Boolean
|
|
89
|
+
|
|
90
|
+
def getMaxNumberOfTimeQuantaPerBit(self):
|
|
91
|
+
return self.maxNumberOfTimeQuantaPerBit
|
|
92
|
+
|
|
93
|
+
def setMaxNumberOfTimeQuantaPerBit(self, value):
|
|
94
|
+
if value is not None:
|
|
95
|
+
self.maxNumberOfTimeQuantaPerBit = value
|
|
96
|
+
return self
|
|
97
|
+
|
|
98
|
+
def getMaxSamplePoint(self):
|
|
99
|
+
return self.maxSamplePoint
|
|
100
|
+
|
|
101
|
+
def setMaxSamplePoint(self, value):
|
|
102
|
+
if value is not None:
|
|
103
|
+
self.maxSamplePoint = value
|
|
104
|
+
return self
|
|
105
|
+
|
|
106
|
+
def getMaxSyncJumpWidth(self):
|
|
107
|
+
return self.maxSyncJumpWidth
|
|
108
|
+
|
|
109
|
+
def setMaxSyncJumpWidth(self, value):
|
|
110
|
+
if value is not None:
|
|
111
|
+
self.maxSyncJumpWidth = value
|
|
112
|
+
return self
|
|
113
|
+
|
|
114
|
+
def getMaxTrcvDelayCompensationOffset(self):
|
|
115
|
+
return self.maxTrcvDelayCompensationOffset
|
|
116
|
+
|
|
117
|
+
def setMaxTrcvDelayCompensationOffset(self, value):
|
|
118
|
+
if value is not None:
|
|
119
|
+
self.maxTrcvDelayCompensationOffset = value
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
def getMinNumberOfTimeQuantaPerBit(self):
|
|
123
|
+
return self.minNumberOfTimeQuantaPerBit
|
|
124
|
+
|
|
125
|
+
def setMinNumberOfTimeQuantaPerBit(self, value):
|
|
126
|
+
if value is not None:
|
|
127
|
+
self.minNumberOfTimeQuantaPerBit = value
|
|
128
|
+
return self
|
|
129
|
+
|
|
130
|
+
def getMinSamplePoint(self):
|
|
131
|
+
return self.minSamplePoint
|
|
132
|
+
|
|
133
|
+
def setMinSamplePoint(self, value):
|
|
134
|
+
if value is not None:
|
|
135
|
+
self.minSamplePoint = value
|
|
136
|
+
return self
|
|
137
|
+
|
|
138
|
+
def getMinSyncJumpWidth(self):
|
|
139
|
+
return self.minSyncJumpWidth
|
|
140
|
+
|
|
141
|
+
def setMinSyncJumpWidth(self, value):
|
|
142
|
+
if value is not None:
|
|
143
|
+
self.minSyncJumpWidth = value
|
|
144
|
+
return self
|
|
145
|
+
|
|
146
|
+
def getMinTrcvDelayCompensationOffset(self):
|
|
147
|
+
return self.minTrcvDelayCompensationOffset
|
|
148
|
+
|
|
149
|
+
def setMinTrcvDelayCompensationOffset(self, value):
|
|
150
|
+
if value is not None:
|
|
151
|
+
self.minTrcvDelayCompensationOffset = value
|
|
152
|
+
return self
|
|
153
|
+
|
|
154
|
+
def getPaddingValue(self):
|
|
155
|
+
return self.paddingValue
|
|
156
|
+
|
|
157
|
+
def setPaddingValue(self, value):
|
|
158
|
+
if value is not None:
|
|
159
|
+
self.paddingValue = value
|
|
160
|
+
return self
|
|
161
|
+
|
|
162
|
+
def getTxBitRateSwitch(self):
|
|
163
|
+
return self.txBitRateSwitch
|
|
164
|
+
|
|
165
|
+
def setTxBitRateSwitch(self, value):
|
|
166
|
+
if value is not None:
|
|
167
|
+
self.txBitRateSwitch = value
|
|
168
|
+
return self
|
|
169
|
+
|
|
7
170
|
class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta):
|
|
8
171
|
def __init__(self):
|
|
9
172
|
super().__init__()
|
|
@@ -94,8 +257,6 @@ class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerA
|
|
|
94
257
|
self.minSyncJumpWidth = value
|
|
95
258
|
return self
|
|
96
259
|
|
|
97
|
-
|
|
98
|
-
|
|
99
260
|
class AbstractCanCommunicationController(CommunicationController, metaclass = ABCMeta):
|
|
100
261
|
def __init__(self, parent: ARObject, short_name: str):
|
|
101
262
|
if type(self) == AbstractCanCommunicationController:
|
|
@@ -111,7 +272,7 @@ class AbstractCanCommunicationController(CommunicationController, metaclass = AB
|
|
|
111
272
|
def setCanControllerAttributes(self, value):
|
|
112
273
|
self.canControllerAttributes = value
|
|
113
274
|
return self
|
|
114
|
-
|
|
275
|
+
|
|
115
276
|
class CanCommunicationController(AbstractCanCommunicationController):
|
|
116
277
|
def __init__(self, parent: ARObject, short_name: str):
|
|
117
278
|
super().__init__(parent, short_name)
|