armodel 1.7.5__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.
Files changed (48) hide show
  1. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +41 -2
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +8 -2
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
  8. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +30 -1
  9. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
  10. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
  11. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
  12. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
  14. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
  15. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
  19. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +409 -17
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +356 -8
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +2 -4
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
  23. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
  24. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +45 -23
  25. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +10 -0
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +633 -5
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +22 -11
  30. armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
  31. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
  32. armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
  33. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
  34. armodel/models/__init__.py +4 -0
  35. armodel/parser/abstract_arxml_parser.py +8 -5
  36. armodel/parser/arxml_parser.py +1229 -572
  37. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
  38. armodel/tests/test_armodel/models/test_datatype.py +1 -1
  39. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
  40. armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
  41. armodel/writer/abstract_arxml_writer.py +7 -6
  42. armodel/writer/arxml_writer.py +1037 -187
  43. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/METADATA +62 -3
  44. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/RECORD +48 -44
  45. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
  46. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
  47. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
  48. {armodel-1.7.5.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
@@ -1,26 +1,644 @@
1
+ from abc import ABCMeta
1
2
  from typing import List
3
+
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
2
7
  from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
3
8
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
9
 
5
- class CanTpConfig(FibexElement):
10
+ class TpConfig(FibexElement, metaclass = ABCMeta):
11
+ def __init__(self, parent: ARObject, short_name: str):
12
+ if type(self) == TpConfig:
13
+ raise NotImplementedError("TpConfig is an abstract class.")
14
+
15
+ super().__init__(parent, short_name)
16
+
17
+ self.communicationClusterRef = None # type: RefType
18
+
19
+ def getCommunicationClusterRef(self):
20
+ return self.communicationClusterRef
21
+
22
+ def setCommunicationClusterRef(self, value):
23
+ if value is not None:
24
+ self.communicationClusterRef = value
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):
6
51
  def __init__(self, parent: ARObject, short_name: str):
7
52
  super().__init__(parent, short_name)
8
53
 
9
- class DoIpTpConfig(FibexElement):
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
+
325
+
326
+
327
+ class CanTpConfig(TpConfig):
328
+ def __init__(self, parent: ARObject, short_name: str):
329
+ super().__init__(parent, short_name)
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
+
439
+ class DoIpTpConfig(TpConfig):
10
440
  def __init__(self, parent: ARObject, short_name: str):
11
441
  super().__init__(parent, short_name)
12
442
 
13
443
  self.doIpLogicAddresses = [] # type: List[DoIpLogicAddress]
14
- self.tpConnections = [] # typeL List[DoIpTpConnection]
444
+ self.tpConnections = [] # type: List[DoIpTpConnection]
15
445
 
16
446
  def getDoIpLogicAddresses(self):
17
447
  return self.doIpLogicAddresses
18
448
 
19
- def addDoIpLogicAddress(self, value):
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)
455
+
456
+ def getTpConnections(self):
457
+ return self.tpConnections
458
+
459
+ def addTpConnection(self, value):
460
+ if value is not None:
461
+ self.tpConnections.append(value)
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):
20
496
  if value is not None:
21
- self.doIpLogicAddresses.append(value)
497
+ self.dataPduRef = value
22
498
  return self
23
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
622
+
623
+
624
+ class LinTpConfig(TpConfig):
625
+ def __init__(self, parent: ARObject, short_name: str):
626
+ super().__init__(parent, short_name)
627
+
628
+ self.tpAddresses = [] # type: List[TpAddress]
629
+ self.tpConnections = [] # type: List[LinTpConnection]
630
+ self.tpNodes = [] # type: List[LinTpNode]
631
+
632
+ def getTpAddresses(self):
633
+ return self.tpAddresses
634
+
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)
641
+
24
642
  def getTpConnections(self):
25
643
  return self.tpConnections
26
644
 
@@ -28,3 +646,13 @@ class DoIpTpConfig(FibexElement):
28
646
  if value is not None:
29
647
  self.tpConnections.append(value)
30
648
  return self
649
+
650
+ def getTpNodes(self):
651
+ return self.tpNodes
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)