py-eb-model 1.0.0__py3-none-any.whl → 1.0.1__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/cli/os_xdm_2_xls_cli.py +3 -2
- eb_model/cli/rte_xdm_2_xls_cli.py +68 -0
- eb_model/models/abstract.py +29 -11
- eb_model/models/eb_doc.py +7 -9
- eb_model/models/os_xdm.py +668 -96
- eb_model/models/rte_xdm.py +556 -0
- eb_model/parser/eb_parser.py +63 -30
- eb_model/parser/eb_parser_factory.py +29 -0
- eb_model/parser/os_xdm_parser.py +126 -27
- eb_model/parser/rte_xdm_parser.py +64 -0
- eb_model/reporter/excel_reporter/abstract.py +11 -11
- eb_model/reporter/excel_reporter/os_xdm.py +84 -2
- eb_model/reporter/excel_reporter/rte_xdm.py +87 -0
- eb_model/tests/models/test_eb_model.py +5 -0
- py_eb_model-1.0.1.dist-info/METADATA +94 -0
- {py_eb_model-1.0.0.dist-info → py_eb_model-1.0.1.dist-info}/RECORD +20 -15
- {py_eb_model-1.0.0.dist-info → py_eb_model-1.0.1.dist-info}/entry_points.txt +1 -0
- py_eb_model-1.0.0.dist-info/METADATA +0 -16
- {py_eb_model-1.0.0.dist-info → py_eb_model-1.0.1.dist-info}/LICENSE +0 -0
- {py_eb_model-1.0.0.dist-info → py_eb_model-1.0.1.dist-info}/WHEEL +0 -0
- {py_eb_model-1.0.0.dist-info → py_eb_model-1.0.1.dist-info}/top_level.txt +0 -0
eb_model/models/os_xdm.py
CHANGED
@@ -1,220 +1,792 @@
|
|
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
|
10
|
-
def __init__(self) -> None:
|
11
|
-
|
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
|
+
|
163
|
+
class OsApplication(EcucContainer):
|
164
|
+
def __init__(self, parent, name) -> None:
|
165
|
+
super().__init__(parent, name)
|
166
|
+
|
167
|
+
|
168
|
+
class OsDriver(EcucContainer):
|
169
|
+
def __init__(self, parent, name) -> None:
|
170
|
+
super().__init__(parent, name)
|
171
|
+
|
172
|
+
self.osGptChannelRef = None
|
173
|
+
|
174
|
+
def getOsGptChannelRef(self) -> EcucRefType:
|
175
|
+
'''
|
176
|
+
Multiplicity: 0..1
|
177
|
+
'''
|
178
|
+
return self.osGptChannelRef
|
179
|
+
|
180
|
+
def setOsGptChannelRef(self, value: EcucRefType):
|
181
|
+
'''
|
182
|
+
Multiplicity: 0..1
|
183
|
+
'''
|
184
|
+
self.osGptChannelRef = value
|
185
|
+
return self
|
186
|
+
|
187
|
+
|
188
|
+
class OsTimeConstant(EcucContainer):
|
189
|
+
def __init__(self, parent, name) -> None:
|
190
|
+
super().__init__(parent, name)
|
191
|
+
|
192
|
+
self.osTimeValue = None
|
193
|
+
|
194
|
+
def getOsTimeValue(self):
|
195
|
+
'''
|
196
|
+
Multiplicity: 1
|
197
|
+
'''
|
198
|
+
return self.osTimeValue
|
199
|
+
|
200
|
+
def setOsTimeValue(self, value):
|
201
|
+
'''
|
202
|
+
Multiplicity: 1
|
203
|
+
'''
|
204
|
+
self.osTimeValue = value
|
205
|
+
return self
|
206
|
+
|
207
|
+
class OsCounter(EcucContainer):
|
208
|
+
|
209
|
+
OS_COUNTER_TYPE_HARDWARE = "HARDWARE"
|
210
|
+
OS_COUNTER_TYPE_SOFTWARE = "SOFTWARE"
|
211
|
+
|
212
|
+
def __init__(self, parent, name) -> None:
|
213
|
+
super().__init__(parent, name)
|
214
|
+
|
215
|
+
self.osCounterMaxAllowedValue = None #
|
216
|
+
self.osCounterMinCycle = None #
|
217
|
+
self.osCounterTicksPerBase = None #
|
218
|
+
self.osCounterType = None #
|
219
|
+
self.osSecondsPerTick = None #
|
220
|
+
self.osCounterAccessingApplications = [] #
|
221
|
+
self.osDriver = None # Multiplicity: 0..1
|
222
|
+
self.osTimeConstants = [] # Multiplicity: 0..*
|
223
|
+
|
224
|
+
def getOsCounterMaxAllowedValue(self):
|
225
|
+
return self.osCounterMaxAllowedValue
|
226
|
+
|
227
|
+
def setOsCounterMaxAllowedValue(self, value):
|
228
|
+
'''
|
229
|
+
Multiplicity: 1
|
230
|
+
'''
|
231
|
+
self.osCounterMaxAllowedValue = value
|
232
|
+
return self
|
233
|
+
|
234
|
+
def getOsCounterMinCycle(self):
|
235
|
+
'''
|
236
|
+
Multiplicity: 1
|
237
|
+
'''
|
238
|
+
return self.osCounterMinCycle
|
239
|
+
|
240
|
+
def setOsCounterMinCycle(self, value):
|
241
|
+
'''
|
242
|
+
Multiplicity: 1
|
243
|
+
'''
|
244
|
+
self.osCounterMinCycle = value
|
245
|
+
return self
|
246
|
+
|
247
|
+
def getOsCounterTicksPerBase(self):
|
248
|
+
'''
|
249
|
+
Multiplicity: 1
|
250
|
+
'''
|
251
|
+
return self.osCounterTicksPerBase
|
252
|
+
|
253
|
+
def setOsCounterTicksPerBase(self, value):
|
254
|
+
'''
|
255
|
+
Multiplicity: 1
|
256
|
+
'''
|
257
|
+
self.osCounterTicksPerBase = value
|
258
|
+
return self
|
259
|
+
|
260
|
+
def getOsCounterType(self):
|
261
|
+
return self.osCounterType
|
12
262
|
|
13
|
-
|
263
|
+
def setOsCounterType(self, value):
|
264
|
+
'''
|
265
|
+
Multiplicity: 1
|
266
|
+
'''
|
267
|
+
self.osCounterType = value
|
268
|
+
return self
|
269
|
+
|
270
|
+
def getOsSecondsPerTick(self):
|
271
|
+
return self.osSecondsPerTick
|
272
|
+
|
273
|
+
def setOsSecondsPerTick(self, value):
|
274
|
+
'''
|
275
|
+
Multiplicity: 0..1
|
276
|
+
'''
|
277
|
+
self.osSecondsPerTick = value
|
278
|
+
return self
|
279
|
+
|
280
|
+
def getOsCounterAccessingApplicationList(self):
|
281
|
+
'''
|
282
|
+
Multiplicity: 0..*
|
283
|
+
'''
|
284
|
+
return self.osCounterAccessingApplications
|
285
|
+
|
286
|
+
def setOsCounterAccessingApplications(self, value):
|
287
|
+
self.osCounterAccessingApplications.append(value)
|
288
|
+
return self
|
289
|
+
|
290
|
+
def getOsDriver(self):
|
291
|
+
return self.osDriver
|
292
|
+
|
293
|
+
def setOsDriver(self, value):
|
294
|
+
self.osDriver = value
|
295
|
+
return self
|
296
|
+
|
297
|
+
def getOsTimeConstants(self):
|
298
|
+
return self.osTimeConstants
|
299
|
+
|
300
|
+
def setOsTimeConstants(self, value):
|
301
|
+
self.osTimeConstants = value
|
302
|
+
return self
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
class OsResource(EcucContainer):
|
14
307
|
def __init__(self) -> None:
|
15
308
|
pass
|
16
309
|
|
17
|
-
|
310
|
+
|
311
|
+
class OsIsrResourceLock(EcucContainer):
|
18
312
|
def __init__(self) -> None:
|
19
|
-
self.
|
20
|
-
self.
|
313
|
+
self.osIsrResourceLockBudget = None
|
314
|
+
self.osIsrResourceLockResourceRef = None
|
21
315
|
|
22
316
|
|
23
|
-
class OsIsrTimingProtection:
|
317
|
+
class OsIsrTimingProtection(EcucObject):
|
24
318
|
def __init__(self) -> None:
|
25
|
-
self.
|
26
|
-
self.
|
27
|
-
self.
|
28
|
-
self.
|
29
|
-
self.
|
319
|
+
self.osIsrAllInterruptLockBudget = None
|
320
|
+
self.osIsrExecutionBudget = None
|
321
|
+
self.osIsrOsInterruptLockBudget = None
|
322
|
+
self.osIsrTimeFrame = None
|
323
|
+
self.osIsrResourceLock = OsIsrResourceLock()
|
324
|
+
|
30
325
|
|
31
326
|
class OsIsr(EcucObject):
|
32
327
|
'''
|
33
328
|
The OsIsr container represents an ISO 17356 interrupt service routine.
|
34
329
|
'''
|
35
|
-
|
330
|
+
|
36
331
|
OS_ISR_CATEGORY_1 = "CATEGORY_1" # Interrupt is of category 1
|
37
332
|
OS_ISR_CATEGORY_2 = "CATEGORY_2" # Interrupt is of category 2
|
38
333
|
|
39
|
-
def __init__(self) -> None:
|
40
|
-
|
41
|
-
|
42
|
-
self.
|
43
|
-
self.
|
44
|
-
self.
|
334
|
+
def __init__(self, parent, name) -> None:
|
335
|
+
super().__init__(parent, name)
|
336
|
+
|
337
|
+
self.osIsrCategory = None
|
338
|
+
self.osIsrPeriod = None
|
339
|
+
self.osIsrResourceRef = None
|
340
|
+
self.osMemoryMappingCodeLocationRef = None
|
341
|
+
self.osIsrTimingProtection = OsIsrTimingProtection()
|
45
342
|
|
46
|
-
self.
|
47
|
-
self.
|
343
|
+
self.osIsrPriority = None
|
344
|
+
self.osStacksize = None
|
48
345
|
|
49
346
|
def getOsIsrCategory(self):
|
50
|
-
return self.
|
347
|
+
return self.osIsrCategory
|
51
348
|
|
52
349
|
def setOsIsrCategory(self, value):
|
53
|
-
self.
|
350
|
+
self.osIsrCategory = value
|
54
351
|
return self
|
55
352
|
|
56
353
|
def getOsIsrPeriod(self):
|
57
|
-
return self.
|
354
|
+
return self.osIsrPeriod
|
58
355
|
|
59
356
|
def setOsIsrPeriod(self, value):
|
60
|
-
self.
|
357
|
+
self.osIsrPeriod = value
|
61
358
|
return self
|
62
359
|
|
63
360
|
def getOsIsrResourceRef(self):
|
64
|
-
return self.
|
361
|
+
return self.osIsrResourceRef
|
65
362
|
|
66
363
|
def setOsIsrResourceRef(self, value):
|
67
|
-
self.
|
364
|
+
self.osIsrResourceRef = value
|
68
365
|
return self
|
69
366
|
|
70
367
|
def getOsMemoryMappingCodeLocationRef(self):
|
71
|
-
return self.
|
368
|
+
return self.osMemoryMappingCodeLocationRef
|
72
369
|
|
73
370
|
def setOsMemoryMappingCodeLocationRef(self, value):
|
74
|
-
self.
|
371
|
+
self.osMemoryMappingCodeLocationRef = value
|
75
372
|
return self
|
76
373
|
|
77
374
|
def getOsIsrTimingProtection(self):
|
78
|
-
return self.
|
375
|
+
return self.osIsrTimingProtection
|
79
376
|
|
80
377
|
def setOsIsrTimingProtection(self, value):
|
81
|
-
self.
|
378
|
+
self.osIsrTimingProtection = value
|
82
379
|
return self
|
83
|
-
|
380
|
+
|
84
381
|
def getOsIsrPriority(self):
|
85
|
-
return self.
|
382
|
+
return self.osIsrPriority
|
86
383
|
|
87
384
|
def setOsIsrPriority(self, value):
|
88
|
-
self.
|
385
|
+
self.osIsrPriority = value
|
89
386
|
return self
|
90
387
|
|
91
388
|
def getOsStacksize(self):
|
92
|
-
return self.
|
389
|
+
return self.osStacksize
|
93
390
|
|
94
391
|
def setOsStacksize(self, value):
|
95
|
-
self.
|
392
|
+
self.osStacksize = value
|
96
393
|
return self
|
97
394
|
|
98
|
-
class OsTaskAutostart:
|
99
|
-
def __init__(self) -> None:
|
100
|
-
self.OsTaskAppModeRef = None
|
101
395
|
|
102
|
-
class
|
103
|
-
def __init__(self) -> None:
|
104
|
-
|
396
|
+
class OsTaskAutostart(EcucObject):
|
397
|
+
def __init__(self, parent, name) -> None:
|
398
|
+
super().__init__(parent, name)
|
105
399
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
400
|
+
self.osTaskAppModeRef = None
|
401
|
+
|
402
|
+
|
403
|
+
class OsTaskResourceLock(EcucObject):
|
404
|
+
def __init__(self, parent, name) -> None:
|
405
|
+
super().__init__(parent, name)
|
406
|
+
|
407
|
+
self.osTaskResourceLockBudget = None
|
112
408
|
|
113
|
-
|
409
|
+
|
410
|
+
class OsTaskTimingProtection(EcucObject):
|
114
411
|
def __init__(self) -> None:
|
115
|
-
self.
|
412
|
+
self.osTaskAllInterruptLockBudget = None
|
413
|
+
self.osTaskExecutionBudget = None
|
414
|
+
self.osTaskOsInterruptLockBudget = None
|
415
|
+
self.osTaskTimeFrame = None
|
416
|
+
|
417
|
+
|
418
|
+
class OsTimeConstant(EcucObject):
|
419
|
+
def __init__(self, parent, name) -> None:
|
420
|
+
super().__init__(parent, name)
|
421
|
+
|
422
|
+
self.osTimeValue = None
|
423
|
+
|
116
424
|
|
117
425
|
class OsTask(EcucObject):
|
118
426
|
|
119
427
|
FULL = "FULL" # Task is preemptable.
|
120
|
-
NON
|
428
|
+
NON = "NON" # Task is not preemptable.
|
121
429
|
|
122
|
-
def __init__(self) -> None:
|
123
|
-
|
124
|
-
|
125
|
-
self.
|
126
|
-
self.
|
127
|
-
self.
|
128
|
-
self.
|
129
|
-
self.
|
130
|
-
self.
|
131
|
-
self.
|
430
|
+
def __init__(self, parent, name) -> None:
|
431
|
+
super().__init__(parent, name)
|
432
|
+
|
433
|
+
self.osTaskActivation = None # type: int
|
434
|
+
self.osTaskPeriod = 0.0 # type: float
|
435
|
+
self.osTaskPriority = None # type: int
|
436
|
+
self.osTaskSchedule = ""
|
437
|
+
self.osStacksize = 0 # type: int
|
438
|
+
self.osMemoryMappingCodeLocationRef = None
|
439
|
+
self.osTaskAccessingApplication = None
|
440
|
+
self.osTaskEventRef = None
|
441
|
+
self.osTaskResourceRefs = [] # type: List[EcucRefType]
|
132
442
|
|
133
443
|
def getOsTaskActivation(self):
|
134
|
-
return self.
|
444
|
+
return self.osTaskActivation
|
135
445
|
|
136
446
|
def setOsTaskActivation(self, value):
|
137
|
-
self.
|
447
|
+
self.osTaskActivation = value
|
138
448
|
return self
|
139
449
|
|
140
450
|
def getOsTaskPeriod(self):
|
141
|
-
return self.
|
451
|
+
return self.osTaskPeriod
|
142
452
|
|
143
453
|
def setOsTaskPeriod(self, value):
|
144
|
-
self.
|
454
|
+
self.osTaskPeriod = value
|
145
455
|
return self
|
146
456
|
|
147
457
|
def getOsTaskPriority(self):
|
148
|
-
return self.
|
458
|
+
return self.osTaskPriority
|
149
459
|
|
150
460
|
def setOsTaskPriority(self, value):
|
151
|
-
self.
|
461
|
+
self.osTaskPriority = value
|
152
462
|
return self
|
153
463
|
|
154
464
|
def getOsTaskSchedule(self):
|
155
|
-
return self.
|
465
|
+
return self.osTaskSchedule
|
156
466
|
|
157
467
|
def setOsTaskSchedule(self, value):
|
158
|
-
self.
|
468
|
+
self.osTaskSchedule = value
|
159
469
|
return self
|
160
|
-
|
161
|
-
def getOsStacksize(self):
|
162
|
-
return self.OsStacksize
|
163
470
|
|
164
|
-
def
|
165
|
-
self.
|
471
|
+
def getOsStacksize(self) -> int:
|
472
|
+
return self.osStacksize
|
473
|
+
|
474
|
+
def setOsStacksize(self, value: int):
|
475
|
+
self.osStacksize = value
|
166
476
|
return self
|
167
477
|
|
168
478
|
def getOsMemoryMappingCodeLocationRef(self):
|
169
|
-
return self.
|
479
|
+
return self.osMemoryMappingCodeLocationRef
|
170
480
|
|
171
481
|
def setOsMemoryMappingCodeLocationRef(self, value):
|
172
|
-
self.
|
482
|
+
self.osMemoryMappingCodeLocationRef = value
|
173
483
|
return self
|
174
484
|
|
175
485
|
def getOsTaskAccessingApplication(self):
|
176
|
-
return self.
|
486
|
+
return self.osTaskAccessingApplication
|
177
487
|
|
178
488
|
def setOsTaskAccessingApplication(self, value):
|
179
|
-
self.
|
489
|
+
self.osTaskAccessingApplication = value
|
180
490
|
return self
|
181
491
|
|
182
492
|
def getOsTaskEventRef(self):
|
183
|
-
return self.
|
493
|
+
return self.osTaskEventRef
|
184
494
|
|
185
495
|
def setOsTaskEventRef(self, value):
|
186
|
-
self.
|
496
|
+
self.osTaskEventRef = value
|
187
497
|
return self
|
188
498
|
|
189
|
-
def
|
190
|
-
return self.
|
499
|
+
def getOsTaskResourceRefList(self) -> List[EcucRefType]:
|
500
|
+
return self.osTaskResourceRefs
|
191
501
|
|
192
|
-
def
|
193
|
-
self.
|
502
|
+
def addOsTaskResourceRef(self, value: EcucRefType):
|
503
|
+
self.osTaskResourceRefs.append(value)
|
194
504
|
return self
|
195
|
-
|
505
|
+
|
196
506
|
def IsPreemptable(self) -> bool:
|
197
|
-
if self.
|
507
|
+
if self.osTaskSchedule == OsTask.FULL:
|
198
508
|
return True
|
199
509
|
return False
|
200
510
|
|
201
|
-
|
511
|
+
|
512
|
+
class OsScheduleTableAutostart(EcucContainer):
|
513
|
+
def __init__(self, parent, name) -> None:
|
514
|
+
super().__init__(parent, name)
|
515
|
+
|
516
|
+
self.osScheduleTableAutostartType = None # Multiplicity: 1
|
517
|
+
self.osScheduleTableStartValue = None # Multiplicity: 0..1
|
518
|
+
self.osScheduleTableAppModeRef = None # Multiplicity: 1..*
|
519
|
+
|
520
|
+
def getOsScheduleTableAutostartType(self):
|
521
|
+
return self.osScheduleTableAutostartType
|
522
|
+
|
523
|
+
def setOsScheduleTableAutostartType(self, value):
|
524
|
+
self.osScheduleTableAutostartType = value
|
525
|
+
return self
|
526
|
+
|
527
|
+
def getOsScheduleTableStartValue(self):
|
528
|
+
return self.osScheduleTableStartValue
|
529
|
+
|
530
|
+
def setOsScheduleTableStartValue(self, value):
|
531
|
+
self.osScheduleTableStartValue = value
|
532
|
+
return self
|
533
|
+
|
534
|
+
def getOsScheduleTableAppModeRef(self):
|
535
|
+
return self.osScheduleTableAppModeRef
|
536
|
+
|
537
|
+
def setOsScheduleTableAppModeRef(self, value):
|
538
|
+
self.osScheduleTableAppModeRef = value
|
539
|
+
return self
|
540
|
+
|
541
|
+
|
542
|
+
class OsScheduleTableEventSetting(EcucContainer):
|
543
|
+
def __init__(self, parent, name) -> None:
|
544
|
+
super().__init__(parent, name)
|
545
|
+
|
546
|
+
self.osScheduleTableSetEventRef = None # Multiplicity: 1
|
547
|
+
self.osScheduleTableSetEventTaskRef = None # Multiplicity: 1
|
548
|
+
|
549
|
+
def getOsScheduleTableSetEventRef(self):
|
550
|
+
return self.osScheduleTableSetEventRef
|
551
|
+
|
552
|
+
def setOsScheduleTableSetEventRef(self, value):
|
553
|
+
self.osScheduleTableSetEventRef = value
|
554
|
+
return self
|
555
|
+
|
556
|
+
def getOsScheduleTableSetEventTaskRef(self):
|
557
|
+
return self.osScheduleTableSetEventTaskRef
|
558
|
+
|
559
|
+
def setOsScheduleTableSetEventTaskRef(self, value):
|
560
|
+
self.osScheduleTableSetEventTaskRef = value
|
561
|
+
return self
|
562
|
+
|
563
|
+
|
564
|
+
class OsScheduleTblAdjustableExpPoint(EcucContainer):
|
565
|
+
def __init__(self, parent, name) -> None:
|
566
|
+
super().__init__(parent, name)
|
567
|
+
|
568
|
+
self.osScheduleTableMaxLengthen = None # Multiplicity: 1
|
569
|
+
self.osScheduleTableMaxShorten = None # Multiplicity: 1
|
570
|
+
|
571
|
+
def getOsScheduleTableMaxLengthen(self) -> int:
|
572
|
+
return self.osScheduleTableMaxLengthen
|
573
|
+
|
574
|
+
def setOsScheduleTableMaxLengthen(self, value: int):
|
575
|
+
self.osScheduleTableMaxLengthen = value
|
576
|
+
return self
|
577
|
+
|
578
|
+
def getOsScheduleTableMaxShorten(self) -> int:
|
579
|
+
return self.osScheduleTableMaxShorten
|
580
|
+
|
581
|
+
def setOsScheduleTableMaxShorten(self, value: int):
|
582
|
+
self.osScheduleTableMaxShorten = value
|
583
|
+
return self
|
584
|
+
|
585
|
+
|
586
|
+
class OsScheduleTableTaskActivation(EcucContainer):
|
587
|
+
def __init__(self, parent, name) -> None:
|
588
|
+
super().__init__(parent, name)
|
589
|
+
|
590
|
+
self.osScheduleTableActivateTaskRef = None # Multiplicity: 1
|
591
|
+
|
592
|
+
def getOsScheduleTableActivateTaskRef(self) -> EcucRefType:
|
593
|
+
return self.osScheduleTableActivateTaskRef
|
594
|
+
|
595
|
+
def setOsScheduleTableActivateTaskRef(self, value: EcucRefType):
|
596
|
+
self.osScheduleTableActivateTaskRef = value
|
597
|
+
return self
|
598
|
+
|
599
|
+
|
600
|
+
class OsScheduleTableEventSetting(EcucContainer):
|
601
|
+
def __init__(self, parent, name) -> None:
|
602
|
+
super().__init__(parent, name)
|
603
|
+
|
604
|
+
# Multiplicity: 1 Reference to OsEvent
|
605
|
+
self.osScheduleTableSetEventRef = None
|
606
|
+
# Multiplicity: 1 Reference to OsTask
|
607
|
+
self.osScheduleTableSetEventTaskRef = None
|
608
|
+
|
609
|
+
def getOsScheduleTableSetEventRef(self):
|
610
|
+
return self.osScheduleTableSetEventRef
|
611
|
+
|
612
|
+
def setOsScheduleTableSetEventRef(self, value):
|
613
|
+
self.osScheduleTableSetEventRef = value
|
614
|
+
return self
|
615
|
+
|
616
|
+
def getOsScheduleTableSetEventTaskRef(self):
|
617
|
+
return self.osScheduleTableSetEventTaskRef
|
618
|
+
|
619
|
+
def setOsScheduleTableSetEventTaskRef(self, value):
|
620
|
+
self.osScheduleTableSetEventTaskRef = value
|
621
|
+
return self
|
622
|
+
|
623
|
+
|
624
|
+
class OsScheduleTableExpiryPoint(EcucContainer):
|
625
|
+
def __init__(self, parent, name) -> None:
|
626
|
+
super().__init__(parent, name)
|
627
|
+
|
628
|
+
self.osScheduleTblExpPointOffset = None # Multiplicity: 1
|
629
|
+
self.osScheduleTableEventSettings = [] # Multiplicity: 0..*
|
630
|
+
self.osScheduleTableTaskActivations = [] # Multiplicity: 0..*
|
631
|
+
self.osScheduleTblAdjustableExpPoint = None # Multiplicity: 0..1
|
632
|
+
|
633
|
+
def getOsScheduleTblExpPointOffset(self):
|
634
|
+
return self.osScheduleTblExpPointOffset
|
635
|
+
|
636
|
+
def setOsScheduleTblExpPointOffset(self, value):
|
637
|
+
self.osScheduleTblExpPointOffset = value
|
638
|
+
return self
|
639
|
+
|
640
|
+
def getOsScheduleTableEventSettingList(self) -> List[OsScheduleTableEventSetting]:
|
641
|
+
return self.osScheduleTableEventSettings
|
642
|
+
|
643
|
+
def addOsScheduleTableEventSetting(self, value: OsScheduleTableEventSetting):
|
644
|
+
self.addElement(value)
|
645
|
+
self.osScheduleTableEventSettings.append(value)
|
646
|
+
return self
|
647
|
+
|
648
|
+
def getOsScheduleTableTaskActivationList(self) -> List[OsScheduleTableTaskActivation]:
|
649
|
+
return self.osScheduleTableTaskActivations
|
650
|
+
|
651
|
+
def addOsScheduleTableTaskActivation(self, value: OsScheduleTableTaskActivation):
|
652
|
+
self.addElement(value)
|
653
|
+
self.osScheduleTableTaskActivations.append(value)
|
654
|
+
return self
|
655
|
+
|
656
|
+
def getOsScheduleTblAdjustableExpPoint(self) -> OsScheduleTblAdjustableExpPoint:
|
657
|
+
return self.osScheduleTblAdjustableExpPoint
|
658
|
+
|
659
|
+
def setOsScheduleTblAdjustableExpPoint(self, value: OsScheduleTblAdjustableExpPoint):
|
660
|
+
self.osScheduleTblAdjustableExpPoint = value
|
661
|
+
return self
|
662
|
+
|
663
|
+
|
664
|
+
class OsScheduleTable(EcucContainer):
|
665
|
+
|
666
|
+
OS_TIME_UNIT_NANOSECONDS = "NANOSECONDS"
|
667
|
+
OS_TIME_UNIT_TICKS = "TICKS"
|
668
|
+
|
669
|
+
def __init__(self, parent, name) -> None:
|
670
|
+
super().__init__(parent, name)
|
671
|
+
|
672
|
+
self.osScheduleTableDuration = None # Multiplicity: 1
|
673
|
+
self.osScheduleTableRepeating = None # Multiplicity: 1
|
674
|
+
self.osScheduleTableCounterRef = None # Multiplicity: 1
|
675
|
+
self.osSchTblAccessingApplications = [] # Multiplicity: 0..*
|
676
|
+
self.osTimeUnit = None # Multiplicity: 0..1
|
677
|
+
|
678
|
+
self.osScheduleTableAutostart = None # Multiplicity: 0..1
|
679
|
+
self.osScheduleTableExpiryPoints = [] # Multiplicity: 1..*
|
680
|
+
self.osScheduleTableSync = None # Multiplicity: 0..1
|
681
|
+
|
682
|
+
def getOsScheduleTableDuration(self):
|
683
|
+
return self.osScheduleTableDuration
|
684
|
+
|
685
|
+
def setOsScheduleTableDuration(self, value):
|
686
|
+
self.osScheduleTableDuration = value
|
687
|
+
return self
|
688
|
+
|
689
|
+
def getOsScheduleTableRepeating(self):
|
690
|
+
return self.osScheduleTableRepeating
|
691
|
+
|
692
|
+
def setOsScheduleTableRepeating(self, value):
|
693
|
+
self.osScheduleTableRepeating = value
|
694
|
+
return self
|
695
|
+
|
696
|
+
def getOsScheduleTableCounterRef(self) -> EcucRefType:
|
697
|
+
return self.osScheduleTableCounterRef
|
698
|
+
|
699
|
+
def setOsScheduleTableCounterRef(self, value: EcucRefType):
|
700
|
+
self.osScheduleTableCounterRef = value
|
701
|
+
return self
|
702
|
+
|
703
|
+
def getOsSchTblAccessingApplicationList(self):
|
704
|
+
return self.osSchTblAccessingApplications
|
705
|
+
|
706
|
+
def addOsSchTblAccessingApplication(self, value):
|
707
|
+
self.osSchTblAccessingApplications.append(value)
|
708
|
+
return self
|
709
|
+
|
710
|
+
def getOsTimeUnit(self) -> str:
|
711
|
+
return self.osTimeUnit
|
712
|
+
|
713
|
+
def setOsTimeUnit(self, value: str):
|
714
|
+
if value is not None:
|
715
|
+
if value not in [OsScheduleTable.OS_TIME_UNIT_NANOSECONDS, OsScheduleTable.OS_TIME_UNIT_TICKS]:
|
716
|
+
raise ValueError("Invalid OsTimeUnit <%s>" % value)
|
717
|
+
self.osTimeUnit = value # set to None if the value is None
|
718
|
+
return self
|
719
|
+
|
720
|
+
def getOsScheduleTableAutostart(self):
|
721
|
+
return self.osScheduleTableAutostart
|
722
|
+
|
723
|
+
def setOsScheduleTableAutostart(self, value):
|
724
|
+
self.osScheduleTableAutostart = value
|
725
|
+
return self
|
726
|
+
|
727
|
+
def getOsScheduleTableExpiryPointList(self) -> List[OsScheduleTableExpiryPoint]:
|
728
|
+
return self.osScheduleTableExpiryPoints
|
729
|
+
|
730
|
+
def addOsScheduleTableExpiryPoint(self, value: OsScheduleTableExpiryPoint):
|
731
|
+
self.addElement(value
|
732
|
+
)
|
733
|
+
self.osScheduleTableExpiryPoints.append(value)
|
734
|
+
return self
|
735
|
+
|
736
|
+
def getOsScheduleTableSync(self):
|
737
|
+
return self.osScheduleTableSync
|
738
|
+
|
739
|
+
def setOsScheduleTableSync(self, value):
|
740
|
+
self.osScheduleTableSync = value
|
741
|
+
return self
|
742
|
+
|
743
|
+
|
744
|
+
class Os(EcucContainer):
|
202
745
|
def __init__(self, parent) -> None:
|
203
746
|
super().__init__(parent, "Os")
|
204
747
|
|
205
748
|
self.osTasks = [] # type: List[OsTask]
|
206
749
|
self.osIsrs = [] # type: List[OsIsr]
|
750
|
+
self.osAlarms = [] # type: List[OsAlarm]
|
751
|
+
self.osScheduleTables = [] # type: List[OsScheduleTable]
|
752
|
+
self.osCounters = [] # type: List[OsCounter]
|
207
753
|
|
208
754
|
def getOsTaskList(self) -> List[OsTask]:
|
209
|
-
return self.
|
210
|
-
|
755
|
+
return list(sorted(filter(lambda a: isinstance(a, OsTask), self.elements.values()), key=lambda o: o.name))
|
756
|
+
|
211
757
|
def addOsTask(self, os_task: OsTask):
|
758
|
+
self.addElement(os_task)
|
212
759
|
self.osTasks.append(os_task)
|
213
760
|
return self
|
214
761
|
|
215
762
|
def getOsIsrList(self) -> List[OsIsr]:
|
216
|
-
return self.
|
217
|
-
|
763
|
+
return list(sorted(filter(lambda a: isinstance(a, OsIsr), self.elements.values()), key=lambda o: o.name))
|
764
|
+
|
218
765
|
def addOsIsr(self, os_isr: OsIsr):
|
766
|
+
self.addElement(os_isr)
|
219
767
|
self.osIsrs.append(os_isr)
|
768
|
+
return self
|
769
|
+
|
770
|
+
def getOsAlarmList(self) -> List[OsAlarm]:
|
771
|
+
return list(sorted(filter(lambda a: isinstance(a, OsAlarm), self.elements.values()), key=lambda o: o.name))
|
772
|
+
|
773
|
+
def addOsAlarm(self, os_alarm: OsAlarm):
|
774
|
+
self.addElement(os_alarm)
|
775
|
+
self.osAlarms.append(os_alarm)
|
776
|
+
return self
|
777
|
+
|
778
|
+
def getOsScheduleTableList(self) -> List[OsScheduleTable]:
|
779
|
+
return list(sorted(filter(lambda a: isinstance(a, OsScheduleTable), self.elements.values()), key=lambda o: o.name))
|
780
|
+
|
781
|
+
def addOsScheduleTable(self, os_schedule_table: OsScheduleTable):
|
782
|
+
self.addElement(os_schedule_table)
|
783
|
+
self.osScheduleTables.append(os_schedule_table)
|
784
|
+
return self
|
785
|
+
|
786
|
+
def getOsCounterList(self) -> List[OsCounter]:
|
787
|
+
return list(sorted(filter(lambda a: isinstance(a, OsCounter), self.elements.values()), key=lambda o: o.name))
|
788
|
+
|
789
|
+
def addOsCounter(self, os_counter: OsCounter):
|
790
|
+
self.addElement(os_counter)
|
791
|
+
self.osCounters.append(os_counter)
|
220
792
|
return self
|