armodel 1.7.4__py3-none-any.whl → 1.7.5__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 (29) hide show
  1. armodel/cli/file_list_cli.py +70 -0
  2. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +47 -0
  3. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
  4. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +67 -3
  5. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +9 -0
  6. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +58 -0
  7. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +16 -1
  8. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +114 -0
  9. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +104 -1
  10. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +429 -7
  11. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
  12. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +94 -0
  13. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
  14. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +98 -13
  15. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +13 -1
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +25 -1
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -3
  19. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
  20. armodel/models/__init__.py +3 -0
  21. armodel/parser/abstract_arxml_parser.py +2 -0
  22. armodel/parser/arxml_parser.py +353 -30
  23. armodel/writer/arxml_writer.py +471 -145
  24. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/METADATA +31 -1
  25. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/RECORD +29 -24
  26. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/entry_points.txt +1 -0
  27. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/LICENSE +0 -0
  28. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/WHEEL +0 -0
  29. {armodel-1.7.4.dist-info → armodel-1.7.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ import argparse
2
+ import pkg_resources
3
+ import logging
4
+ import sys
5
+ import os.path
6
+
7
+ from ..parser import FileListParser
8
+
9
+ def format_filename(filename, type: str):
10
+ path, file = os.path.split(filename)
11
+ base, ext = os.path.splitext(file)
12
+ return os.path.join(path, base + "_" + type + ext)
13
+
14
+ def main():
15
+ version = pkg_resources.require("armodel")[0].version
16
+
17
+ ap = argparse.ArgumentParser()
18
+ ap.description = "Parse the folder to generate ARXML file list. <%s>" % version
19
+ ap.add_argument("-v", "--verbose", required= False, help= "Print debug information", action= "store_true")
20
+ ap.add_argument("--absolute", required= False, help="Absolute path or relative Path", action= "store_true")
21
+ ap.add_argument("Input", help = "The path contains ARXML file", nargs='+')
22
+ ap.add_argument("Output", help = "The text contains ARXML file list.")
23
+
24
+ args = ap.parse_args()
25
+
26
+ logger = logging.getLogger()
27
+
28
+ formatter = logging.Formatter('[%(levelname)s] : %(message)s')
29
+
30
+ stdout_handler = logging.StreamHandler(sys.stderr)
31
+ stdout_handler.setFormatter(formatter)
32
+
33
+ base_path = os.path.dirname(args.Output)
34
+ log_file = os.path.join(base_path, 'armodel_file_list.log')
35
+
36
+ if os.path.exists(log_file):
37
+ os.remove(log_file)
38
+
39
+ file_handler = logging.FileHandler(log_file)
40
+ file_handler.setFormatter(formatter)
41
+
42
+ logger.setLevel(logging.DEBUG)
43
+ file_handler.setLevel(logging.DEBUG)
44
+
45
+ if args.verbose:
46
+ stdout_handler.setLevel(logging.DEBUG)
47
+
48
+ else:
49
+ stdout_handler.setLevel(logging.INFO)
50
+
51
+ logger.addHandler(file_handler)
52
+ logger.addHandler(stdout_handler)
53
+
54
+ try:
55
+ file_parser = FileListParser()
56
+ file_parser.parse(args.Input)
57
+
58
+ with open(args.Output, "w") as f_out:
59
+ for filename in file_parser.get_file_list():
60
+ if args.absolute:
61
+ f_out.write("%s\n" % os.path.realpath(filename))
62
+ else:
63
+ f_out.write("%s\n" % os.path.relpath(filename))
64
+
65
+ except Exception as e:
66
+ #print(e)
67
+ raise e
68
+
69
+ if __name__ == "__main__":
70
+ main()
@@ -0,0 +1,47 @@
1
+ from typing import List
2
+
3
+ from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import NameToken, RefType
4
+ from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
6
+
7
+
8
+ class DiagnosticServiceTable(ARElement):
9
+ def __init__(self, parent: ARObject, short_name: str):
10
+ super().__init__(parent, short_name)
11
+
12
+ self.diagnosticConnectionRefs = [] # type: List[RefType]
13
+ self.diagnosticServiceInstanceRefs = [] # type: List[RefType]
14
+ self.ecuInstanceRef = None # type: RefType
15
+ self.protocolKind = None # type: NameToken
16
+
17
+ def getDiagnosticConnectionRefs(self):
18
+ return self.diagnosticConnectionRefs
19
+
20
+ def addDiagnosticConnectionRef(self, value):
21
+ if value is not None:
22
+ self.diagnosticConnectionRefs.append(value)
23
+ return self
24
+
25
+ def getDiagnosticServiceInstanceRefs(self):
26
+ return self.diagnosticServiceInstanceRefs
27
+
28
+ def addDiagnosticServiceInstanceRef(self, value):
29
+ if value is not None:
30
+ self.diagnosticServiceInstanceRefs.append(value)
31
+ return self
32
+
33
+ def getEcuInstanceRef(self):
34
+ return self.ecuInstanceRef
35
+
36
+ def setEcuInstanceRef(self, value):
37
+ if value is not None:
38
+ self.ecuInstanceRef = value
39
+ return self
40
+
41
+ def getProtocolKind(self):
42
+ return self.protocolKind
43
+
44
+ def setProtocolKind(self, value):
45
+ if value is not None:
46
+ self.protocolKind = value
47
+ return self
@@ -1,4 +1,5 @@
1
1
  from typing import Dict, List
2
+
2
3
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Identifier, RefType, ReferrableSubtypesEnum
3
4
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.EcuInstance import EcuInstance
4
5
  from .....M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
@@ -10,11 +11,12 @@ from .....M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstr
10
11
  from .....M2.MSR.AsamHdo.ComputationMethod import CompuMethod
11
12
  from .....M2.MSR.DataDictionary.AuxillaryObjects import SwAddrMethod
12
13
  from .....M2.MSR.DataDictionary.RecordLayout import SwRecordLayout
14
+ from .....M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
13
15
  from .....M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
14
16
  from .....M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
15
17
  from .....M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
16
18
  from .....M2.AUTOSARTemplates.CommonStructure.FlatMap import FlatMap
17
- from .....M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
19
+ from .....M2.AUTOSARTemplates.DiagnosticExtract.DiagnosticContribution import DiagnosticServiceTable
18
20
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
19
21
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Identifiable, Referrable
20
22
  from .....M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfoSet
@@ -22,12 +24,14 @@ from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import Appl
22
24
  from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup
23
25
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
24
26
  from .....M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
27
+ from .....M2.AUTOSARTemplates.SystemTemplate.DiagnosticConnection import DiagnosticConnection
25
28
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrame
26
29
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Multiplatform import Gateway
27
- from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import DcmIPdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, NPdu, NmPdu, SecuredIPdu, SystemSignal, SystemSignalGroup
30
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import DcmIPdu, GeneralPurposeIPdu, GeneralPurposePdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, MultiplexedIPdu, NPdu, NmPdu, SecureCommunicationPropsSet, SecuredIPdu, SystemSignal, SystemSignalGroup, UserDefinedIPdu, UserDefinedPdu
28
31
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CanCluster, LinCluster
29
32
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinUnconditionalFrame
30
33
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import EthernetCluster
34
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SoAdRoutingGroup
31
35
  from .....M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping
32
36
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
33
37
  from .....M2.AUTOSARTemplates.CommonStructure import ConstantSpecification
@@ -36,7 +40,7 @@ from .....M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigura
36
40
  from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerInterface, ModeSwitchInterface, ParameterInterface, PortInterfaceMappingSet, SenderReceiverInterface, TriggerInterface
37
41
  from .....M2.AUTOSARTemplates.SystemTemplate import System
38
42
  from .....M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import NmConfig
39
- from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig
43
+ from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig, DoIpTpConfig
40
44
 
41
45
  class ReferenceBase(ARObject):
42
46
  def __init__(self):
@@ -482,6 +486,66 @@ class ARPackage(Identifiable, CollectableElement):
482
486
  cluster = EthernetCluster(self, short_name)
483
487
  self.addElement(cluster)
484
488
  return self.getElement(short_name)
489
+
490
+ def createDiagnosticConnection(self, short_name: str) -> DiagnosticConnection:
491
+ if (short_name not in self.elements):
492
+ cluster = DiagnosticConnection(self, short_name)
493
+ self.addElement(cluster)
494
+ return self.getElement(short_name)
495
+
496
+ def createDiagnosticServiceTable(self, short_name: str) -> DiagnosticServiceTable:
497
+ if (short_name not in self.elements):
498
+ cluster = DiagnosticServiceTable(self, short_name)
499
+ self.addElement(cluster)
500
+ return self.getElement(short_name)
501
+
502
+ def createMultiplexedIPdu(self, short_name: str) -> MultiplexedIPdu:
503
+ if (short_name not in self.elements):
504
+ cluster = MultiplexedIPdu(self, short_name)
505
+ self.addElement(cluster)
506
+ return self.getElement(short_name)
507
+
508
+ def createUserDefinedIPdu(self, short_name: str) -> UserDefinedIPdu:
509
+ if (short_name not in self.elements):
510
+ cluster = UserDefinedIPdu(self, short_name)
511
+ self.addElement(cluster)
512
+ return self.getElement(short_name)
513
+
514
+ def createUserDefinedPdu(self, short_name: str) -> UserDefinedPdu:
515
+ if (short_name not in self.elements):
516
+ cluster = UserDefinedPdu(self, short_name)
517
+ self.addElement(cluster)
518
+ return self.getElement(short_name)
519
+
520
+ def createGeneralPurposeIPdu(self, short_name: str) -> GeneralPurposeIPdu:
521
+ if (short_name not in self.elements):
522
+ cluster = GeneralPurposeIPdu(self, short_name)
523
+ self.addElement(cluster)
524
+ return self.getElement(short_name)
525
+
526
+ def createGeneralPurposePdu(self, short_name: str) -> GeneralPurposePdu:
527
+ if (short_name not in self.elements):
528
+ cluster = GeneralPurposePdu(self, short_name)
529
+ self.addElement(cluster)
530
+ return self.getElement(short_name)
531
+
532
+ def createSecureCommunicationPropsSet(self, short_name: str) -> SecureCommunicationPropsSet:
533
+ if (short_name not in self.elements):
534
+ cluster = SecureCommunicationPropsSet(self, short_name)
535
+ self.addElement(cluster)
536
+ return self.getElement(short_name)
537
+
538
+ def createSoAdRoutingGroup(self, short_name: str) -> SoAdRoutingGroup:
539
+ if (short_name not in self.elements):
540
+ cluster = SoAdRoutingGroup(self, short_name)
541
+ self.addElement(cluster)
542
+ return self.getElement(short_name)
543
+
544
+ def createDoIpTpConfig(self, short_name: str) -> DoIpTpConfig:
545
+ if (short_name not in self.elements):
546
+ cluster = DoIpTpConfig(self, short_name)
547
+ self.addElement(cluster)
548
+ return self.getElement(short_name)
485
549
 
486
550
  def getApplicationPrimitiveDataTypes(self) -> List[ApplicationPrimitiveDataType]:
487
551
  return list(sorted(filter(lambda a: isinstance(a, ApplicationPrimitiveDataType), self.elements.values()), key= lambda o:o.short_name))
@@ -431,6 +431,15 @@ class RefType(ARObject):
431
431
  self.value = value
432
432
  return self
433
433
 
434
+ def getShortValue(self):
435
+ if self.value is None:
436
+ raise ValueError("Invalid value of RefType")
437
+ m = re.match(r'\/[\w\/]+\/(\w+)', self.value)
438
+ if m:
439
+ return m.group(1)
440
+ return self.value
441
+
442
+
434
443
  class TRefType(RefType):
435
444
  def __init__(self):
436
445
  super().__init__()
@@ -0,0 +1,58 @@
1
+ from typing import List
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
4
+
5
+ class DiagnosticConnection(ARElement):
6
+ def __init__(self, parent, short_name):
7
+ super().__init__(parent, short_name)
8
+
9
+ self.functionalRequestRefs = [] # type: List[RefType]
10
+ self.periodicResponseUudtRefs = [] # type: List[RefType]
11
+ self.physicalRequestRef = None # type: RefType
12
+ self.responseRef = None # type: RefType
13
+ self.responseOnEventRef = None # type: RefType
14
+
15
+ def getFunctionalRequestRefs(self):
16
+ return self.functionalRequestRefs
17
+
18
+ def addFunctionalRequestRef(self, value):
19
+ if value is not None:
20
+ self.functionalRequestRefs.append(value)
21
+ return self
22
+
23
+ def getPeriodicResponseUudtRefs(self):
24
+ return self.periodicResponseUudtRefs
25
+
26
+ def addPeriodicResponseUudtRef(self, value):
27
+ if value is not None:
28
+ self.periodicResponseUudtRefs.append(value)
29
+ return self
30
+
31
+ def getPhysicalRequestRef(self):
32
+ return self.physicalRequestRef
33
+
34
+ def setPhysicalRequestRef(self, value):
35
+ if value is not None:
36
+ self.physicalRequestRef = value
37
+ return self
38
+
39
+ def getResponseRef(self):
40
+ return self.responseRef
41
+
42
+ def setResponseRef(self, value):
43
+ if value is not None:
44
+ self.responseRef = value
45
+ return self
46
+
47
+ def getResponseOnEventRef(self):
48
+ return self.responseOnEventRef
49
+
50
+ def setResponseOnEventRef(self, value):
51
+ if value is not None:
52
+ self.responseOnEventRef = value
53
+ return self
54
+
55
+
56
+
57
+
58
+
@@ -1,7 +1,7 @@
1
1
  from typing import List
2
2
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
3
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Identifier, PositiveInteger, RefType, TimeValue
4
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable, Referrable
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable, Identifiable, Referrable
5
5
 
6
6
  class SocketConnection(Describable):
7
7
  def __init__(self):
@@ -227,3 +227,18 @@ class SocketConnectionBundle(Referrable):
227
227
  def setUdpChecksumHandling(self, value):
228
228
  self.udpChecksumHandling = value
229
229
  return self
230
+
231
+ class SoAdRoutingGroup(Identifiable):
232
+ def __init__(self, parent: ARObject, short_name: str):
233
+ super().__init__(parent, short_name)
234
+
235
+ # type: EventGroupControlTypeEnum
236
+ self.eventGroupControlType = None
237
+
238
+ def getEventGroupControlType(self):
239
+ return self.eventGroupControlType
240
+
241
+ def setEventGroupControlType(self, value):
242
+ if value is not None:
243
+ self.eventGroupControlType = value
244
+ return self
@@ -163,5 +163,119 @@ class EthernetCommunicationConnector(CommunicationConnector):
163
163
  self.pathMtuTimeout = value
164
164
  return self
165
165
 
166
+ class RequestResponseDelay(ARObject):
167
+ def __init__(self):
168
+ super().__init__()
166
169
 
170
+ self.maxValue = None # type: TimeValue
171
+ self.minValue = None # type: TimeValue
172
+
173
+ def getMaxValue(self):
174
+ return self.maxValue
175
+
176
+ def setMaxValue(self, value):
177
+ if value is not None:
178
+ self.maxValue = value
179
+ return self
180
+
181
+ def getMinValue(self):
182
+ return self.minValue
183
+
184
+ def setMinValue(self, value):
185
+ if value is not None:
186
+ self.minValue = value
187
+ return self
188
+
189
+ class InitialSdDelayConfig(ARObject):
190
+ def __init__(self):
191
+ super().__init__()
192
+
193
+ self.initialDelayMaxValue = None # type: TimeValue
194
+ self.initialDelayMinValue = None # type: TimeValue
195
+ self.initialRepetitionsBaseDelay = None # type: TimeValue
196
+ self.initialRepetitionsMax = None # type: PositiveInteger
197
+
198
+ def getInitialDelayMaxValue(self):
199
+ return self.initialDelayMaxValue
200
+
201
+ def setInitialDelayMaxValue(self, value):
202
+ if value is not None:
203
+ self.initialDelayMaxValue = value
204
+ return self
205
+
206
+ def getInitialDelayMinValue(self):
207
+ return self.initialDelayMinValue
208
+
209
+ def setInitialDelayMinValue(self, value):
210
+ if value is not None:
211
+ self.initialDelayMinValue = value
212
+ return self
213
+
214
+ def getInitialRepetitionsBaseDelay(self):
215
+ return self.initialRepetitionsBaseDelay
216
+
217
+ def setInitialRepetitionsBaseDelay(self, value):
218
+ if value is not None:
219
+ self.initialRepetitionsBaseDelay = value
220
+ return self
221
+
222
+ def getInitialRepetitionsMax(self):
223
+ return self.initialRepetitionsMax
224
+
225
+ def setInitialRepetitionsMax(self, value):
226
+ if value is not None:
227
+ self.initialRepetitionsMax = value
228
+ return self
229
+
230
+
231
+ class SdClientConfig(ARObject):
232
+ def __init__(self):
233
+ super().__init__()
234
+
235
+ self.capabilityRecord = None # type: TagWithOptionalValue
236
+ self.clientServiceMajorVersion = None # type: PositiveInteger
237
+ self.clientServiceMinorVersion = None # type: PositiveInteger
238
+ self.initialFindBehavior = None # type: InitialSdDelayConfig
239
+ self.requestResponseDelay = None # type: RequestResponseDelay
240
+ self.ttl = None # type: PositiveInteger
241
+
242
+ def getClientServiceMajorVersion(self):
243
+ return self.clientServiceMajorVersion
244
+
245
+ def setClientServiceMajorVersion(self, value):
246
+ if value is not None:
247
+ self.clientServiceMajorVersion = value
248
+ return self
249
+
250
+ def getClientServiceMinorVersion(self):
251
+ return self.clientServiceMinorVersion
252
+
253
+ def setClientServiceMinorVersion(self, value):
254
+ if value is not None:
255
+ self.clientServiceMinorVersion = value
256
+ return self
257
+
258
+ def getInitialFindBehavior(self):
259
+ return self.initialFindBehavior
260
+
261
+ def setInitialFindBehavior(self, value):
262
+ if value is not None:
263
+ self.initialFindBehavior = value
264
+ return self
265
+
266
+ def getRequestResponseDelay(self):
267
+ return self.requestResponseDelay
268
+
269
+ def setRequestResponseDelay(self, value):
270
+ if value is not None:
271
+ self.requestResponseDelay = value
272
+ return self
273
+
274
+ def getTtl(self):
275
+ return self.ttl
276
+
277
+ def setTtl(self, value):
278
+ if value is not None:
279
+ self.ttl = value
280
+ return self
167
281
 
@@ -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):