armodel 1.7.6__py3-none-any.whl → 1.7.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/cli/arxml_dump_cli.py +33 -22
- armodel/cli/arxml_format_cli.py +25 -13
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +95 -21
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +359 -59
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +215 -157
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +69 -35
- 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 +113 -39
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +3 -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/EndToEndProtection.py +13 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/EcuResourceMapping.py +45 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +539 -77
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +33 -21
- 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 +8 -0
- armodel/parser/abstract_arxml_parser.py +34 -27
- armodel/parser/arxml_parser.py +1778 -616
- armodel/parser/file_parser.py +5 -3
- armodel/tests/test_armodel/models/test_ar_package.py +6 -11
- 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/models/test_port_interface.py +116 -117
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +54 -22
- armodel/tests/test_armodel/parser/test_system.py +2 -8
- armodel/transformer/__init__.py +0 -0
- armodel/transformer/abstract.py +6 -0
- armodel/transformer/admin_data.py +31 -0
- armodel/writer/abstract_arxml_writer.py +27 -33
- armodel/writer/arxml_writer.py +1875 -599
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/METADATA +81 -3
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/RECORD +69 -56
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/top_level.txt +0 -0
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
2
3
|
|
|
3
|
-
from ....M2.AUTOSARTemplates.
|
|
4
|
+
from ....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import TextTableMapping
|
|
5
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType
|
|
4
6
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
7
|
from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationDirectionType
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
|
|
10
|
+
class DataMapping(ARObject, metaclass=ABCMeta):
|
|
8
11
|
def __init__(self):
|
|
9
|
-
if type(self)
|
|
12
|
+
if type(self) is DataMapping:
|
|
10
13
|
raise NotImplementedError("DataMapping is an abstract class.")
|
|
11
14
|
|
|
12
15
|
super().__init__()
|
|
@@ -20,6 +23,7 @@ class DataMapping(ARObject, metaclass = ABCMeta):
|
|
|
20
23
|
self.introduction = value
|
|
21
24
|
return self
|
|
22
25
|
|
|
26
|
+
|
|
23
27
|
class SenderReceiverToSignalMapping(DataMapping):
|
|
24
28
|
def __init__(self):
|
|
25
29
|
super().__init__()
|
|
@@ -65,13 +69,172 @@ class SenderReceiverToSignalMapping(DataMapping):
|
|
|
65
69
|
self.systemSignalRef = value
|
|
66
70
|
return self
|
|
67
71
|
|
|
72
|
+
|
|
73
|
+
class SenderRecCompositeTypeMapping(ARObject, metaclass=ABCMeta):
|
|
74
|
+
def __init__(self):
|
|
75
|
+
if type(self) is SenderRecCompositeTypeMapping:
|
|
76
|
+
raise NotImplementedError("SenderRecCompositeTypeMapping is an abstract class.")
|
|
77
|
+
|
|
78
|
+
super().__init__()
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class SenderRecRecordElementMapping(ARObject):
|
|
82
|
+
def __init__(self):
|
|
83
|
+
super().__init__()
|
|
84
|
+
|
|
85
|
+
self.applicationRecordElementRef = None # type: RefType
|
|
86
|
+
self.complexTypeMapping = None # type: SenderRecCompositeTypeMapping
|
|
87
|
+
self.implementationRecordElementRef = None # type: RefType
|
|
88
|
+
self.senderToSignalTextTableMapping = None # type: TextTableMapping
|
|
89
|
+
self.signalToReceiverTextTableMapping = None # type: TextTableMapping
|
|
90
|
+
self.systemSignalRef = None # type: RefType
|
|
91
|
+
|
|
92
|
+
def getApplicationRecordElementRef(self):
|
|
93
|
+
return self.applicationRecordElementRef
|
|
94
|
+
|
|
95
|
+
def setApplicationRecordElementRef(self, value):
|
|
96
|
+
if value is not None:
|
|
97
|
+
self.applicationRecordElementRef = value
|
|
98
|
+
return self
|
|
99
|
+
|
|
100
|
+
def getComplexTypeMapping(self):
|
|
101
|
+
return self.complexTypeMapping
|
|
102
|
+
|
|
103
|
+
def setComplexTypeMapping(self, value):
|
|
104
|
+
if value is not None:
|
|
105
|
+
self.complexTypeMapping = value
|
|
106
|
+
return self
|
|
107
|
+
|
|
108
|
+
def getImplementationRecordElementRef(self):
|
|
109
|
+
return self.implementationRecordElementRef
|
|
110
|
+
|
|
111
|
+
def setImplementationRecordElementRef(self, value):
|
|
112
|
+
if value is not None:
|
|
113
|
+
self.implementationRecordElementRef = value
|
|
114
|
+
return self
|
|
115
|
+
|
|
116
|
+
def getSenderToSignalTextTableMapping(self):
|
|
117
|
+
return self.senderToSignalTextTableMapping
|
|
118
|
+
|
|
119
|
+
def setSenderToSignalTextTableMapping(self, value):
|
|
120
|
+
if value is not None:
|
|
121
|
+
self.senderToSignalTextTableMapping = value
|
|
122
|
+
return self
|
|
123
|
+
|
|
124
|
+
def getSignalToReceiverTextTableMapping(self):
|
|
125
|
+
return self.signalToReceiverTextTableMapping
|
|
126
|
+
|
|
127
|
+
def setSignalToReceiverTextTableMapping(self, value):
|
|
128
|
+
if value is not None:
|
|
129
|
+
self.signalToReceiverTextTableMapping = value
|
|
130
|
+
return self
|
|
131
|
+
|
|
132
|
+
def getSystemSignalRef(self):
|
|
133
|
+
return self.systemSignalRef
|
|
134
|
+
|
|
135
|
+
def setSystemSignalRef(self, value):
|
|
136
|
+
if value is not None:
|
|
137
|
+
self.systemSignalRef = value
|
|
138
|
+
return self
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class SenderRecRecordTypeMapping(SenderRecCompositeTypeMapping):
|
|
142
|
+
def __init__(self):
|
|
143
|
+
super().__init__()
|
|
144
|
+
|
|
145
|
+
self.recordElementMappings = [] # type: List[SenderRecRecordElementMapping]
|
|
146
|
+
|
|
147
|
+
def getRecordElementMappings(self):
|
|
148
|
+
return self.recordElementMappings
|
|
149
|
+
|
|
150
|
+
def addRecordElementMapping(self, value):
|
|
151
|
+
if value is not None:
|
|
152
|
+
self.recordElementMappings.append(value)
|
|
153
|
+
return self
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
class IndexedArrayElement(ARObject):
|
|
157
|
+
def __init__(self):
|
|
158
|
+
super().__init__()
|
|
159
|
+
|
|
160
|
+
self.applicationArrayElementRef = None # type: RefType
|
|
161
|
+
self.implementationArrayElementRef = None # type: RefType
|
|
162
|
+
self.index = None # type: Integer
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class SenderRecArrayElementMapping(ARObject):
|
|
166
|
+
def __init__(self):
|
|
167
|
+
super().__init__()
|
|
168
|
+
|
|
169
|
+
self.complexTypeMapping = None # type: SenderRecCompositeTypeMapping
|
|
170
|
+
self.indexedArrayElement = None # type: IndexedArrayElement
|
|
171
|
+
self.systemSignalRef = None # type: RefType
|
|
172
|
+
|
|
173
|
+
def getComplexTypeMapping(self):
|
|
174
|
+
return self.complexTypeMapping
|
|
175
|
+
|
|
176
|
+
def setComplexTypeMapping(self, value):
|
|
177
|
+
if value is not None:
|
|
178
|
+
self.complexTypeMapping = value
|
|
179
|
+
return self
|
|
180
|
+
|
|
181
|
+
def getIndexedArrayElement(self):
|
|
182
|
+
return self.indexedArrayElement
|
|
183
|
+
|
|
184
|
+
def setIndexedArrayElement(self, value):
|
|
185
|
+
if value is not None:
|
|
186
|
+
self.indexedArrayElement = value
|
|
187
|
+
return self
|
|
188
|
+
|
|
189
|
+
def getSystemSignalRef(self):
|
|
190
|
+
return self.systemSignalRef
|
|
191
|
+
|
|
192
|
+
def setSystemSignalRef(self, value):
|
|
193
|
+
if value is not None:
|
|
194
|
+
self.systemSignalRef = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class SenderRecArrayTypeMapping(SenderRecCompositeTypeMapping):
|
|
199
|
+
def __init__(self):
|
|
200
|
+
super().__init__()
|
|
201
|
+
|
|
202
|
+
self.arrayElementMappings = [] # type: List[SenderRecArrayElementMapping]
|
|
203
|
+
self.senderToSignal = None # type: TextTableMapping
|
|
204
|
+
self.signalToReceiverTextTableMapping = None # type: TextTableMapping
|
|
205
|
+
|
|
206
|
+
def getArrayElementMappings(self):
|
|
207
|
+
return self.arrayElementMappings
|
|
208
|
+
|
|
209
|
+
def setArrayElementMappings(self, value):
|
|
210
|
+
if value is not None:
|
|
211
|
+
self.arrayElementMappings = value
|
|
212
|
+
return self
|
|
213
|
+
|
|
214
|
+
def getSenderToSignal(self):
|
|
215
|
+
return self.senderToSignal
|
|
216
|
+
|
|
217
|
+
def setSenderToSignal(self, value):
|
|
218
|
+
if value is not None:
|
|
219
|
+
self.senderToSignal = value
|
|
220
|
+
return self
|
|
221
|
+
|
|
222
|
+
def getSignalToReceiverTextTableMapping(self):
|
|
223
|
+
return self.signalToReceiverTextTableMapping
|
|
224
|
+
|
|
225
|
+
def setSignalToReceiverTextTableMapping(self, value):
|
|
226
|
+
if value is not None:
|
|
227
|
+
self.signalToReceiverTextTableMapping = value
|
|
228
|
+
return self
|
|
229
|
+
|
|
230
|
+
|
|
68
231
|
class SenderReceiverToSignalGroupMapping(DataMapping):
|
|
69
232
|
def __init__(self):
|
|
70
233
|
super().__init__()
|
|
71
234
|
|
|
72
235
|
self.dataElementIRef = None # type: RefType
|
|
73
236
|
self.signalGroupRef = None # type: RefType
|
|
74
|
-
self.typeMapping = None
|
|
237
|
+
self.typeMapping = None # type: SenderRecCompositeTypeMapping
|
|
75
238
|
|
|
76
239
|
def getDataElementIRef(self):
|
|
77
240
|
return self.dataElementIRef
|
|
@@ -93,4 +256,3 @@ class SenderReceiverToSignalGroupMapping(DataMapping):
|
|
|
93
256
|
def setTypeMapping(self, value):
|
|
94
257
|
self.typeMapping = value
|
|
95
258
|
return self
|
|
96
|
-
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
|
|
3
|
+
from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
|
+
|
|
6
|
+
class AbstractDoIpLogicAddressProps(Identifiable, metaclass = ABCMeta):
|
|
7
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
8
|
+
if type(self) == AbstractDoIpLogicAddressProps:
|
|
9
|
+
raise NotImplementedError("AbstractDoIpLogicAddressProps is an abstract class.")
|
|
10
|
+
|
|
11
|
+
super().__init__(parent, short_name)
|
|
12
|
+
|
|
13
|
+
class DoIpLogicTargetAddressProps(AbstractDoIpLogicAddressProps):
|
|
14
|
+
def __init__(self, parent, short_name):
|
|
15
|
+
super().__init__(parent, short_name)
|
|
16
|
+
|
|
17
|
+
class DoIpLogicTesterAddressProps(AbstractDoIpLogicAddressProps):
|
|
18
|
+
def __init__(self, parent, short_name):
|
|
19
|
+
super().__init__(parent, short_name)
|
|
20
|
+
|
|
21
|
+
self.doIpTesterRoutingActivationRef = None # type: RefType
|
|
22
|
+
|
|
23
|
+
def getDoIpTesterRoutingActivationRef(self):
|
|
24
|
+
return self.doIpTesterRoutingActivationRef
|
|
25
|
+
|
|
26
|
+
def setDoIpTesterRoutingActivationRef(self, value):
|
|
27
|
+
if value is not None:
|
|
28
|
+
self.doIpTesterRoutingActivationRef = value
|
|
29
|
+
return self
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
3
|
+
from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ECUMapping(Identifiable):
|
|
7
|
+
def __init__(self, parent, short_name):
|
|
8
|
+
super().__init__(parent, short_name)
|
|
9
|
+
|
|
10
|
+
self.commControllerMappings = [] # type: List[CommunicationControllerMapping]
|
|
11
|
+
self.ecuRef = None # type: RefType
|
|
12
|
+
self.ecuInstanceRef = None # type: RefType
|
|
13
|
+
self.hwPortMappings = [] # type: List[HwPortMapping]
|
|
14
|
+
|
|
15
|
+
def getCommControllerMappings(self):
|
|
16
|
+
return self.commControllerMappings
|
|
17
|
+
|
|
18
|
+
def setCommControllerMappings(self, value):
|
|
19
|
+
if value is not None:
|
|
20
|
+
self.commControllerMappings = value
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getEcuRef(self):
|
|
24
|
+
return self.ecuRef
|
|
25
|
+
|
|
26
|
+
def setEcuRef(self, value):
|
|
27
|
+
if value is not None:
|
|
28
|
+
self.ecuRef = value
|
|
29
|
+
return self
|
|
30
|
+
|
|
31
|
+
def getEcuInstanceRef(self):
|
|
32
|
+
return self.ecuInstanceRef
|
|
33
|
+
|
|
34
|
+
def setEcuInstanceRef(self, value):
|
|
35
|
+
if value is not None:
|
|
36
|
+
self.ecuInstanceRef = value
|
|
37
|
+
return self
|
|
38
|
+
|
|
39
|
+
def getHwPortMappings(self):
|
|
40
|
+
return self.hwPortMappings
|
|
41
|
+
|
|
42
|
+
def setHwPortMappings(self, value):
|
|
43
|
+
if value is not None:
|
|
44
|
+
self.hwPortMappings = value
|
|
45
|
+
return self
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
|
|
3
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveUnlimitedInteger, TimeValue
|
|
4
5
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
6
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
7
|
|
|
8
|
+
|
|
7
9
|
class CanControllerFdConfiguration(ARObject):
|
|
8
10
|
def __init__(self):
|
|
9
11
|
super().__init__()
|
|
@@ -72,6 +74,7 @@ class CanControllerFdConfiguration(ARObject):
|
|
|
72
74
|
self.txBitRateSwitch = value
|
|
73
75
|
return self
|
|
74
76
|
|
|
77
|
+
|
|
75
78
|
class CanControllerFdConfigurationRequirements(ARObject):
|
|
76
79
|
def __init__(self):
|
|
77
80
|
super().__init__()
|
|
@@ -167,7 +170,8 @@ class CanControllerFdConfigurationRequirements(ARObject):
|
|
|
167
170
|
self.txBitRateSwitch = value
|
|
168
171
|
return self
|
|
169
172
|
|
|
170
|
-
|
|
173
|
+
|
|
174
|
+
class AbstractCanCommunicationControllerAttributes(ARObject, metaclass=ABCMeta):
|
|
171
175
|
def __init__(self):
|
|
172
176
|
super().__init__()
|
|
173
177
|
|
|
@@ -204,6 +208,7 @@ class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta
|
|
|
204
208
|
self.canControllerXlRequirements = value
|
|
205
209
|
return self
|
|
206
210
|
|
|
211
|
+
|
|
207
212
|
class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerAttributes):
|
|
208
213
|
def __init__(self):
|
|
209
214
|
super().__init__()
|
|
@@ -257,9 +262,10 @@ class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerA
|
|
|
257
262
|
self.minSyncJumpWidth = value
|
|
258
263
|
return self
|
|
259
264
|
|
|
260
|
-
|
|
265
|
+
|
|
266
|
+
class AbstractCanCommunicationController(CommunicationController, metaclass=ABCMeta):
|
|
261
267
|
def __init__(self, parent: ARObject, short_name: str):
|
|
262
|
-
if type(self)
|
|
268
|
+
if type(self) is AbstractCanCommunicationController:
|
|
263
269
|
raise NotImplementedError("AbstractCanCommunicationController is an abstract class.")
|
|
264
270
|
|
|
265
271
|
super().__init__(parent, short_name)
|
|
@@ -272,63 +278,67 @@ class AbstractCanCommunicationController(CommunicationController, metaclass = AB
|
|
|
272
278
|
def setCanControllerAttributes(self, value):
|
|
273
279
|
self.canControllerAttributes = value
|
|
274
280
|
return self
|
|
275
|
-
|
|
281
|
+
|
|
282
|
+
|
|
276
283
|
class CanCommunicationController(AbstractCanCommunicationController):
|
|
277
284
|
def __init__(self, parent: ARObject, short_name: str):
|
|
278
285
|
super().__init__(parent, short_name)
|
|
279
286
|
|
|
280
|
-
|
|
287
|
+
|
|
288
|
+
class AbstractCanCommunicationConnector(CommunicationConnector, metaclass=ABCMeta):
|
|
281
289
|
def __init__(self, parent: ARObject, short_name: str):
|
|
282
|
-
if type(self)
|
|
290
|
+
if type(self) is AbstractCanCommunicationConnector:
|
|
283
291
|
raise NotImplementedError("AbstractCanCommunicationConnector is an abstract class.")
|
|
284
292
|
|
|
285
293
|
super().__init__(parent, short_name)
|
|
286
294
|
|
|
295
|
+
|
|
287
296
|
class CanCommunicationConnector(AbstractCanCommunicationConnector):
|
|
288
297
|
def __init__(self, parent: ARObject, short_name: str):
|
|
289
|
-
super().__init__(parent, short_name)
|
|
298
|
+
super().__init__(parent, short_name)
|
|
290
299
|
|
|
291
|
-
# type: PositiveInteger
|
|
292
|
-
self.pncWakeupCanId = None
|
|
300
|
+
self.pncWakeupCanId = None # type: PositiveInteger
|
|
293
301
|
self.pncWakeupCanIdExtended = None # type: Boolean
|
|
294
|
-
# type: PositiveInteger
|
|
295
|
-
self.
|
|
296
|
-
# type:
|
|
297
|
-
self.pncWakeupDataMask = None
|
|
298
|
-
# type: PositiveInteger
|
|
299
|
-
self.pncWakeupDlc = None
|
|
302
|
+
self.pncWakeupCanIdMask = None # type: PositiveInteger
|
|
303
|
+
self.pncWakeupDataMask = None # type: PositiveUnlimitedInteger
|
|
304
|
+
self.pncWakeupDlc = None # type: PositiveInteger
|
|
300
305
|
|
|
301
306
|
def getPncWakeupCanId(self):
|
|
302
307
|
return self.pncWakeupCanId
|
|
303
308
|
|
|
304
309
|
def setPncWakeupCanId(self, value):
|
|
305
|
-
|
|
310
|
+
if value is not None:
|
|
311
|
+
self.pncWakeupCanId = value
|
|
306
312
|
return self
|
|
307
313
|
|
|
308
314
|
def getPncWakeupCanIdExtended(self):
|
|
309
315
|
return self.pncWakeupCanIdExtended
|
|
310
316
|
|
|
311
317
|
def setPncWakeupCanIdExtended(self, value):
|
|
312
|
-
|
|
318
|
+
if value is not None:
|
|
319
|
+
self.pncWakeupCanIdExtended = value
|
|
313
320
|
return self
|
|
314
321
|
|
|
315
322
|
def getPncWakeupCanIdMask(self):
|
|
316
323
|
return self.pncWakeupCanIdMask
|
|
317
324
|
|
|
318
325
|
def setPncWakeupCanIdMask(self, value):
|
|
319
|
-
|
|
326
|
+
if value is not None:
|
|
327
|
+
self.pncWakeupCanIdMask = value
|
|
320
328
|
return self
|
|
321
329
|
|
|
322
330
|
def getPncWakeupDataMask(self):
|
|
323
331
|
return self.pncWakeupDataMask
|
|
324
332
|
|
|
325
333
|
def setPncWakeupDataMask(self, value):
|
|
326
|
-
|
|
334
|
+
if value is not None:
|
|
335
|
+
self.pncWakeupDataMask = value
|
|
327
336
|
return self
|
|
328
337
|
|
|
329
338
|
def getPncWakeupDlc(self):
|
|
330
339
|
return self.pncWakeupDlc
|
|
331
340
|
|
|
332
341
|
def setPncWakeupDlc(self, value):
|
|
333
|
-
|
|
342
|
+
if value is not None:
|
|
343
|
+
self.pncWakeupDlc = value
|
|
334
344
|
return self
|
|
@@ -2,13 +2,15 @@ from abc import ABCMeta
|
|
|
2
2
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
3
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
class AbstractEthernetFrame(Frame, metaclass=ABCMeta):
|
|
6
7
|
def __init__(self, parent: ARObject, short_name: str):
|
|
7
|
-
if type(self)
|
|
8
|
+
if type(self) is AbstractEthernetFrame:
|
|
8
9
|
raise NotImplementedError("AbstractEthernetFrame is an abstract class.")
|
|
9
10
|
|
|
10
11
|
super().__init__(parent, short_name)
|
|
11
12
|
|
|
13
|
+
|
|
12
14
|
class GenericEthernetFrame(AbstractEthernetFrame):
|
|
13
15
|
def __init__(self, parent: ARObject, short_name: str):
|
|
14
|
-
super().__init__(parent, short_name)
|
|
16
|
+
super().__init__(parent, short_name)
|
|
@@ -507,6 +507,7 @@ class EthernetCommunicationConnector(CommunicationConnector):
|
|
|
507
507
|
self.ethIpPropsRef = None # type: RefType
|
|
508
508
|
self.maximumTransmissionUnit = None # type: PositiveInteger
|
|
509
509
|
self.neighborCacheSize = None # type: PositiveInteger
|
|
510
|
+
self.networkEndpointRefs = [] # type: List[RefType] ## 4.3.1 Version
|
|
510
511
|
self.pathMtuEnabled = None # type: Boolean
|
|
511
512
|
self.pathMtuTimeout = None # type: TimeValue
|
|
512
513
|
|
|
@@ -530,6 +531,14 @@ class EthernetCommunicationConnector(CommunicationConnector):
|
|
|
530
531
|
def setNeighborCacheSize(self, value):
|
|
531
532
|
self.neighborCacheSize = value
|
|
532
533
|
return self
|
|
534
|
+
|
|
535
|
+
def getNetworkEndpointRefs(self):
|
|
536
|
+
return self.networkEndpointRefs
|
|
537
|
+
|
|
538
|
+
def addNetworkEndpointRef(self, value):
|
|
539
|
+
if value is not None:
|
|
540
|
+
self.networkEndpointRefs.append(value)
|
|
541
|
+
return self
|
|
533
542
|
|
|
534
543
|
def getPathMtuEnabled(self):
|
|
535
544
|
return self.pathMtuEnabled
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame, FrameTriggering
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class FlexrayFrame(Frame):
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlexrayAbsolutelyScheduledTiming(ARObject):
|
|
14
|
+
def __init__(self):
|
|
15
|
+
super().__init__()
|
|
16
|
+
|
|
17
|
+
self.communicationCycle = None # type: CommunicationCycle
|
|
18
|
+
self.slotID = None # type: PositiveInteger
|
|
19
|
+
|
|
20
|
+
def getCommunicationCycle(self):
|
|
21
|
+
return self.communicationCycle
|
|
22
|
+
|
|
23
|
+
def setCommunicationCycle(self, value):
|
|
24
|
+
if value is not None:
|
|
25
|
+
self.communicationCycle = value
|
|
26
|
+
return self
|
|
27
|
+
|
|
28
|
+
def getSlotID(self):
|
|
29
|
+
return self.slotID
|
|
30
|
+
|
|
31
|
+
def setSlotID(self, value):
|
|
32
|
+
if value is not None:
|
|
33
|
+
self.slotID = value
|
|
34
|
+
return self
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class FlexrayFrameTriggering(FrameTriggering):
|
|
38
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
39
|
+
super().__init__(parent, short_name)
|
|
40
|
+
|
|
41
|
+
self.absolutelyScheduledTimings = [] # type: List[FlexrayAbsolutelyScheduledTiming]
|
|
42
|
+
self.allowDynamicLSduLength = None # type: Boolean
|
|
43
|
+
self.messageId = None # type: PositiveInteger
|
|
44
|
+
self.payloadPreambleIndicator = None # type: Boolean
|
|
45
|
+
|
|
46
|
+
def getAbsolutelyScheduledTimings(self):
|
|
47
|
+
return self.absolutelyScheduledTimings
|
|
48
|
+
|
|
49
|
+
def addAbsolutelyScheduledTiming(self, value):
|
|
50
|
+
if value is not None:
|
|
51
|
+
self.absolutelyScheduledTimings.append(value)
|
|
52
|
+
return self
|
|
53
|
+
|
|
54
|
+
def getAllowDynamicLSduLength(self):
|
|
55
|
+
return self.allowDynamicLSduLength
|
|
56
|
+
|
|
57
|
+
def setAllowDynamicLSduLength(self, value):
|
|
58
|
+
if value is not None:
|
|
59
|
+
self.allowDynamicLSduLength = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
def getMessageId(self):
|
|
63
|
+
return self.messageId
|
|
64
|
+
|
|
65
|
+
def setMessageId(self, value):
|
|
66
|
+
if value is not None:
|
|
67
|
+
self.messageId = value
|
|
68
|
+
return self
|
|
69
|
+
|
|
70
|
+
def getPayloadPreambleIndicator(self):
|
|
71
|
+
return self.payloadPreambleIndicator
|
|
72
|
+
|
|
73
|
+
def setPayloadPreambleIndicator(self, value):
|
|
74
|
+
if value is not None:
|
|
75
|
+
self.payloadPreambleIndicator = value
|
|
76
|
+
return self
|