py-eb-model 1.1.6__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.
@@ -10,45 +10,46 @@ from ..reporter.excel_reporter.rte_xdm import RteRunnableEntityXlsWriter, RteXdm
10
10
  from ..parser.rte_xdm_parser import RteXdmParser
11
11
  from ..models import EBModel
12
12
 
13
- def main():
14
- version = pkg_resources.require("py_eb_model")[0].version
15
-
16
- ap = argparse.ArgumentParser()
17
- ap.add_argument("-v", "--verbose", required= False, help= "Print debug information", action= "store_true")
18
- ap.add_argument("-r", "--runnable", required= False, help= "Export the runnable entities", action= "store_true")
19
- ap.add_argument("INPUT", help = "The path of xdm file.", nargs='+')
20
- ap.add_argument("OUTPUT", help = "The path of excel file.")
21
-
22
- args = ap.parse_args()
23
13
 
14
+ def process_logger(args):
24
15
  logger = logging.getLogger()
16
+ formatter = logging.Formatter('[%(levelname)s] : %(message)s')
17
+ logger.setLevel(logging.DEBUG)
25
18
 
26
- formatter = logging.Formatter('[%(levelname)s] [%(asctime)s]: %(message)s')
19
+ if args.verbose:
20
+ log_level = logging.DEBUG
21
+ else:
22
+ log_level = logging.INFO
27
23
 
28
24
  stdout_handler = logging.StreamHandler(sys.stderr)
29
25
  stdout_handler.setFormatter(formatter)
26
+ stdout_handler.setLevel(log_level)
27
+ logger.addHandler(stdout_handler)
30
28
 
31
- base_path = os.path.dirname(args.OUTPUT)
32
- log_file = os.path.join(base_path, 'rte_xdm_2_xls.log')
29
+ if args.log:
30
+ if os.path.exists(args.log):
31
+ os.remove(args.log)
33
32
 
34
- if os.path.exists(log_file):
35
- os.remove(log_file)
33
+ file_handler = logging.FileHandler(args.log)
34
+ file_handler.setFormatter(formatter)
35
+ file_handler.setLevel(log_level)
36
+ logger.addHandler(file_handler)
37
+ return logger
36
38
 
37
- file_handler = logging.FileHandler(log_file)
38
- file_handler.setFormatter(formatter)
39
39
 
40
- logger.setLevel(logging.DEBUG)
41
- file_handler.setLevel(logging.DEBUG)
42
-
43
- if args.verbose:
44
- stdout_handler.setLevel(logging.DEBUG)
45
-
46
- else:
47
- stdout_handler.setLevel(logging.INFO)
40
+ def main():
41
+ # version = pkg_resources.require("py_eb_model")[0].version
48
42
 
49
- logger.addHandler(file_handler)
50
- logger.addHandler(stdout_handler)
43
+ ap = argparse.ArgumentParser()
44
+ ap.add_argument("-v", "--verbose", required=False, help="Print debug information", action="store_true")
45
+ ap.add_argument("-r", "--runnable", required=False, help="Export the runnable entities", action="store_true")
46
+ ap.add_argument("--log", required=False, help="The Log file name.")
47
+ ap.add_argument("INPUT", help="The path of xdm file.", nargs='+')
48
+ ap.add_argument("OUTPUT", help="The path of excel file.")
51
49
 
50
+ args = ap.parse_args()
51
+ logger = process_logger(args)
52
+
52
53
  try:
53
54
  doc = EBModel.getInstance()
54
55
 
@@ -41,6 +41,7 @@ class EcucParamConfContainerDef(EcucObject):
41
41
  def __init__(self, parent, name) -> None:
42
42
  super().__init__(parent, name)
43
43
 
44
+ self.importerInfo: str = None
44
45
  self.elements = {} # type: Dict[str, EcucObject]
45
46
 
46
47
  def getTotalElement(self) -> int:
@@ -66,6 +67,17 @@ class EcucParamConfContainerDef(EcucObject):
66
67
  if (name not in self.elements):
67
68
  return None
68
69
  return self.elements[name]
70
+
71
+ def getImporterInfo(self) -> str:
72
+ return self.importerInfo
73
+
74
+ def setImporterInfo(self, value: str) -> None:
75
+ self.importerInfo = value
76
+
77
+ def isCalculatedSvcAs(self) -> bool:
78
+ if self.importerInfo is not None and self.importerInfo.startswith("@CALC(SvcAs"):
79
+ return True
80
+ return False
69
81
 
70
82
 
71
83
  class EcucRefType:
@@ -135,15 +147,15 @@ class Module(EcucParamConfContainerDef):
135
147
  def getArVersion(self):
136
148
  return self.arVersion
137
149
 
138
- def setArVersion(self, value):
139
- if value is not None:
140
- self.arVersion = value
141
- return self
150
+ # def setArVersion(self, value):
151
+ # if value is not None:
152
+ # self.arVersion = value
153
+ # return self
142
154
 
143
155
  def getSwVersion(self):
144
156
  return self.swVersion
145
157
 
146
- def setSwVersion(self, value):
147
- if value is not None:
148
- self.swVersion = value
149
- return self
158
+ # def setSwVersion(self, value):
159
+ # if value is not None:
160
+ # self.swVersion = value
161
+ # return self
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 = [] # type: List[EcucRefType]
117
+ self.osAlarmAccessingApplicationRefs: List[EcucRefType] = []
118
118
  self.osAlarmCounterRef = None
119
- self.osAlarmAction = None # type: OsAlarmAction
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 # type: bool
168
- self.OsAppShutdownHook = False # type: bool
169
- self.OsAppStartupHook = False # type: bool
170
- self.OsMemoryMappingCodeLocationRef = None # type: EcucRefType
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 # type: str
206
- self.OsMemoryMappingCodeLocationRef = None # type: EcucRefType
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 # 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
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 = [] # type: List[EcucRefType]
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 = [] # type: List[EcucRefType]
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 # type: EcucEnumerationParamDef
490
- self.osResourceAccessingApplicationRefs = [] # type: List[EcucRefType]
491
- self.osResourceLinkedResourceRefs = [] # type: List[EcucRefType]
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 = [] # type: List[EcucRefType]
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 = [] # type: List[OsTask]
970
- self.osIsrs = [] # type: List[OsIsr]
971
- self.osAlarms = [] # type: List[OsAlarm]
972
- self.osScheduleTables = [] # type: List[OsScheduleTable]
973
- self.osCounters = [] # type: List[OsCounter]
974
- self.osApplications = [] # type: List[OsApplication]
975
- self.osResources = [] # type: List[OsResource]
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 = {} # type: Dict[str, OsApplication]
979
- self.osTaskToOsAppMappings = {} # typeL Dict[str, OsApplication]
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." % (isr_ref.getShortName(), value.getName()))
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." % (task_ref.getShortName(), value.getName()))
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