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