py-eb-model 1.1.5__py3-none-any.whl → 1.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- eb_model/cli/nvm_xdm_2_xls_cli.py +63 -0
- eb_model/cli/rte_xdm_2_xls_cli.py +28 -27
- eb_model/models/abstract.py +26 -9
- eb_model/models/eb_doc.py +13 -4
- eb_model/models/nvm_xdm.py +347 -0
- eb_model/models/os_xdm.py +355 -53
- eb_model/models/rte_xdm.py +16 -11
- eb_model/parser/__init__.py +2 -1
- eb_model/parser/eb_parser.py +31 -21
- eb_model/parser/nvm_xdm_parser.py +44 -0
- eb_model/parser/os_xdm_parser.py +61 -5
- eb_model/parser/rte_xdm_parser.py +11 -11
- eb_model/reporter/__init__.py +2 -1
- eb_model/reporter/excel_reporter/abstract.py +19 -11
- eb_model/reporter/excel_reporter/nvm_xdm.py +40 -0
- eb_model/reporter/excel_reporter/os_xdm.py +104 -20
- eb_model/reporter/excel_reporter/rte_xdm.py +19 -6
- eb_model/tests/models/test_abstract.py +201 -0
- eb_model/tests/models/test_eb_doc.py +66 -0
- eb_model/tests/models/test_eclipse_project.py +21 -0
- eb_model/tests/models/test_importer_xdm.py +45 -40
- eb_model/tests/parser/__init__.py +0 -0
- eb_model/tests/parser/test_os_xdm_parser.py +150 -0
- {py_eb_model-1.1.5.dist-info → py_eb_model-1.1.7.dist-info}/METADATA +26 -3
- py_eb_model-1.1.7.dist-info/RECORD +47 -0
- {py_eb_model-1.1.5.dist-info → py_eb_model-1.1.7.dist-info}/entry_points.txt +1 -0
- py_eb_model-1.1.5.dist-info/RECORD +0 -38
- {py_eb_model-1.1.5.dist-info → py_eb_model-1.1.7.dist-info}/LICENSE +0 -0
- {py_eb_model-1.1.5.dist-info → py_eb_model-1.1.7.dist-info}/WHEEL +0 -0
- {py_eb_model-1.1.5.dist-info → py_eb_model-1.1.7.dist-info}/top_level.txt +0 -0
eb_model/models/os_xdm.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
from typing import Dict, List # noqa F401
|
2
2
|
import logging
|
3
|
-
from ..models.abstract import EcucParamConfContainerDef, EcucObject, EcucRefType, Module
|
3
|
+
from ..models.abstract import EcucEnumerationParamDef, EcucParamConfContainerDef, EcucObject, EcucRefType, Module
|
4
4
|
|
5
5
|
|
6
6
|
class OsAlarmAction(EcucParamConfContainerDef):
|
@@ -114,9 +114,9 @@ class OsAlarm(EcucParamConfContainerDef):
|
|
114
114
|
def __init__(self, parent, name) -> None:
|
115
115
|
super().__init__(parent, name)
|
116
116
|
|
117
|
-
self.osAlarmAccessingApplicationRefs
|
117
|
+
self.osAlarmAccessingApplicationRefs: List[EcucRefType] = []
|
118
118
|
self.osAlarmCounterRef = None
|
119
|
-
self.osAlarmAction = None
|
119
|
+
self.osAlarmAction: OsAlarmAction = None
|
120
120
|
self.osAlarmAutostart = None
|
121
121
|
|
122
122
|
def getOsAlarmAccessingApplicationRefList(self) -> List[EcucRefType]:
|
@@ -164,10 +164,10 @@ class OsApplicationHooks(EcucParamConfContainerDef):
|
|
164
164
|
def __init__(self, parent, name):
|
165
165
|
super().__init__(parent, name)
|
166
166
|
|
167
|
-
self.OsAppErrorHook = False
|
168
|
-
self.OsAppShutdownHook = False
|
169
|
-
self.OsAppStartupHook = False
|
170
|
-
self.OsMemoryMappingCodeLocationRef = None
|
167
|
+
self.OsAppErrorHook: bool = False
|
168
|
+
self.OsAppShutdownHook: bool = False
|
169
|
+
self.OsAppStartupHook: bool = False
|
170
|
+
self.OsMemoryMappingCodeLocationRef: EcucRefType = None
|
171
171
|
|
172
172
|
def getOsAppErrorHook(self):
|
173
173
|
return self.OsAppErrorHook
|
@@ -202,8 +202,8 @@ class OsApplicationTrustedFunction(EcucParamConfContainerDef):
|
|
202
202
|
def __init__(self, parent, name):
|
203
203
|
super().__init__(parent, name)
|
204
204
|
|
205
|
-
self.OsTrustedFunctionName = None
|
206
|
-
self.OsMemoryMappingCodeLocationRef = None
|
205
|
+
self.OsTrustedFunctionName: str = None
|
206
|
+
self.OsMemoryMappingCodeLocationRef: EcucRefType = None
|
207
207
|
|
208
208
|
def getOsTrustedFunctionName(self):
|
209
209
|
return self.OsTrustedFunctionName
|
@@ -229,23 +229,23 @@ class OsApplication(EcucParamConfContainerDef):
|
|
229
229
|
def __init__(self, parent, name) -> None:
|
230
230
|
super().__init__(parent, name)
|
231
231
|
|
232
|
-
self.OsTrusted = False
|
233
|
-
self.OsTrustedApplicationDelayTimingViolationCall = False
|
234
|
-
self.OsTrustedApplicationWithProtection = False
|
235
|
-
self.OsAppAlarmRefs
|
236
|
-
self.OsAppCounterRefs
|
237
|
-
self.OsAppEcucPartitionRefs
|
238
|
-
self.OsAppIsrRefs
|
239
|
-
self.OsApplicationCoreRefs
|
240
|
-
self.OsAppScheduleTableRefs
|
241
|
-
self.OsAppTaskRefs
|
242
|
-
self.OsMemoryMappingCodeLocationRef = None
|
243
|
-
self.OsRestartTask = None
|
232
|
+
self.OsTrusted: bool = False
|
233
|
+
self.OsTrustedApplicationDelayTimingViolationCall: bool = False
|
234
|
+
self.OsTrustedApplicationWithProtection: bool = False
|
235
|
+
self.OsAppAlarmRefs: List[EcucRefType] = []
|
236
|
+
self.OsAppCounterRefs: List[EcucRefType] = []
|
237
|
+
self.OsAppEcucPartitionRefs: List[EcucRefType] = []
|
238
|
+
self.OsAppIsrRefs: List[EcucRefType] = []
|
239
|
+
self.OsApplicationCoreRefs: List[EcucRefType] = []
|
240
|
+
self.OsAppScheduleTableRefs: List[EcucRefType] = []
|
241
|
+
self.OsAppTaskRefs: List[EcucRefType] = []
|
242
|
+
self.OsMemoryMappingCodeLocationRef: EcucRefType = None
|
243
|
+
self.OsRestartTask: EcucRefType = None
|
244
244
|
|
245
245
|
'''
|
246
246
|
EB Tresos
|
247
247
|
'''
|
248
|
-
self.OsAppResourceRefs
|
248
|
+
self.OsAppResourceRefs: List[EcucRefType] = []
|
249
249
|
|
250
250
|
def getOsTrusted(self):
|
251
251
|
return self.OsTrusted
|
@@ -334,7 +334,7 @@ class OsApplication(EcucParamConfContainerDef):
|
|
334
334
|
def setOsRestartTask(self, value):
|
335
335
|
self.OsRestartTask = value
|
336
336
|
return self
|
337
|
-
|
337
|
+
|
338
338
|
def getOsAppResourceRefs(self):
|
339
339
|
return self.OsAppResourceRefs
|
340
340
|
|
@@ -348,7 +348,7 @@ class OsDriver(EcucParamConfContainerDef):
|
|
348
348
|
def __init__(self, parent, name) -> None:
|
349
349
|
super().__init__(parent, name)
|
350
350
|
|
351
|
-
self.osGptChannelRef = None
|
351
|
+
self.osGptChannelRef: EcucRefType = None
|
352
352
|
|
353
353
|
def getOsGptChannelRef(self) -> EcucRefType:
|
354
354
|
'''
|
@@ -397,7 +397,7 @@ class OsCounter(EcucParamConfContainerDef):
|
|
397
397
|
self.osCounterTicksPerBase = None # type: int
|
398
398
|
self.osCounterType = None # type: str
|
399
399
|
self.osSecondsPerTick = None # type: float
|
400
|
-
self.osCounterAccessingApplications
|
400
|
+
self.osCounterAccessingApplications: List[EcucRefType] = []
|
401
401
|
self.osDriver = None # Multiplicity: 0..1
|
402
402
|
self.osTimeConstants = [] # Multiplicity: 0..*
|
403
403
|
|
@@ -483,8 +483,36 @@ class OsCounter(EcucParamConfContainerDef):
|
|
483
483
|
|
484
484
|
|
485
485
|
class OsResource(EcucParamConfContainerDef):
|
486
|
-
def __init__(self
|
487
|
-
|
486
|
+
def __init__(self, parent, name):
|
487
|
+
super().__init__(parent, name)
|
488
|
+
|
489
|
+
self.osResourceProperty: EcucEnumerationParamDef = None
|
490
|
+
self.osResourceAccessingApplicationRefs: List[EcucRefType] = []
|
491
|
+
self.osResourceLinkedResourceRefs: List[EcucRefType] = []
|
492
|
+
|
493
|
+
def getOsResourceProperty(self):
|
494
|
+
return self.osResourceProperty
|
495
|
+
|
496
|
+
def setOsResourceProperty(self, value):
|
497
|
+
if value is not None:
|
498
|
+
self.osResourceProperty = value
|
499
|
+
return self
|
500
|
+
|
501
|
+
def getOsResourceAccessingApplicationRefs(self):
|
502
|
+
return self.osResourceAccessingApplicationRefs
|
503
|
+
|
504
|
+
def addOsResourceAccessingApplicationRefs(self, value):
|
505
|
+
if value is not None:
|
506
|
+
self.osResourceAccessingApplicationRefs.append(value)
|
507
|
+
return self
|
508
|
+
|
509
|
+
def getOsResourceLinkedResourceRefs(self):
|
510
|
+
return self.osResourceLinkedResourceRefs
|
511
|
+
|
512
|
+
def setOsResourceLinkedResourceRefs(self, value):
|
513
|
+
if value is not None:
|
514
|
+
self.osResourceLinkedResourceRefs = value
|
515
|
+
return self
|
488
516
|
|
489
517
|
|
490
518
|
class OsIsrResourceLock(EcucParamConfContainerDef):
|
@@ -513,15 +541,26 @@ class OsIsr(EcucObject):
|
|
513
541
|
def __init__(self, parent, name) -> None:
|
514
542
|
super().__init__(parent, name)
|
515
543
|
|
516
|
-
self.osIsrCategory = None
|
517
|
-
self.osIsrPeriod = None
|
518
|
-
self.osIsrResourceRef = None
|
519
|
-
self.osMemoryMappingCodeLocationRef = None
|
544
|
+
self.osIsrCategory: str = None
|
545
|
+
self.osIsrPeriod: int = None
|
546
|
+
self.osIsrResourceRef: EcucRefType = None
|
547
|
+
self.osMemoryMappingCodeLocationRef: EcucRefType = None
|
520
548
|
self.osIsrTimingProtection = OsIsrTimingProtection()
|
521
549
|
|
522
|
-
self.osIsrPriority = None
|
523
|
-
self.osStacksize = None
|
524
|
-
self.osIsrVector = None
|
550
|
+
self.osIsrPriority: int = None
|
551
|
+
self.osStacksize: int = None
|
552
|
+
self.osIsrVector: str = None
|
553
|
+
|
554
|
+
# Infineon Aurix Tricore
|
555
|
+
self.osTricoreIrqLevel: str = None
|
556
|
+
self.osTricoreVector: str = None
|
557
|
+
|
558
|
+
# ARM core
|
559
|
+
self.osARMIrqLevel: str = None
|
560
|
+
self.osARMVector: str = None
|
561
|
+
|
562
|
+
# EB Safety OS
|
563
|
+
self.osIsrMkMemoryRegionRefs: List[EcucRefType] = []
|
525
564
|
|
526
565
|
def getOsIsrCategory(self):
|
527
566
|
return self.osIsrCategory
|
@@ -578,7 +617,7 @@ class OsIsr(EcucObject):
|
|
578
617
|
if value is not None:
|
579
618
|
self.osStacksize = value
|
580
619
|
return self
|
581
|
-
|
620
|
+
|
582
621
|
def getOsIsrVector(self):
|
583
622
|
return self.osIsrVector
|
584
623
|
|
@@ -586,13 +625,56 @@ class OsIsr(EcucObject):
|
|
586
625
|
if value is not None:
|
587
626
|
self.osIsrVector = value
|
588
627
|
return self
|
628
|
+
|
629
|
+
# Infineon AURIX Tricore
|
630
|
+
def getOsTricoreIrqLevel(self) -> str:
|
631
|
+
return self.osTricoreIrqLevel
|
632
|
+
|
633
|
+
def setOsTricoreIrqLevel(self, value: str):
|
634
|
+
if value is not None:
|
635
|
+
self.osTricoreIrqLevel = value
|
636
|
+
return self
|
637
|
+
|
638
|
+
def getOsTricoreVector(self) -> str:
|
639
|
+
return self.osTricoreVector
|
640
|
+
|
641
|
+
def setOsTricoreVector(self, value: str):
|
642
|
+
if value is not None:
|
643
|
+
self.osTricoreVector = value
|
644
|
+
return self
|
645
|
+
|
646
|
+
# ARM core
|
647
|
+
def getOsARMIrqLevel(self) -> str:
|
648
|
+
return self.osARMIrqLevel
|
649
|
+
|
650
|
+
def setOsARMIrqLevel(self, value: str):
|
651
|
+
if value is not None:
|
652
|
+
self.osARMIrqLevel = value
|
653
|
+
return self
|
654
|
+
|
655
|
+
def getOsARMVector(self) -> str:
|
656
|
+
return self.osARMVector
|
657
|
+
|
658
|
+
def setOsARMVector(self, value: str):
|
659
|
+
if value is not None:
|
660
|
+
self.osARMVector = value
|
661
|
+
return self
|
662
|
+
|
663
|
+
# EB Safety OS
|
664
|
+
def getOsIsrMkMemoryRegionRefs(self) -> List[EcucRefType]:
|
665
|
+
return self.osIsrMkMemoryRegionRefs
|
666
|
+
|
667
|
+
def addOsIsrMkMemoryRegionRef(self, value: List[EcucRefType]):
|
668
|
+
if value is not None:
|
669
|
+
self.osIsrMkMemoryRegionRefs.append(value)
|
670
|
+
return self
|
589
671
|
|
590
672
|
|
591
673
|
class OsTaskAutostart(EcucObject):
|
592
674
|
def __init__(self, parent, name) -> None:
|
593
675
|
super().__init__(parent, name)
|
594
676
|
|
595
|
-
self.osTaskAppModeRefs
|
677
|
+
self.osTaskAppModeRefs: List[EcucRefType] = []
|
596
678
|
|
597
679
|
def getOsTaskAppModeRefList(self):
|
598
680
|
return self.osTaskAppModeRefs
|
@@ -711,7 +793,7 @@ class OsTask(EcucObject):
|
|
711
793
|
if self.osTaskSchedule == OsTask.FULL:
|
712
794
|
return True
|
713
795
|
return False
|
714
|
-
|
796
|
+
|
715
797
|
def getOsTaskAutostart(self):
|
716
798
|
return self.osTaskAutostart
|
717
799
|
|
@@ -719,7 +801,7 @@ class OsTask(EcucObject):
|
|
719
801
|
if value is not None:
|
720
802
|
self.osTaskAutostart = value
|
721
803
|
return self
|
722
|
-
|
804
|
+
|
723
805
|
def isOsTaskAutostart(self) -> bool:
|
724
806
|
return self.osTaskAutostart is not None
|
725
807
|
|
@@ -934,20 +1016,222 @@ class OsScheduleTable(EcucParamConfContainerDef):
|
|
934
1016
|
return self
|
935
1017
|
|
936
1018
|
|
1019
|
+
class MkMemoryRegion(EcucObject):
|
1020
|
+
def __init__(self, parent, name):
|
1021
|
+
super().__init__(parent, name)
|
1022
|
+
|
1023
|
+
self.mkMemoryRegionFlags: str = None
|
1024
|
+
self.mkMemoryRegionInitialize: bool = None
|
1025
|
+
self.mkMemoryRegionGlobal: bool = None
|
1026
|
+
self.mkMemoryRegionInitThreadAccess: bool = None
|
1027
|
+
self.mkMemoryRegionIdleThreadAccess: bool = None
|
1028
|
+
self.mkMemoryRegionOsThreadAccess: bool = None
|
1029
|
+
self.mkMemoryRegionErrorHookAccess: bool = None
|
1030
|
+
self.mkMemoryRegionProtHookAccess: bool = None
|
1031
|
+
self.mkMemoryRegionShutdownHookAccess: bool = None
|
1032
|
+
self.mkMemoryRegionShutdownAccess: bool = None
|
1033
|
+
self.mkMemoryRegionKernelAccess: bool = None
|
1034
|
+
self.mkMemoryRegionInitializePerCore: bool = None
|
1035
|
+
|
1036
|
+
def getMkMemoryRegionFlags(self) -> str:
|
1037
|
+
return self.mkMemoryRegionFlags
|
1038
|
+
|
1039
|
+
def setMkMemoryRegionFlags(self, value: str):
|
1040
|
+
if value is not None:
|
1041
|
+
self.mkMemoryRegionFlags = value
|
1042
|
+
return self
|
1043
|
+
|
1044
|
+
def getMkMemoryRegionInitialize(self) -> bool:
|
1045
|
+
return self.mkMemoryRegionInitialize
|
1046
|
+
|
1047
|
+
def setMkMemoryRegionInitialize(self, value: bool):
|
1048
|
+
if value is not None:
|
1049
|
+
self.mkMemoryRegionInitialize = value
|
1050
|
+
return self
|
1051
|
+
|
1052
|
+
def getMkMemoryRegionGlobal(self) -> bool:
|
1053
|
+
return self.mkMemoryRegionGlobal
|
1054
|
+
|
1055
|
+
def setMkMemoryRegionGlobal(self, value: bool):
|
1056
|
+
if value is not None:
|
1057
|
+
self.mkMemoryRegionGlobal = value
|
1058
|
+
return self
|
1059
|
+
|
1060
|
+
def getMkMemoryRegionInitThreadAccess(self) -> bool:
|
1061
|
+
return self.mkMemoryRegionInitThreadAccess
|
1062
|
+
|
1063
|
+
def setMkMemoryRegionInitThreadAccess(self, value: bool):
|
1064
|
+
if value is not None:
|
1065
|
+
self.mkMemoryRegionInitThreadAccess = value
|
1066
|
+
return self
|
1067
|
+
|
1068
|
+
def getMkMemoryRegionIdleThreadAccess(self) -> bool:
|
1069
|
+
return self.mkMemoryRegionIdleThreadAccess
|
1070
|
+
|
1071
|
+
def setMkMemoryRegionIdleThreadAccess(self, value: bool):
|
1072
|
+
if value is not None:
|
1073
|
+
self.mkMemoryRegionIdleThreadAccess = value
|
1074
|
+
return self
|
1075
|
+
|
1076
|
+
def getMkMemoryRegionOsThreadAccess(self) -> bool:
|
1077
|
+
return self.mkMemoryRegionOsThreadAccess
|
1078
|
+
|
1079
|
+
def setMkMemoryRegionOsThreadAccess(self, value: bool):
|
1080
|
+
if value is not None:
|
1081
|
+
self.mkMemoryRegionOsThreadAccess = value
|
1082
|
+
return self
|
1083
|
+
|
1084
|
+
def getMkMemoryRegionErrorHookAccess(self) -> bool:
|
1085
|
+
return self.mkMemoryRegionErrorHookAccess
|
1086
|
+
|
1087
|
+
def setMkMemoryRegionErrorHookAccess(self, value: bool):
|
1088
|
+
if value is not None:
|
1089
|
+
self.mkMemoryRegionErrorHookAccess = value
|
1090
|
+
return self
|
1091
|
+
|
1092
|
+
def getMkMemoryRegionProtHookAccess(self) -> bool:
|
1093
|
+
return self.mkMemoryRegionProtHookAccess
|
1094
|
+
|
1095
|
+
def setMkMemoryRegionProtHookAccess(self, value: bool):
|
1096
|
+
if value is not None:
|
1097
|
+
self.mkMemoryRegionProtHookAccess = value
|
1098
|
+
return self
|
1099
|
+
|
1100
|
+
def getMkMemoryRegionShutdownHookAccess(self) -> bool:
|
1101
|
+
return self.mkMemoryRegionShutdownHookAccess
|
1102
|
+
|
1103
|
+
def setMkMemoryRegionShutdownHookAccess(self, value: bool):
|
1104
|
+
if value is not None:
|
1105
|
+
self.mkMemoryRegionShutdownHookAccess = value
|
1106
|
+
return self
|
1107
|
+
|
1108
|
+
def getMkMemoryRegionShutdownAccess(self) -> bool:
|
1109
|
+
return self.mkMemoryRegionShutdownAccess
|
1110
|
+
|
1111
|
+
def setMkMemoryRegionShutdownAccess(self, value: bool):
|
1112
|
+
if value is not None:
|
1113
|
+
self.mkMemoryRegionShutdownAccess = value
|
1114
|
+
return self
|
1115
|
+
|
1116
|
+
def getMkMemoryRegionKernelAccess(self) -> bool:
|
1117
|
+
return self.mkMemoryRegionKernelAccess
|
1118
|
+
|
1119
|
+
def setMkMemoryRegionKernelAccess(self, value: bool):
|
1120
|
+
if value is not None:
|
1121
|
+
self.mkMemoryRegionKernelAccess = value
|
1122
|
+
return self
|
1123
|
+
|
1124
|
+
def getMkMemoryRegionInitializePerCore(self) -> bool:
|
1125
|
+
return self.mkMemoryRegionInitializePerCore
|
1126
|
+
|
1127
|
+
def setMkMemoryRegionInitializePerCore(self, value: bool):
|
1128
|
+
if value is not None:
|
1129
|
+
self.mkMemoryRegionInitializePerCore = value
|
1130
|
+
return self
|
1131
|
+
|
1132
|
+
|
1133
|
+
class MkMemoryProtection(EcucParamConfContainerDef):
|
1134
|
+
def __init__(self, parent, name):
|
1135
|
+
super().__init__(parent, name)
|
1136
|
+
|
1137
|
+
self.mkMemoryRegions: List[MkMemoryRegion] = []
|
1138
|
+
|
1139
|
+
def getMkMemoryRegionList(self) -> List[MkMemoryRegion]:
|
1140
|
+
return self.mkMemoryRegions
|
1141
|
+
|
1142
|
+
def addMkMemoryRegion(self, value: MkMemoryRegion):
|
1143
|
+
if value is not None:
|
1144
|
+
self.mkMemoryRegions.append(value)
|
1145
|
+
return self
|
1146
|
+
|
1147
|
+
|
1148
|
+
class MkFunction(EcucParamConfContainerDef):
|
1149
|
+
def __init__(self, parent, name):
|
1150
|
+
super().__init__(parent, name)
|
1151
|
+
|
1152
|
+
|
1153
|
+
class MkStack(EcucParamConfContainerDef):
|
1154
|
+
def __init__(self, parent, name):
|
1155
|
+
super().__init__(parent, name)
|
1156
|
+
|
1157
|
+
|
1158
|
+
class MkThreadCustomization(EcucParamConfContainerDef):
|
1159
|
+
def __init__(self, parent, name):
|
1160
|
+
super().__init__(parent, name)
|
1161
|
+
|
1162
|
+
|
1163
|
+
class MkOptimization(EcucParamConfContainerDef):
|
1164
|
+
def __init__(self, parent, name):
|
1165
|
+
super().__init__(parent, name)
|
1166
|
+
|
1167
|
+
|
1168
|
+
class OsMicrokernel(EcucParamConfContainerDef):
|
1169
|
+
def __init__(self, parent, name):
|
1170
|
+
super().__init__(parent, name)
|
1171
|
+
|
1172
|
+
self.mkFunction: MkFunction = None
|
1173
|
+
self.mkStack: MkStack = None
|
1174
|
+
self.mkMemoryProtection: MkMemoryProtection = None
|
1175
|
+
self.mkOptimization: MkOptimization = None
|
1176
|
+
self.mkThreadCustomization: MkThreadCustomization = None
|
1177
|
+
|
1178
|
+
def getMkFunction(self) -> MkFunction:
|
1179
|
+
return self.mkFunction
|
1180
|
+
|
1181
|
+
def setMkFunction(self, value: MkFunction):
|
1182
|
+
if value is not None:
|
1183
|
+
self.mkFunction = value
|
1184
|
+
return self
|
1185
|
+
|
1186
|
+
def getMkStack(self) -> MkStack:
|
1187
|
+
return self.mkStack
|
1188
|
+
|
1189
|
+
def setMkStack(self, value: MkStack):
|
1190
|
+
if value is not None:
|
1191
|
+
self.mkStack = value
|
1192
|
+
return self
|
1193
|
+
|
1194
|
+
def getMkMemoryProtection(self) -> MkMemoryProtection:
|
1195
|
+
return self.mkMemoryProtection
|
1196
|
+
|
1197
|
+
def setMkMemoryProtection(self, value: MkMemoryProtection):
|
1198
|
+
if value is not None:
|
1199
|
+
self.mkMemoryProtection = value
|
1200
|
+
return self
|
1201
|
+
|
1202
|
+
def getMkOptimization(self) -> MkOptimization:
|
1203
|
+
return self.mkOptimization
|
1204
|
+
|
1205
|
+
def setMkOptimization(self, value: MkOptimization):
|
1206
|
+
if value is not None:
|
1207
|
+
self.mkOptimization = value
|
1208
|
+
return self
|
1209
|
+
|
1210
|
+
def getMkThreadCustomization(self) -> MkThreadCustomization:
|
1211
|
+
return self.mkThreadCustomization
|
1212
|
+
|
1213
|
+
def setMkThreadCustomization(self, value: MkThreadCustomization):
|
1214
|
+
if value is not None:
|
1215
|
+
self.mkThreadCustomization = value
|
1216
|
+
return self
|
1217
|
+
|
1218
|
+
|
937
1219
|
class Os(Module):
|
938
1220
|
def __init__(self, parent) -> None:
|
939
1221
|
super().__init__(parent, "Os")
|
940
1222
|
|
941
|
-
self.osTasks
|
942
|
-
self.osIsrs
|
943
|
-
self.osAlarms
|
944
|
-
self.osScheduleTables
|
945
|
-
self.osCounters
|
946
|
-
self.osApplications
|
1223
|
+
self.osTasks: List[OsTask] = []
|
1224
|
+
self.osIsrs: List[OsIsr] = []
|
1225
|
+
self.osAlarms: List[OsAlarm] = []
|
1226
|
+
self.osScheduleTables: List[OsScheduleTable] = []
|
1227
|
+
self.osCounters: List[OsCounter] = []
|
1228
|
+
self.osApplications: List[OsApplication] = []
|
1229
|
+
self.osResources: List[OsResource] = []
|
1230
|
+
self.osMicrokernel: OsMicrokernel = None
|
947
1231
|
|
948
1232
|
# extended attributes to speed up performance
|
949
|
-
self.osIsrToOsAppMappings
|
950
|
-
self.osTaskToOsAppMappings
|
1233
|
+
self.osIsrToOsAppMappings: Dict[str, OsApplication] = {}
|
1234
|
+
self.osTaskToOsAppMappings: Dict[str, OsApplication] = {}
|
951
1235
|
|
952
1236
|
self.logger = logging.getLogger()
|
953
1237
|
|
@@ -990,30 +1274,48 @@ class Os(Module):
|
|
990
1274
|
self.addElement(os_counter)
|
991
1275
|
self.osCounters.append(os_counter)
|
992
1276
|
return self
|
993
|
-
|
1277
|
+
|
994
1278
|
def getOsApplicationList(self) -> List[OsApplication]:
|
995
|
-
return list(sorted(filter(lambda a: isinstance(a, OsApplication), self.elements.values()), key=lambda o: o.
|
1279
|
+
return list(sorted(filter(lambda a: isinstance(a, OsApplication), self.elements.values()), key=lambda o: o.getName()))
|
996
1280
|
|
997
1281
|
def addOsApplication(self, value: OsApplication):
|
998
1282
|
self.addElement(value)
|
999
1283
|
self.osApplications.append(value)
|
1000
|
-
|
1284
|
+
|
1001
1285
|
for isr_ref in value.getOsAppIsrRefs():
|
1002
|
-
self.logger.debug("Create OsISR <%s> -> OsApp <%s> Mapping." %
|
1286
|
+
self.logger.debug("Create OsISR <%s> -> OsApp <%s> Mapping." %
|
1287
|
+
(isr_ref.getShortName(), value.getName()))
|
1003
1288
|
self.osIsrToOsAppMappings[isr_ref.getShortName()] = value
|
1004
1289
|
|
1005
1290
|
for task_ref in value.getOsAppTaskRefs():
|
1006
|
-
self.logger.debug("Create OsTask <%s> -> OsApp <%s> Mapping." %
|
1291
|
+
self.logger.debug("Create OsTask <%s> -> OsApp <%s> Mapping." %
|
1292
|
+
(task_ref.getShortName(), value.getName()))
|
1007
1293
|
self.osTaskToOsAppMappings[task_ref.getShortName()] = value
|
1008
1294
|
|
1009
1295
|
return self
|
1010
|
-
|
1296
|
+
|
1297
|
+
def getOsResourceList(self) -> List[OsResource]:
|
1298
|
+
return list(sorted(filter(lambda a: isinstance(a, OsResource), self.elements.values()), key=lambda o: o.getName()))
|
1299
|
+
|
1300
|
+
def addOsResource(self, os_task: OsResource):
|
1301
|
+
self.addElement(os_task)
|
1302
|
+
self.osResources.append(os_task)
|
1303
|
+
return self
|
1304
|
+
|
1011
1305
|
def getOsIsrOsApplication(self, isr_name: str) -> OsApplication:
|
1012
1306
|
if isr_name in self.osIsrToOsAppMappings:
|
1013
1307
|
return self.osIsrToOsAppMappings[isr_name]
|
1014
1308
|
return None
|
1015
|
-
|
1309
|
+
|
1016
1310
|
def getOsTaskOsApplication(self, isr_name: str) -> OsApplication:
|
1017
1311
|
if isr_name in self.osTaskToOsAppMappings:
|
1018
1312
|
return self.osTaskToOsAppMappings[isr_name]
|
1019
1313
|
return None
|
1314
|
+
|
1315
|
+
def getOsMicrokernel(self) -> OsMicrokernel:
|
1316
|
+
return self.osMicrokernel
|
1317
|
+
|
1318
|
+
def setOsMicrokernel(self, value: OsMicrokernel):
|
1319
|
+
if value is not None:
|
1320
|
+
self.osMicrokernel = value
|
1321
|
+
return self
|
eb_model/models/rte_xdm.py
CHANGED
@@ -21,6 +21,11 @@ class AbstractEventToTaskMapping(EcucParamConfContainerDef):
|
|
21
21
|
|
22
22
|
def getRtePositionInTask(self):
|
23
23
|
return self.rtePositionInTask
|
24
|
+
|
25
|
+
def getRtePositionInTaskNumber(self) -> int:
|
26
|
+
if self.rtePositionInTask is None:
|
27
|
+
return 0
|
28
|
+
return self.rtePositionInTask
|
24
29
|
|
25
30
|
def setRtePositionInTask(self, value):
|
26
31
|
self.rtePositionInTask = value
|
@@ -185,7 +190,7 @@ class RteEventToTaskMappingV3(RteEventToTaskMapping):
|
|
185
190
|
def __init__(self, parent, name):
|
186
191
|
super().__init__(parent, name)
|
187
192
|
|
188
|
-
self.rteEventRef = None
|
193
|
+
self.rteEventRef: EcucParamConfContainerDef = None
|
189
194
|
|
190
195
|
def getRteEventRef(self) -> EcucRefType:
|
191
196
|
return self.rteEventRef
|
@@ -199,17 +204,17 @@ class RteEventToTaskMappingV4(RteEventToTaskMapping):
|
|
199
204
|
def __init__(self, parent, name):
|
200
205
|
super().__init__(parent, name)
|
201
206
|
|
202
|
-
self.rteEventRefs = []
|
207
|
+
self.rteEventRefs: List[EcucRefType] = []
|
203
208
|
|
204
|
-
def getRteEventRefs(self):
|
209
|
+
def getRteEventRefs(self) -> List[EcucRefType]:
|
205
210
|
return self.rteEventRefs
|
206
211
|
|
207
|
-
def addRteEventRef(self, value):
|
212
|
+
def addRteEventRef(self, value: EcucRefType):
|
208
213
|
if value is not None:
|
209
214
|
self.rteEventRefs.append(value)
|
210
215
|
return self
|
211
216
|
|
212
|
-
def getRteEventRef(self):
|
217
|
+
def getRteEventRef(self) -> EcucRefType:
|
213
218
|
if len(self.rteEventRefs) != 1:
|
214
219
|
raise ValueError("Unsupported RteEventRef of RteEventToTaskMapping <%s> " % self.name)
|
215
220
|
return self.rteEventRefs[0]
|
@@ -341,12 +346,12 @@ class RteBswEventToTaskMappingV3(RteBswEventToTaskMapping):
|
|
341
346
|
def __init__(self, parent, name):
|
342
347
|
super().__init__(parent, name)
|
343
348
|
|
344
|
-
self.rteBswEventRef = None
|
349
|
+
self.rteBswEventRef: EcucRefType = None
|
345
350
|
|
346
|
-
def getRteBswEventRef(self):
|
351
|
+
def getRteBswEventRef(self) -> EcucRefType:
|
347
352
|
return self.rteBswEventRef
|
348
353
|
|
349
|
-
def setRteBswEventRef(self, value):
|
354
|
+
def setRteBswEventRef(self, value: EcucRefType):
|
350
355
|
if value is not None:
|
351
356
|
self.rteBswEventRef = value
|
352
357
|
return self
|
@@ -356,16 +361,16 @@ class RteBswEventToTaskMappingV4(RteBswEventToTaskMapping):
|
|
356
361
|
def __init__(self, parent, name):
|
357
362
|
super().__init__(parent, name)
|
358
363
|
|
359
|
-
self.rteBswEventRefs
|
364
|
+
self.rteBswEventRefs: List[EcucRefType] = []
|
360
365
|
|
361
|
-
def getRteBswEventRefs(self) -> EcucRefType:
|
366
|
+
def getRteBswEventRefs(self) -> List[EcucRefType]:
|
362
367
|
return self.rteBswEventRefs
|
363
368
|
|
364
369
|
def addRteBswEventRef(self, value: EcucRefType):
|
365
370
|
self.rteBswEventRefs.append(value)
|
366
371
|
return self
|
367
372
|
|
368
|
-
def getRteBswEventRef(self):
|
373
|
+
def getRteBswEventRef(self) -> EcucRefType:
|
369
374
|
if len(self.rteBswEventRefs) != 1:
|
370
375
|
raise ValueError("Unsupported RteEventRef of RteEventToTaskMapping <%s> " % self.name)
|
371
376
|
return self.rteBswEventRefs[0]
|
eb_model/parser/__init__.py
CHANGED