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/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 = [] # 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
 
@@ -483,8 +483,36 @@ class OsCounter(EcucParamConfContainerDef):
483
483
 
484
484
 
485
485
  class OsResource(EcucParamConfContainerDef):
486
- def __init__(self) -> None:
487
- pass
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 = [] # type: List[EcucRefType]
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 = [] # type: List[OsTask]
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]
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 = {} # type: Dict[str, OsApplication]
950
- self.osTaskToOsAppMappings = {} # typeL Dict[str, OsApplication]
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.name))
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." % (isr_ref.getShortName(), value.getName))
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." % (task_ref.getShortName(), value.getName))
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
@@ -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 # type: EcucRefType
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 = [] # type: List[EcucRefType]
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]
@@ -1,4 +1,5 @@
1
1
  from .os_xdm_parser import OsXdmParser
2
2
  from .rte_xdm_parser import RteXdmParser
3
+ from .nvm_xdm_parser import NvMXdmParser
3
4
  from .eb_parser import AbstractEbModelParser
4
- from .pref_xdm_parser import PerfXdmParser
5
+ from .pref_xdm_parser import PerfXdmParser