armodel 1.6.4__py3-none-any.whl → 1.7.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_format_cli.py +14 -11
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +86 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +3 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +3 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +70 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +21 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +24 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +173 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +6 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +237 -28
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +223 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +177 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +37 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +88 -16
- armodel/models/__init__.py +12 -1
- armodel/parser/abstract_arxml_parser.py +50 -16
- armodel/parser/arxml_parser.py +249 -80
- armodel/tests/test_armodel/parser/test_sw_components.py +0 -22
- armodel/tests/test_armodel/parser/test_system.py +2 -2
- armodel/writer/abstract_arxml_writer.py +10 -1
- armodel/writer/arxml_writer.py +215 -58
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/METADATA +15 -1
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/RECORD +28 -24
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/LICENSE +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/WHEEL +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.0.dist-info}/top_level.txt +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
+
from enum import Enum
|
|
2
3
|
from typing import List
|
|
4
|
+
|
|
5
|
+
from ......M2.AUTOSARTemplates.SWComponentTemplate.Communication import HandleInvalidEnum
|
|
3
6
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
|
|
4
7
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinFrameTriggering
|
|
5
8
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement, FrameTriggering, ISignalTriggering, PduTriggering
|
|
6
9
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
7
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, RefType, ARLiteral
|
|
10
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, Boolean, PositiveInteger, RefType, ARLiteral, TimeValue
|
|
8
11
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
9
12
|
|
|
10
13
|
class PhysicalChannel (Identifiable, metaclass = ABCMeta):
|
|
@@ -25,29 +28,28 @@ class PhysicalChannel (Identifiable, metaclass = ABCMeta):
|
|
|
25
28
|
return self
|
|
26
29
|
|
|
27
30
|
def getFrameTriggerings(self) -> List[FrameTriggering]:
|
|
28
|
-
return list(sorted(filter(lambda a: isinstance(a, FrameTriggering), self.elements.values()), key= lambda o:o.
|
|
31
|
+
return list(sorted(filter(lambda a: isinstance(a, FrameTriggering), self.elements.values()), key= lambda o:o.getShortName()))
|
|
29
32
|
|
|
30
33
|
def createCanFrameTriggering(self, short_name: str):
|
|
31
34
|
if (short_name not in self.elements):
|
|
32
|
-
|
|
33
|
-
self.
|
|
34
|
-
return self.
|
|
35
|
+
triggering = CanFrameTriggering(self, short_name)
|
|
36
|
+
self.addElement(triggering)
|
|
37
|
+
return self.getElement(short_name)
|
|
35
38
|
|
|
36
39
|
def createLinFrameTriggering(self, short_name: str):
|
|
37
40
|
if (short_name not in self.elements):
|
|
38
|
-
|
|
39
|
-
self.
|
|
40
|
-
return self.
|
|
41
|
+
triggering = LinFrameTriggering(self, short_name)
|
|
42
|
+
self.addElement(triggering)
|
|
43
|
+
return self.getElement(short_name)
|
|
41
44
|
|
|
42
45
|
def getISignalTriggerings(self) -> List[ISignalTriggering]:
|
|
43
|
-
return list(sorted(filter(lambda a: isinstance(a, ISignalTriggering), self.elements.values()), key= lambda o:o.
|
|
46
|
+
return list(sorted(filter(lambda a: isinstance(a, ISignalTriggering), self.elements.values()), key= lambda o:o.getShortName()))
|
|
44
47
|
|
|
45
48
|
def createISignalTriggering(self, short_name: str):
|
|
46
49
|
if (short_name not in self.elements):
|
|
47
|
-
|
|
48
|
-
self.
|
|
49
|
-
return self.
|
|
50
|
-
|
|
50
|
+
triggering = ISignalTriggering(self, short_name)
|
|
51
|
+
self.addElement(triggering)
|
|
52
|
+
return self.getElement(short_name)
|
|
51
53
|
|
|
52
54
|
def getManagedPhysicalChannelRefs(self):
|
|
53
55
|
return self.managedPhysicalChannelRefs
|
|
@@ -57,13 +59,13 @@ class PhysicalChannel (Identifiable, metaclass = ABCMeta):
|
|
|
57
59
|
return self
|
|
58
60
|
|
|
59
61
|
def getPduTriggerings(self) -> List[PduTriggering]:
|
|
60
|
-
return list(sorted(filter(lambda a: isinstance(a, PduTriggering), self.elements.values()), key= lambda o:o.
|
|
62
|
+
return list(sorted(filter(lambda a: isinstance(a, PduTriggering), self.elements.values()), key= lambda o:o.getShortName()))
|
|
61
63
|
|
|
62
64
|
def createPduTriggering(self, short_name: str):
|
|
63
65
|
if (short_name not in self.elements):
|
|
64
|
-
|
|
65
|
-
self.
|
|
66
|
-
return self.
|
|
66
|
+
triggering = PduTriggering(self, short_name)
|
|
67
|
+
self.addElement(triggering)
|
|
68
|
+
return self.getElement(short_name)
|
|
67
69
|
|
|
68
70
|
class AbstractCanPhysicalChannel(PhysicalChannel, metaclass = ABCMeta):
|
|
69
71
|
def __init__(self, parent, short_name):
|
|
@@ -99,25 +101,25 @@ class CommunicationCluster(FibexElement, metaclass = ABCMeta):
|
|
|
99
101
|
return self
|
|
100
102
|
|
|
101
103
|
def getPhysicalChannels(self) -> List[PhysicalChannel]:
|
|
102
|
-
return list(sorted(filter(lambda a: isinstance(a, PhysicalChannel), self.elements.values()), key= lambda o:o.
|
|
104
|
+
return list(sorted(filter(lambda a: isinstance(a, PhysicalChannel), self.elements.values()), key= lambda o:o.getShortName()))
|
|
103
105
|
|
|
104
106
|
def getCanPhysicalChannels(self) -> List[CanPhysicalChannel]:
|
|
105
|
-
return list(sorted(filter(lambda a: isinstance(a, CanPhysicalChannel), self.elements.values()), key= lambda o:o.
|
|
107
|
+
return list(sorted(filter(lambda a: isinstance(a, CanPhysicalChannel), self.elements.values()), key= lambda o:o.getShortName()))
|
|
106
108
|
|
|
107
109
|
def getLinPhysicalChannels(self) -> List[LinPhysicalChannel]:
|
|
108
|
-
return list(sorted(filter(lambda a: isinstance(a, LinPhysicalChannel), self.elements.values()), key= lambda o:o.
|
|
110
|
+
return list(sorted(filter(lambda a: isinstance(a, LinPhysicalChannel), self.elements.values()), key= lambda o:o.getShortName()))
|
|
109
111
|
|
|
110
112
|
def createCanPhysicalChannel(self, short_name: str):
|
|
111
113
|
if (short_name not in self.elements):
|
|
112
114
|
channel = CanPhysicalChannel(self, short_name)
|
|
113
|
-
self.
|
|
114
|
-
return self.
|
|
115
|
+
self.addElement(channel)
|
|
116
|
+
return self.getElement(short_name)
|
|
115
117
|
|
|
116
118
|
def createLinPhysicalChannel(self, short_name: str):
|
|
117
119
|
if (short_name not in self.elements):
|
|
118
120
|
channel = LinPhysicalChannel(self, short_name)
|
|
119
|
-
self.
|
|
120
|
-
return self.
|
|
121
|
+
self.addElement(channel)
|
|
122
|
+
return self.getElement(short_name)
|
|
121
123
|
|
|
122
124
|
def getProtocolName(self):
|
|
123
125
|
return self.protocolName
|
|
@@ -143,6 +145,7 @@ class AbstractCanCluster(CommunicationCluster, metaclass = ABCMeta):
|
|
|
143
145
|
self.busOffRecovery = None
|
|
144
146
|
self.canFdBaudrate = None
|
|
145
147
|
self.canXlBaudrate = None
|
|
148
|
+
self.speed = None
|
|
146
149
|
|
|
147
150
|
def getBusOffRecovery(self):
|
|
148
151
|
return self.busOffRecovery
|
|
@@ -165,6 +168,12 @@ class AbstractCanCluster(CommunicationCluster, metaclass = ABCMeta):
|
|
|
165
168
|
self.canXlBaudrate = value
|
|
166
169
|
return self
|
|
167
170
|
|
|
171
|
+
def getSpeed(self):
|
|
172
|
+
return self.speed
|
|
173
|
+
|
|
174
|
+
def setSpeed(self, value):
|
|
175
|
+
self.speed = value
|
|
176
|
+
return self
|
|
168
177
|
|
|
169
178
|
class CanCluster(AbstractCanCluster):
|
|
170
179
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -172,8 +181,208 @@ class CanCluster(AbstractCanCluster):
|
|
|
172
181
|
|
|
173
182
|
class LinCluster(CommunicationCluster):
|
|
174
183
|
def __init__(self, parent: ARObject, short_name: str):
|
|
175
|
-
super().__init__(parent, short_name)
|
|
184
|
+
super().__init__(parent, short_name)
|
|
185
|
+
|
|
186
|
+
class CommunicationController(Identifiable, metaclass = ABCMeta):
|
|
187
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
188
|
+
if type(self) == CommunicationController:
|
|
189
|
+
raise NotImplementedError("CommunicationController is an abstract class.")
|
|
190
|
+
|
|
191
|
+
super().__init__(parent, short_name)
|
|
176
192
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
193
|
+
self.wakeUpByControllerSupported = None # type: Boolean
|
|
194
|
+
|
|
195
|
+
def getWakeUpByControllerSupported(self):
|
|
196
|
+
return self.wakeUpByControllerSupported
|
|
197
|
+
|
|
198
|
+
def setWakeUpByControllerSupported(self, value):
|
|
199
|
+
self.wakeUpByControllerSupported = value
|
|
200
|
+
return self
|
|
201
|
+
|
|
202
|
+
class PncGatewayTypeEnum(Enum):
|
|
203
|
+
ENUM_ACTIVE = "active"
|
|
204
|
+
ENUM_NONE = "none"
|
|
205
|
+
ENUM_PASSIVE = "passive"
|
|
206
|
+
|
|
207
|
+
class CommunicationDirectionType(Enum):
|
|
208
|
+
ENUM_IN = "in"
|
|
209
|
+
ENUM_OUT = "out"
|
|
210
|
+
|
|
211
|
+
class CommConnectorPort(Identifiable, metaclass = ABCMeta):
|
|
212
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
213
|
+
if type(self) == CommConnectorPort:
|
|
214
|
+
raise NotImplementedError("CommConnectorPort is an abstract class.")
|
|
215
|
+
|
|
216
|
+
super().__init__(parent, short_name)
|
|
217
|
+
|
|
218
|
+
# type: CommunicationDirectionType
|
|
219
|
+
self.communicationDirection = None
|
|
220
|
+
|
|
221
|
+
def getCommunicationDirection(self) -> CommunicationDirectionType:
|
|
222
|
+
return self.communicationDirection
|
|
223
|
+
|
|
224
|
+
def setCommunicationDirection(self, value: CommunicationDirectionType):
|
|
225
|
+
self.communicationDirection = value
|
|
226
|
+
return self
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
class FramePort(CommConnectorPort):
|
|
230
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
231
|
+
super().__init__(parent, short_name)
|
|
232
|
+
|
|
233
|
+
class IPduSignalProcessingEnum(Enum):
|
|
234
|
+
ENUM_DEFERRED = "deferred"
|
|
235
|
+
ENUM_IMMEDIATE = "immediate"
|
|
236
|
+
|
|
237
|
+
class IPduPort(CommConnectorPort):
|
|
238
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
239
|
+
super().__init__(parent, short_name)
|
|
240
|
+
|
|
241
|
+
# type: IPduSignalProcessingEnum
|
|
242
|
+
self.iPduSignalProcessing = None
|
|
243
|
+
self.rxSecurityVerification = None # type: Boolean
|
|
244
|
+
self.timestampRxAcceptanceWindow = None # type: TimeValue
|
|
245
|
+
self.useAuthDataFreshness = None # type: Boolean
|
|
246
|
+
|
|
247
|
+
def getIPduSignalProcessing(self):
|
|
248
|
+
return self.iPduSignalProcessing
|
|
249
|
+
|
|
250
|
+
def setIPduSignalProcessing(self, value):
|
|
251
|
+
self.iPduSignalProcessing = value
|
|
252
|
+
return self
|
|
253
|
+
|
|
254
|
+
def getRxSecurityVerification(self):
|
|
255
|
+
return self.rxSecurityVerification
|
|
256
|
+
|
|
257
|
+
def setRxSecurityVerification(self, value):
|
|
258
|
+
self.rxSecurityVerification = value
|
|
259
|
+
return self
|
|
260
|
+
|
|
261
|
+
def getTimestampRxAcceptanceWindow(self):
|
|
262
|
+
return self.timestampRxAcceptanceWindow
|
|
263
|
+
|
|
264
|
+
def setTimestampRxAcceptanceWindow(self, value):
|
|
265
|
+
self.timestampRxAcceptanceWindow = value
|
|
266
|
+
return self
|
|
267
|
+
|
|
268
|
+
def getUseAuthDataFreshness(self):
|
|
269
|
+
return self.useAuthDataFreshness
|
|
270
|
+
|
|
271
|
+
def setUseAuthDataFreshness(self, value):
|
|
272
|
+
self.useAuthDataFreshness = value
|
|
273
|
+
return self
|
|
274
|
+
|
|
275
|
+
class ISignalPort(CommConnectorPort):
|
|
276
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
277
|
+
super().__init__(parent, short_name)
|
|
278
|
+
|
|
279
|
+
# type: DataFilter
|
|
280
|
+
self.dataFilter = None
|
|
281
|
+
self.ddsQosProfileRef = None # type: RefType
|
|
282
|
+
# type: TimeValue
|
|
283
|
+
self.firstTimeout = None
|
|
284
|
+
# type: HandleInvalidEnum
|
|
285
|
+
self.handleInvalid = None
|
|
286
|
+
|
|
287
|
+
def getDataFilter(self):
|
|
288
|
+
return self.dataFilter
|
|
289
|
+
|
|
290
|
+
def setDataFilter(self, value):
|
|
291
|
+
self.dataFilter = value
|
|
292
|
+
return self
|
|
293
|
+
|
|
294
|
+
def getDdsQosProfileRef(self):
|
|
295
|
+
return self.ddsQosProfileRef
|
|
296
|
+
|
|
297
|
+
def setDdsQosProfileRef(self, value):
|
|
298
|
+
self.ddsQosProfileRef = value
|
|
299
|
+
return self
|
|
300
|
+
|
|
301
|
+
def getFirstTimeout(self):
|
|
302
|
+
return self.firstTimeout
|
|
303
|
+
|
|
304
|
+
def setFirstTimeout(self, value):
|
|
305
|
+
self.firstTimeout = value
|
|
306
|
+
return self
|
|
307
|
+
|
|
308
|
+
def getHandleInvalid(self):
|
|
309
|
+
return self.handleInvalid
|
|
310
|
+
|
|
311
|
+
def setHandleInvalid(self, value):
|
|
312
|
+
self.handleInvalid = value
|
|
313
|
+
return self
|
|
314
|
+
|
|
315
|
+
class CommunicationConnector(Identifiable, metaclass = ABCMeta):
|
|
316
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
317
|
+
if type(self) == CommunicationConnector:
|
|
318
|
+
raise NotImplementedError("CommunicationConnector is an abstract class.")
|
|
319
|
+
|
|
320
|
+
super().__init__(parent, short_name)
|
|
321
|
+
|
|
322
|
+
self.commControllerRef = None # type: RefType
|
|
323
|
+
self.createEcuWakeupSource = None # type: Boolean
|
|
324
|
+
self.dynamicPncToChannelMappingEnabled = None # type: Boolean
|
|
325
|
+
self.ecuCommPortInstances = [] # type: List[CommConnectorPort]
|
|
326
|
+
self.pncFilterArrayMasks = [] # type: List[PositiveInteger]
|
|
327
|
+
self.pncGatewayType = None # type: PncGatewayTypeEnum
|
|
328
|
+
|
|
329
|
+
def getCommControllerRef(self):
|
|
330
|
+
return self.commControllerRef
|
|
331
|
+
|
|
332
|
+
def setCommControllerRef(self, value):
|
|
333
|
+
self.commControllerRef = value
|
|
334
|
+
return self
|
|
335
|
+
|
|
336
|
+
def getCreateEcuWakeupSource(self):
|
|
337
|
+
return self.createEcuWakeupSource
|
|
338
|
+
|
|
339
|
+
def setCreateEcuWakeupSource(self, value):
|
|
340
|
+
self.createEcuWakeupSource = value
|
|
341
|
+
return self
|
|
342
|
+
|
|
343
|
+
def getDynamicPncToChannelMappingEnabled(self):
|
|
344
|
+
return self.dynamicPncToChannelMappingEnabled
|
|
345
|
+
|
|
346
|
+
def setDynamicPncToChannelMappingEnabled(self, value):
|
|
347
|
+
self.dynamicPncToChannelMappingEnabled = value
|
|
348
|
+
return self
|
|
349
|
+
|
|
350
|
+
def getEcuCommPortInstances(self):
|
|
351
|
+
return list(sorted(filter(lambda a: isinstance(a, CommConnectorPort), self.elements.values()), key= lambda o:o.getShortName()))
|
|
352
|
+
|
|
353
|
+
def createFramePort(self, short_name) -> FramePort:
|
|
354
|
+
if short_name not in self.elements:
|
|
355
|
+
port = FramePort(self, short_name)
|
|
356
|
+
self.addElement(port)
|
|
357
|
+
self.ecuCommPortInstances.append(port)
|
|
358
|
+
return self.getElement(short_name)
|
|
359
|
+
|
|
360
|
+
def createIPduPort(self, short_name) -> IPduPort:
|
|
361
|
+
if short_name not in self.elements:
|
|
362
|
+
port = IPduPort(self, short_name)
|
|
363
|
+
self.addElement(port)
|
|
364
|
+
self.ecuCommPortInstances.append(port)
|
|
365
|
+
return self.getElement(short_name)
|
|
366
|
+
|
|
367
|
+
def createISignalPort(self, short_name) -> ISignalPort:
|
|
368
|
+
if short_name not in self.elements:
|
|
369
|
+
port = ISignalPort(self, short_name)
|
|
370
|
+
self.addElement(port)
|
|
371
|
+
self.ecuCommPortInstances.append(port)
|
|
372
|
+
return self.getElement(short_name)
|
|
373
|
+
|
|
374
|
+
def getPncFilterArrayMasks(self):
|
|
375
|
+
return self.pncFilterArrayMasks
|
|
376
|
+
|
|
377
|
+
def addPncFilterArrayMask(self, value):
|
|
378
|
+
self.pncFilterArrayMasks.append(value)
|
|
379
|
+
return self
|
|
380
|
+
|
|
381
|
+
def getPncGatewayType(self):
|
|
382
|
+
return self.pncGatewayType
|
|
383
|
+
|
|
384
|
+
def setPncGatewayType(self, value):
|
|
385
|
+
self.pncGatewayType = value
|
|
386
|
+
return self
|
|
387
|
+
|
|
388
|
+
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, RefType, TimeValue
|
|
2
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
|
|
3
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import CanCommunicationConnector, CanCommunicationController
|
|
4
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
5
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
|
+
from typing import List
|
|
7
|
+
|
|
8
|
+
class EcuInstance(FibexElement):
|
|
9
|
+
def __init__(self, parent, short_name):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
self.associatedComIPduGroupRefs = [] # type: List[RefType]
|
|
13
|
+
self.associatedConsumedProvidedServiceInstanceGroupRefs = [] # type: List[RefType]
|
|
14
|
+
self.associatedPdurIPduGroupRefs = [] # type: List[RefType]
|
|
15
|
+
self.channelSynchronousWakeup = None # type: Boolean
|
|
16
|
+
self.clientIdRange = None # type: ClientIdRange
|
|
17
|
+
self.comConfigurationGwTimeBase = None # type: TimeValue
|
|
18
|
+
self.comConfigurationRxTimeBase = None # type: TimeValue
|
|
19
|
+
self.comConfigurationTxTimeBase = None # type: TimeValue
|
|
20
|
+
self.comEnableMDTForCyclicTransmission = None # type: Boolean
|
|
21
|
+
self.commControllers = [] # type: List[CommunicationController]
|
|
22
|
+
self.connectors = [] # type: List[CommunicationConnector]
|
|
23
|
+
self.dltConfig = None # type: DltConfig
|
|
24
|
+
self.doIpConfig = None # type: DoIpConfig
|
|
25
|
+
self.ecuTaskProxyRefs = [] # type: List[RefType]
|
|
26
|
+
self.ethSwitchPortGroupDerivation = None # type: Boolean
|
|
27
|
+
self.firewallRuleRef = None # type: RefType
|
|
28
|
+
self.partitions = [] # type: List[EcuPartition]
|
|
29
|
+
self.pncNmRequest = None # type: Boolean
|
|
30
|
+
self.pncPrepareSleepTimer = None # type: TimeValue
|
|
31
|
+
self.pncSynchronousWakeup = None # type: Boolean
|
|
32
|
+
self.pnResetTime = None # type: TimeValue
|
|
33
|
+
self.sleepModeSupported = None # type: Boolean
|
|
34
|
+
self.tcpIpIcmpPropsRef = None # type: RefType
|
|
35
|
+
self.tcpIpPropsRef = None # type: RefType
|
|
36
|
+
self.v2xSupported = None # type: V2xSupportEnum
|
|
37
|
+
self.wakeUpOverBusSupported = None # type: Boolean
|
|
38
|
+
|
|
39
|
+
def getAssociatedComIPduGroupRefs(self):
|
|
40
|
+
return self.associatedComIPduGroupRefs
|
|
41
|
+
|
|
42
|
+
def addAssociatedComIPduGroupRef(self, value):
|
|
43
|
+
self.associatedComIPduGroupRefs.append(value)
|
|
44
|
+
return self
|
|
45
|
+
|
|
46
|
+
def getAssociatedConsumedProvidedServiceInstanceGroupRefs(self):
|
|
47
|
+
return self.associatedConsumedProvidedServiceInstanceGroupRefs
|
|
48
|
+
|
|
49
|
+
def addAssociatedConsumedProvidedServiceInstanceGroupRef(self, value):
|
|
50
|
+
self.associatedConsumedProvidedServiceInstanceGroupRefs.append(value)
|
|
51
|
+
return self
|
|
52
|
+
|
|
53
|
+
def getAssociatedPdurIPduGroupRefs(self):
|
|
54
|
+
return self.associatedPdurIPduGroupRefs
|
|
55
|
+
|
|
56
|
+
def addAssociatedPdurIPduGroupRef(self, value):
|
|
57
|
+
self.associatedPdurIPduGroupRefs.append(value)
|
|
58
|
+
return self
|
|
59
|
+
|
|
60
|
+
def getChannelSynchronousWakeup(self):
|
|
61
|
+
return self.channelSynchronousWakeup
|
|
62
|
+
|
|
63
|
+
def setChannelSynchronousWakeup(self, value):
|
|
64
|
+
self.channelSynchronousWakeup = value
|
|
65
|
+
return self
|
|
66
|
+
|
|
67
|
+
def getClientIdRange(self):
|
|
68
|
+
return self.clientIdRange
|
|
69
|
+
|
|
70
|
+
def setClientIdRange(self, value):
|
|
71
|
+
self.clientIdRange = value
|
|
72
|
+
return self
|
|
73
|
+
|
|
74
|
+
def getComConfigurationGwTimeBase(self):
|
|
75
|
+
return self.comConfigurationGwTimeBase
|
|
76
|
+
|
|
77
|
+
def setComConfigurationGwTimeBase(self, value):
|
|
78
|
+
self.comConfigurationGwTimeBase = value
|
|
79
|
+
return self
|
|
80
|
+
|
|
81
|
+
def getComConfigurationRxTimeBase(self):
|
|
82
|
+
return self.comConfigurationRxTimeBase
|
|
83
|
+
|
|
84
|
+
def setComConfigurationRxTimeBase(self, value):
|
|
85
|
+
self.comConfigurationRxTimeBase = value
|
|
86
|
+
return self
|
|
87
|
+
|
|
88
|
+
def getComConfigurationTxTimeBase(self):
|
|
89
|
+
return self.comConfigurationTxTimeBase
|
|
90
|
+
|
|
91
|
+
def setComConfigurationTxTimeBase(self, value):
|
|
92
|
+
self.comConfigurationTxTimeBase = value
|
|
93
|
+
return self
|
|
94
|
+
|
|
95
|
+
def getComEnableMDTForCyclicTransmission(self):
|
|
96
|
+
return self.comEnableMDTForCyclicTransmission
|
|
97
|
+
|
|
98
|
+
def setComEnableMDTForCyclicTransmission(self, value):
|
|
99
|
+
self.comEnableMDTForCyclicTransmission = value
|
|
100
|
+
return self
|
|
101
|
+
|
|
102
|
+
def getCommControllers(self):
|
|
103
|
+
return list(sorted(filter(lambda a: isinstance(a, CommunicationController), self.elements.values()), key= lambda o:o.short_name))
|
|
104
|
+
|
|
105
|
+
def createCanCommunicationController(self, short_name: str) -> CanCommunicationController:
|
|
106
|
+
if (short_name not in self.elements):
|
|
107
|
+
controller = CanCommunicationController(self, short_name)
|
|
108
|
+
self.elements[short_name] = controller
|
|
109
|
+
return self.elements[short_name]
|
|
110
|
+
|
|
111
|
+
def getConnectors(self):
|
|
112
|
+
return list(sorted(filter(lambda a: isinstance(a, CommunicationConnector), self.elements.values()), key= lambda o:o.short_name))
|
|
113
|
+
|
|
114
|
+
def createCanCommunicationConnector(self, short_name: str) -> CanCommunicationConnector:
|
|
115
|
+
if (short_name not in self.elements):
|
|
116
|
+
controller = CanCommunicationConnector(self, short_name)
|
|
117
|
+
self.elements[short_name] = controller
|
|
118
|
+
return self.elements[short_name]
|
|
119
|
+
|
|
120
|
+
def getDltConfig(self):
|
|
121
|
+
return self.dltConfig
|
|
122
|
+
|
|
123
|
+
def setDltConfig(self, value):
|
|
124
|
+
self.dltConfig = value
|
|
125
|
+
return self
|
|
126
|
+
|
|
127
|
+
def getDoIpConfig(self):
|
|
128
|
+
return self.doIpConfig
|
|
129
|
+
|
|
130
|
+
def setDoIpConfig(self, value):
|
|
131
|
+
self.doIpConfig = value
|
|
132
|
+
return self
|
|
133
|
+
|
|
134
|
+
def getEcuTaskProxyRefs(self):
|
|
135
|
+
return self.ecuTaskProxyRefs
|
|
136
|
+
|
|
137
|
+
def setEcuTaskProxyRefs(self, value):
|
|
138
|
+
self.ecuTaskProxyRefs = value
|
|
139
|
+
return self
|
|
140
|
+
|
|
141
|
+
def getEthSwitchPortGroupDerivation(self):
|
|
142
|
+
return self.ethSwitchPortGroupDerivation
|
|
143
|
+
|
|
144
|
+
def setEthSwitchPortGroupDerivation(self, value):
|
|
145
|
+
self.ethSwitchPortGroupDerivation = value
|
|
146
|
+
return self
|
|
147
|
+
|
|
148
|
+
def getFirewallRuleRef(self):
|
|
149
|
+
return self.firewallRuleRef
|
|
150
|
+
|
|
151
|
+
def setFirewallRuleRef(self, value):
|
|
152
|
+
self.firewallRuleRef = value
|
|
153
|
+
return self
|
|
154
|
+
|
|
155
|
+
def getPartitions(self):
|
|
156
|
+
return self.partitions
|
|
157
|
+
|
|
158
|
+
def addPartition(self, value):
|
|
159
|
+
self.partitions.append(value)
|
|
160
|
+
return self
|
|
161
|
+
|
|
162
|
+
def getPncNmRequest(self):
|
|
163
|
+
return self.pncNmRequest
|
|
164
|
+
|
|
165
|
+
def setPncNmRequest(self, value):
|
|
166
|
+
self.pncNmRequest = value
|
|
167
|
+
return self
|
|
168
|
+
|
|
169
|
+
def getPncPrepareSleepTimer(self):
|
|
170
|
+
return self.pncPrepareSleepTimer
|
|
171
|
+
|
|
172
|
+
def setPncPrepareSleepTimer(self, value):
|
|
173
|
+
self.pncPrepareSleepTimer = value
|
|
174
|
+
return self
|
|
175
|
+
|
|
176
|
+
def getPncSynchronousWakeup(self):
|
|
177
|
+
return self.pncSynchronousWakeup
|
|
178
|
+
|
|
179
|
+
def setPncSynchronousWakeup(self, value):
|
|
180
|
+
self.pncSynchronousWakeup = value
|
|
181
|
+
return self
|
|
182
|
+
|
|
183
|
+
def getPnResetTime(self):
|
|
184
|
+
return self.pnResetTime
|
|
185
|
+
|
|
186
|
+
def setPnResetTime(self, value):
|
|
187
|
+
self.pnResetTime = value
|
|
188
|
+
return self
|
|
189
|
+
|
|
190
|
+
def getSleepModeSupported(self):
|
|
191
|
+
return self.sleepModeSupported
|
|
192
|
+
|
|
193
|
+
def setSleepModeSupported(self, value):
|
|
194
|
+
self.sleepModeSupported = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
def getTcpIpIcmpPropsRef(self):
|
|
198
|
+
return self.tcpIpIcmpPropsRef
|
|
199
|
+
|
|
200
|
+
def setTcpIpIcmpPropsRef(self, value):
|
|
201
|
+
self.tcpIpIcmpPropsRef = value
|
|
202
|
+
return self
|
|
203
|
+
|
|
204
|
+
def getTcpIpPropsRef(self):
|
|
205
|
+
return self.tcpIpPropsRef
|
|
206
|
+
|
|
207
|
+
def setTcpIpPropsRef(self, value):
|
|
208
|
+
self.tcpIpPropsRef = value
|
|
209
|
+
return self
|
|
210
|
+
|
|
211
|
+
def getV2xSupported(self):
|
|
212
|
+
return self.v2xSupported
|
|
213
|
+
|
|
214
|
+
def setV2xSupported(self, value):
|
|
215
|
+
self.v2xSupported = value
|
|
216
|
+
return self
|
|
217
|
+
|
|
218
|
+
def getWakeUpOverBusSupported(self):
|
|
219
|
+
return self.wakeUpOverBusSupported
|
|
220
|
+
|
|
221
|
+
def setWakeUpOverBusSupported(self, value):
|
|
222
|
+
self.wakeUpOverBusSupported = value
|
|
223
|
+
return self
|