armodel 1.7.4__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/cli/file_list_cli.py +70 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +47 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +73 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +22 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +58 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +16 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +514 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +104 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +783 -13
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +92 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +143 -36
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +13 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +79 -2
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -2
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
- armodel/models/__init__.py +3 -0
- armodel/parser/abstract_arxml_parser.py +7 -5
- armodel/parser/arxml_parser.py +927 -438
- armodel/writer/arxml_writer.py +799 -178
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/METADATA +52 -1
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/RECORD +33 -28
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/entry_points.txt +1 -0
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/LICENSE +0 -0
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/WHEEL +0 -0
- {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/top_level.txt +0 -0
|
@@ -1,52 +1,431 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
1
2
|
from typing import List
|
|
2
3
|
|
|
3
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer,
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
|
|
5
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, MacAddressString, PositiveInteger, RefType, TimeValue
|
|
5
6
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
|
-
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector, CommunicationController
|
|
7
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector, CommunicationController
|
|
7
8
|
|
|
9
|
+
class MacMulticastGroup(Identifiable):
|
|
10
|
+
def __init__(self, parent, short_name):
|
|
11
|
+
super().__init__(parent, short_name)
|
|
12
|
+
|
|
13
|
+
self.macMulticastAddress = None # type: MacAddressString
|
|
14
|
+
|
|
15
|
+
def getMacMulticastAddress(self):
|
|
16
|
+
return self.macMulticastAddress
|
|
17
|
+
|
|
18
|
+
def setMacMulticastAddress(self, value):
|
|
19
|
+
if value is not None:
|
|
20
|
+
self.macMulticastAddress = value
|
|
21
|
+
return self
|
|
8
22
|
class EthernetCluster(CommunicationCluster):
|
|
9
23
|
def __init__(self, parent: ARObject, short_name: str):
|
|
10
24
|
super().__init__(parent, short_name)
|
|
11
25
|
|
|
12
|
-
self.couplingPorts = []
|
|
13
|
-
self.couplingPortStartupActiveTime = None
|
|
14
|
-
self.couplingPortSwitchoffDelay = None
|
|
15
|
-
self.macMulticastGroups = []
|
|
26
|
+
self.couplingPorts = [] # type: List[CouplingPortConnection]
|
|
27
|
+
self.couplingPortStartupActiveTime = None # type: TimeValue
|
|
28
|
+
self.couplingPortSwitchoffDelay = None # type: TimeValue
|
|
29
|
+
self.macMulticastGroups = [] # type: List[MacMulticastGroup]
|
|
16
30
|
|
|
17
31
|
def getCouplingPorts(self):
|
|
18
32
|
return self.couplingPorts
|
|
19
33
|
|
|
20
|
-
def
|
|
21
|
-
|
|
34
|
+
def addCouplingPort(self, value):
|
|
35
|
+
if value is not None:
|
|
36
|
+
self.couplingPorts.append(value)
|
|
22
37
|
return self
|
|
23
38
|
|
|
24
39
|
def getCouplingPortStartupActiveTime(self):
|
|
25
40
|
return self.couplingPortStartupActiveTime
|
|
26
41
|
|
|
27
42
|
def setCouplingPortStartupActiveTime(self, value):
|
|
28
|
-
|
|
43
|
+
if value is not None:
|
|
44
|
+
self.couplingPortStartupActiveTime = value
|
|
29
45
|
return self
|
|
30
46
|
|
|
31
47
|
def getCouplingPortSwitchoffDelay(self):
|
|
32
48
|
return self.couplingPortSwitchoffDelay
|
|
33
49
|
|
|
34
50
|
def setCouplingPortSwitchoffDelay(self, value):
|
|
35
|
-
|
|
51
|
+
if value is not None:
|
|
52
|
+
self.couplingPortSwitchoffDelay = value
|
|
36
53
|
return self
|
|
37
54
|
|
|
38
55
|
def getMacMulticastGroups(self):
|
|
39
56
|
return self.macMulticastGroups
|
|
40
57
|
|
|
41
|
-
def
|
|
42
|
-
self.
|
|
58
|
+
def createMacMulticastGroup(self, short_name: str) -> MacMulticastGroup:
|
|
59
|
+
if (short_name not in self.elements):
|
|
60
|
+
group = MacMulticastGroup(self, short_name)
|
|
61
|
+
self.addElement(group)
|
|
62
|
+
self.macMulticastGroups.append(group)
|
|
63
|
+
return self.getElement(short_name)
|
|
64
|
+
|
|
65
|
+
class CouplingPortStructuralElement(Identifiable, metaclass = ABCMeta):
|
|
66
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
67
|
+
if type(self) == CouplingPortStructuralElement:
|
|
68
|
+
raise NotImplementedError("CouplingPortStructuralElement is an abstract class.")
|
|
69
|
+
|
|
70
|
+
super().__init__(parent, short_name)
|
|
71
|
+
|
|
72
|
+
class CouplingPortFifo(CouplingPortStructuralElement):
|
|
73
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
74
|
+
super().__init__(parent, short_name)
|
|
75
|
+
|
|
76
|
+
self.assignedTrafficClasses = [] # type: List[PositiveInteger]
|
|
77
|
+
self.minimumFifoLength = None # type: PositiveInteger
|
|
78
|
+
self.shaper = None # type: CouplingPortAbstractShaper
|
|
79
|
+
self.trafficClassPreemptionSupport = None # type: EthernetCouplingPortPreemptionEnum
|
|
80
|
+
|
|
81
|
+
def getAssignedTrafficClasses(self):
|
|
82
|
+
return self.assignedTrafficClasses
|
|
83
|
+
|
|
84
|
+
def addAssignedTrafficClass(self, value):
|
|
85
|
+
if value is not None:
|
|
86
|
+
self.assignedTrafficClasses.append(value)
|
|
87
|
+
return self
|
|
88
|
+
|
|
89
|
+
def getMinimumFifoLength(self):
|
|
90
|
+
return self.minimumFifoLength
|
|
91
|
+
|
|
92
|
+
def setMinimumFifoLength(self, value):
|
|
93
|
+
if value is not None:
|
|
94
|
+
self.minimumFifoLength = value
|
|
95
|
+
return self
|
|
96
|
+
|
|
97
|
+
def getShaper(self):
|
|
98
|
+
return self.shaper
|
|
99
|
+
|
|
100
|
+
def setShaper(self, value):
|
|
101
|
+
if value is not None:
|
|
102
|
+
self.shaper = value
|
|
103
|
+
return self
|
|
104
|
+
|
|
105
|
+
def getTrafficClassPreemptionSupport(self):
|
|
106
|
+
return self.trafficClassPreemptionSupport
|
|
107
|
+
|
|
108
|
+
def setTrafficClassPreemptionSupport(self, value):
|
|
109
|
+
if value is not None:
|
|
110
|
+
self.trafficClassPreemptionSupport = value
|
|
111
|
+
return self
|
|
112
|
+
|
|
113
|
+
class CouplingPortScheduler(CouplingPortStructuralElement):
|
|
114
|
+
def __init__(self, parent, short_name):
|
|
115
|
+
super().__init__(parent, short_name)
|
|
116
|
+
|
|
117
|
+
self.portScheduler = None # type: EthernetCouplingPortSchedulerEnum
|
|
118
|
+
self.predecessorRefs = [] # type: List[RefType]
|
|
119
|
+
|
|
120
|
+
def getPortScheduler(self):
|
|
121
|
+
return self.portScheduler
|
|
122
|
+
|
|
123
|
+
def setPortScheduler(self, value):
|
|
124
|
+
if value is not None:
|
|
125
|
+
self.portScheduler = value
|
|
43
126
|
return self
|
|
127
|
+
|
|
128
|
+
def getPredecessorRefs(self):
|
|
129
|
+
return self.predecessorRefs
|
|
130
|
+
|
|
131
|
+
def addPredecessorRef(self, value):
|
|
132
|
+
if value is not None:
|
|
133
|
+
self.predecessorRefs.append(value)
|
|
134
|
+
return self
|
|
135
|
+
|
|
136
|
+
class EthernetPriorityRegeneration(Referrable):
|
|
137
|
+
def __init__(self, parent, short_name):
|
|
138
|
+
super().__init__(parent, short_name)
|
|
139
|
+
|
|
140
|
+
self.ingressPriority = None # type: PositiveInteger
|
|
141
|
+
self.regeneratedPriority = None # type: PositiveInteger
|
|
142
|
+
|
|
143
|
+
def getIngressPriority(self):
|
|
144
|
+
return self.ingressPriority
|
|
145
|
+
|
|
146
|
+
def setIngressPriority(self, value):
|
|
147
|
+
if value is not None:
|
|
148
|
+
self.ingressPriority = value
|
|
149
|
+
return self
|
|
150
|
+
|
|
151
|
+
def getRegeneratedPriority(self):
|
|
152
|
+
return self.regeneratedPriority
|
|
153
|
+
|
|
154
|
+
def setRegeneratedPriority(self, value):
|
|
155
|
+
if value is not None:
|
|
156
|
+
self.regeneratedPriority = value
|
|
157
|
+
return self
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class CouplingPortDetails(ARObject):
|
|
161
|
+
def __init__(self):
|
|
162
|
+
super().__init__()
|
|
163
|
+
|
|
164
|
+
self.couplingPortStructuralElements = [] # type: List[CouplingPortStructuralElement]
|
|
165
|
+
self.defaultTrafficClass = None # type: PositiveInteger
|
|
166
|
+
self.ethernetPriorityRegenerations = [] # type: List[EthernetPriorityRegeneration]
|
|
167
|
+
self.ethernetTrafficClassAssignments = [] # type: List[CouplingPortTrafficClassAssignment]
|
|
168
|
+
self.framePreemptionSupport = None # type: Boolean
|
|
169
|
+
self.globalTimeProps = None # type: GlobalTimeCouplingPortProps
|
|
170
|
+
self.lastEgressSchedulerRef = None # type: RefType
|
|
171
|
+
self.ratePolicies = [] # type: List[CouplingPortRatePolicy]
|
|
172
|
+
self.vlanTranslationTables = [] # type: List[EthernetVlanTranslationTable]
|
|
173
|
+
|
|
174
|
+
def getCouplingPortStructuralElements(self):
|
|
175
|
+
return self.couplingPortStructuralElements
|
|
176
|
+
|
|
177
|
+
def createCouplingPortFifo(self, short_name: str) -> CouplingPortFifo:
|
|
178
|
+
fifo = CouplingPortFifo(self, short_name)
|
|
179
|
+
self.couplingPortStructuralElements.append(fifo)
|
|
180
|
+
return fifo
|
|
181
|
+
|
|
182
|
+
def createCouplingPortScheduler(self, short_name: str) -> CouplingPortScheduler:
|
|
183
|
+
scheduler = CouplingPortScheduler(self, short_name)
|
|
184
|
+
self.couplingPortStructuralElements.append(scheduler)
|
|
185
|
+
return scheduler
|
|
44
186
|
|
|
187
|
+
def createEthernetPriorityRegeneration(self, short_name: str) -> EthernetPriorityRegeneration:
|
|
188
|
+
regeneration = EthernetPriorityRegeneration(self, short_name)
|
|
189
|
+
self.ethernetPriorityRegenerations.append(regeneration)
|
|
190
|
+
return regeneration
|
|
191
|
+
|
|
192
|
+
def getDefaultTrafficClass(self):
|
|
193
|
+
return self.defaultTrafficClass
|
|
194
|
+
|
|
195
|
+
def setDefaultTrafficClass(self, value):
|
|
196
|
+
if value is not None:
|
|
197
|
+
self.defaultTrafficClass = value
|
|
198
|
+
return self
|
|
199
|
+
|
|
200
|
+
def getEthernetPriorityRegenerations(self):
|
|
201
|
+
return self.ethernetPriorityRegenerations
|
|
202
|
+
|
|
203
|
+
def setEthernetPriorityRegenerations(self, value):
|
|
204
|
+
if value is not None:
|
|
205
|
+
self.ethernetPriorityRegenerations = value
|
|
206
|
+
return self
|
|
207
|
+
|
|
208
|
+
def getEthernetTrafficClassAssignments(self):
|
|
209
|
+
return self.ethernetTrafficClassAssignments
|
|
210
|
+
|
|
211
|
+
def setEthernetTrafficClassAssignments(self, value):
|
|
212
|
+
if value is not None:
|
|
213
|
+
self.ethernetTrafficClassAssignments = value
|
|
214
|
+
return self
|
|
215
|
+
|
|
216
|
+
def getFramePreemptionSupport(self):
|
|
217
|
+
return self.framePreemptionSupport
|
|
218
|
+
|
|
219
|
+
def setFramePreemptionSupport(self, value):
|
|
220
|
+
if value is not None:
|
|
221
|
+
self.framePreemptionSupport = value
|
|
222
|
+
return self
|
|
223
|
+
|
|
224
|
+
def getGlobalTimeProps(self):
|
|
225
|
+
return self.globalTimeProps
|
|
226
|
+
|
|
227
|
+
def setGlobalTimeProps(self, value):
|
|
228
|
+
if value is not None:
|
|
229
|
+
self.globalTimeProps = value
|
|
230
|
+
return self
|
|
231
|
+
|
|
232
|
+
def getLastEgressSchedulerRef(self):
|
|
233
|
+
return self.lastEgressSchedulerRef
|
|
234
|
+
|
|
235
|
+
def setLastEgressSchedulerRef(self, value):
|
|
236
|
+
if value is not None:
|
|
237
|
+
self.lastEgressSchedulerRef = value
|
|
238
|
+
return self
|
|
239
|
+
|
|
240
|
+
def getRatePolicies(self):
|
|
241
|
+
return self.ratePolicies
|
|
242
|
+
|
|
243
|
+
def setRatePolicies(self, value):
|
|
244
|
+
if value is not None:
|
|
245
|
+
self.ratePolicies = value
|
|
246
|
+
return self
|
|
247
|
+
|
|
248
|
+
def getVlanTranslationTables(self):
|
|
249
|
+
return self.vlanTranslationTables
|
|
250
|
+
|
|
251
|
+
def setVlanTranslationTables(self, value):
|
|
252
|
+
if value is not None:
|
|
253
|
+
self.vlanTranslationTables = value
|
|
254
|
+
return self
|
|
255
|
+
|
|
256
|
+
class VlanMembership(ARObject):
|
|
257
|
+
def __init__(self):
|
|
258
|
+
super().__init__()
|
|
259
|
+
|
|
260
|
+
self.defaultPriority = None # type: PositiveInteger
|
|
261
|
+
self.dhcpAddressAssignment = None # type: DhcpServerConfiguration
|
|
262
|
+
self.sendActivity = None # type: EthernetSwitchVlanEgressTaggingEnum
|
|
263
|
+
self.vlanRef = None # type: RefType
|
|
264
|
+
|
|
265
|
+
def getDefaultPriority(self):
|
|
266
|
+
return self.defaultPriority
|
|
267
|
+
|
|
268
|
+
def setDefaultPriority(self, value):
|
|
269
|
+
if value is not None:
|
|
270
|
+
self.defaultPriority = value
|
|
271
|
+
return self
|
|
272
|
+
|
|
273
|
+
def getDhcpAddressAssignment(self):
|
|
274
|
+
return self.dhcpAddressAssignment
|
|
275
|
+
|
|
276
|
+
def setDhcpAddressAssignment(self, value):
|
|
277
|
+
if value is not None:
|
|
278
|
+
self.dhcpAddressAssignment = value
|
|
279
|
+
return self
|
|
280
|
+
|
|
281
|
+
def getSendActivity(self):
|
|
282
|
+
return self.sendActivity
|
|
283
|
+
|
|
284
|
+
def setSendActivity(self, value):
|
|
285
|
+
if value is not None:
|
|
286
|
+
self.sendActivity = value
|
|
287
|
+
return self
|
|
288
|
+
|
|
289
|
+
def getVlanRef(self):
|
|
290
|
+
return self.vlanRef
|
|
291
|
+
|
|
292
|
+
def setVlanRef(self, value):
|
|
293
|
+
if value is not None:
|
|
294
|
+
self.vlanRef = value
|
|
295
|
+
return self
|
|
296
|
+
|
|
297
|
+
|
|
45
298
|
class CouplingPort(Identifiable):
|
|
46
299
|
def __init__(self, parent, short_name):
|
|
47
300
|
super().__init__(parent, short_name)
|
|
48
301
|
|
|
49
|
-
self.connectionNegotiationBehavior = None
|
|
302
|
+
self.connectionNegotiationBehavior = None # type: EthernetConnectionNegotiationEnum
|
|
303
|
+
self.couplingPortDetails = None # type: CouplingPortDetails
|
|
304
|
+
self.couplingPortRole = None # type: CouplingPortRoleEnum
|
|
305
|
+
self.defaultVlanRef = None # type: RefType
|
|
306
|
+
self.macAddressVlanAssignments = [] # type: List[MacAddressVlanMembership]
|
|
307
|
+
self.macLayerType = None # type: EthernetMacLayerTypeEnum
|
|
308
|
+
self.macMulticastAddressRefs = [] # type: List[RefType]
|
|
309
|
+
self.macSecProps = [] # type: List[MacSecProps]
|
|
310
|
+
self.physicalLayerType = None # type: EthernetPhysicalLayerTypeEnum
|
|
311
|
+
self.plcaProps = None # type: PlcaProps
|
|
312
|
+
self.pncMappingRefs = [] # type: List[RefType]
|
|
313
|
+
self.receiveActivity = None # type: EthernetSwitchVlanIngressTagEnum
|
|
314
|
+
self.vlanMemberships = [] # type: List[VlanMembership]
|
|
315
|
+
self.wakeupSleepOnDatalineConfigRef = None # type: RefType
|
|
316
|
+
|
|
317
|
+
def getConnectionNegotiationBehavior(self):
|
|
318
|
+
return self.connectionNegotiationBehavior
|
|
319
|
+
|
|
320
|
+
def setConnectionNegotiationBehavior(self, value):
|
|
321
|
+
if value is not None:
|
|
322
|
+
self.connectionNegotiationBehavior = value
|
|
323
|
+
return self
|
|
324
|
+
|
|
325
|
+
def getCouplingPortDetails(self):
|
|
326
|
+
return self.couplingPortDetails
|
|
327
|
+
|
|
328
|
+
def setCouplingPortDetails(self, value):
|
|
329
|
+
if value is not None:
|
|
330
|
+
self.couplingPortDetails = value
|
|
331
|
+
return self
|
|
332
|
+
|
|
333
|
+
def getCouplingPortRole(self):
|
|
334
|
+
return self.couplingPortRole
|
|
335
|
+
|
|
336
|
+
def setCouplingPortRole(self, value):
|
|
337
|
+
if value is not None:
|
|
338
|
+
self.couplingPortRole = value
|
|
339
|
+
return self
|
|
340
|
+
|
|
341
|
+
def getDefaultVlanRef(self):
|
|
342
|
+
return self.defaultVlanRef
|
|
343
|
+
|
|
344
|
+
def setDefaultVlanRef(self, value):
|
|
345
|
+
if value is not None:
|
|
346
|
+
self.defaultVlanRef = value
|
|
347
|
+
return self
|
|
348
|
+
|
|
349
|
+
def getMacAddressVlanAssignments(self):
|
|
350
|
+
return self.macAddressVlanAssignments
|
|
351
|
+
|
|
352
|
+
def setMacAddressVlanAssignments(self, value):
|
|
353
|
+
if value is not None:
|
|
354
|
+
self.macAddressVlanAssignments = value
|
|
355
|
+
return self
|
|
356
|
+
|
|
357
|
+
def getMacLayerType(self):
|
|
358
|
+
return self.macLayerType
|
|
359
|
+
|
|
360
|
+
def setMacLayerType(self, value):
|
|
361
|
+
if value is not None:
|
|
362
|
+
self.macLayerType = value
|
|
363
|
+
return self
|
|
364
|
+
|
|
365
|
+
def getMacMulticastAddressRefs(self):
|
|
366
|
+
return self.macMulticastAddressRefs
|
|
367
|
+
|
|
368
|
+
def setMacMulticastAddressRefs(self, value):
|
|
369
|
+
if value is not None:
|
|
370
|
+
self.macMulticastAddressRefs = value
|
|
371
|
+
return self
|
|
372
|
+
|
|
373
|
+
def getMacSecProps(self):
|
|
374
|
+
return self.macSecProps
|
|
375
|
+
|
|
376
|
+
def setMacSecProps(self, value):
|
|
377
|
+
if value is not None:
|
|
378
|
+
self.macSecProps = value
|
|
379
|
+
return self
|
|
380
|
+
|
|
381
|
+
def getPhysicalLayerType(self):
|
|
382
|
+
return self.physicalLayerType
|
|
383
|
+
|
|
384
|
+
def setPhysicalLayerType(self, value):
|
|
385
|
+
if value is not None:
|
|
386
|
+
self.physicalLayerType = value
|
|
387
|
+
return self
|
|
388
|
+
|
|
389
|
+
def getPlcaProps(self):
|
|
390
|
+
return self.plcaProps
|
|
391
|
+
|
|
392
|
+
def setPlcaProps(self, value):
|
|
393
|
+
if value is not None:
|
|
394
|
+
self.plcaProps = value
|
|
395
|
+
return self
|
|
396
|
+
|
|
397
|
+
def getPncMappingRefs(self):
|
|
398
|
+
return self.pncMappingRefs
|
|
399
|
+
|
|
400
|
+
def setPncMappingRefs(self, value):
|
|
401
|
+
if value is not None:
|
|
402
|
+
self.pncMappingRefs = value
|
|
403
|
+
return self
|
|
404
|
+
|
|
405
|
+
def getReceiveActivity(self):
|
|
406
|
+
return self.receiveActivity
|
|
407
|
+
|
|
408
|
+
def setReceiveActivity(self, value):
|
|
409
|
+
if value is not None:
|
|
410
|
+
self.receiveActivity = value
|
|
411
|
+
return self
|
|
412
|
+
|
|
413
|
+
def getVlanMemberships(self):
|
|
414
|
+
return self.vlanMemberships
|
|
415
|
+
|
|
416
|
+
def addVlanMembership(self, value):
|
|
417
|
+
if value is not None:
|
|
418
|
+
self.vlanMemberships.append(value)
|
|
419
|
+
return self
|
|
420
|
+
|
|
421
|
+
def getWakeupSleepOnDatalineConfigRef(self):
|
|
422
|
+
return self.wakeupSleepOnDatalineConfigRef
|
|
423
|
+
|
|
424
|
+
def setWakeupSleepOnDatalineConfigRef(self, value):
|
|
425
|
+
if value is not None:
|
|
426
|
+
self.wakeupSleepOnDatalineConfigRef = value
|
|
427
|
+
return self
|
|
428
|
+
|
|
50
429
|
|
|
51
430
|
|
|
52
431
|
class EthernetCommunicationController(CommunicationController):
|
|
@@ -72,9 +451,12 @@ class EthernetCommunicationController(CommunicationController):
|
|
|
72
451
|
def getCouplingPorts(self):
|
|
73
452
|
return self.couplingPorts
|
|
74
453
|
|
|
75
|
-
def
|
|
76
|
-
self.
|
|
77
|
-
|
|
454
|
+
def createCouplingPort(self, short_name: str) -> CouplingPort:
|
|
455
|
+
if (short_name not in self.elements):
|
|
456
|
+
group = CouplingPort(self, short_name)
|
|
457
|
+
self.addElement(group)
|
|
458
|
+
self.couplingPorts.append(group)
|
|
459
|
+
return self.getElement(short_name)
|
|
78
460
|
|
|
79
461
|
def getMacLayerType(self):
|
|
80
462
|
return self.macLayerType
|
|
@@ -163,5 +545,120 @@ class EthernetCommunicationConnector(CommunicationConnector):
|
|
|
163
545
|
self.pathMtuTimeout = value
|
|
164
546
|
return self
|
|
165
547
|
|
|
548
|
+
class RequestResponseDelay(ARObject):
|
|
549
|
+
def __init__(self):
|
|
550
|
+
super().__init__()
|
|
551
|
+
|
|
552
|
+
self.maxValue = None # type: TimeValue
|
|
553
|
+
self.minValue = None # type: TimeValue
|
|
554
|
+
|
|
555
|
+
def getMaxValue(self):
|
|
556
|
+
return self.maxValue
|
|
557
|
+
|
|
558
|
+
def setMaxValue(self, value):
|
|
559
|
+
if value is not None:
|
|
560
|
+
self.maxValue = value
|
|
561
|
+
return self
|
|
562
|
+
|
|
563
|
+
def getMinValue(self):
|
|
564
|
+
return self.minValue
|
|
565
|
+
|
|
566
|
+
def setMinValue(self, value):
|
|
567
|
+
if value is not None:
|
|
568
|
+
self.minValue = value
|
|
569
|
+
return self
|
|
570
|
+
|
|
571
|
+
class InitialSdDelayConfig(ARObject):
|
|
572
|
+
def __init__(self):
|
|
573
|
+
super().__init__()
|
|
574
|
+
|
|
575
|
+
self.initialDelayMaxValue = None # type: TimeValue
|
|
576
|
+
self.initialDelayMinValue = None # type: TimeValue
|
|
577
|
+
self.initialRepetitionsBaseDelay = None # type: TimeValue
|
|
578
|
+
self.initialRepetitionsMax = None # type: PositiveInteger
|
|
579
|
+
|
|
580
|
+
def getInitialDelayMaxValue(self):
|
|
581
|
+
return self.initialDelayMaxValue
|
|
582
|
+
|
|
583
|
+
def setInitialDelayMaxValue(self, value):
|
|
584
|
+
if value is not None:
|
|
585
|
+
self.initialDelayMaxValue = value
|
|
586
|
+
return self
|
|
587
|
+
|
|
588
|
+
def getInitialDelayMinValue(self):
|
|
589
|
+
return self.initialDelayMinValue
|
|
590
|
+
|
|
591
|
+
def setInitialDelayMinValue(self, value):
|
|
592
|
+
if value is not None:
|
|
593
|
+
self.initialDelayMinValue = value
|
|
594
|
+
return self
|
|
595
|
+
|
|
596
|
+
def getInitialRepetitionsBaseDelay(self):
|
|
597
|
+
return self.initialRepetitionsBaseDelay
|
|
598
|
+
|
|
599
|
+
def setInitialRepetitionsBaseDelay(self, value):
|
|
600
|
+
if value is not None:
|
|
601
|
+
self.initialRepetitionsBaseDelay = value
|
|
602
|
+
return self
|
|
603
|
+
|
|
604
|
+
def getInitialRepetitionsMax(self):
|
|
605
|
+
return self.initialRepetitionsMax
|
|
606
|
+
|
|
607
|
+
def setInitialRepetitionsMax(self, value):
|
|
608
|
+
if value is not None:
|
|
609
|
+
self.initialRepetitionsMax = value
|
|
610
|
+
return self
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
class SdClientConfig(ARObject):
|
|
614
|
+
def __init__(self):
|
|
615
|
+
super().__init__()
|
|
616
|
+
|
|
617
|
+
self.capabilityRecord = None # type: TagWithOptionalValue
|
|
618
|
+
self.clientServiceMajorVersion = None # type: PositiveInteger
|
|
619
|
+
self.clientServiceMinorVersion = None # type: PositiveInteger
|
|
620
|
+
self.initialFindBehavior = None # type: InitialSdDelayConfig
|
|
621
|
+
self.requestResponseDelay = None # type: RequestResponseDelay
|
|
622
|
+
self.ttl = None # type: PositiveInteger
|
|
623
|
+
|
|
624
|
+
def getClientServiceMajorVersion(self):
|
|
625
|
+
return self.clientServiceMajorVersion
|
|
626
|
+
|
|
627
|
+
def setClientServiceMajorVersion(self, value):
|
|
628
|
+
if value is not None:
|
|
629
|
+
self.clientServiceMajorVersion = value
|
|
630
|
+
return self
|
|
631
|
+
|
|
632
|
+
def getClientServiceMinorVersion(self):
|
|
633
|
+
return self.clientServiceMinorVersion
|
|
634
|
+
|
|
635
|
+
def setClientServiceMinorVersion(self, value):
|
|
636
|
+
if value is not None:
|
|
637
|
+
self.clientServiceMinorVersion = value
|
|
638
|
+
return self
|
|
639
|
+
|
|
640
|
+
def getInitialFindBehavior(self):
|
|
641
|
+
return self.initialFindBehavior
|
|
642
|
+
|
|
643
|
+
def setInitialFindBehavior(self, value):
|
|
644
|
+
if value is not None:
|
|
645
|
+
self.initialFindBehavior = value
|
|
646
|
+
return self
|
|
647
|
+
|
|
648
|
+
def getRequestResponseDelay(self):
|
|
649
|
+
return self.requestResponseDelay
|
|
650
|
+
|
|
651
|
+
def setRequestResponseDelay(self, value):
|
|
652
|
+
if value is not None:
|
|
653
|
+
self.requestResponseDelay = value
|
|
654
|
+
return self
|
|
655
|
+
|
|
656
|
+
def getTtl(self):
|
|
657
|
+
return self.ttl
|
|
658
|
+
|
|
659
|
+
def setTtl(self, value):
|
|
660
|
+
if value is not None:
|
|
661
|
+
self.ttl = value
|
|
662
|
+
return self
|
|
166
663
|
|
|
167
664
|
|
|
@@ -2,7 +2,7 @@ from abc import ABCMeta
|
|
|
2
2
|
from typing import List
|
|
3
3
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
4
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Ip4AddressString, Ip6AddressString, PositiveInteger, String
|
|
5
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Ip4AddressString, Ip6AddressString, PositiveInteger, String, TimeValue
|
|
6
6
|
|
|
7
7
|
class NetworkEndpointAddress(ARObject, metaclass = ABCMeta):
|
|
8
8
|
def __init__(self):
|
|
@@ -156,6 +156,109 @@ class Ipv6Configuration(NetworkEndpointAddress):
|
|
|
156
156
|
def setIpv6AddressSource(self, value):
|
|
157
157
|
self.ipv6AddressSource = value
|
|
158
158
|
return self
|
|
159
|
+
|
|
160
|
+
class DoIpEntity(ARObject):
|
|
161
|
+
def __init__(self):
|
|
162
|
+
super().__init__()
|
|
163
|
+
|
|
164
|
+
self.doIpEntityRole = None # type: DoIpEntityRoleEnum
|
|
165
|
+
|
|
166
|
+
def getDoIpEntityRole(self):
|
|
167
|
+
return self.doIpEntityRole
|
|
168
|
+
|
|
169
|
+
def setDoIpEntityRole(self, value):
|
|
170
|
+
if value is not None:
|
|
171
|
+
self.doIpEntityRole = value
|
|
172
|
+
return self
|
|
173
|
+
|
|
174
|
+
class TimeSyncClientConfiguration(ARObject):
|
|
175
|
+
def __init__(self):
|
|
176
|
+
super().__init__()
|
|
177
|
+
|
|
178
|
+
self.orderedMasters = [] # type: List[OrderedMaster]
|
|
179
|
+
self.timeSyncTechnology = None # type: TimeSyncTechnologyEnum
|
|
180
|
+
|
|
181
|
+
def getOrderedMasters(self):
|
|
182
|
+
return self.orderedMasters
|
|
183
|
+
|
|
184
|
+
def addOrderedMaster(self, value):
|
|
185
|
+
if value is not None:
|
|
186
|
+
self.orderedMasters.append(value)
|
|
187
|
+
return self
|
|
188
|
+
|
|
189
|
+
def getTimeSyncTechnology(self):
|
|
190
|
+
return self.timeSyncTechnology
|
|
191
|
+
|
|
192
|
+
def setTimeSyncTechnology(self, value):
|
|
193
|
+
if value is not None:
|
|
194
|
+
self.timeSyncTechnology = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class TimeSyncServerConfiguration(ARObject):
|
|
199
|
+
def __init__(self):
|
|
200
|
+
super().__init__()
|
|
201
|
+
|
|
202
|
+
self.priority = None # type: PositiveInteger
|
|
203
|
+
self.syncInterval = None # type: TimeValue
|
|
204
|
+
self.timeSyncServerIdentifier = None # type: String
|
|
205
|
+
self.timeSyncTechnology = None # type: TimeSyncTechnologyEnum
|
|
206
|
+
|
|
207
|
+
def getPriority(self):
|
|
208
|
+
return self.priority
|
|
209
|
+
|
|
210
|
+
def setPriority(self, value):
|
|
211
|
+
if value is not None:
|
|
212
|
+
self.priority = value
|
|
213
|
+
return self
|
|
214
|
+
|
|
215
|
+
def getSyncInterval(self):
|
|
216
|
+
return self.syncInterval
|
|
217
|
+
|
|
218
|
+
def setSyncInterval(self, value):
|
|
219
|
+
if value is not None:
|
|
220
|
+
self.syncInterval = value
|
|
221
|
+
return self
|
|
222
|
+
|
|
223
|
+
def getTimeSyncServerIdentifier(self):
|
|
224
|
+
return self.timeSyncServerIdentifier
|
|
225
|
+
|
|
226
|
+
def setTimeSyncServerIdentifier(self, value):
|
|
227
|
+
if value is not None:
|
|
228
|
+
self.timeSyncServerIdentifier = value
|
|
229
|
+
return self
|
|
230
|
+
|
|
231
|
+
def getTimeSyncTechnology(self):
|
|
232
|
+
return self.timeSyncTechnology
|
|
233
|
+
|
|
234
|
+
def setTimeSyncTechnology(self, value):
|
|
235
|
+
if value is not None:
|
|
236
|
+
self.timeSyncTechnology = value
|
|
237
|
+
return self
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class TimeSynchronization(ARObject):
|
|
241
|
+
def __init__(self):
|
|
242
|
+
super().__init__()
|
|
243
|
+
|
|
244
|
+
self.timeSyncClient = None # type: TimeSyncClientConfiguration
|
|
245
|
+
self.timeSyncServer = None # type: TimeSyncServerConfiguration
|
|
246
|
+
|
|
247
|
+
def getTimeSyncClient(self):
|
|
248
|
+
return self.timeSyncClient
|
|
249
|
+
|
|
250
|
+
def setTimeSyncClient(self, value):
|
|
251
|
+
if value is not None:
|
|
252
|
+
self.timeSyncClient = value
|
|
253
|
+
return self
|
|
254
|
+
|
|
255
|
+
def getTimeSyncServer(self):
|
|
256
|
+
return self.timeSyncServer
|
|
257
|
+
|
|
258
|
+
def setTimeSyncServer(self, value):
|
|
259
|
+
if value is not None:
|
|
260
|
+
self.timeSyncServer = value
|
|
261
|
+
return self
|
|
159
262
|
|
|
160
263
|
|
|
161
264
|
class InfrastructureServices(ARObject):
|