armodel 1.7.6__py3-none-any.whl → 1.7.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +41 -2
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +20 -10
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +4 -0
- armodel/parser/abstract_arxml_parser.py +3 -0
- armodel/parser/arxml_parser.py +614 -123
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
- armodel/writer/abstract_arxml_writer.py +7 -6
- armodel/writer/arxml_writer.py +694 -139
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/METADATA +41 -3
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/RECORD +41 -37
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
from typing import List
|
|
3
3
|
|
|
4
|
-
from ....M2.AUTOSARTemplates.
|
|
4
|
+
from ....M2.AUTOSARTemplates.SystemTemplate.DoIp import AbstractDoIpLogicAddressProps
|
|
5
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
|
|
6
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, PositiveInteger, RefType, TimeValue
|
|
5
7
|
from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
6
8
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
7
9
|
|
|
8
10
|
class TpConfig(FibexElement, metaclass = ABCMeta):
|
|
9
11
|
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
-
if type(self) ==
|
|
11
|
-
raise NotImplementedError("
|
|
12
|
+
if type(self) == TpConfig:
|
|
13
|
+
raise NotImplementedError("TpConfig is an abstract class.")
|
|
12
14
|
|
|
13
15
|
super().__init__(parent, short_name)
|
|
14
16
|
|
|
@@ -21,26 +23,435 @@ class TpConfig(FibexElement, metaclass = ABCMeta):
|
|
|
21
23
|
if value is not None:
|
|
22
24
|
self.communicationClusterRef = value
|
|
23
25
|
return self
|
|
26
|
+
|
|
27
|
+
class CanTpAddress(Identifiable):
|
|
28
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
29
|
+
super().__init__(parent, short_name)
|
|
30
|
+
|
|
31
|
+
self.tpAddress = None # type: Integer
|
|
32
|
+
self.tpAddressExtensionValue = None # type: Integer
|
|
33
|
+
|
|
34
|
+
def getTpAddress(self):
|
|
35
|
+
return self.tpAddress
|
|
36
|
+
|
|
37
|
+
def setTpAddress(self, value):
|
|
38
|
+
if value is not None:
|
|
39
|
+
self.tpAddress = value
|
|
40
|
+
return self
|
|
41
|
+
|
|
42
|
+
def getTpAddressExtensionValue(self):
|
|
43
|
+
return self.tpAddressExtensionValue
|
|
44
|
+
|
|
45
|
+
def setTpAddressExtensionValue(self, value):
|
|
46
|
+
if value is not None:
|
|
47
|
+
self.tpAddressExtensionValue = value
|
|
48
|
+
return self
|
|
49
|
+
|
|
50
|
+
class CanTpChannel(Identifiable):
|
|
51
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
52
|
+
super().__init__(parent, short_name)
|
|
53
|
+
|
|
54
|
+
self.channelId = None # type: PositiveInteger
|
|
55
|
+
self.channelMode = None # type: CanTpChannelModeType
|
|
56
|
+
|
|
57
|
+
def getChannelId(self):
|
|
58
|
+
return self.channelId
|
|
59
|
+
|
|
60
|
+
def setChannelId(self, value):
|
|
61
|
+
if value is not None:
|
|
62
|
+
self.channelId = value
|
|
63
|
+
return self
|
|
64
|
+
|
|
65
|
+
def getChannelMode(self):
|
|
66
|
+
return self.channelMode
|
|
67
|
+
|
|
68
|
+
def setChannelMode(self, value):
|
|
69
|
+
if value is not None:
|
|
70
|
+
self.channelMode = value
|
|
71
|
+
return self
|
|
72
|
+
|
|
73
|
+
class TpConnectionIdent(Referrable):
|
|
74
|
+
def __init__(self, parent, short_name):
|
|
75
|
+
super().__init__(parent, short_name)
|
|
76
|
+
|
|
77
|
+
class TpConnection(ARObject, metaclass = ABCMeta):
|
|
78
|
+
def __init__(self):
|
|
79
|
+
if type(self) == TpConnection:
|
|
80
|
+
raise NotImplementedError("TpConnection is an abstract class.")
|
|
81
|
+
|
|
82
|
+
super().__init__()
|
|
83
|
+
|
|
84
|
+
self.ident = None # type: TpConnectionIdent
|
|
85
|
+
|
|
86
|
+
def getIdent(self):
|
|
87
|
+
return self.ident
|
|
88
|
+
|
|
89
|
+
def createTpConnectionIdent(self, short_name: str):
|
|
90
|
+
ident = TpConnectionIdent(self, short_name)
|
|
91
|
+
self.ident = ident
|
|
92
|
+
return ident
|
|
93
|
+
|
|
94
|
+
class CanTpConnection(TpConnection):
|
|
95
|
+
def __init__(self):
|
|
96
|
+
super().__init__()
|
|
97
|
+
|
|
98
|
+
self.addressingFormat = None # type: CanTpAddressingFormatType
|
|
99
|
+
self.cancellation = None # type: Boolean
|
|
100
|
+
self.canTpChannelRef = None # type: RefType
|
|
101
|
+
self.dataPduRef = None # type: RefType
|
|
102
|
+
self.flowControlPduRef = None # type: RefType
|
|
103
|
+
self.maxBlockSize = None # type: Integer
|
|
104
|
+
self.multicastRef = None # type: RefType
|
|
105
|
+
self.paddingActivation = None # type: Boolean
|
|
106
|
+
self.receiverRefs = [] # type: List[RefType]
|
|
107
|
+
self.taType = None # type: NetworkTargetAddressType
|
|
108
|
+
self.timeoutBr = None # type: TimeValue
|
|
109
|
+
self.timeoutBs = None # type: TimeValue
|
|
110
|
+
self.timeoutCr = None # type: TimeValue
|
|
111
|
+
self.timeoutCs = None # type: TimeValue
|
|
112
|
+
self.tpSduRef = None # type: RefType
|
|
113
|
+
self.transmitterRef = None # type: RefType
|
|
114
|
+
|
|
115
|
+
def getAddressingFormat(self):
|
|
116
|
+
return self.addressingFormat
|
|
117
|
+
|
|
118
|
+
def setAddressingFormat(self, value):
|
|
119
|
+
if value is not None:
|
|
120
|
+
self.addressingFormat = value
|
|
121
|
+
return self
|
|
122
|
+
|
|
123
|
+
def getCancellation(self):
|
|
124
|
+
return self.cancellation
|
|
125
|
+
|
|
126
|
+
def setCancellation(self, value):
|
|
127
|
+
if value is not None:
|
|
128
|
+
self.cancellation = value
|
|
129
|
+
return self
|
|
130
|
+
|
|
131
|
+
def getCanTpChannelRef(self):
|
|
132
|
+
return self.canTpChannelRef
|
|
133
|
+
|
|
134
|
+
def setCanTpChannelRef(self, value):
|
|
135
|
+
if value is not None:
|
|
136
|
+
self.canTpChannelRef = value
|
|
137
|
+
return self
|
|
138
|
+
|
|
139
|
+
def getDataPduRef(self):
|
|
140
|
+
return self.dataPduRef
|
|
141
|
+
|
|
142
|
+
def setDataPduRef(self, value):
|
|
143
|
+
if value is not None:
|
|
144
|
+
self.dataPduRef = value
|
|
145
|
+
return self
|
|
146
|
+
|
|
147
|
+
def getFlowControlPduRef(self):
|
|
148
|
+
return self.flowControlPduRef
|
|
149
|
+
|
|
150
|
+
def setFlowControlPduRef(self, value):
|
|
151
|
+
if value is not None:
|
|
152
|
+
self.flowControlPduRef = value
|
|
153
|
+
return self
|
|
154
|
+
|
|
155
|
+
def getMaxBlockSize(self):
|
|
156
|
+
return self.maxBlockSize
|
|
157
|
+
|
|
158
|
+
def setMaxBlockSize(self, value):
|
|
159
|
+
if value is not None:
|
|
160
|
+
self.maxBlockSize = value
|
|
161
|
+
return self
|
|
162
|
+
|
|
163
|
+
def getMulticastRef(self):
|
|
164
|
+
return self.multicastRef
|
|
165
|
+
|
|
166
|
+
def setMulticastRef(self, value):
|
|
167
|
+
if value is not None:
|
|
168
|
+
self.multicastRef = value
|
|
169
|
+
return self
|
|
170
|
+
|
|
171
|
+
def getPaddingActivation(self):
|
|
172
|
+
return self.paddingActivation
|
|
173
|
+
|
|
174
|
+
def setPaddingActivation(self, value):
|
|
175
|
+
if value is not None:
|
|
176
|
+
self.paddingActivation = value
|
|
177
|
+
return self
|
|
178
|
+
|
|
179
|
+
def getReceiverRefs(self):
|
|
180
|
+
return self.receiverRefs
|
|
181
|
+
|
|
182
|
+
def addReceiverRef(self, value):
|
|
183
|
+
if value is not None:
|
|
184
|
+
self.receiverRefs.append(value)
|
|
185
|
+
return self
|
|
186
|
+
|
|
187
|
+
def getTaType(self):
|
|
188
|
+
return self.taType
|
|
189
|
+
|
|
190
|
+
def setTaType(self, value):
|
|
191
|
+
if value is not None:
|
|
192
|
+
self.taType = value
|
|
193
|
+
return self
|
|
194
|
+
|
|
195
|
+
def getTimeoutBr(self):
|
|
196
|
+
return self.timeoutBr
|
|
197
|
+
|
|
198
|
+
def setTimeoutBr(self, value):
|
|
199
|
+
if value is not None:
|
|
200
|
+
self.timeoutBr = value
|
|
201
|
+
return self
|
|
202
|
+
|
|
203
|
+
def getTimeoutBs(self):
|
|
204
|
+
return self.timeoutBs
|
|
205
|
+
|
|
206
|
+
def setTimeoutBs(self, value):
|
|
207
|
+
if value is not None:
|
|
208
|
+
self.timeoutBs = value
|
|
209
|
+
return self
|
|
210
|
+
|
|
211
|
+
def getTimeoutCr(self):
|
|
212
|
+
return self.timeoutCr
|
|
213
|
+
|
|
214
|
+
def setTimeoutCr(self, value):
|
|
215
|
+
if value is not None:
|
|
216
|
+
self.timeoutCr = value
|
|
217
|
+
return self
|
|
218
|
+
|
|
219
|
+
def getTimeoutCs(self):
|
|
220
|
+
return self.timeoutCs
|
|
221
|
+
|
|
222
|
+
def setTimeoutCs(self, value):
|
|
223
|
+
if value is not None:
|
|
224
|
+
self.timeoutCs = value
|
|
225
|
+
return self
|
|
226
|
+
|
|
227
|
+
def getTpSduRef(self):
|
|
228
|
+
return self.tpSduRef
|
|
229
|
+
|
|
230
|
+
def setTpSduRef(self, value):
|
|
231
|
+
if value is not None:
|
|
232
|
+
self.tpSduRef = value
|
|
233
|
+
return self
|
|
234
|
+
|
|
235
|
+
def getTransmitterRef(self):
|
|
236
|
+
return self.transmitterRef
|
|
237
|
+
|
|
238
|
+
def setTransmitterRef(self, value):
|
|
239
|
+
if value is not None:
|
|
240
|
+
self.transmitterRef = value
|
|
241
|
+
return self
|
|
242
|
+
|
|
243
|
+
class CanTpEcu(ARObject):
|
|
244
|
+
def __init__(self):
|
|
245
|
+
super().__init__()
|
|
246
|
+
|
|
247
|
+
self.cycleTimeMainFunction = None # type: TimeValue
|
|
248
|
+
self.ecuInstanceRef = None # type: RefType
|
|
249
|
+
|
|
250
|
+
def getCycleTimeMainFunction(self):
|
|
251
|
+
return self.cycleTimeMainFunction
|
|
252
|
+
|
|
253
|
+
def setCycleTimeMainFunction(self, value):
|
|
254
|
+
if value is not None:
|
|
255
|
+
self.cycleTimeMainFunction = value
|
|
256
|
+
return self
|
|
257
|
+
|
|
258
|
+
def getEcuInstanceRef(self):
|
|
259
|
+
return self.ecuInstanceRef
|
|
260
|
+
|
|
261
|
+
def setEcuInstanceRef(self, value):
|
|
262
|
+
if value is not None:
|
|
263
|
+
self.ecuInstanceRef = value
|
|
264
|
+
return self
|
|
265
|
+
|
|
266
|
+
class CanTpNode(Identifiable):
|
|
267
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
268
|
+
super().__init__(parent, short_name)
|
|
269
|
+
|
|
270
|
+
self.connectorRef = None # type: RefType
|
|
271
|
+
self.maxFcWait = None # type: Integer
|
|
272
|
+
self.stMin = None # type: TimeValue
|
|
273
|
+
self.timeoutAr = None # type: TimeValue
|
|
274
|
+
self.timeoutAs = None # type: TimeValue
|
|
275
|
+
self.tpAddressRef = None # type: RefType
|
|
276
|
+
|
|
277
|
+
def getConnectorRef(self):
|
|
278
|
+
return self.connectorRef
|
|
279
|
+
|
|
280
|
+
def setConnectorRef(self, value):
|
|
281
|
+
if value is not None:
|
|
282
|
+
self.connectorRef = value
|
|
283
|
+
return self
|
|
284
|
+
|
|
285
|
+
def getMaxFcWait(self):
|
|
286
|
+
return self.maxFcWait
|
|
287
|
+
|
|
288
|
+
def setMaxFcWait(self, value):
|
|
289
|
+
if value is not None:
|
|
290
|
+
self.maxFcWait = value
|
|
291
|
+
return self
|
|
292
|
+
|
|
293
|
+
def getStMin(self):
|
|
294
|
+
return self.stMin
|
|
295
|
+
|
|
296
|
+
def setStMin(self, value):
|
|
297
|
+
if value is not None:
|
|
298
|
+
self.stMin = value
|
|
299
|
+
return self
|
|
300
|
+
|
|
301
|
+
def getTimeoutAr(self):
|
|
302
|
+
return self.timeoutAr
|
|
303
|
+
|
|
304
|
+
def setTimeoutAr(self, value):
|
|
305
|
+
if value is not None:
|
|
306
|
+
self.timeoutAr = value
|
|
307
|
+
return self
|
|
308
|
+
|
|
309
|
+
def getTimeoutAs(self):
|
|
310
|
+
return self.timeoutAs
|
|
311
|
+
|
|
312
|
+
def setTimeoutAs(self, value):
|
|
313
|
+
if value is not None:
|
|
314
|
+
self.timeoutAs = value
|
|
315
|
+
return self
|
|
316
|
+
|
|
317
|
+
def getTpAddressRef(self):
|
|
318
|
+
return self.tpAddressRef
|
|
319
|
+
|
|
320
|
+
def setTpAddressRef(self, value):
|
|
321
|
+
if value is not None:
|
|
322
|
+
self.tpAddressRef = value
|
|
323
|
+
return self
|
|
324
|
+
|
|
24
325
|
|
|
25
326
|
|
|
26
327
|
class CanTpConfig(TpConfig):
|
|
27
328
|
def __init__(self, parent: ARObject, short_name: str):
|
|
28
329
|
super().__init__(parent, short_name)
|
|
29
330
|
|
|
331
|
+
self.tpAddresses = [] # type: List[CanTpAddress]
|
|
332
|
+
self.tpChannels = [] # type: List[CanTpChannel]
|
|
333
|
+
self.tpConnections =[] # type: List[CanTpConnection]
|
|
334
|
+
self.tpEcus = [] # type: List[CanTpEcu]
|
|
335
|
+
self.tpNodes = [] # type: List[CanTpNode]
|
|
336
|
+
|
|
337
|
+
def getTpAddresses(self):
|
|
338
|
+
return self.tpAddresses
|
|
339
|
+
|
|
340
|
+
def createCanTpAddress(self, short_name: str):
|
|
341
|
+
if (not self.IsElementExists(short_name)):
|
|
342
|
+
address = CanTpAddress(self, short_name)
|
|
343
|
+
self.addElement(address)
|
|
344
|
+
self.tpAddresses.append(address)
|
|
345
|
+
return self.getElement(short_name)
|
|
346
|
+
|
|
347
|
+
def getTpChannels(self):
|
|
348
|
+
return self.tpChannels
|
|
349
|
+
|
|
350
|
+
def createCanTpChannel(self, short_name: str):
|
|
351
|
+
if (not self.IsElementExists(short_name)):
|
|
352
|
+
address = CanTpChannel(self, short_name)
|
|
353
|
+
self.addElement(address)
|
|
354
|
+
self.tpChannels.append(address)
|
|
355
|
+
return self.getElement(short_name)
|
|
356
|
+
|
|
357
|
+
def getTpConnections(self):
|
|
358
|
+
return self.tpConnections
|
|
359
|
+
|
|
360
|
+
def addTpConnection(self, value):
|
|
361
|
+
if value is not None:
|
|
362
|
+
self.tpConnections.append(value)
|
|
363
|
+
return self
|
|
364
|
+
|
|
365
|
+
def getTpEcus(self):
|
|
366
|
+
return self.tpEcus
|
|
367
|
+
|
|
368
|
+
def addTpEcu(self, value):
|
|
369
|
+
if value is not None:
|
|
370
|
+
self.tpEcus.append(value)
|
|
371
|
+
return self
|
|
372
|
+
|
|
373
|
+
def getTpNodes(self):
|
|
374
|
+
return self.tpNodes
|
|
375
|
+
|
|
376
|
+
def createCanTpNode(self, short_name: str):
|
|
377
|
+
if (not self.IsElementExists(short_name)):
|
|
378
|
+
address = CanTpNode(self, short_name)
|
|
379
|
+
self.addElement(address)
|
|
380
|
+
self.tpNodes.append(address)
|
|
381
|
+
return self.getElement(short_name)
|
|
382
|
+
|
|
383
|
+
class DoIpLogicAddress(Identifiable):
|
|
384
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
385
|
+
super().__init__(parent, short_name)
|
|
386
|
+
|
|
387
|
+
self.address = None # type: Integer
|
|
388
|
+
self.doIpLogicAddressProps = None # type: AbstractDoIpLogicAddressProps
|
|
389
|
+
|
|
390
|
+
def getAddress(self):
|
|
391
|
+
return self.address
|
|
392
|
+
|
|
393
|
+
def setAddress(self, value):
|
|
394
|
+
if value is not None:
|
|
395
|
+
self.address = value
|
|
396
|
+
return self
|
|
397
|
+
|
|
398
|
+
def getDoIpLogicAddressProps(self):
|
|
399
|
+
return self.doIpLogicAddressProps
|
|
400
|
+
|
|
401
|
+
def setDoIpLogicAddressProps(self, value):
|
|
402
|
+
if value is not None:
|
|
403
|
+
self.doIpLogicAddressProps = value
|
|
404
|
+
return self
|
|
405
|
+
|
|
406
|
+
class DoIpTpConnection(TpConnection):
|
|
407
|
+
def __init__(self):
|
|
408
|
+
super().__init__()
|
|
409
|
+
|
|
410
|
+
self.doIpSourceAddressRef = None # type: RefType
|
|
411
|
+
self.doIpTargetAddressRef = None # type: RefType
|
|
412
|
+
self.tpSduRef = None # type: RefType
|
|
413
|
+
|
|
414
|
+
def getDoIpSourceAddressRef(self):
|
|
415
|
+
return self.doIpSourceAddressRef
|
|
416
|
+
|
|
417
|
+
def setDoIpSourceAddressRef(self, value):
|
|
418
|
+
if value is not None:
|
|
419
|
+
self.doIpSourceAddressRef = value
|
|
420
|
+
return self
|
|
421
|
+
|
|
422
|
+
def getDoIpTargetAddressRef(self):
|
|
423
|
+
return self.doIpTargetAddressRef
|
|
424
|
+
|
|
425
|
+
def setDoIpTargetAddressRef(self, value):
|
|
426
|
+
if value is not None:
|
|
427
|
+
self.doIpTargetAddressRef = value
|
|
428
|
+
return self
|
|
429
|
+
|
|
430
|
+
def getTpSduRef(self):
|
|
431
|
+
return self.tpSduRef
|
|
432
|
+
|
|
433
|
+
def setTpSduRef(self, value):
|
|
434
|
+
if value is not None:
|
|
435
|
+
self.tpSduRef = value
|
|
436
|
+
return self
|
|
437
|
+
|
|
438
|
+
|
|
30
439
|
class DoIpTpConfig(TpConfig):
|
|
31
440
|
def __init__(self, parent: ARObject, short_name: str):
|
|
32
441
|
super().__init__(parent, short_name)
|
|
33
442
|
|
|
34
443
|
self.doIpLogicAddresses = [] # type: List[DoIpLogicAddress]
|
|
35
|
-
self.tpConnections = [] #
|
|
444
|
+
self.tpConnections = [] # type: List[DoIpTpConnection]
|
|
36
445
|
|
|
37
446
|
def getDoIpLogicAddresses(self):
|
|
38
447
|
return self.doIpLogicAddresses
|
|
39
448
|
|
|
40
|
-
def
|
|
41
|
-
if
|
|
42
|
-
self
|
|
43
|
-
|
|
449
|
+
def createDoIpLogicAddress(self, short_name: str):
|
|
450
|
+
if (not self.IsElementExists(short_name)):
|
|
451
|
+
address = DoIpLogicAddress(self, short_name)
|
|
452
|
+
self.addElement(address)
|
|
453
|
+
self.doIpLogicAddresses.append(address)
|
|
454
|
+
return self.getElement(short_name)
|
|
44
455
|
|
|
45
456
|
def getTpConnections(self):
|
|
46
457
|
return self.tpConnections
|
|
@@ -49,7 +460,167 @@ class DoIpTpConfig(TpConfig):
|
|
|
49
460
|
if value is not None:
|
|
50
461
|
self.tpConnections.append(value)
|
|
51
462
|
return self
|
|
463
|
+
|
|
464
|
+
class TpAddress(Identifiable):
|
|
465
|
+
def __init__(self, parent, short_name):
|
|
466
|
+
super().__init__(parent, short_name)
|
|
467
|
+
|
|
468
|
+
self.tpAddress = None # type: Integer
|
|
469
|
+
|
|
470
|
+
def getTpAddress(self):
|
|
471
|
+
return self.tpAddress
|
|
472
|
+
|
|
473
|
+
def setTpAddress(self, value):
|
|
474
|
+
if value is not None:
|
|
475
|
+
self.tpAddress = value
|
|
476
|
+
return self
|
|
477
|
+
|
|
478
|
+
class LinTpConnection(TpConnection):
|
|
479
|
+
def __init__(self):
|
|
480
|
+
super().__init__()
|
|
481
|
+
|
|
482
|
+
self.dataPduRef = None # type: RefType
|
|
483
|
+
self.flowControlRef = None # type: RefType
|
|
484
|
+
self.linTpNSduRef = None # type: RefType
|
|
485
|
+
self.multicastRef = None # type: RefType
|
|
486
|
+
self.receiverRefs = [] # type: List[RefType]
|
|
487
|
+
self.timeoutAs = None # type: TimeValue
|
|
488
|
+
self.timeoutCr = None # type: TimeValue
|
|
489
|
+
self.timeoutCs = None # type: TimeValue
|
|
490
|
+
self.transmitterRef = None # type: RefType
|
|
491
|
+
|
|
492
|
+
def getDataPduRef(self):
|
|
493
|
+
return self.dataPduRef
|
|
494
|
+
|
|
495
|
+
def setDataPduRef(self, value):
|
|
496
|
+
if value is not None:
|
|
497
|
+
self.dataPduRef = value
|
|
498
|
+
return self
|
|
499
|
+
|
|
500
|
+
def getFlowControlRef(self):
|
|
501
|
+
return self.flowControlRef
|
|
502
|
+
|
|
503
|
+
def setFlowControlRef(self, value):
|
|
504
|
+
if value is not None:
|
|
505
|
+
self.flowControlRef = value
|
|
506
|
+
return self
|
|
507
|
+
|
|
508
|
+
def getLinTpNSduRef(self):
|
|
509
|
+
return self.linTpNSduRef
|
|
510
|
+
|
|
511
|
+
def setLinTpNSduRef(self, value):
|
|
512
|
+
if value is not None:
|
|
513
|
+
self.linTpNSduRef = value
|
|
514
|
+
return self
|
|
515
|
+
|
|
516
|
+
def getMulticastRef(self):
|
|
517
|
+
return self.multicastRef
|
|
518
|
+
|
|
519
|
+
def setMulticastRef(self, value):
|
|
520
|
+
if value is not None:
|
|
521
|
+
self.multicastRef = value
|
|
522
|
+
return self
|
|
523
|
+
|
|
524
|
+
def getReceiverRefs(self):
|
|
525
|
+
return self.receiverRefs
|
|
526
|
+
|
|
527
|
+
def addReceiverRef(self, value):
|
|
528
|
+
if value is not None:
|
|
529
|
+
self.receiverRefs.append(value)
|
|
530
|
+
return self
|
|
531
|
+
|
|
532
|
+
def getTimeoutAs(self):
|
|
533
|
+
return self.timeoutAs
|
|
534
|
+
|
|
535
|
+
def setTimeoutAs(self, value):
|
|
536
|
+
if value is not None:
|
|
537
|
+
self.timeoutAs = value
|
|
538
|
+
return self
|
|
539
|
+
|
|
540
|
+
def getTimeoutCr(self):
|
|
541
|
+
return self.timeoutCr
|
|
542
|
+
|
|
543
|
+
def setTimeoutCr(self, value):
|
|
544
|
+
if value is not None:
|
|
545
|
+
self.timeoutCr = value
|
|
546
|
+
return self
|
|
547
|
+
|
|
548
|
+
def getTimeoutCs(self):
|
|
549
|
+
return self.timeoutCs
|
|
550
|
+
|
|
551
|
+
def setTimeoutCs(self, value):
|
|
552
|
+
if value is not None:
|
|
553
|
+
self.timeoutCs = value
|
|
554
|
+
return self
|
|
555
|
+
|
|
556
|
+
def getTransmitterRef(self):
|
|
557
|
+
return self.transmitterRef
|
|
558
|
+
|
|
559
|
+
def setTransmitterRef(self, value):
|
|
560
|
+
if value is not None:
|
|
561
|
+
self.transmitterRef = value
|
|
562
|
+
return self
|
|
563
|
+
|
|
564
|
+
class LinTpNode(Identifiable):
|
|
565
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
566
|
+
super().__init__(parent, short_name)
|
|
567
|
+
|
|
568
|
+
self.connectorRef = None # type: RefType
|
|
569
|
+
self.dropNotRequestedNad = None # type: Boolean
|
|
570
|
+
self.maxNumberOfRespPendingFrames = None # type: Integer
|
|
571
|
+
self.p2Max = None # type: TimeValue
|
|
572
|
+
self.p2Timing = None # type: TimeValue
|
|
573
|
+
self.tpAddressRef = None # type: RefType
|
|
574
|
+
|
|
575
|
+
def getConnectorRef(self):
|
|
576
|
+
return self.connectorRef
|
|
577
|
+
|
|
578
|
+
def setConnectorRef(self, value):
|
|
579
|
+
if value is not None:
|
|
580
|
+
self.connectorRef = value
|
|
581
|
+
return self
|
|
582
|
+
|
|
583
|
+
def getDropNotRequestedNad(self):
|
|
584
|
+
return self.dropNotRequestedNad
|
|
585
|
+
|
|
586
|
+
def setDropNotRequestedNad(self, value):
|
|
587
|
+
if value is not None:
|
|
588
|
+
self.dropNotRequestedNad = value
|
|
589
|
+
return self
|
|
590
|
+
|
|
591
|
+
def getMaxNumberOfRespPendingFrames(self):
|
|
592
|
+
return self.maxNumberOfRespPendingFrames
|
|
593
|
+
|
|
594
|
+
def setMaxNumberOfRespPendingFrames(self, value):
|
|
595
|
+
if value is not None:
|
|
596
|
+
self.maxNumberOfRespPendingFrames = value
|
|
597
|
+
return self
|
|
598
|
+
|
|
599
|
+
def getP2Max(self):
|
|
600
|
+
return self.p2Max
|
|
601
|
+
|
|
602
|
+
def setP2Max(self, value):
|
|
603
|
+
if value is not None:
|
|
604
|
+
self.p2Max = value
|
|
605
|
+
return self
|
|
606
|
+
|
|
607
|
+
def getP2Timing(self):
|
|
608
|
+
return self.p2Timing
|
|
609
|
+
|
|
610
|
+
def setP2Timing(self, value):
|
|
611
|
+
if value is not None:
|
|
612
|
+
self.p2Timing = value
|
|
613
|
+
return self
|
|
614
|
+
|
|
615
|
+
def getTpAddressRef(self):
|
|
616
|
+
return self.tpAddressRef
|
|
617
|
+
|
|
618
|
+
def setTpAddressRef(self, value):
|
|
619
|
+
if value is not None:
|
|
620
|
+
self.tpAddressRef = value
|
|
621
|
+
return self
|
|
52
622
|
|
|
623
|
+
|
|
53
624
|
class LinTpConfig(TpConfig):
|
|
54
625
|
def __init__(self, parent: ARObject, short_name: str):
|
|
55
626
|
super().__init__(parent, short_name)
|
|
@@ -61,10 +632,12 @@ class LinTpConfig(TpConfig):
|
|
|
61
632
|
def getTpAddresses(self):
|
|
62
633
|
return self.tpAddresses
|
|
63
634
|
|
|
64
|
-
def
|
|
65
|
-
if
|
|
66
|
-
self
|
|
67
|
-
|
|
635
|
+
def createTpAddress(self, short_name: str):
|
|
636
|
+
if (not self.IsElementExists(short_name)):
|
|
637
|
+
address = TpAddress(self, short_name)
|
|
638
|
+
self.addElement(address)
|
|
639
|
+
self.tpAddresses.append(address)
|
|
640
|
+
return self.getElement(short_name)
|
|
68
641
|
|
|
69
642
|
def getTpConnections(self):
|
|
70
643
|
return self.tpConnections
|
|
@@ -76,8 +649,10 @@ class LinTpConfig(TpConfig):
|
|
|
76
649
|
|
|
77
650
|
def getTpNodes(self):
|
|
78
651
|
return self.tpNodes
|
|
79
|
-
|
|
80
|
-
def
|
|
81
|
-
if
|
|
82
|
-
self
|
|
83
|
-
|
|
652
|
+
|
|
653
|
+
def createLinTpNode(self, short_name: str):
|
|
654
|
+
if (not self.IsElementExists(short_name)):
|
|
655
|
+
address = LinTpNode(self, short_name)
|
|
656
|
+
self.addElement(address)
|
|
657
|
+
self.tpNodes.append(address)
|
|
658
|
+
return self.getElement(short_name)
|