py-eb-model 1.0.0__py3-none-any.whl → 1.0.2__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.
eb_model/models/os_xdm.py CHANGED
@@ -1,220 +1,969 @@
1
1
  from typing import List
2
2
 
3
- from ..models.abstract import EcucObject
3
+ from ..models.abstract import EcucContainer, EcucObject, EcucRefType
4
4
 
5
- class OsApplication:
6
- def __init__(self) -> None:
7
- pass
8
5
 
9
- class OsCounter:
10
- def __init__(self) -> None:
11
- pass
6
+ class OsAlarmAction(EcucContainer):
7
+ def __init__(self, parent, name) -> None:
8
+ super().__init__(parent, name)
9
+
10
+
11
+ class OsAlarmAutostart(EcucContainer):
12
+ def __init__(self, parent, name) -> None:
13
+ super().__init__(parent, name)
14
+
15
+ self.osAlarmAlarmTime = None
16
+ self.osAlarmAutostartType = None
17
+ self.osAlarmCycleTime = None
18
+ self.osAlarmAppModeRefs = []
19
+
20
+ def getOsAlarmAlarmTime(self):
21
+ return self.osAlarmAlarmTime
22
+
23
+ def setOsAlarmAlarmTime(self, value):
24
+ self.osAlarmAlarmTime = value
25
+
26
+ def getOsAlarmAutostartType(self):
27
+ return self.osAlarmAutostartType
28
+
29
+ def setOsAlarmAutostartType(self, value):
30
+ self.osAlarmAutostartType = value
31
+
32
+ def getOsAlarmCycleTime(self):
33
+ return self.osAlarmCycleTime
34
+
35
+ def setOsAlarmCycleTime(self, value):
36
+ self.osAlarmCycleTime = value
37
+
38
+ def getOsAlarmAppModeRefs(self) -> List[EcucRefType]:
39
+ return self.osAlarmAppModeRefs
40
+
41
+ def addOsAlarmAppModeRef(self, ref: EcucRefType):
42
+ self.osAlarmAppModeRefs.append(ref)
43
+
44
+
45
+ class OsAlarmActivateTask(OsAlarmAction):
46
+ def __init__(self, parent, name) -> None:
47
+ super().__init__(parent, name)
48
+
49
+ self.osAlarmActivateTaskRef = None
50
+
51
+ def getOsAlarmActivateTaskRef(self) -> EcucRefType:
52
+ return self.osAlarmActivateTaskRef
53
+
54
+ def setOsAlarmActivateTaskRef(self, value: EcucRefType):
55
+ self.osAlarmActivateTaskRef = value
56
+
57
+
58
+ class OsAlarmCallback(OsAlarmAction):
59
+ def __init__(self, parent, name) -> None:
60
+ super().__init__(parent, name)
61
+
62
+ self.osAlarmCallbackName = None
63
+ self.osMemoryMappingCodeLocationRef = None
64
+
65
+ def getOsAlarmCallbackName(self):
66
+ return self.osAlarmCallbackName
67
+
68
+ def setOsAlarmCallbackName(self, value):
69
+ self.osAlarmCallbackName = value
70
+
71
+ def getOsMemoryMappingCodeLocationRef(self):
72
+ return self.osMemoryMappingCodeLocationRef
73
+
74
+ def setOsMemoryMappingCodeLocationRef(self, value):
75
+ self.osMemoryMappingCodeLocationRef = value
76
+
77
+
78
+ class OsAlarmIncrementCounter(OsAlarmAction):
79
+ def __init__(self, parent, name) -> None:
80
+ super().__init__(parent, name)
81
+
82
+ self.osAlarmIncrementCounterRef = None
83
+
84
+ def getOsAlarmIncrementCounterRef(self):
85
+ return self.osAlarmIncrementCounterRef
86
+
87
+ def setOsAlarmIncrementCounterRef(self, value):
88
+ self.osAlarmIncrementCounterRef = value
89
+
90
+
91
+ class OsAlarmSetEvent(OsAlarmAction):
92
+ def __init__(self, parent, name) -> None:
93
+ super().__init__(parent, name)
94
+
95
+ self.osAlarmSetEventRef = None
96
+ self.osAlarmSetEventTaskRef = None
97
+
98
+ def getOsAlarmSetEventRef(self) -> EcucRefType:
99
+ return self.osAlarmSetEventRef
100
+
101
+ def setOsAlarmSetEventRef(self, value: EcucRefType):
102
+ self.osAlarmSetEventRef = value
103
+ return self
104
+
105
+ def getOsAlarmSetEventTaskRef(self) -> EcucRefType:
106
+ return self.osAlarmSetEventTaskRef
107
+
108
+ def setOsAlarmSetEventTaskRef(self, value: EcucRefType):
109
+ self.osAlarmSetEventTaskRef = value
110
+ return self
111
+
112
+
113
+ class OsAlarm(EcucContainer):
114
+ def __init__(self, parent, name) -> None:
115
+ super().__init__(parent, name)
116
+
117
+ self.osAlarmAccessingApplicationRefs = [] # type: List[EcucRefType]
118
+ self.osAlarmCounterRef = None
119
+ self.osAlarmAction = None # type: OsAlarmAction
120
+ self.osAlarmAutostart = None
121
+
122
+ def getOsAlarmAccessingApplicationRefList(self) -> List[EcucRefType]:
123
+ return self.osAlarmAccessingApplicationRefs
124
+
125
+ def addOsAlarmAccessingApplicationRef(self, ref: EcucRefType):
126
+ self.osAlarmAccessingApplicationRefs.append(ref)
127
+ return self
128
+
129
+ def getOsAlarmCounterRef(self) -> EcucRefType:
130
+ return self.osAlarmCounterRef
131
+
132
+ def setOsAlarmCounterRef(self, value: EcucRefType):
133
+ self.osAlarmCounterRef = value
134
+ return self
135
+
136
+ def getOsAlarmAction(self) -> OsAlarmAction:
137
+ return self.osAlarmAction
138
+
139
+ def setOsAlarmAction(self, value: OsAlarmAction):
140
+ self.osAlarmAction = value
141
+ return self
142
+
143
+ def getOsAlarmAutostart(self) -> OsAlarmAutostart:
144
+ return self.osAlarmAutostart
145
+
146
+ def setOsAlarmAutostart(self, value: OsAlarmAutostart):
147
+ self.osAlarmAutostart = value
148
+ return self
149
+
150
+ def __str__(self) -> str:
151
+ result = []
152
+ result.append("Name : %s" % self.getName())
153
+ result.append("Full Name : %s" % self.getFullName())
154
+ result.append("OsAlarmCounterRef : %s" %
155
+ self.getOsAlarmCounterRef())
156
+ result.append("OsAlarmAccessingApplication :")
157
+ for ref in self.getOsAlarmAccessingApplicationRefList():
158
+ result.append(" - %s" % ref)
159
+
160
+ return "\n".join(result)
161
+
162
+ class OsApplicationHooks(EcucContainer):
163
+ def __init__(self, parent, name):
164
+ super().__init__(parent, name)
165
+
166
+ self.OsAppErrorHook = False # type: bool
167
+ self.OsAppShutdownHook = False # type: bool
168
+ self.OsAppStartupHook = False # type: bool
169
+ self.OsMemoryMappingCodeLocationRef = None # type: EcucRefType
170
+
171
+ def getOsAppErrorHook(self):
172
+ return self.OsAppErrorHook
173
+
174
+ def setOsAppErrorHook(self, value):
175
+ self.OsAppErrorHook = value
176
+ return self
177
+
178
+ def getOsAppShutdownHook(self):
179
+ return self.OsAppShutdownHook
180
+
181
+ def setOsAppShutdownHook(self, value):
182
+ self.OsAppShutdownHook = value
183
+ return self
184
+
185
+ def getOsAppStartupHook(self):
186
+ return self.OsAppStartupHook
187
+
188
+ def setOsAppStartupHook(self, value):
189
+ self.OsAppStartupHook = value
190
+ return self
191
+
192
+ def getOsMemoryMappingCodeLocationRef(self):
193
+ return self.OsMemoryMappingCodeLocationRef
194
+
195
+ def setOsMemoryMappingCodeLocationRef(self, value):
196
+ self.OsMemoryMappingCodeLocationRef = value
197
+ return self
198
+
199
+ class OsApplicationTrustedFunction(EcucContainer):
200
+ def __init__(self, parent, name):
201
+ super().__init__(parent, name)
202
+
203
+ self.OsTrustedFunctionName = None # type: str
204
+ self.OsMemoryMappingCodeLocationRef = None # type: EcucRefType
205
+
206
+ def getOsTrustedFunctionName(self):
207
+ return self.OsTrustedFunctionName
208
+
209
+ def setOsTrustedFunctionName(self, value):
210
+ self.OsTrustedFunctionName = value
211
+ return self
212
+
213
+ def getOsMemoryMappingCodeLocationRef(self):
214
+ return self.OsMemoryMappingCodeLocationRef
215
+
216
+ def setOsMemoryMappingCodeLocationRef(self, value):
217
+ self.OsMemoryMappingCodeLocationRef = value
218
+ return self
219
+ class OsAppMode(EcucContainer):
220
+ def __init__(self, parent, name):
221
+ super().__init__(parent, name)
222
+ class OsApplication(EcucContainer):
223
+ def __init__(self, parent, name) -> None:
224
+ super().__init__(parent, name)
225
+
226
+ self.OsTrusted = False # type: bool
227
+ self.OsTrustedApplicationDelayTimingViolationCall = False # type: bool
228
+ self.OsTrustedApplicationWithProtection = False # type: bool
229
+ self.OsAppAlarmRefs = [] # type: List[EcucRefType]
230
+ self.OsAppCounterRefs = [] # type: List[EcucRefType]
231
+ self.OsAppEcucPartitionRefs = [] # type: List[EcucRefType]
232
+ self.OsAppIsrRefs = [] # type: List[EcucRefType]
233
+ self.OsApplicationCoreRefs = [] # type: List[EcucRefType]
234
+ self.OsAppScheduleTableRefs = [] # type: List[EcucRefType]
235
+ self.OsAppTaskRefs = [] # type: List[EcucRefType]
236
+ self.OsMemoryMappingCodeLocationRef = None # type: EcucRefType
237
+ self.OsRestartTask = None # type: EcucRefType
238
+
239
+ '''
240
+ EB Tresos
241
+ '''
242
+ self.OsAppResourceRefs = [] # type: List[EcucRefType]
243
+
244
+ def getOsTrusted(self):
245
+ return self.OsTrusted
246
+
247
+ def setOsTrusted(self, value):
248
+ self.OsTrusted = value
249
+ return self
250
+
251
+ def getOsTrustedApplicationDelayTimingViolationCall(self):
252
+ return self.OsTrustedApplicationDelayTimingViolationCall
253
+
254
+ def setOsTrustedApplicationDelayTimingViolationCall(self, value):
255
+ self.OsTrustedApplicationDelayTimingViolationCall = value
256
+ return self
257
+
258
+ def getOsTrustedApplicationWithProtection(self):
259
+ return self.OsTrustedApplicationWithProtection
260
+
261
+ def setOsTrustedApplicationWithProtection(self, value):
262
+ self.OsTrustedApplicationWithProtection = value
263
+ return self
264
+
265
+ def getOsAppAlarmRefs(self):
266
+ return self.OsAppAlarmRefs
267
+
268
+ def addOsAppAlarmRef(self, value):
269
+ self.OsAppAlarmRefs.append(value)
270
+ return self
271
+
272
+ def getOsAppCounterRefs(self):
273
+ return self.OsAppCounterRefs
274
+
275
+ def addOsAppCounterRefs(self, value):
276
+ self.OsAppCounterRefs.append(value)
277
+ return self
278
+
279
+ def getOsAppEcucPartitionRefs(self):
280
+ return self.OsAppEcucPartitionRefs
281
+
282
+ def addOsAppEcucPartitionRefs(self, value):
283
+ self.OsAppEcucPartitionRefs.append(value)
284
+ return self
285
+
286
+ def getOsAppIsrRefs(self):
287
+ return self.OsAppIsrRefs
288
+
289
+ def addOsAppIsrRefs(self, value):
290
+ self.OsAppIsrRefs.append(value)
291
+ return self
292
+
293
+ def getOsApplicationCoreRefs(self):
294
+ return self.OsApplicationCoreRefs
295
+
296
+ def addOsApplicationCoreRefs(self, value):
297
+ self.OsApplicationCoreRefs.append(value)
298
+ return self
299
+
300
+ def getOsAppScheduleTableRefs(self):
301
+ return self.OsAppScheduleTableRefs
302
+
303
+ def addOsAppScheduleTableRef(self, value):
304
+ self.OsAppScheduleTableRefs.append(value)
305
+ return self
306
+
307
+ def getOsAppTaskRefs(self):
308
+ return self.OsAppTaskRefs
309
+
310
+ def addOsAppTaskRefs(self, value):
311
+ self.OsAppTaskRefs.append(value)
312
+ return self
313
+
314
+ def getOsMemoryMappingCodeLocationRef(self):
315
+ return self.OsMemoryMappingCodeLocationRef
316
+
317
+ def setOsMemoryMappingCodeLocationRef(self, value):
318
+ self.OsMemoryMappingCodeLocationRef = value
319
+ return self
320
+
321
+ def getOsRestartTask(self):
322
+ return self.OsRestartTask
323
+
324
+ def setOsRestartTask(self, value):
325
+ self.OsRestartTask = value
326
+ return self
327
+
328
+ def getOsAppResourceRefs(self):
329
+ return self.OsAppResourceRefs
330
+
331
+ def addOsAppResourceRef(self, value):
332
+ self.OsAppResourceRefs.append(value)
333
+ return self
334
+
335
+
336
+ class OsDriver(EcucContainer):
337
+ def __init__(self, parent, name) -> None:
338
+ super().__init__(parent, name)
339
+
340
+ self.osGptChannelRef = None
341
+
342
+ def getOsGptChannelRef(self) -> EcucRefType:
343
+ '''
344
+ Multiplicity: 0..1
345
+ '''
346
+ return self.osGptChannelRef
347
+
348
+ def setOsGptChannelRef(self, value: EcucRefType):
349
+ '''
350
+ Multiplicity: 0..1
351
+ '''
352
+ self.osGptChannelRef = value
353
+ return self
354
+
355
+
356
+ class OsTimeConstant(EcucContainer):
357
+ def __init__(self, parent, name) -> None:
358
+ super().__init__(parent, name)
359
+
360
+ self.osTimeValue = None
361
+
362
+ def getOsTimeValue(self):
363
+ '''
364
+ Multiplicity: 1
365
+ '''
366
+ return self.osTimeValue
367
+
368
+ def setOsTimeValue(self, value):
369
+ '''
370
+ Multiplicity: 1
371
+ '''
372
+ self.osTimeValue = value
373
+ return self
374
+
375
+ class OsCounter(EcucContainer):
376
+
377
+ OS_COUNTER_TYPE_HARDWARE = "HARDWARE"
378
+ OS_COUNTER_TYPE_SOFTWARE = "SOFTWARE"
379
+
380
+ def __init__(self, parent, name) -> None:
381
+ super().__init__(parent, name)
382
+
383
+ self.osCounterMaxAllowedValue = None #
384
+ self.osCounterMinCycle = None #
385
+ self.osCounterTicksPerBase = None #
386
+ self.osCounterType = None #
387
+ self.osSecondsPerTick = None #
388
+ self.osCounterAccessingApplications = [] #
389
+ self.osDriver = None # Multiplicity: 0..1
390
+ self.osTimeConstants = [] # Multiplicity: 0..*
391
+
392
+ def getOsCounterMaxAllowedValue(self):
393
+ return self.osCounterMaxAllowedValue
394
+
395
+ def setOsCounterMaxAllowedValue(self, value):
396
+ '''
397
+ Multiplicity: 1
398
+ '''
399
+ self.osCounterMaxAllowedValue = value
400
+ return self
401
+
402
+ def getOsCounterMinCycle(self):
403
+ '''
404
+ Multiplicity: 1
405
+ '''
406
+ return self.osCounterMinCycle
407
+
408
+ def setOsCounterMinCycle(self, value):
409
+ '''
410
+ Multiplicity: 1
411
+ '''
412
+ self.osCounterMinCycle = value
413
+ return self
414
+
415
+ def getOsCounterTicksPerBase(self):
416
+ '''
417
+ Multiplicity: 1
418
+ '''
419
+ return self.osCounterTicksPerBase
420
+
421
+ def setOsCounterTicksPerBase(self, value):
422
+ '''
423
+ Multiplicity: 1
424
+ '''
425
+ self.osCounterTicksPerBase = value
426
+ return self
427
+
428
+ def getOsCounterType(self):
429
+ return self.osCounterType
12
430
 
13
- class OsResource:
431
+ def setOsCounterType(self, value):
432
+ '''
433
+ Multiplicity: 1
434
+ '''
435
+ self.osCounterType = value
436
+ return self
437
+
438
+ def getOsSecondsPerTick(self):
439
+ return self.osSecondsPerTick
440
+
441
+ def setOsSecondsPerTick(self, value):
442
+ '''
443
+ Multiplicity: 0..1
444
+ '''
445
+ self.osSecondsPerTick = value
446
+ return self
447
+
448
+ def getOsCounterAccessingApplicationList(self):
449
+ '''
450
+ Multiplicity: 0..*
451
+ '''
452
+ return self.osCounterAccessingApplications
453
+
454
+ def setOsCounterAccessingApplications(self, value):
455
+ self.osCounterAccessingApplications.append(value)
456
+ return self
457
+
458
+ def getOsDriver(self):
459
+ return self.osDriver
460
+
461
+ def setOsDriver(self, value):
462
+ self.osDriver = value
463
+ return self
464
+
465
+ def getOsTimeConstants(self):
466
+ return self.osTimeConstants
467
+
468
+ def setOsTimeConstants(self, value):
469
+ self.osTimeConstants = value
470
+ return self
471
+
472
+
473
+
474
+ class OsResource(EcucContainer):
14
475
  def __init__(self) -> None:
15
476
  pass
16
477
 
17
- class OsIsrResourceLock:
478
+
479
+ class OsIsrResourceLock(EcucContainer):
18
480
  def __init__(self) -> None:
19
- self.OsIsrResourceLockBudget = None
20
- self.OsIsrResourceLockResourceRef = None
481
+ self.osIsrResourceLockBudget = None
482
+ self.osIsrResourceLockResourceRef = None
21
483
 
22
484
 
23
- class OsIsrTimingProtection:
485
+ class OsIsrTimingProtection(EcucObject):
24
486
  def __init__(self) -> None:
25
- self.OsIsrAllInterruptLockBudget = None
26
- self.OsIsrExecutionBudget = None
27
- self.OsIsrOsInterruptLockBudget = None
28
- self.OsIsrTimeFrame = None
29
- self.OsIsrResourceLock = OsIsrResourceLock()
487
+ self.osIsrAllInterruptLockBudget = None
488
+ self.osIsrExecutionBudget = None
489
+ self.osIsrOsInterruptLockBudget = None
490
+ self.osIsrTimeFrame = None
491
+ self.osIsrResourceLock = OsIsrResourceLock()
492
+
30
493
 
31
494
  class OsIsr(EcucObject):
32
495
  '''
33
496
  The OsIsr container represents an ISO 17356 interrupt service routine.
34
497
  '''
35
-
498
+
36
499
  OS_ISR_CATEGORY_1 = "CATEGORY_1" # Interrupt is of category 1
37
500
  OS_ISR_CATEGORY_2 = "CATEGORY_2" # Interrupt is of category 2
38
501
 
39
- def __init__(self) -> None:
40
- self.OsIsrCategory = None
41
- self.OsIsrPeriod = None
42
- self.OsIsrResourceRef = None
43
- self.OsMemoryMappingCodeLocationRef = None
44
- self.OsIsrTimingProtection = OsIsrTimingProtection() # type: OsIsrTimingProtection
502
+ def __init__(self, parent, name) -> None:
503
+ super().__init__(parent, name)
504
+
505
+ self.osIsrCategory = None
506
+ self.osIsrPeriod = None
507
+ self.osIsrResourceRef = None
508
+ self.osMemoryMappingCodeLocationRef = None
509
+ self.osIsrTimingProtection = OsIsrTimingProtection()
45
510
 
46
- self.OsIsrPriority = None
47
- self.OsStacksize = None
511
+ self.osIsrPriority = None
512
+ self.osStacksize = None
48
513
 
49
514
  def getOsIsrCategory(self):
50
- return self.OsIsrCategory
515
+ return self.osIsrCategory
51
516
 
52
517
  def setOsIsrCategory(self, value):
53
- self.OsIsrCategory = value
518
+ self.osIsrCategory = value
54
519
  return self
55
520
 
56
521
  def getOsIsrPeriod(self):
57
- return self.OsIsrPeriod
522
+ return self.osIsrPeriod
58
523
 
59
524
  def setOsIsrPeriod(self, value):
60
- self.OsIsrPeriod = value
525
+ self.osIsrPeriod = value
61
526
  return self
62
527
 
63
528
  def getOsIsrResourceRef(self):
64
- return self.OsIsrResourceRef
529
+ return self.osIsrResourceRef
65
530
 
66
531
  def setOsIsrResourceRef(self, value):
67
- self.OsIsrResourceRef = value
532
+ self.osIsrResourceRef = value
68
533
  return self
69
534
 
70
535
  def getOsMemoryMappingCodeLocationRef(self):
71
- return self.OsMemoryMappingCodeLocationRef
536
+ return self.osMemoryMappingCodeLocationRef
72
537
 
73
538
  def setOsMemoryMappingCodeLocationRef(self, value):
74
- self.OsMemoryMappingCodeLocationRef = value
539
+ self.osMemoryMappingCodeLocationRef = value
75
540
  return self
76
541
 
77
542
  def getOsIsrTimingProtection(self):
78
- return self.OsIsrTimingProtection
543
+ return self.osIsrTimingProtection
79
544
 
80
545
  def setOsIsrTimingProtection(self, value):
81
- self.OsIsrTimingProtection = value
546
+ self.osIsrTimingProtection = value
82
547
  return self
83
-
548
+
84
549
  def getOsIsrPriority(self):
85
- return self.OsIsrPriority
550
+ return self.osIsrPriority
86
551
 
87
552
  def setOsIsrPriority(self, value):
88
- self.OsIsrPriority = value
553
+ self.osIsrPriority = value
89
554
  return self
90
555
 
91
556
  def getOsStacksize(self):
92
- return self.OsStacksize
557
+ return self.osStacksize
93
558
 
94
559
  def setOsStacksize(self, value):
95
- self.OsStacksize = value
560
+ self.osStacksize = value
96
561
  return self
97
562
 
98
- class OsTaskAutostart:
99
- def __init__(self) -> None:
100
- self.OsTaskAppModeRef = None
101
563
 
102
- class OsTaskResourceLock:
103
- def __init__(self) -> None:
104
- self.OsTaskResourceLockBudget = None
564
+ class OsTaskAutostart(EcucObject):
565
+ def __init__(self, parent, name) -> None:
566
+ super().__init__(parent, name)
567
+
568
+ self.osTaskAppModeRef = None
105
569
 
106
- class OsTaskTimingProtection:
107
- def __init__(self) -> None:
108
- self.OsTaskAllInterruptLockBudget = None
109
- self.OsTaskExecutionBudget = None
110
- self.OsTaskOsInterruptLockBudget = None
111
- self.OsTaskTimeFrame = None
112
570
 
113
- class OsTimeConstant:
571
+ class OsTaskResourceLock(EcucObject):
572
+ def __init__(self, parent, name) -> None:
573
+ super().__init__(parent, name)
574
+
575
+ self.osTaskResourceLockBudget = None
576
+
577
+
578
+ class OsTaskTimingProtection(EcucObject):
114
579
  def __init__(self) -> None:
115
- self.OsTimeValue
580
+ self.osTaskAllInterruptLockBudget = None
581
+ self.osTaskExecutionBudget = None
582
+ self.osTaskOsInterruptLockBudget = None
583
+ self.osTaskTimeFrame = None
584
+
585
+
586
+ class OsTimeConstant(EcucObject):
587
+ def __init__(self, parent, name) -> None:
588
+ super().__init__(parent, name)
589
+
590
+ self.osTimeValue = None
591
+
116
592
 
117
593
  class OsTask(EcucObject):
118
594
 
119
595
  FULL = "FULL" # Task is preemptable.
120
- NON = "NON" # Task is not preemptable.
596
+ NON = "NON" # Task is not preemptable.
121
597
 
122
- def __init__(self) -> None:
123
- self.OsTaskActivation = None # type: int
124
- self.OsTaskPeriod = 0.0 # type: float
125
- self.OsTaskPriority = None # type: int
126
- self.OsTaskSchedule = ""
127
- self.OsStacksize = 0 # type: int
128
- self.OsMemoryMappingCodeLocationRef = None
129
- self.OsTaskAccessingApplication = None
130
- self.OsTaskEventRef = None
131
- self.OsTaskResourceRef = None
598
+ def __init__(self, parent, name) -> None:
599
+ super().__init__(parent, name)
600
+
601
+ self.osTaskActivation = None # type: int
602
+ self.osTaskPeriod = 0.0 # type: float
603
+ self.osTaskPriority = None # type: int
604
+ self.osTaskSchedule = ""
605
+ self.osStacksize = 0 # type: int
606
+ self.osMemoryMappingCodeLocationRef = None # type: EcucRefType
607
+ self.osTaskAccessingApplication = None
608
+ self.osTaskEventRef = None # type: EcucRefType
609
+ self.osTaskResourceRefs = [] # type: List[EcucRefType]
132
610
 
133
611
  def getOsTaskActivation(self):
134
- return self.OsTaskActivation
612
+ return self.osTaskActivation
135
613
 
136
614
  def setOsTaskActivation(self, value):
137
- self.OsTaskActivation = value
615
+ self.osTaskActivation = value
138
616
  return self
139
617
 
140
618
  def getOsTaskPeriod(self):
141
- return self.OsTaskPeriod
619
+ return self.osTaskPeriod
142
620
 
143
621
  def setOsTaskPeriod(self, value):
144
- self.OsTaskPeriod = value
622
+ self.osTaskPeriod = value
145
623
  return self
146
624
 
147
625
  def getOsTaskPriority(self):
148
- return self.OsTaskPriority
626
+ return self.osTaskPriority
149
627
 
150
628
  def setOsTaskPriority(self, value):
151
- self.OsTaskPriority = value
629
+ self.osTaskPriority = value
152
630
  return self
153
631
 
154
632
  def getOsTaskSchedule(self):
155
- return self.OsTaskSchedule
633
+ return self.osTaskSchedule
156
634
 
157
635
  def setOsTaskSchedule(self, value):
158
- self.OsTaskSchedule = value
636
+ self.osTaskSchedule = value
159
637
  return self
160
-
161
- def getOsStacksize(self):
162
- return self.OsStacksize
163
638
 
164
- def setOsStacksize(self, value):
165
- self.OsStacksize = value
639
+ def getOsStacksize(self) -> int:
640
+ return self.osStacksize
641
+
642
+ def setOsStacksize(self, value: int):
643
+ self.osStacksize = value
166
644
  return self
167
645
 
168
646
  def getOsMemoryMappingCodeLocationRef(self):
169
- return self.OsMemoryMappingCodeLocationRef
647
+ return self.osMemoryMappingCodeLocationRef
170
648
 
171
649
  def setOsMemoryMappingCodeLocationRef(self, value):
172
- self.OsMemoryMappingCodeLocationRef = value
650
+ self.osMemoryMappingCodeLocationRef = value
173
651
  return self
174
652
 
175
653
  def getOsTaskAccessingApplication(self):
176
- return self.OsTaskAccessingApplication
654
+ return self.osTaskAccessingApplication
177
655
 
178
656
  def setOsTaskAccessingApplication(self, value):
179
- self.OsTaskAccessingApplication = value
657
+ self.osTaskAccessingApplication = value
180
658
  return self
181
659
 
182
660
  def getOsTaskEventRef(self):
183
- return self.OsTaskEventRef
661
+ return self.osTaskEventRef
184
662
 
185
663
  def setOsTaskEventRef(self, value):
186
- self.OsTaskEventRef = value
664
+ self.osTaskEventRef = value
187
665
  return self
188
666
 
189
- def getOsTaskResourceRef(self):
190
- return self.OsTaskResourceRef
667
+ def getOsTaskResourceRefList(self) -> List[EcucRefType]:
668
+ return self.osTaskResourceRefs
191
669
 
192
- def setOsTaskResourceRef(self, value):
193
- self.OsTaskResourceRef = value
670
+ def addOsTaskResourceRef(self, value: EcucRefType):
671
+ self.osTaskResourceRefs.append(value)
194
672
  return self
195
-
673
+
196
674
  def IsPreemptable(self) -> bool:
197
- if self.OsTaskSchedule == OsTask.FULL:
675
+ if self.osTaskSchedule == OsTask.FULL:
198
676
  return True
199
677
  return False
200
678
 
201
- class Os(EcucObject):
679
+
680
+ class OsScheduleTableAutostart(EcucContainer):
681
+ def __init__(self, parent, name) -> None:
682
+ super().__init__(parent, name)
683
+
684
+ self.osScheduleTableAutostartType = None # Multiplicity: 1
685
+ self.osScheduleTableStartValue = None # Multiplicity: 0..1
686
+ self.osScheduleTableAppModeRef = None # Multiplicity: 1..*
687
+
688
+ def getOsScheduleTableAutostartType(self):
689
+ return self.osScheduleTableAutostartType
690
+
691
+ def setOsScheduleTableAutostartType(self, value):
692
+ self.osScheduleTableAutostartType = value
693
+ return self
694
+
695
+ def getOsScheduleTableStartValue(self):
696
+ return self.osScheduleTableStartValue
697
+
698
+ def setOsScheduleTableStartValue(self, value):
699
+ self.osScheduleTableStartValue = value
700
+ return self
701
+
702
+ def getOsScheduleTableAppModeRef(self):
703
+ return self.osScheduleTableAppModeRef
704
+
705
+ def setOsScheduleTableAppModeRef(self, value):
706
+ self.osScheduleTableAppModeRef = value
707
+ return self
708
+
709
+
710
+ class OsScheduleTableEventSetting(EcucContainer):
711
+ def __init__(self, parent, name) -> None:
712
+ super().__init__(parent, name)
713
+
714
+ self.osScheduleTableSetEventRef = None # Multiplicity: 1
715
+ self.osScheduleTableSetEventTaskRef = None # Multiplicity: 1
716
+
717
+ def getOsScheduleTableSetEventRef(self):
718
+ return self.osScheduleTableSetEventRef
719
+
720
+ def setOsScheduleTableSetEventRef(self, value):
721
+ self.osScheduleTableSetEventRef = value
722
+ return self
723
+
724
+ def getOsScheduleTableSetEventTaskRef(self):
725
+ return self.osScheduleTableSetEventTaskRef
726
+
727
+ def setOsScheduleTableSetEventTaskRef(self, value):
728
+ self.osScheduleTableSetEventTaskRef = value
729
+ return self
730
+
731
+
732
+ class OsScheduleTblAdjustableExpPoint(EcucContainer):
733
+ def __init__(self, parent, name) -> None:
734
+ super().__init__(parent, name)
735
+
736
+ self.osScheduleTableMaxLengthen = None # Multiplicity: 1
737
+ self.osScheduleTableMaxShorten = None # Multiplicity: 1
738
+
739
+ def getOsScheduleTableMaxLengthen(self) -> int:
740
+ return self.osScheduleTableMaxLengthen
741
+
742
+ def setOsScheduleTableMaxLengthen(self, value: int):
743
+ self.osScheduleTableMaxLengthen = value
744
+ return self
745
+
746
+ def getOsScheduleTableMaxShorten(self) -> int:
747
+ return self.osScheduleTableMaxShorten
748
+
749
+ def setOsScheduleTableMaxShorten(self, value: int):
750
+ self.osScheduleTableMaxShorten = value
751
+ return self
752
+
753
+
754
+ class OsScheduleTableTaskActivation(EcucContainer):
755
+ def __init__(self, parent, name) -> None:
756
+ super().__init__(parent, name)
757
+
758
+ self.osScheduleTableActivateTaskRef = None # Multiplicity: 1
759
+
760
+ def getOsScheduleTableActivateTaskRef(self) -> EcucRefType:
761
+ return self.osScheduleTableActivateTaskRef
762
+
763
+ def setOsScheduleTableActivateTaskRef(self, value: EcucRefType):
764
+ self.osScheduleTableActivateTaskRef = value
765
+ return self
766
+
767
+
768
+ class OsScheduleTableEventSetting(EcucContainer):
769
+ def __init__(self, parent, name) -> None:
770
+ super().__init__(parent, name)
771
+
772
+ # Multiplicity: 1 Reference to OsEvent
773
+ self.osScheduleTableSetEventRef = None
774
+ # Multiplicity: 1 Reference to OsTask
775
+ self.osScheduleTableSetEventTaskRef = None
776
+
777
+ def getOsScheduleTableSetEventRef(self):
778
+ return self.osScheduleTableSetEventRef
779
+
780
+ def setOsScheduleTableSetEventRef(self, value):
781
+ self.osScheduleTableSetEventRef = value
782
+ return self
783
+
784
+ def getOsScheduleTableSetEventTaskRef(self):
785
+ return self.osScheduleTableSetEventTaskRef
786
+
787
+ def setOsScheduleTableSetEventTaskRef(self, value):
788
+ self.osScheduleTableSetEventTaskRef = value
789
+ return self
790
+
791
+
792
+ class OsScheduleTableExpiryPoint(EcucContainer):
793
+ def __init__(self, parent, name) -> None:
794
+ super().__init__(parent, name)
795
+
796
+ self.osScheduleTblExpPointOffset = None # Multiplicity: 1
797
+ self.osScheduleTableEventSettings = [] # Multiplicity: 0..*
798
+ self.osScheduleTableTaskActivations = [] # Multiplicity: 0..*
799
+ self.osScheduleTblAdjustableExpPoint = None # Multiplicity: 0..1
800
+
801
+ def getOsScheduleTblExpPointOffset(self):
802
+ return self.osScheduleTblExpPointOffset
803
+
804
+ def setOsScheduleTblExpPointOffset(self, value):
805
+ self.osScheduleTblExpPointOffset = value
806
+ return self
807
+
808
+ def getOsScheduleTableEventSettingList(self) -> List[OsScheduleTableEventSetting]:
809
+ return self.osScheduleTableEventSettings
810
+
811
+ def addOsScheduleTableEventSetting(self, value: OsScheduleTableEventSetting):
812
+ self.addElement(value)
813
+ self.osScheduleTableEventSettings.append(value)
814
+ return self
815
+
816
+ def getOsScheduleTableTaskActivationList(self) -> List[OsScheduleTableTaskActivation]:
817
+ return self.osScheduleTableTaskActivations
818
+
819
+ def addOsScheduleTableTaskActivation(self, value: OsScheduleTableTaskActivation):
820
+ self.addElement(value)
821
+ self.osScheduleTableTaskActivations.append(value)
822
+ return self
823
+
824
+ def getOsScheduleTblAdjustableExpPoint(self) -> OsScheduleTblAdjustableExpPoint:
825
+ return self.osScheduleTblAdjustableExpPoint
826
+
827
+ def setOsScheduleTblAdjustableExpPoint(self, value: OsScheduleTblAdjustableExpPoint):
828
+ self.osScheduleTblAdjustableExpPoint = value
829
+ return self
830
+
831
+
832
+ class OsScheduleTable(EcucContainer):
833
+
834
+ OS_TIME_UNIT_NANOSECONDS = "NANOSECONDS"
835
+ OS_TIME_UNIT_TICKS = "TICKS"
836
+
837
+ def __init__(self, parent, name) -> None:
838
+ super().__init__(parent, name)
839
+
840
+ self.osScheduleTableDuration = None # Multiplicity: 1
841
+ self.osScheduleTableRepeating = None # Multiplicity: 1
842
+ self.osScheduleTableCounterRef = None # Multiplicity: 1
843
+ self.osSchTblAccessingApplications = [] # Multiplicity: 0..*
844
+ self.osTimeUnit = None # Multiplicity: 0..1
845
+
846
+ self.osScheduleTableAutostart = None # Multiplicity: 0..1
847
+ self.osScheduleTableExpiryPoints = [] # Multiplicity: 1..*
848
+ self.osScheduleTableSync = None # Multiplicity: 0..1
849
+
850
+ def getOsScheduleTableDuration(self):
851
+ return self.osScheduleTableDuration
852
+
853
+ def setOsScheduleTableDuration(self, value):
854
+ self.osScheduleTableDuration = value
855
+ return self
856
+
857
+ def getOsScheduleTableRepeating(self):
858
+ return self.osScheduleTableRepeating
859
+
860
+ def setOsScheduleTableRepeating(self, value):
861
+ self.osScheduleTableRepeating = value
862
+ return self
863
+
864
+ def getOsScheduleTableCounterRef(self) -> EcucRefType:
865
+ return self.osScheduleTableCounterRef
866
+
867
+ def setOsScheduleTableCounterRef(self, value: EcucRefType):
868
+ self.osScheduleTableCounterRef = value
869
+ return self
870
+
871
+ def getOsSchTblAccessingApplicationList(self):
872
+ return self.osSchTblAccessingApplications
873
+
874
+ def addOsSchTblAccessingApplication(self, value):
875
+ self.osSchTblAccessingApplications.append(value)
876
+ return self
877
+
878
+ def getOsTimeUnit(self) -> str:
879
+ return self.osTimeUnit
880
+
881
+ def setOsTimeUnit(self, value: str):
882
+ if value is not None:
883
+ if value not in [OsScheduleTable.OS_TIME_UNIT_NANOSECONDS, OsScheduleTable.OS_TIME_UNIT_TICKS]:
884
+ raise ValueError("Invalid OsTimeUnit <%s>" % value)
885
+ self.osTimeUnit = value # set to None if the value is None
886
+ return self
887
+
888
+ def getOsScheduleTableAutostart(self):
889
+ return self.osScheduleTableAutostart
890
+
891
+ def setOsScheduleTableAutostart(self, value):
892
+ self.osScheduleTableAutostart = value
893
+ return self
894
+
895
+ def getOsScheduleTableExpiryPointList(self) -> List[OsScheduleTableExpiryPoint]:
896
+ return self.osScheduleTableExpiryPoints
897
+
898
+ def addOsScheduleTableExpiryPoint(self, value: OsScheduleTableExpiryPoint):
899
+ self.addElement(value
900
+ )
901
+ self.osScheduleTableExpiryPoints.append(value)
902
+ return self
903
+
904
+ def getOsScheduleTableSync(self):
905
+ return self.osScheduleTableSync
906
+
907
+ def setOsScheduleTableSync(self, value):
908
+ self.osScheduleTableSync = value
909
+ return self
910
+
911
+
912
+ class Os(EcucContainer):
202
913
  def __init__(self, parent) -> None:
203
914
  super().__init__(parent, "Os")
204
915
 
205
916
  self.osTasks = [] # type: List[OsTask]
206
917
  self.osIsrs = [] # type: List[OsIsr]
918
+ self.osAlarms = [] # type: List[OsAlarm]
919
+ self.osScheduleTables = [] # type: List[OsScheduleTable]
920
+ self.osCounters = [] # type: List[OsCounter]
921
+ self.osApplications = [] # type: List[OsApplication]
207
922
 
208
923
  def getOsTaskList(self) -> List[OsTask]:
209
- return self.osTasks
210
-
924
+ return list(sorted(filter(lambda a: isinstance(a, OsTask), self.elements.values()), key=lambda o: o.name))
925
+
211
926
  def addOsTask(self, os_task: OsTask):
927
+ self.addElement(os_task)
212
928
  self.osTasks.append(os_task)
213
929
  return self
214
930
 
215
931
  def getOsIsrList(self) -> List[OsIsr]:
216
- return self.osIsrs
217
-
932
+ return list(sorted(filter(lambda a: isinstance(a, OsIsr), self.elements.values()), key=lambda o: o.name))
933
+
218
934
  def addOsIsr(self, os_isr: OsIsr):
935
+ self.addElement(os_isr)
219
936
  self.osIsrs.append(os_isr)
220
- return self
937
+ return self
938
+
939
+ def getOsAlarmList(self) -> List[OsAlarm]:
940
+ return list(sorted(filter(lambda a: isinstance(a, OsAlarm), self.elements.values()), key=lambda o: o.name))
941
+
942
+ def addOsAlarm(self, os_alarm: OsAlarm):
943
+ self.addElement(os_alarm)
944
+ self.osAlarms.append(os_alarm)
945
+ return self
946
+
947
+ def getOsScheduleTableList(self) -> List[OsScheduleTable]:
948
+ return list(sorted(filter(lambda a: isinstance(a, OsScheduleTable), self.elements.values()), key=lambda o: o.name))
949
+
950
+ def addOsScheduleTable(self, os_schedule_table: OsScheduleTable):
951
+ self.addElement(os_schedule_table)
952
+ self.osScheduleTables.append(os_schedule_table)
953
+ return self
954
+
955
+ def getOsCounterList(self) -> List[OsCounter]:
956
+ return list(sorted(filter(lambda a: isinstance(a, OsCounter), self.elements.values()), key=lambda o: o.name))
957
+
958
+ def addOsCounter(self, os_counter: OsCounter):
959
+ self.addElement(os_counter)
960
+ self.osCounters.append(os_counter)
961
+ return self
962
+
963
+ def getOsApplicationList(self) -> List[OsApplication]:
964
+ return list(sorted(filter(lambda a: isinstance(a, OsApplication), self.elements.values()), key=lambda o: o.name))
965
+
966
+ def addOsApplication(self, value):
967
+ self.addElement(value)
968
+ self.osApplications.append(value)
969
+ return self