armodel 1.7.6__py3-none-any.whl → 1.7.7__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/AutosarTopLevelStructure.py +41 -2
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +20 -10
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +4 -0
- armodel/parser/abstract_arxml_parser.py +3 -0
- armodel/parser/arxml_parser.py +614 -123
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
- armodel/writer/abstract_arxml_writer.py +7 -6
- armodel/writer/arxml_writer.py +694 -139
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/METADATA +41 -3
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/RECORD +41 -37
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
|
@@ -3,7 +3,7 @@ from typing import List
|
|
|
3
3
|
from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import RxIdentifierRange
|
|
4
4
|
from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
5
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Integer, PositiveInteger, RefType, ARBoolean, TimeValue
|
|
6
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Boolean, Integer, PositiveInteger, RefType, ARBoolean, TimeValue
|
|
7
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
8
8
|
|
|
9
9
|
class NmClusterCoupling(ARObject, metaclass = ABCMeta):
|
|
@@ -62,10 +62,7 @@ class FlexrayNmClusterCoupling(NmClusterCoupling):
|
|
|
62
62
|
def setNmScheduleVariant(self, value):
|
|
63
63
|
self.nmScheduleVariant = value
|
|
64
64
|
return self
|
|
65
|
-
|
|
66
|
-
class UdpNmClusterCoupling(NmClusterCoupling):
|
|
67
|
-
def __init__(self):
|
|
68
|
-
super().__init__()
|
|
65
|
+
|
|
69
66
|
|
|
70
67
|
class NmNode(Identifiable, metaclass = ABCMeta):
|
|
71
68
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -203,6 +200,223 @@ class UdpNmNode(NmNode):
|
|
|
203
200
|
def __init__(self, parent: ARObject, short_name: str):
|
|
204
201
|
super().__init__(parent, short_name)
|
|
205
202
|
|
|
203
|
+
self.allNmMessagesKeepAwake = None # type: Boolean
|
|
204
|
+
self.nmMsgCycleOffset = None # type: TimeValue
|
|
205
|
+
|
|
206
|
+
def getAllNmMessagesKeepAwake(self):
|
|
207
|
+
return self.allNmMessagesKeepAwake
|
|
208
|
+
|
|
209
|
+
def setAllNmMessagesKeepAwake(self, value):
|
|
210
|
+
if value is not None:
|
|
211
|
+
self.allNmMessagesKeepAwake = value
|
|
212
|
+
return self
|
|
213
|
+
|
|
214
|
+
def getNmMsgCycleOffset(self):
|
|
215
|
+
return self.nmMsgCycleOffset
|
|
216
|
+
|
|
217
|
+
def setNmMsgCycleOffset(self, value):
|
|
218
|
+
if value is not None:
|
|
219
|
+
self.nmMsgCycleOffset = value
|
|
220
|
+
return self
|
|
221
|
+
|
|
222
|
+
class BusspecificNmEcu(ARObject, metaclass = ABCMeta):
|
|
223
|
+
def __init__(self):
|
|
224
|
+
super().__init__()
|
|
225
|
+
|
|
226
|
+
class CanNmEcu(BusspecificNmEcu):
|
|
227
|
+
def __init__(self):
|
|
228
|
+
super().__init__()
|
|
229
|
+
|
|
230
|
+
class FlexrayNmEcu(BusspecificNmEcu):
|
|
231
|
+
def __init__(self):
|
|
232
|
+
super().__init__()
|
|
233
|
+
|
|
234
|
+
class J1939NmEcu(BusspecificNmEcu):
|
|
235
|
+
def __init__(self):
|
|
236
|
+
super().__init__()
|
|
237
|
+
|
|
238
|
+
class UdpNmEcu(BusspecificNmEcu):
|
|
239
|
+
def __init__(self):
|
|
240
|
+
super().__init__()
|
|
241
|
+
|
|
242
|
+
self.nmSynchronizationPointEnabled = None # type: Boolean ## Only AR 4.3.1
|
|
243
|
+
|
|
244
|
+
def getNmSynchronizationPointEnabled(self):
|
|
245
|
+
return self.nmSynchronizationPointEnabled
|
|
246
|
+
|
|
247
|
+
def setNmSynchronizationPointEnabled(self, value):
|
|
248
|
+
if value is not None:
|
|
249
|
+
self.nmSynchronizationPointEnabled = value
|
|
250
|
+
return self
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
class NmEcu(Identifiable):
|
|
254
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
255
|
+
super().__init__(parent, short_name)
|
|
256
|
+
|
|
257
|
+
self.busDependentNmEcus = [] # type: List[BusspecificNmEcu]
|
|
258
|
+
self.ecuInstanceRef = None # type: RefType
|
|
259
|
+
self.nmBusSynchronizationEnabled = None # type: Boolean
|
|
260
|
+
self.nmComControlEnabled = None # type: Boolean
|
|
261
|
+
self.nmCoordinator = None # type: NmCoordinator
|
|
262
|
+
self.nmCycletimeMainFunction = None # type: TimeValue
|
|
263
|
+
self.nmNodeDetectionEnabled = None # type: Boolean
|
|
264
|
+
self.nmNodeIdEnabled = None # type: Boolean
|
|
265
|
+
self.nmPduRxIndicationEnabled = None # type: Boolean
|
|
266
|
+
self.nmRemoteSleepIndEnabled = None # type: Boolean
|
|
267
|
+
self.nmRepeatMsgIndEnabled = None # type: Boolean
|
|
268
|
+
self.nmStateChangeIndEnabled = None # type: Boolean
|
|
269
|
+
self.nmUserDataEnabled = None # type: Boolean
|
|
270
|
+
|
|
271
|
+
def getBusDependentNmEcus(self):
|
|
272
|
+
return self.busDependentNmEcus
|
|
273
|
+
|
|
274
|
+
def addBusDependentNmEcu(self, value):
|
|
275
|
+
if value is not None:
|
|
276
|
+
self.busDependentNmEcus.append(value)
|
|
277
|
+
return self
|
|
278
|
+
|
|
279
|
+
def getEcuInstanceRef(self):
|
|
280
|
+
return self.ecuInstanceRef
|
|
281
|
+
|
|
282
|
+
def setEcuInstanceRef(self, value):
|
|
283
|
+
if value is not None:
|
|
284
|
+
self.ecuInstanceRef = value
|
|
285
|
+
return self
|
|
286
|
+
|
|
287
|
+
def getNmBusSynchronizationEnabled(self):
|
|
288
|
+
return self.nmBusSynchronizationEnabled
|
|
289
|
+
|
|
290
|
+
def setNmBusSynchronizationEnabled(self, value):
|
|
291
|
+
if value is not None:
|
|
292
|
+
self.nmBusSynchronizationEnabled = value
|
|
293
|
+
return self
|
|
294
|
+
|
|
295
|
+
def getNmComControlEnabled(self):
|
|
296
|
+
return self.nmComControlEnabled
|
|
297
|
+
|
|
298
|
+
def setNmComControlEnabled(self, value):
|
|
299
|
+
if value is not None:
|
|
300
|
+
self.nmComControlEnabled = value
|
|
301
|
+
return self
|
|
302
|
+
|
|
303
|
+
def getNmCoordinator(self):
|
|
304
|
+
return self.nmCoordinator
|
|
305
|
+
|
|
306
|
+
def setNmCoordinator(self, value):
|
|
307
|
+
if value is not None:
|
|
308
|
+
self.nmCoordinator = value
|
|
309
|
+
return self
|
|
310
|
+
|
|
311
|
+
def getNmCycletimeMainFunction(self):
|
|
312
|
+
return self.nmCycletimeMainFunction
|
|
313
|
+
|
|
314
|
+
def setNmCycletimeMainFunction(self, value):
|
|
315
|
+
if value is not None:
|
|
316
|
+
self.nmCycletimeMainFunction = value
|
|
317
|
+
return self
|
|
318
|
+
|
|
319
|
+
def getNmNodeDetectionEnabled(self):
|
|
320
|
+
return self.nmNodeDetectionEnabled
|
|
321
|
+
|
|
322
|
+
def setNmNodeDetectionEnabled(self, value):
|
|
323
|
+
if value is not None:
|
|
324
|
+
self.nmNodeDetectionEnabled = value
|
|
325
|
+
return self
|
|
326
|
+
|
|
327
|
+
def getNmNodeIdEnabled(self):
|
|
328
|
+
return self.nmNodeIdEnabled
|
|
329
|
+
|
|
330
|
+
def setNmNodeIdEnabled(self, value):
|
|
331
|
+
if value is not None:
|
|
332
|
+
self.nmNodeIdEnabled = value
|
|
333
|
+
return self
|
|
334
|
+
|
|
335
|
+
def getNmPduRxIndicationEnabled(self):
|
|
336
|
+
return self.nmPduRxIndicationEnabled
|
|
337
|
+
|
|
338
|
+
def setNmPduRxIndicationEnabled(self, value):
|
|
339
|
+
if value is not None:
|
|
340
|
+
self.nmPduRxIndicationEnabled = value
|
|
341
|
+
return self
|
|
342
|
+
|
|
343
|
+
def getNmRemoteSleepIndEnabled(self):
|
|
344
|
+
return self.nmRemoteSleepIndEnabled
|
|
345
|
+
|
|
346
|
+
def setNmRemoteSleepIndEnabled(self, value):
|
|
347
|
+
if value is not None:
|
|
348
|
+
self.nmRemoteSleepIndEnabled = value
|
|
349
|
+
return self
|
|
350
|
+
|
|
351
|
+
def getNmRepeatMsgIndEnabled(self):
|
|
352
|
+
return self.nmRepeatMsgIndEnabled
|
|
353
|
+
|
|
354
|
+
def setNmRepeatMsgIndEnabled(self, value):
|
|
355
|
+
if value is not None:
|
|
356
|
+
self.nmRepeatMsgIndEnabled = value
|
|
357
|
+
return self
|
|
358
|
+
|
|
359
|
+
def getNmStateChangeIndEnabled(self):
|
|
360
|
+
return self.nmStateChangeIndEnabled
|
|
361
|
+
|
|
362
|
+
def setNmStateChangeIndEnabled(self, value):
|
|
363
|
+
if value is not None:
|
|
364
|
+
self.nmStateChangeIndEnabled = value
|
|
365
|
+
return self
|
|
366
|
+
|
|
367
|
+
def getNmUserDataEnabled(self):
|
|
368
|
+
return self.nmUserDataEnabled
|
|
369
|
+
|
|
370
|
+
def setNmUserDataEnabled(self, value):
|
|
371
|
+
if value is not None:
|
|
372
|
+
self.nmUserDataEnabled = value
|
|
373
|
+
return self
|
|
374
|
+
|
|
375
|
+
class NmConfig(FibexElement):
|
|
376
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
377
|
+
super().__init__(parent, short_name)
|
|
378
|
+
|
|
379
|
+
self.nmClusterCouplings = [] # type: List[NmClusterCoupling]
|
|
380
|
+
self.nmIfEcus = [] # type: List[NmEcu]
|
|
381
|
+
|
|
382
|
+
def createCanNmCluster(self, short_name: str): # type: (str) -> CanNmCluster
|
|
383
|
+
if (short_name not in self.elements):
|
|
384
|
+
cluster = CanNmCluster(self, short_name)
|
|
385
|
+
self.addElement(cluster)
|
|
386
|
+
return self.getElement(short_name)
|
|
387
|
+
|
|
388
|
+
def createUdpNmCluster(self, short_name: str): # type: (str) -> UdpNmCluster
|
|
389
|
+
if (short_name not in self.elements):
|
|
390
|
+
cluster = UdpNmCluster(self, short_name)
|
|
391
|
+
self.addElement(cluster)
|
|
392
|
+
return self.getElement(short_name)
|
|
393
|
+
|
|
394
|
+
def getCanNmClusters(self): # type: () -> List[CanNmCluster]
|
|
395
|
+
return list(sorted(filter(lambda a: isinstance(a, CanNmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
396
|
+
|
|
397
|
+
def getUdpNmClusters(self): # type: () -> List[UdpNmCluster]
|
|
398
|
+
return list(sorted(filter(lambda a: isinstance(a, UdpNmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
399
|
+
|
|
400
|
+
def getNmClusters(self): # type: () -> List[NmCluster]
|
|
401
|
+
return list(sorted(filter(lambda a: isinstance(a, NmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
402
|
+
|
|
403
|
+
def getNmClusterCouplings(self):
|
|
404
|
+
return self.nmClusterCouplings
|
|
405
|
+
|
|
406
|
+
def addNmClusterCouplings(self, value):
|
|
407
|
+
self.nmClusterCouplings.append(value)
|
|
408
|
+
return self
|
|
409
|
+
|
|
410
|
+
def getNmIfEcus(self):
|
|
411
|
+
return self.nmIfEcus
|
|
412
|
+
|
|
413
|
+
def createNmEcu(self, short_name: str) -> NmEcu:
|
|
414
|
+
if (short_name not in self.elements):
|
|
415
|
+
cluster = NmEcu(self, short_name)
|
|
416
|
+
self.addElement(cluster)
|
|
417
|
+
self.nmIfEcus.append(cluster)
|
|
418
|
+
return self.getElement(short_name)
|
|
419
|
+
|
|
206
420
|
class NmCluster(Identifiable, metaclass=ABCMeta):
|
|
207
421
|
def __init__(self, parent: ARObject, short_name: str):
|
|
208
422
|
super().__init__(parent, short_name)
|
|
@@ -437,142 +651,36 @@ class J1939NmCluster(NmCluster):
|
|
|
437
651
|
def __init__(self, parent: ARObject, short_name: str):
|
|
438
652
|
super().__init__(parent, short_name)
|
|
439
653
|
|
|
440
|
-
class
|
|
441
|
-
def __init__(self
|
|
442
|
-
super().__init__(
|
|
443
|
-
|
|
444
|
-
class NmEcu(Identifiable):
|
|
445
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
446
|
-
super().__init__(parent, short_name)
|
|
447
|
-
|
|
448
|
-
self.busDependentNmEcus = []
|
|
449
|
-
self.ecuInstance = None
|
|
450
|
-
self.nmBusSynchronizationEnabled = None
|
|
451
|
-
self.nmComControlEnabled = None
|
|
452
|
-
self.nmCoordinator = None
|
|
453
|
-
self.nmCycletimeMainFunction = None
|
|
454
|
-
self.nmPduRxIndicationEnabled = None
|
|
455
|
-
self.nmRemoteSleepIndEnabled = None
|
|
456
|
-
self.nmStateChangeIndEnabled = None
|
|
457
|
-
self.nmUserDataEnabled = None
|
|
458
|
-
|
|
459
|
-
def getBusDependentNmEcus(self):
|
|
460
|
-
return self.busDependentNmEcus
|
|
461
|
-
|
|
462
|
-
def addBusDependentNmEcu(self, value):
|
|
463
|
-
self.busDependentNmEcus.append(value)
|
|
464
|
-
return self
|
|
465
|
-
|
|
466
|
-
def getEcuInstance(self):
|
|
467
|
-
return self.ecuInstance
|
|
468
|
-
|
|
469
|
-
def setEcuInstance(self, value):
|
|
470
|
-
self.ecuInstance = value
|
|
471
|
-
return self
|
|
472
|
-
|
|
473
|
-
def getNmBusSynchronizationEnabled(self):
|
|
474
|
-
return self.nmBusSynchronizationEnabled
|
|
475
|
-
|
|
476
|
-
def setNmBusSynchronizationEnabled(self, value):
|
|
477
|
-
self.nmBusSynchronizationEnabled = value
|
|
478
|
-
return self
|
|
479
|
-
|
|
480
|
-
def getNmComControlEnabled(self):
|
|
481
|
-
return self.nmComControlEnabled
|
|
482
|
-
|
|
483
|
-
def setNmComControlEnabled(self, value):
|
|
484
|
-
self.nmComControlEnabled = value
|
|
485
|
-
return self
|
|
486
|
-
|
|
487
|
-
def getNmCoordinator(self):
|
|
488
|
-
return self.nmCoordinator
|
|
489
|
-
|
|
490
|
-
def setNmCoordinator(self, value):
|
|
491
|
-
self.nmCoordinator = value
|
|
492
|
-
return self
|
|
493
|
-
|
|
494
|
-
def getNmCycletimeMainFunction(self):
|
|
495
|
-
return self.nmCycletimeMainFunction
|
|
496
|
-
|
|
497
|
-
def setNmCycletimeMainFunction(self, value):
|
|
498
|
-
self.nmCycletimeMainFunction = value
|
|
499
|
-
return self
|
|
500
|
-
|
|
501
|
-
def getNmPduRxIndicationEnabled(self):
|
|
502
|
-
return self.nmPduRxIndicationEnabled
|
|
503
|
-
|
|
504
|
-
def setNmPduRxIndicationEnabled(self, value):
|
|
505
|
-
self.nmPduRxIndicationEnabled = value
|
|
506
|
-
return self
|
|
507
|
-
|
|
508
|
-
def getNmRemoteSleepIndEnabled(self):
|
|
509
|
-
return self.nmRemoteSleepIndEnabled
|
|
654
|
+
class UdpNmClusterCoupling(NmClusterCoupling):
|
|
655
|
+
def __init__(self):
|
|
656
|
+
super().__init__()
|
|
510
657
|
|
|
511
|
-
|
|
512
|
-
self.
|
|
513
|
-
return self
|
|
658
|
+
self.coupledClusterRefs = [] # type: List[RefType]
|
|
659
|
+
self.nmImmediateRestartEnabled = None # type: Boolean
|
|
514
660
|
|
|
515
|
-
def
|
|
516
|
-
return self.
|
|
661
|
+
def getCoupledClusterRefs(self):
|
|
662
|
+
return self.coupledClusterRefs
|
|
517
663
|
|
|
518
|
-
def
|
|
519
|
-
|
|
664
|
+
def addCoupledClusterRef(self, value):
|
|
665
|
+
if value is not None:
|
|
666
|
+
self.coupledClusterRefs.append(value)
|
|
520
667
|
return self
|
|
521
668
|
|
|
522
|
-
def
|
|
523
|
-
return self.
|
|
524
|
-
|
|
525
|
-
def setNmUserDataEnabled(self, value):
|
|
526
|
-
self.nmUserDataEnabled = value
|
|
527
|
-
return self
|
|
528
|
-
|
|
529
|
-
class NmConfig(FibexElement):
|
|
530
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
531
|
-
super().__init__(parent, short_name)
|
|
532
|
-
|
|
533
|
-
self.nmClusterCouplings = [] # type: List[NmClusterCoupling]
|
|
534
|
-
self.nmIfEcus = [] # type: List[NmEcu]
|
|
535
|
-
|
|
536
|
-
def createCanNmCluster(self, short_name: str) -> CanNmCluster:
|
|
537
|
-
if (short_name not in self.elements):
|
|
538
|
-
cluster = CanNmCluster(self, short_name)
|
|
539
|
-
self.addElement(cluster)
|
|
540
|
-
return self.getElement(short_name)
|
|
541
|
-
|
|
542
|
-
def createUdpNmCluster(self, short_name: str) -> UdpNmCluster:
|
|
543
|
-
if (short_name not in self.elements):
|
|
544
|
-
cluster = UdpNmCluster(self, short_name)
|
|
545
|
-
self.addElement(cluster)
|
|
546
|
-
return self.getElement(short_name)
|
|
547
|
-
|
|
548
|
-
def getCanNmClusters(self) -> List[CanNmCluster]:
|
|
549
|
-
return list(sorted(filter(lambda a: isinstance(a, CanNmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
550
|
-
|
|
551
|
-
def getUdpNmClusters(self) -> List[UdpNmCluster]:
|
|
552
|
-
return list(sorted(filter(lambda a: isinstance(a, UdpNmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
553
|
-
|
|
554
|
-
def getNmClusters(self) -> List[NmCluster]:
|
|
555
|
-
return list(sorted(filter(lambda a: isinstance(a, NmCluster), self.elements.values()), key= lambda o:o.short_name))
|
|
556
|
-
|
|
557
|
-
def getNmClusterCouplings(self):
|
|
558
|
-
return self.nmClusterCouplings
|
|
669
|
+
def getNmImmediateRestartEnabled(self):
|
|
670
|
+
return self.nmImmediateRestartEnabled
|
|
559
671
|
|
|
560
|
-
def
|
|
561
|
-
|
|
672
|
+
def setNmImmediateRestartEnabled(self, value):
|
|
673
|
+
if value is not None:
|
|
674
|
+
self.nmImmediateRestartEnabled = value
|
|
562
675
|
return self
|
|
563
676
|
|
|
564
|
-
def getNmIfEcus(self):
|
|
565
|
-
return self.nmIfEcus
|
|
566
677
|
|
|
567
|
-
def addNmIfEcus(self, value):
|
|
568
|
-
self.nmIfEcus.append(value)
|
|
569
|
-
return self
|
|
570
|
-
|
|
571
678
|
class UdpNmCluster(NmCluster):
|
|
572
679
|
def __init__(self, parent: ARObject, short_name: str):
|
|
573
680
|
super().__init__(parent, short_name)
|
|
574
681
|
|
|
575
682
|
self.nmCbvPosition = None # type: Integer
|
|
683
|
+
self.nmChannelActive = None # type: Boolean
|
|
576
684
|
self.nmImmediateNmCycleTime = None # type: TimeValue
|
|
577
685
|
self.nmImmediateNmTransmissions = None # type: PositiveInteger
|
|
578
686
|
self.nmMessageTimeoutTime = None # type: TimeValue
|
|
@@ -591,6 +699,15 @@ class UdpNmCluster(NmCluster):
|
|
|
591
699
|
if value is not None:
|
|
592
700
|
self.nmCbvPosition = value
|
|
593
701
|
return self
|
|
702
|
+
|
|
703
|
+
def getNmChannelActive(self):
|
|
704
|
+
return self.nmChannelActive
|
|
705
|
+
|
|
706
|
+
def setNmChannelActive(self, value):
|
|
707
|
+
if value is not None:
|
|
708
|
+
self.nmChannelActive = value
|
|
709
|
+
return self
|
|
710
|
+
|
|
594
711
|
|
|
595
712
|
def getNmImmediateNmCycleTime(self):
|
|
596
713
|
return self.nmImmediateNmCycleTime
|
|
@@ -670,6 +787,4 @@ class UdpNmCluster(NmCluster):
|
|
|
670
787
|
def setVlanRef(self, value):
|
|
671
788
|
if value is not None:
|
|
672
789
|
self.vlanRef = value
|
|
673
|
-
return self
|
|
674
|
-
|
|
675
|
-
|
|
790
|
+
return self
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
4
|
+
from ....M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
|
|
5
|
+
|
|
6
|
+
class SwcToImplMapping(Identifiable):
|
|
7
|
+
def __init__(self, parent, short_name):
|
|
8
|
+
super().__init__(parent, short_name)
|
|
9
|
+
|
|
10
|
+
self.componentIRefs = [] # type: List[ComponentInSystemInstanceRef]
|
|
11
|
+
self.componentImplementationRef = None # type: RefType
|
|
12
|
+
|
|
13
|
+
def getComponentIRefs(self):
|
|
14
|
+
return self.componentIRefs
|
|
15
|
+
|
|
16
|
+
def addComponentIRef(self, value):
|
|
17
|
+
if value is not None:
|
|
18
|
+
self.componentIRefs.append(value)
|
|
19
|
+
return self
|
|
20
|
+
|
|
21
|
+
def getComponentImplementationRef(self):
|
|
22
|
+
return self.componentImplementationRef
|
|
23
|
+
|
|
24
|
+
def setComponentImplementationRef(self, value):
|
|
25
|
+
if value is not None:
|
|
26
|
+
self.componentImplementationRef = value
|
|
27
|
+
return self
|