armodel 1.7.4__py3-none-any.whl → 1.7.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. armodel/cli/file_list_cli.py +70 -0
  2. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
  4. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +47 -0
  5. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +73 -3
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +22 -0
  8. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +58 -0
  9. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
  10. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +16 -1
  11. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +514 -17
  12. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +104 -1
  13. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +783 -13
  14. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
  15. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +92 -0
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +143 -36
  19. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +13 -0
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +79 -2
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -2
  23. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
  24. armodel/models/__init__.py +3 -0
  25. armodel/parser/abstract_arxml_parser.py +7 -5
  26. armodel/parser/arxml_parser.py +927 -438
  27. armodel/writer/arxml_writer.py +799 -178
  28. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/METADATA +52 -1
  29. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/RECORD +33 -28
  30. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/entry_points.txt +1 -0
  31. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/LICENSE +0 -0
  32. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/WHEEL +0 -0
  33. {armodel-1.7.4.dist-info → armodel-1.7.6.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()
@@ -156,9 +156,9 @@ class ImplementationDataType(AbstractImplementationDataType):
156
156
  return self._struct_type
157
157
 
158
158
  def createSymbolProps(self, short_name: str) -> SymbolProps:
159
- if short_name not in self.element:
159
+ if short_name not in self.elements:
160
160
  symbol_props = SymbolProps(self, short_name)
161
- self.elements[short_name] = symbol_props
161
+ self.addElement(symbol_props)
162
162
  self.symbolProps = symbol_props
163
163
  return self.symbolProps
164
164
 
@@ -56,6 +56,7 @@ class MemorySection(Identifiable):
56
56
 
57
57
  @alignment.setter
58
58
  def alignment(self, value: ARLiteral):
59
+ '''
59
60
  if value is not None and value.getValue() != "":
60
61
  match = False
61
62
  if value.getValue() in ("UNKNOWN", "UNSPECIFIED", "BOOLEAN", "PTR"):
@@ -69,6 +70,9 @@ class MemorySection(Identifiable):
69
70
 
70
71
  if not match:
71
72
  raise ValueError("Invalid alignment <%s> of memory section <%s>" % (value, self.getShortName()))
73
+ '''
74
+ if value is not None:
75
+ self._alignment = value
72
76
 
73
77
  def addOption(self, option: ARLiteral):
74
78
  self.options.append(option)
@@ -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, LinTpConfig
40
44
 
41
45
  class ReferenceBase(ARObject):
42
46
  def __init__(self):
@@ -386,6 +390,12 @@ class ARPackage(Identifiable, CollectableElement):
386
390
  element = CanTpConfig(self, short_name)
387
391
  self.addElement(element)
388
392
  return self.getElement(short_name)
393
+
394
+ def createLinTpConfig(self, short_name: str) -> LinTpConfig:
395
+ if (short_name not in self.elements):
396
+ element = LinTpConfig(self, short_name)
397
+ self.addElement(element)
398
+ return self.getElement(short_name)
389
399
 
390
400
  def createCanFrame(self, short_name: str) -> CanFrame:
391
401
  if (short_name not in self.elements):
@@ -482,6 +492,66 @@ class ARPackage(Identifiable, CollectableElement):
482
492
  cluster = EthernetCluster(self, short_name)
483
493
  self.addElement(cluster)
484
494
  return self.getElement(short_name)
495
+
496
+ def createDiagnosticConnection(self, short_name: str) -> DiagnosticConnection:
497
+ if (short_name not in self.elements):
498
+ cluster = DiagnosticConnection(self, short_name)
499
+ self.addElement(cluster)
500
+ return self.getElement(short_name)
501
+
502
+ def createDiagnosticServiceTable(self, short_name: str) -> DiagnosticServiceTable:
503
+ if (short_name not in self.elements):
504
+ cluster = DiagnosticServiceTable(self, short_name)
505
+ self.addElement(cluster)
506
+ return self.getElement(short_name)
507
+
508
+ def createMultiplexedIPdu(self, short_name: str) -> MultiplexedIPdu:
509
+ if (short_name not in self.elements):
510
+ cluster = MultiplexedIPdu(self, short_name)
511
+ self.addElement(cluster)
512
+ return self.getElement(short_name)
513
+
514
+ def createUserDefinedIPdu(self, short_name: str) -> UserDefinedIPdu:
515
+ if (short_name not in self.elements):
516
+ cluster = UserDefinedIPdu(self, short_name)
517
+ self.addElement(cluster)
518
+ return self.getElement(short_name)
519
+
520
+ def createUserDefinedPdu(self, short_name: str) -> UserDefinedPdu:
521
+ if (short_name not in self.elements):
522
+ cluster = UserDefinedPdu(self, short_name)
523
+ self.addElement(cluster)
524
+ return self.getElement(short_name)
525
+
526
+ def createGeneralPurposeIPdu(self, short_name: str) -> GeneralPurposeIPdu:
527
+ if (short_name not in self.elements):
528
+ cluster = GeneralPurposeIPdu(self, short_name)
529
+ self.addElement(cluster)
530
+ return self.getElement(short_name)
531
+
532
+ def createGeneralPurposePdu(self, short_name: str) -> GeneralPurposePdu:
533
+ if (short_name not in self.elements):
534
+ cluster = GeneralPurposePdu(self, short_name)
535
+ self.addElement(cluster)
536
+ return self.getElement(short_name)
537
+
538
+ def createSecureCommunicationPropsSet(self, short_name: str) -> SecureCommunicationPropsSet:
539
+ if (short_name not in self.elements):
540
+ cluster = SecureCommunicationPropsSet(self, short_name)
541
+ self.addElement(cluster)
542
+ return self.getElement(short_name)
543
+
544
+ def createSoAdRoutingGroup(self, short_name: str) -> SoAdRoutingGroup:
545
+ if (short_name not in self.elements):
546
+ cluster = SoAdRoutingGroup(self, short_name)
547
+ self.addElement(cluster)
548
+ return self.getElement(short_name)
549
+
550
+ def createDoIpTpConfig(self, short_name: str) -> DoIpTpConfig:
551
+ if (short_name not in self.elements):
552
+ cluster = DoIpTpConfig(self, short_name)
553
+ self.addElement(cluster)
554
+ return self.getElement(short_name)
485
555
 
486
556
  def getApplicationPrimitiveDataTypes(self) -> List[ApplicationPrimitiveDataType]:
487
557
  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__()
@@ -484,5 +493,18 @@ class Ip6AddressString(ARLiteral):
484
493
  * xml.xsd.pattern=[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY
485
494
  * xml.xsd.type=string
486
495
  '''
496
+ def __init__(self):
497
+ super().__init__()
498
+
499
+ class MacAddressString(ARLiteral):
500
+ '''
501
+ This primitive specifies a Mac Address. Notation: FF:FF:FF:FF:FF:FF
502
+ Alternative notations, e.g. using dash instead of colon, or another grouping of numbers, is not allowed.
503
+
504
+ Tags:
505
+ * xml.xsd.customType=MAC-ADDRESS-STRING
506
+ * xml.xsd.pattern=([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}
507
+ * xml.xsd.type=string
508
+ '''
487
509
  def __init__(self):
488
510
  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,9 +1,172 @@
1
1
  from abc import ABCMeta
2
2
 
3
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger, TimeValue
4
4
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
5
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
6
6
 
7
+ class CanControllerFdConfiguration(ARObject):
8
+ def __init__(self):
9
+ super().__init__()
10
+
11
+ self.paddingValue = None # type: PositiveInteger
12
+ self.propSeg = None # type: PositiveInteger
13
+ self.sspOffset = None # type: PositiveInteger
14
+ self.syncJumpWidth = None # type: PositiveInteger
15
+ self.timeSeg1 = None # type: PositiveInteger
16
+ self.timeSeg2 = None # type: PositiveInteger
17
+ self.txBitRateSwitch = None # type: Boolean
18
+
19
+ def getPaddingValue(self):
20
+ return self.paddingValue
21
+
22
+ def setPaddingValue(self, value):
23
+ if value is not None:
24
+ self.paddingValue = value
25
+ return self
26
+
27
+ def getPropSeg(self):
28
+ return self.propSeg
29
+
30
+ def setPropSeg(self, value):
31
+ if value is not None:
32
+ self.propSeg = value
33
+ return self
34
+
35
+ def getSspOffset(self):
36
+ return self.sspOffset
37
+
38
+ def setSspOffset(self, value):
39
+ if value is not None:
40
+ self.sspOffset = value
41
+ return self
42
+
43
+ def getSyncJumpWidth(self):
44
+ return self.syncJumpWidth
45
+
46
+ def setSyncJumpWidth(self, value):
47
+ if value is not None:
48
+ self.syncJumpWidth = value
49
+ return self
50
+
51
+ def getTimeSeg1(self):
52
+ return self.timeSeg1
53
+
54
+ def setTimeSeg1(self, value):
55
+ if value is not None:
56
+ self.timeSeg1 = value
57
+ return self
58
+
59
+ def getTimeSeg2(self):
60
+ return self.timeSeg2
61
+
62
+ def setTimeSeg2(self, value):
63
+ if value is not None:
64
+ self.timeSeg2 = value
65
+ return self
66
+
67
+ def getTxBitRateSwitch(self):
68
+ return self.txBitRateSwitch
69
+
70
+ def setTxBitRateSwitch(self, value):
71
+ if value is not None:
72
+ self.txBitRateSwitch = value
73
+ return self
74
+
75
+ class CanControllerFdConfigurationRequirements(ARObject):
76
+ def __init__(self):
77
+ super().__init__()
78
+
79
+ self.maxNumberOfTimeQuantaPerBit = None # type: Integer
80
+ self.maxSamplePoint = None # type: Float
81
+ self.maxSyncJumpWidth = None # type: Float
82
+ self.maxTrcvDelayCompensationOffset = None # type: TimeValue
83
+ self.minNumberOfTimeQuantaPerBit = None # type: Integer
84
+ self.minSamplePoint = None # type: Float
85
+ self.minSyncJumpWidth = None # type: Float
86
+ self.minTrcvDelayCompensationOffset = None # type: TimeValue
87
+ self.paddingValue = None # type: PositiveInteger
88
+ self.txBitRateSwitch = None # type: Boolean
89
+
90
+ def getMaxNumberOfTimeQuantaPerBit(self):
91
+ return self.maxNumberOfTimeQuantaPerBit
92
+
93
+ def setMaxNumberOfTimeQuantaPerBit(self, value):
94
+ if value is not None:
95
+ self.maxNumberOfTimeQuantaPerBit = value
96
+ return self
97
+
98
+ def getMaxSamplePoint(self):
99
+ return self.maxSamplePoint
100
+
101
+ def setMaxSamplePoint(self, value):
102
+ if value is not None:
103
+ self.maxSamplePoint = value
104
+ return self
105
+
106
+ def getMaxSyncJumpWidth(self):
107
+ return self.maxSyncJumpWidth
108
+
109
+ def setMaxSyncJumpWidth(self, value):
110
+ if value is not None:
111
+ self.maxSyncJumpWidth = value
112
+ return self
113
+
114
+ def getMaxTrcvDelayCompensationOffset(self):
115
+ return self.maxTrcvDelayCompensationOffset
116
+
117
+ def setMaxTrcvDelayCompensationOffset(self, value):
118
+ if value is not None:
119
+ self.maxTrcvDelayCompensationOffset = value
120
+ return self
121
+
122
+ def getMinNumberOfTimeQuantaPerBit(self):
123
+ return self.minNumberOfTimeQuantaPerBit
124
+
125
+ def setMinNumberOfTimeQuantaPerBit(self, value):
126
+ if value is not None:
127
+ self.minNumberOfTimeQuantaPerBit = value
128
+ return self
129
+
130
+ def getMinSamplePoint(self):
131
+ return self.minSamplePoint
132
+
133
+ def setMinSamplePoint(self, value):
134
+ if value is not None:
135
+ self.minSamplePoint = value
136
+ return self
137
+
138
+ def getMinSyncJumpWidth(self):
139
+ return self.minSyncJumpWidth
140
+
141
+ def setMinSyncJumpWidth(self, value):
142
+ if value is not None:
143
+ self.minSyncJumpWidth = value
144
+ return self
145
+
146
+ def getMinTrcvDelayCompensationOffset(self):
147
+ return self.minTrcvDelayCompensationOffset
148
+
149
+ def setMinTrcvDelayCompensationOffset(self, value):
150
+ if value is not None:
151
+ self.minTrcvDelayCompensationOffset = value
152
+ return self
153
+
154
+ def getPaddingValue(self):
155
+ return self.paddingValue
156
+
157
+ def setPaddingValue(self, value):
158
+ if value is not None:
159
+ self.paddingValue = value
160
+ return self
161
+
162
+ def getTxBitRateSwitch(self):
163
+ return self.txBitRateSwitch
164
+
165
+ def setTxBitRateSwitch(self, value):
166
+ if value is not None:
167
+ self.txBitRateSwitch = value
168
+ return self
169
+
7
170
  class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta):
8
171
  def __init__(self):
9
172
  super().__init__()
@@ -94,8 +257,6 @@ class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerA
94
257
  self.minSyncJumpWidth = value
95
258
  return self
96
259
 
97
-
98
-
99
260
  class AbstractCanCommunicationController(CommunicationController, metaclass = ABCMeta):
100
261
  def __init__(self, parent: ARObject, short_name: str):
101
262
  if type(self) == AbstractCanCommunicationController:
@@ -111,7 +272,7 @@ class AbstractCanCommunicationController(CommunicationController, metaclass = AB
111
272
  def setCanControllerAttributes(self, value):
112
273
  self.canControllerAttributes = value
113
274
  return self
114
-
275
+
115
276
  class CanCommunicationController(AbstractCanCommunicationController):
116
277
  def __init__(self, parent: ARObject, short_name: str):
117
278
  super().__init__(parent, short_name)
@@ -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