py-eb-model 1.1.6__py3-none-any.whl → 1.1.8__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/pref_system_importer_cli.py +22 -13
- eb_model/cli/rte_xdm_2_xls_cli.py +28 -27
- eb_model/models/abstract.py +20 -8
- eb_model/models/importer_xdm.py +3 -1
- eb_model/models/nvm_xdm.py +321 -12
- eb_model/models/os_xdm.py +320 -55
- eb_model/models/rte_xdm.py +16 -11
- eb_model/parser/eb_parser.py +28 -20
- eb_model/parser/nvm_xdm_parser.py +89 -12
- eb_model/parser/os_xdm_parser.py +56 -12
- eb_model/parser/rte_xdm_parser.py +11 -11
- eb_model/reporter/excel_reporter/abstract.py +20 -6
- eb_model/reporter/excel_reporter/nvm_xdm.py +97 -7
- eb_model/reporter/excel_reporter/os_xdm.py +104 -20
- eb_model/reporter/excel_reporter/rte_xdm.py +15 -4
- 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_nvm_xdm_parser.py +259 -0
- eb_model/tests/parser/test_os_xdm_parser.py +396 -0
- eb_model/writer/text_writer.py +4 -2
- {py_eb_model-1.1.6.dist-info → py_eb_model-1.1.8.dist-info}/METADATA +12 -1
- py_eb_model-1.1.8.dist-info/RECORD +48 -0
- py_eb_model-1.1.6.dist-info/RECORD +0 -42
- {py_eb_model-1.1.6.dist-info → py_eb_model-1.1.8.dist-info}/LICENSE +0 -0
- {py_eb_model-1.1.6.dist-info → py_eb_model-1.1.8.dist-info}/WHEEL +0 -0
- {py_eb_model-1.1.6.dist-info → py_eb_model-1.1.8.dist-info}/entry_points.txt +0 -0
- {py_eb_model-1.1.6.dist-info → py_eb_model-1.1.8.dist-info}/top_level.txt +0 -0
eb_model/models/os_xdm.py
CHANGED
@@ -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
|
|
@@ -486,9 +486,9 @@ class OsResource(EcucParamConfContainerDef):
|
|
486
486
|
def __init__(self, parent, name):
|
487
487
|
super().__init__(parent, name)
|
488
488
|
|
489
|
-
self.osResourceProperty = None
|
490
|
-
self.osResourceAccessingApplicationRefs
|
491
|
-
self.osResourceLinkedResourceRefs
|
489
|
+
self.osResourceProperty: EcucEnumerationParamDef = None
|
490
|
+
self.osResourceAccessingApplicationRefs: List[EcucRefType] = []
|
491
|
+
self.osResourceLinkedResourceRefs: List[EcucRefType] = []
|
492
492
|
|
493
493
|
def getOsResourceProperty(self):
|
494
494
|
return self.osResourceProperty
|
@@ -514,7 +514,7 @@ class OsResource(EcucParamConfContainerDef):
|
|
514
514
|
self.osResourceLinkedResourceRefs = value
|
515
515
|
return self
|
516
516
|
|
517
|
-
|
517
|
+
|
518
518
|
class OsIsrResourceLock(EcucParamConfContainerDef):
|
519
519
|
def __init__(self) -> None:
|
520
520
|
self.osIsrResourceLockBudget = None
|
@@ -541,15 +541,26 @@ class OsIsr(EcucObject):
|
|
541
541
|
def __init__(self, parent, name) -> None:
|
542
542
|
super().__init__(parent, name)
|
543
543
|
|
544
|
-
self.osIsrCategory = None
|
545
|
-
self.osIsrPeriod = None
|
546
|
-
self.osIsrResourceRef = None
|
547
|
-
self.osMemoryMappingCodeLocationRef = None
|
544
|
+
self.osIsrCategory: str = None
|
545
|
+
self.osIsrPeriod: int = None
|
546
|
+
self.osIsrResourceRef: EcucRefType = None
|
547
|
+
self.osMemoryMappingCodeLocationRef: EcucRefType = None
|
548
548
|
self.osIsrTimingProtection = OsIsrTimingProtection()
|
549
549
|
|
550
|
-
self.osIsrPriority = None
|
551
|
-
self.osStacksize = None
|
552
|
-
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] = []
|
553
564
|
|
554
565
|
def getOsIsrCategory(self):
|
555
566
|
return self.osIsrCategory
|
@@ -606,7 +617,7 @@ class OsIsr(EcucObject):
|
|
606
617
|
if value is not None:
|
607
618
|
self.osStacksize = value
|
608
619
|
return self
|
609
|
-
|
620
|
+
|
610
621
|
def getOsIsrVector(self):
|
611
622
|
return self.osIsrVector
|
612
623
|
|
@@ -614,13 +625,56 @@ class OsIsr(EcucObject):
|
|
614
625
|
if value is not None:
|
615
626
|
self.osIsrVector = value
|
616
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
|
617
671
|
|
618
672
|
|
619
673
|
class OsTaskAutostart(EcucObject):
|
620
674
|
def __init__(self, parent, name) -> None:
|
621
675
|
super().__init__(parent, name)
|
622
676
|
|
623
|
-
self.osTaskAppModeRefs
|
677
|
+
self.osTaskAppModeRefs: List[EcucRefType] = []
|
624
678
|
|
625
679
|
def getOsTaskAppModeRefList(self):
|
626
680
|
return self.osTaskAppModeRefs
|
@@ -739,7 +793,7 @@ class OsTask(EcucObject):
|
|
739
793
|
if self.osTaskSchedule == OsTask.FULL:
|
740
794
|
return True
|
741
795
|
return False
|
742
|
-
|
796
|
+
|
743
797
|
def getOsTaskAutostart(self):
|
744
798
|
return self.osTaskAutostart
|
745
799
|
|
@@ -747,7 +801,7 @@ class OsTask(EcucObject):
|
|
747
801
|
if value is not None:
|
748
802
|
self.osTaskAutostart = value
|
749
803
|
return self
|
750
|
-
|
804
|
+
|
751
805
|
def isOsTaskAutostart(self) -> bool:
|
752
806
|
return self.osTaskAutostart is not None
|
753
807
|
|
@@ -962,21 +1016,222 @@ class OsScheduleTable(EcucParamConfContainerDef):
|
|
962
1016
|
return self
|
963
1017
|
|
964
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
|
+
|
965
1219
|
class Os(Module):
|
966
1220
|
def __init__(self, parent) -> None:
|
967
1221
|
super().__init__(parent, "Os")
|
968
1222
|
|
969
|
-
self.osTasks
|
970
|
-
self.osIsrs
|
971
|
-
self.osAlarms
|
972
|
-
self.osScheduleTables
|
973
|
-
self.osCounters
|
974
|
-
self.osApplications
|
975
|
-
self.osResources
|
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
|
976
1231
|
|
977
1232
|
# extended attributes to speed up performance
|
978
|
-
self.osIsrToOsAppMappings
|
979
|
-
self.osTaskToOsAppMappings
|
1233
|
+
self.osIsrToOsAppMappings: Dict[str, OsApplication] = {}
|
1234
|
+
self.osTaskToOsAppMappings: Dict[str, OsApplication] = {}
|
980
1235
|
|
981
1236
|
self.logger = logging.getLogger()
|
982
1237
|
|
@@ -1019,24 +1274,26 @@ class Os(Module):
|
|
1019
1274
|
self.addElement(os_counter)
|
1020
1275
|
self.osCounters.append(os_counter)
|
1021
1276
|
return self
|
1022
|
-
|
1277
|
+
|
1023
1278
|
def getOsApplicationList(self) -> List[OsApplication]:
|
1024
1279
|
return list(sorted(filter(lambda a: isinstance(a, OsApplication), self.elements.values()), key=lambda o: o.getName()))
|
1025
1280
|
|
1026
1281
|
def addOsApplication(self, value: OsApplication):
|
1027
1282
|
self.addElement(value)
|
1028
1283
|
self.osApplications.append(value)
|
1029
|
-
|
1284
|
+
|
1030
1285
|
for isr_ref in value.getOsAppIsrRefs():
|
1031
|
-
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()))
|
1032
1288
|
self.osIsrToOsAppMappings[isr_ref.getShortName()] = value
|
1033
1289
|
|
1034
1290
|
for task_ref in value.getOsAppTaskRefs():
|
1035
|
-
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()))
|
1036
1293
|
self.osTaskToOsAppMappings[task_ref.getShortName()] = value
|
1037
1294
|
|
1038
1295
|
return self
|
1039
|
-
|
1296
|
+
|
1040
1297
|
def getOsResourceList(self) -> List[OsResource]:
|
1041
1298
|
return list(sorted(filter(lambda a: isinstance(a, OsResource), self.elements.values()), key=lambda o: o.getName()))
|
1042
1299
|
|
@@ -1044,13 +1301,21 @@ class Os(Module):
|
|
1044
1301
|
self.addElement(os_task)
|
1045
1302
|
self.osResources.append(os_task)
|
1046
1303
|
return self
|
1047
|
-
|
1304
|
+
|
1048
1305
|
def getOsIsrOsApplication(self, isr_name: str) -> OsApplication:
|
1049
1306
|
if isr_name in self.osIsrToOsAppMappings:
|
1050
1307
|
return self.osIsrToOsAppMappings[isr_name]
|
1051
1308
|
return None
|
1052
|
-
|
1309
|
+
|
1053
1310
|
def getOsTaskOsApplication(self, isr_name: str) -> OsApplication:
|
1054
1311
|
if isr_name in self.osTaskToOsAppMappings:
|
1055
1312
|
return self.osTaskToOsAppMappings[isr_name]
|
1056
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]
|