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.
Files changed (22) hide show
  1. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
  2. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
  3. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +7 -1
  4. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +13 -0
  5. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
  6. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +400 -17
  7. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +356 -8
  8. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +2 -4
  9. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
  10. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +45 -23
  11. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +1 -0
  12. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +55 -2
  13. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +2 -1
  14. armodel/parser/abstract_arxml_parser.py +5 -5
  15. armodel/parser/arxml_parser.py +632 -466
  16. armodel/writer/arxml_writer.py +347 -52
  17. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/METADATA +22 -1
  18. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/RECORD +22 -22
  19. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/LICENSE +0 -0
  20. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/WHEEL +0 -0
  21. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/entry_points.txt +0 -0
  22. {armodel-1.7.5.dist-info → armodel-1.7.6.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,11 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
3
 
4
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
5
4
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, String, TimeValue
6
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
5
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
7
6
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
-
7
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import RequestResponseDelay
8
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
9
9
 
10
10
  class TransportProtocolConfiguration(ARObject, metaclass = ABCMeta):
11
11
  def __init__(self):
@@ -413,7 +413,221 @@ class ConsumedServiceInstance(AbstractServiceInstance):
413
413
  if value is not None:
414
414
  self.versionDrivenFindBehavior = value
415
415
  return self
416
-
416
+
417
+ class InitialSdDelayConfig(ARObject):
418
+ def __init__(self):
419
+ super().__init__()
420
+
421
+ self.initialDelayMaxValue = None # type: TimeValue
422
+ self.initialDelayMinValue = None # type: TimeValue
423
+ self.initialRepetitionsBaseDelay = None # type: TimeValue
424
+ self.initialRepetitionsMax = None # type: PositiveInteger
425
+
426
+ def getInitialDelayMaxValue(self):
427
+ return self.initialDelayMaxValue
428
+
429
+ def setInitialDelayMaxValue(self, value):
430
+ if value is not None:
431
+ self.initialDelayMaxValue = value
432
+ return self
433
+
434
+ def getInitialDelayMinValue(self):
435
+ return self.initialDelayMinValue
436
+
437
+ def setInitialDelayMinValue(self, value):
438
+ if value is not None:
439
+ self.initialDelayMinValue = value
440
+ return self
441
+
442
+ def getInitialRepetitionsBaseDelay(self):
443
+ return self.initialRepetitionsBaseDelay
444
+
445
+ def setInitialRepetitionsBaseDelay(self, value):
446
+ if value is not None:
447
+ self.initialRepetitionsBaseDelay = value
448
+ return self
449
+
450
+ def getInitialRepetitionsMax(self):
451
+ return self.initialRepetitionsMax
452
+
453
+ def setInitialRepetitionsMax(self, value):
454
+ if value is not None:
455
+ self.initialRepetitionsMax = value
456
+ return self
457
+
458
+
459
+ class SdServerConfig(ARObject):
460
+ def __init__(self):
461
+ super().__init__()
462
+
463
+ self.capabilityRecords = [] # type:List[TagWithOptionalValue]
464
+ self.initialOfferBehavior = None # type: InitialSdDelayConfig
465
+ self.offerCyclicDelay = None # type: TimeValue
466
+ self.requestResponseDelay = None # type: RequestResponseDelay
467
+ self.serverServiceMajorVersion = None # type: PositiveInteger
468
+ self.serverServiceMinorVersion = None # type: PositiveInteger
469
+ self.ttl = None # type: PositiveInteger
470
+
471
+ def getCapabilityRecords(self):
472
+ return self.capabilityRecords
473
+
474
+ def setCapabilityRecords(self, value):
475
+ if value is not None:
476
+ self.capabilityRecords = value
477
+ return self
478
+
479
+ def getInitialOfferBehavior(self):
480
+ return self.initialOfferBehavior
481
+
482
+ def setInitialOfferBehavior(self, value):
483
+ if value is not None:
484
+ self.initialOfferBehavior = value
485
+ return self
486
+
487
+ def getOfferCyclicDelay(self):
488
+ return self.offerCyclicDelay
489
+
490
+ def setOfferCyclicDelay(self, value):
491
+ if value is not None:
492
+ self.offerCyclicDelay = value
493
+ return self
494
+
495
+ def getRequestResponseDelay(self):
496
+ return self.requestResponseDelay
497
+
498
+ def setRequestResponseDelay(self, value):
499
+ if value is not None:
500
+ self.requestResponseDelay = value
501
+ return self
502
+
503
+ def getServerServiceMajorVersion(self):
504
+ return self.serverServiceMajorVersion
505
+
506
+ def setServerServiceMajorVersion(self, value):
507
+ if value is not None:
508
+ self.serverServiceMajorVersion = value
509
+ return self
510
+
511
+ def getServerServiceMinorVersion(self):
512
+ return self.serverServiceMinorVersion
513
+
514
+ def setServerServiceMinorVersion(self, value):
515
+ if value is not None:
516
+ self.serverServiceMinorVersion = value
517
+ return self
518
+
519
+ def getTtl(self):
520
+ return self.ttl
521
+
522
+ def setTtl(self, value):
523
+ if value is not None:
524
+ self.ttl = value
525
+ return self
526
+
527
+
528
+ class EventHandler(Identifiable):
529
+ def __init__(self, parent: ARObject, short_name: str):
530
+ super().__init__(parent, short_name)
531
+
532
+ self.applicationEndpointRef = None # type: RefType
533
+ self.consumedEventGroupRefs = [] # type: List[RefType]
534
+ self.multicastThreshold = None # type: PositiveInteger
535
+ self.routingGroupRefs = [] # type: List[RefType]
536
+ self.sdServerConfig = None # type: SdServerConfig
537
+
538
+ def getApplicationEndpointRef(self):
539
+ return self.applicationEndpointRef
540
+
541
+ def setApplicationEndpointRef(self, value):
542
+ if value is not None:
543
+ self.applicationEndpointRef = value
544
+ return self
545
+
546
+ def getConsumedEventGroupRefs(self):
547
+ return self.consumedEventGroupRefs
548
+
549
+ def addConsumedEventGroupRef(self, value):
550
+ if value is not None:
551
+ self.consumedEventGroupRefs.append(value)
552
+ return self
553
+
554
+ def getMulticastThreshold(self):
555
+ return self.multicastThreshold
556
+
557
+ def setMulticastThreshold(self, value):
558
+ if value is not None:
559
+ self.multicastThreshold = value
560
+ return self
561
+
562
+ def getRoutingGroupRefs(self):
563
+ return self.routingGroupRefs
564
+
565
+ def addRoutingGroupRef(self, value):
566
+ if value is not None:
567
+ self.routingGroupRefs.append(value)
568
+ return self
569
+
570
+ def getSdServerConfig(self):
571
+ return self.sdServerConfig
572
+
573
+ def setSdServerConfig(self, value):
574
+ if value is not None:
575
+ self.sdServerConfig = value
576
+ return self
577
+
578
+
579
+ class ProvidedServiceInstance(AbstractServiceInstance):
580
+ def __init__(self, parent: ARObject, short_name: str):
581
+ super().__init__(parent, short_name)
582
+
583
+ self.eventHandlers = [] # type: List[EventHandler]
584
+ self.instanceIdentifier = None # type: PositiveInteger
585
+ self.priority = None # type: PositiveInteger
586
+ self.sdServerConfig = None # type:SdServerConfig
587
+ self.serviceIdentifier = None # type: PositiveInteger
588
+
589
+ def getEventHandlers(self):
590
+ return self.eventHandlers
591
+
592
+ def createEventHandler(self, short_name:str) -> EventHandler:
593
+ if short_name not in self.elements:
594
+ instance = EventHandler(self, short_name)
595
+ self.addElement(instance)
596
+ self.eventHandlers.append(instance)
597
+ return self.getElement(short_name)
598
+
599
+ def getInstanceIdentifier(self):
600
+ return self.instanceIdentifier
601
+
602
+ def setInstanceIdentifier(self, value):
603
+ if value is not None:
604
+ self.instanceIdentifier = value
605
+ return self
606
+
607
+ def getPriority(self):
608
+ return self.priority
609
+
610
+ def setPriority(self, value):
611
+ if value is not None:
612
+ self.priority = value
613
+ return self
614
+
615
+ def getSdServerConfig(self):
616
+ return self.sdServerConfig
617
+
618
+ def setSdServerConfig(self, value):
619
+ if value is not None:
620
+ self.sdServerConfig = value
621
+ return self
622
+
623
+ def getServiceIdentifier(self):
624
+ return self.serviceIdentifier
625
+
626
+ def setServiceIdentifier(self, value):
627
+ if value is not None:
628
+ self.serviceIdentifier = value
629
+ return self
630
+
417
631
 
418
632
  class ApplicationEndpoint(Identifiable):
419
633
  def __init__(self, parent: ARObject, short_name: str):
@@ -461,10 +675,13 @@ class ApplicationEndpoint(Identifiable):
461
675
  def getProvidedServiceInstances(self):
462
676
  return self.providedServiceInstances
463
677
 
464
- def addProvidedServiceInstance(self, value):
465
- self.providedServiceInstances.append(value)
466
- return self
467
-
678
+ def createProvidedServiceInstance(self, short_name:str) -> ProvidedServiceInstance:
679
+ if short_name not in self.elements:
680
+ instance = ProvidedServiceInstance(self, short_name)
681
+ self.addElement(instance)
682
+ self.providedServiceInstances.append(instance)
683
+ return self.getElement(short_name)
684
+
468
685
  def getTlsCryptoMappingRef(self):
469
686
  return self.tlsCryptoMappingRef
470
687
 
@@ -624,4 +841,135 @@ class SoAdConfig(ARObject):
624
841
  self.socketAddresses.append(address)
625
842
  return address
626
843
 
844
+ class ProvidedServiceInstance(AbstractServiceInstance):
845
+ def __init__(self, parent: ARObject, short_name: str):
846
+ super().__init__(parent, short_name)
847
+
848
+ self.allowedServiceConsumerRefs = [] # type: List[RefType]
849
+ self.ProvidedServiceInstance = None # type: Boolean
850
+ self.eventHandlers = [] # type: List[EventHandler]
851
+ self.instanceIdentifier = None # type: PositiveInteger
852
+ self.loadBalancingPriority = None # type: PositiveInteger
853
+ self.loadBalancingWeight = None # type: PositiveInteger
854
+ self.localUnicastAddressRefs = [] # type: List[RefType]
855
+ self.minorVersion = None # type: PositiveInteger
856
+ self.priority = None # type: PositiveInteger
857
+ self.remoteMulticastSubscriptionAddressRefs = [] # type: List[RefType]
858
+ self.remoteUnicastAddressRefs = [] # type: List[RefType]
859
+ self.sdServerConfig = None # type: SdServerConfig
860
+ self.sdServerTimerConfigRef = None # type: RefType
861
+ self.serviceIdentifier = None # type: PositiveInteger
862
+
863
+ def getAllowedServiceConsumerRefs(self):
864
+ return self.allowedServiceConsumerRefs
865
+
866
+ def setAllowedServiceConsumerRefs(self, value):
867
+ if value is not None:
868
+ self.allowedServiceConsumerRefs = value
869
+ return self
870
+
871
+ def getProvidedServiceInstance(self):
872
+ return self.ProvidedServiceInstance
873
+
874
+ def setProvidedServiceInstance(self, value):
875
+ if value is not None:
876
+ self.ProvidedServiceInstance = value
877
+ return self
878
+
879
+ def getEventHandlers(self):
880
+ return self.eventHandlers
881
+
882
+ def createEventHandler(self, short_name:str) -> EventHandler:
883
+ if short_name not in self.elements:
884
+ instance = EventHandler(self, short_name)
885
+ self.addElement(instance)
886
+ self.eventHandlers.append(instance)
887
+ return self.getElement(short_name)
888
+
889
+ def getInstanceIdentifier(self):
890
+ return self.instanceIdentifier
891
+
892
+ def setInstanceIdentifier(self, value):
893
+ if value is not None:
894
+ self.instanceIdentifier = value
895
+ return self
896
+
897
+ def getLoadBalancingPriority(self):
898
+ return self.loadBalancingPriority
899
+
900
+ def setLoadBalancingPriority(self, value):
901
+ if value is not None:
902
+ self.loadBalancingPriority = value
903
+ return self
904
+
905
+ def getLoadBalancingWeight(self):
906
+ return self.loadBalancingWeight
627
907
 
908
+ def setLoadBalancingWeight(self, value):
909
+ if value is not None:
910
+ self.loadBalancingWeight = value
911
+ return self
912
+
913
+ def getLocalUnicastAddressRefs(self):
914
+ return self.localUnicastAddressRefs
915
+
916
+ def setLocalUnicastAddressRefs(self, value):
917
+ if value is not None:
918
+ self.localUnicastAddressRefs = value
919
+ return self
920
+
921
+ def getMinorVersion(self):
922
+ return self.minorVersion
923
+
924
+ def setMinorVersion(self, value):
925
+ if value is not None:
926
+ self.minorVersion = value
927
+ return self
928
+
929
+ def getPriority(self):
930
+ return self.priority
931
+
932
+ def setPriority(self, value):
933
+ if value is not None:
934
+ self.priority = value
935
+ return self
936
+
937
+ def getRemoteMulticastSubscriptionAddressRefs(self):
938
+ return self.remoteMulticastSubscriptionAddressRefs
939
+
940
+ def setRemoteMulticastSubscriptionAddressRefs(self, value):
941
+ if value is not None:
942
+ self.remoteMulticastSubscriptionAddressRefs = value
943
+ return self
944
+
945
+ def getRemoteUnicastAddressRefs(self):
946
+ return self.remoteUnicastAddressRefs
947
+
948
+ def setRemoteUnicastAddressRefs(self, value):
949
+ if value is not None:
950
+ self.remoteUnicastAddressRefs = value
951
+ return self
952
+
953
+ def getSdServerConfig(self):
954
+ return self.sdServerConfig
955
+
956
+ def setSdServerConfig(self, value):
957
+ if value is not None:
958
+ self.sdServerConfig = value
959
+ return self
960
+
961
+ def getSdServerTimerConfigRef(self):
962
+ return self.sdServerTimerConfigRef
963
+
964
+ def setSdServerTimerConfigRef(self, value):
965
+ if value is not None:
966
+ self.sdServerTimerConfigRef = value
967
+ return self
968
+
969
+ def getServiceIdentifier(self):
970
+ return self.serviceIdentifier
971
+
972
+ def setServiceIdentifier(self, value):
973
+ if value is not None:
974
+ self.serviceIdentifier = value
975
+ return self
@@ -22,10 +22,8 @@ class LinMaster(LinCommunicationController):
22
22
  def __init__(self, parent: ARObject, short_name: str):
23
23
  super().__init__(parent, short_name)
24
24
 
25
- # type: List[LinSlaveConfig]
26
- self.linSlaves = []
27
- # type: TimeValue
28
- self.timeBase = None
25
+ self.linSlaves = [] # type: List[LinSlaveConfig]
26
+ self.timeBase = None # type: TimeValue
29
27
  self.timeBaseJitter = None # type: TimeValue
30
28
 
31
29
  def getLinSlaves(self):
@@ -2,7 +2,7 @@ from typing import List
2
2
 
3
3
  from ....MSR.Documentation.TextModel.BlockElements import DocumentationBlock
4
4
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType
6
6
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARPositiveInteger
7
7
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
8
8
 
@@ -63,6 +63,66 @@ class ISignalMapping(ARObject):
63
63
  def setTargetSignalRef(self, value):
64
64
  self.targetSignalRef = value
65
65
  return self
66
+
67
+ class DefaultValueElement(ARObject):
68
+ def __init__(self):
69
+ super().__init__()
70
+
71
+ self.elementByteValue = None # type: Integer
72
+ self.elementPosition = None # type: Integer
73
+
74
+ def getElementByteValue(self):
75
+ return self.elementByteValue
76
+
77
+ def setElementByteValue(self, value):
78
+ if value is not None:
79
+ self.elementByteValue = value
80
+ return self
81
+
82
+ def getElementPosition(self):
83
+ return self.elementPosition
84
+
85
+ def setElementPosition(self, value):
86
+ if value is not None:
87
+ self.elementPosition = value
88
+ return self
89
+
90
+ class PduMappingDefaultValue(ARObject):
91
+ def __init__(self):
92
+ super().__init__()
93
+
94
+ self.defaultValueElements = [] # type: List[DefaultValueElement]
95
+
96
+ def getDefaultValueElements(self):
97
+ return self.defaultValueElements
98
+
99
+ def addDefaultValueElements(self, value):
100
+ if value is not None:
101
+ self.defaultValueElements = value
102
+ return self
103
+
104
+ class TargetIPduRef(ARObject):
105
+ def __init__(self):
106
+ super().__init__()
107
+
108
+ self.defaultValue = None # type: PduMappingDefaultValue
109
+ self.targetIPdu = None # type: RefType
110
+
111
+ def getDefaultValue(self):
112
+ return self.defaultValue
113
+
114
+ def setDefaultValue(self, value):
115
+ if value is not None:
116
+ self.defaultValue = value
117
+ return self
118
+
119
+ def getTargetIPdu(self):
120
+ return self.targetIPdu
121
+
122
+ def setTargetIPdu(self, value):
123
+ if value is not None:
124
+ self.targetIPdu = value
125
+ return self
66
126
 
67
127
  class IPduMapping(ARObject):
68
128
  def __init__(self):
@@ -71,36 +131,42 @@ class IPduMapping(ARObject):
71
131
  self.introduction = None # type: DocumentationBlock
72
132
  self.pdurTpChunkSize = None # type: ARPositiveInteger
73
133
  self.sourceIpduRef = None # type: RefType
74
- self.targetIpduRef = None # type: RefType
134
+ self.targetIPdu = None # type: TargetIPduRef
75
135
 
76
136
  def getIntroduction(self):
77
137
  return self.introduction
78
138
 
79
139
  def setIntroduction(self, value):
80
- self.introduction = value
140
+ if value is not None:
141
+ self.introduction = value
81
142
  return self
82
143
 
83
144
  def getPdurTpChunkSize(self):
84
145
  return self.pdurTpChunkSize
85
146
 
86
147
  def setPdurTpChunkSize(self, value):
87
- self.pdurTpChunkSize = value
148
+ if value is not None:
149
+ self.pdurTpChunkSize = value
88
150
  return self
89
151
 
90
152
  def getSourceIpduRef(self):
91
153
  return self.sourceIpduRef
92
154
 
93
155
  def setSourceIpduRef(self, value):
94
- self.sourceIpduRef = value
156
+ if value is not None:
157
+ self.sourceIpduRef = value
95
158
  return self
96
159
 
97
- def getTargetIpduRef(self):
98
- return self.targetIpduRef
160
+ def getTargetIPdu(self):
161
+ return self.targetIPdu
99
162
 
100
- def setTargetIpduRef(self, value):
101
- self.targetIpduRef = value
163
+ def setTargetIPdu(self, value):
164
+ if value is not None:
165
+ self.targetIPdu = value
102
166
  return self
103
167
 
168
+
169
+
104
170
  class Gateway(FibexElement):
105
171
  def __init__(self, parent: ARObject, short_name: str):
106
172
  super().__init__(parent, short_name)
@@ -127,7 +193,7 @@ class Gateway(FibexElement):
127
193
  def getIPduMappings(self) -> List[FrameMapping]:
128
194
  return self.iPduMappings
129
195
 
130
- def addIPduMappings(self, mapping: FrameMapping):
196
+ def addIPduMapping(self, mapping: FrameMapping):
131
197
  self.iPduMappings.append(mapping)
132
198
  return self
133
199
 
@@ -342,15 +342,15 @@ class CommConnectorPort(Identifiable, metaclass = ABCMeta):
342
342
  raise NotImplementedError("CommConnectorPort is an abstract class.")
343
343
 
344
344
  super().__init__(parent, short_name)
345
+
346
+ self.communicationDirection = None # type: CommunicationDirectionType
345
347
 
346
- # type: CommunicationDirectionType
347
- self.communicationDirection = None
348
-
349
- def getCommunicationDirection(self) -> CommunicationDirectionType:
348
+ def getCommunicationDirection(self):
350
349
  return self.communicationDirection
351
350
 
352
- def setCommunicationDirection(self, value: CommunicationDirectionType):
353
- self.communicationDirection = value
351
+ def setCommunicationDirection(self, value):
352
+ if value is not None:
353
+ self.communicationDirection = value
354
354
  return self
355
355
 
356
356
 
@@ -365,9 +365,9 @@ class IPduSignalProcessingEnum(Enum):
365
365
  class IPduPort(CommConnectorPort):
366
366
  def __init__(self, parent: ARObject, short_name: str):
367
367
  super().__init__(parent, short_name)
368
-
369
- # type: IPduSignalProcessingEnum
370
- self.iPduSignalProcessing = None
368
+
369
+ self.iPduSignalProcessing = None # type: IPduSignalProcessingEnum
370
+ self.keyId = None # type: PositiveInteger
371
371
  self.rxSecurityVerification = None # type: Boolean
372
372
  self.timestampRxAcceptanceWindow = None # type: TimeValue
373
373
  self.useAuthDataFreshness = None # type: Boolean
@@ -376,68 +376,90 @@ class IPduPort(CommConnectorPort):
376
376
  return self.iPduSignalProcessing
377
377
 
378
378
  def setIPduSignalProcessing(self, value):
379
- self.iPduSignalProcessing = value
379
+ if value is not None:
380
+ self.iPduSignalProcessing = value
381
+ return self
382
+
383
+ def getKeyId(self):
384
+ return self.keyId
385
+
386
+ def setKeyId(self, value):
387
+ if value is not None:
388
+ self.keyId = value
380
389
  return self
381
390
 
382
391
  def getRxSecurityVerification(self):
383
392
  return self.rxSecurityVerification
384
393
 
385
394
  def setRxSecurityVerification(self, value):
386
- self.rxSecurityVerification = value
395
+ if value is not None:
396
+ self.rxSecurityVerification = value
387
397
  return self
388
398
 
389
399
  def getTimestampRxAcceptanceWindow(self):
390
400
  return self.timestampRxAcceptanceWindow
391
401
 
392
402
  def setTimestampRxAcceptanceWindow(self, value):
393
- self.timestampRxAcceptanceWindow = value
403
+ if value is not None:
404
+ self.timestampRxAcceptanceWindow = value
394
405
  return self
395
406
 
396
407
  def getUseAuthDataFreshness(self):
397
408
  return self.useAuthDataFreshness
398
409
 
399
410
  def setUseAuthDataFreshness(self, value):
400
- self.useAuthDataFreshness = value
411
+ if value is not None:
412
+ self.useAuthDataFreshness = value
401
413
  return self
402
414
 
403
415
  class ISignalPort(CommConnectorPort):
404
416
  def __init__(self, parent: ARObject, short_name: str):
405
417
  super().__init__(parent, short_name)
406
418
 
407
- # type: DataFilter
408
- self.dataFilter = None
419
+ self.dataFilter = None # type: DataFilter
409
420
  self.ddsQosProfileRef = None # type: RefType
410
- # type: TimeValue
411
- self.firstTimeout = None
412
- # type: HandleInvalidEnum
413
- self.handleInvalid = None
421
+ self.firstTimeout = None # type: TimeValue
422
+ self.handleInvalid = None # type: HandleInvalidEnum
423
+ self.timeout = None # type: TimeValue
414
424
 
415
425
  def getDataFilter(self):
416
426
  return self.dataFilter
417
427
 
418
428
  def setDataFilter(self, value):
419
- self.dataFilter = value
429
+ if value is not None:
430
+ self.dataFilter = value
420
431
  return self
421
432
 
422
433
  def getDdsQosProfileRef(self):
423
434
  return self.ddsQosProfileRef
424
435
 
425
436
  def setDdsQosProfileRef(self, value):
426
- self.ddsQosProfileRef = value
437
+ if value is not None:
438
+ self.ddsQosProfileRef = value
427
439
  return self
428
440
 
429
441
  def getFirstTimeout(self):
430
442
  return self.firstTimeout
431
443
 
432
444
  def setFirstTimeout(self, value):
433
- self.firstTimeout = value
445
+ if value is not None:
446
+ self.firstTimeout = value
434
447
  return self
435
448
 
436
449
  def getHandleInvalid(self):
437
450
  return self.handleInvalid
438
451
 
439
452
  def setHandleInvalid(self, value):
440
- self.handleInvalid = value
453
+ if value is not None:
454
+ self.handleInvalid = value
455
+ return self
456
+
457
+ def getTimeout(self):
458
+ return self.timeout
459
+
460
+ def setTimeout(self, value):
461
+ if value is not None:
462
+ self.timeout = value
441
463
  return self
442
464
 
443
465
  class CommunicationConnector(Identifiable, metaclass = ABCMeta):
@@ -1,3 +1,4 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, RefType, TimeValue
1
2
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import EthernetCommunicationConnector, EthernetCommunicationController
2
3
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
3
4
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import CanCommunicationConnector, CanCommunicationController