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
@@ -0,0 +1,63 @@
|
|
1
|
+
import argparse
|
2
|
+
import pkg_resources
|
3
|
+
import logging
|
4
|
+
import sys
|
5
|
+
import os.path
|
6
|
+
|
7
|
+
from ..parser import NvMXdmParser
|
8
|
+
from ..models import EBModel
|
9
|
+
from ..reporter import NvMXdmXlsWriter
|
10
|
+
|
11
|
+
|
12
|
+
def main():
|
13
|
+
version = pkg_resources.require("py_eb_model")[0].version
|
14
|
+
|
15
|
+
ap = argparse.ArgumentParser()
|
16
|
+
ap.description = "Version: %s" % version
|
17
|
+
ap.add_argument("-v", "--verbose", required=False, help="Print debug information.", action="store_true")
|
18
|
+
ap.add_argument("--log", required=False, help="Specify the log file name.")
|
19
|
+
ap.add_argument("INPUT", help="The path of NvM.xdm.")
|
20
|
+
ap.add_argument("OUTPUT", help="The path of excel file.")
|
21
|
+
|
22
|
+
args = ap.parse_args()
|
23
|
+
|
24
|
+
logger = logging.getLogger()
|
25
|
+
|
26
|
+
formatter = logging.Formatter('[%(levelname)s] : %(message)s')
|
27
|
+
|
28
|
+
stdout_handler = logging.StreamHandler(sys.stderr)
|
29
|
+
stdout_handler.setFormatter(formatter)
|
30
|
+
|
31
|
+
if args.log:
|
32
|
+
if os.path.exists(args.log):
|
33
|
+
os.remove(args.log)
|
34
|
+
|
35
|
+
file_handler = logging.FileHandler(args.log)
|
36
|
+
file_handler.setFormatter(formatter)
|
37
|
+
file_handler.setLevel(logging.DEBUG)
|
38
|
+
|
39
|
+
logger.setLevel(logging.DEBUG)
|
40
|
+
|
41
|
+
if args.verbose:
|
42
|
+
stdout_handler.setLevel(logging.DEBUG)
|
43
|
+
else:
|
44
|
+
stdout_handler.setLevel(logging.INFO)
|
45
|
+
|
46
|
+
if args.log:
|
47
|
+
logger.addHandler(file_handler)
|
48
|
+
logger.addHandler(stdout_handler)
|
49
|
+
|
50
|
+
try:
|
51
|
+
doc = EBModel.getInstance()
|
52
|
+
|
53
|
+
parser = NvMXdmParser()
|
54
|
+
parser.parse_xdm(args.INPUT, doc)
|
55
|
+
|
56
|
+
options = {}
|
57
|
+
|
58
|
+
writer = NvMXdmXlsWriter()
|
59
|
+
writer.write(args.OUTPUT, doc, options)
|
60
|
+
|
61
|
+
except Exception as e:
|
62
|
+
logger.error(e)
|
63
|
+
raise e
|
@@ -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
|
-
|
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
|
-
|
32
|
-
|
29
|
+
if args.log:
|
30
|
+
if os.path.exists(args.log):
|
31
|
+
os.remove(args.log)
|
33
32
|
|
34
|
-
|
35
|
-
|
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
|
-
|
41
|
-
|
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
|
-
|
50
|
-
|
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
|
|
eb_model/models/abstract.py
CHANGED
@@ -8,7 +8,7 @@ class EcucObject(metaclass=ABCMeta):
|
|
8
8
|
if type(self) is EcucObject:
|
9
9
|
raise ValueError("Abstract EcucObject cannot be initialized.")
|
10
10
|
|
11
|
-
self.name = name
|
11
|
+
self.name = name # type: str
|
12
12
|
self.parent = parent # type: EcucObject
|
13
13
|
|
14
14
|
if isinstance(parent, EcucParamConfContainerDef):
|
@@ -30,12 +30,18 @@ class EcucObject(metaclass=ABCMeta):
|
|
30
30
|
|
31
31
|
def getFullName(self) -> str:
|
32
32
|
return self.parent.getFullName() + "/" + self.name
|
33
|
+
|
34
|
+
|
35
|
+
class EcucEnumerationParamDef(EcucObject):
|
36
|
+
def __init__(self, parent, name):
|
37
|
+
super().__init__(parent, name)
|
33
38
|
|
34
39
|
|
35
40
|
class EcucParamConfContainerDef(EcucObject):
|
36
41
|
def __init__(self, parent, name) -> None:
|
37
42
|
super().__init__(parent, name)
|
38
43
|
|
44
|
+
self.importerInfo: str = None
|
39
45
|
self.elements = {} # type: Dict[str, EcucObject]
|
40
46
|
|
41
47
|
def getTotalElement(self) -> int:
|
@@ -61,6 +67,17 @@ class EcucParamConfContainerDef(EcucObject):
|
|
61
67
|
if (name not in self.elements):
|
62
68
|
return None
|
63
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
|
64
81
|
|
65
82
|
|
66
83
|
class EcucRefType:
|
@@ -130,15 +147,15 @@ class Module(EcucParamConfContainerDef):
|
|
130
147
|
def getArVersion(self):
|
131
148
|
return self.arVersion
|
132
149
|
|
133
|
-
def setArVersion(self, value):
|
134
|
-
|
135
|
-
|
136
|
-
|
150
|
+
# def setArVersion(self, value):
|
151
|
+
# if value is not None:
|
152
|
+
# self.arVersion = value
|
153
|
+
# return self
|
137
154
|
|
138
155
|
def getSwVersion(self):
|
139
156
|
return self.swVersion
|
140
157
|
|
141
|
-
def setSwVersion(self, value):
|
142
|
-
|
143
|
-
|
144
|
-
|
158
|
+
# def setSwVersion(self, value):
|
159
|
+
# if value is not None:
|
160
|
+
# self.swVersion = value
|
161
|
+
# return self
|
eb_model/models/eb_doc.py
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
from .
|
2
|
-
from .
|
3
|
-
from .
|
4
|
-
from .
|
1
|
+
from ..models.nvm_xdm import NvM
|
2
|
+
from ..models.importer_xdm import SystemDescriptionImporter
|
3
|
+
from ..models.rte_xdm import Rte
|
4
|
+
from ..models.os_xdm import Os
|
5
|
+
from ..models.abstract import EcucParamConfContainerDef, EcucObject
|
5
6
|
|
6
7
|
|
7
8
|
class AbstractModel(EcucParamConfContainerDef):
|
@@ -44,6 +45,9 @@ class EBModel(AbstractModel):
|
|
44
45
|
return self.find_object(referred_name, EBModel.getInstance())
|
45
46
|
|
46
47
|
def getOs(self) -> Os:
|
48
|
+
'''
|
49
|
+
get the Os Container
|
50
|
+
'''
|
47
51
|
container = EcucParamConfContainerDef(self, "Os")
|
48
52
|
Os(container)
|
49
53
|
return self.find("/Os/Os")
|
@@ -52,6 +56,11 @@ class EBModel(AbstractModel):
|
|
52
56
|
container = EcucParamConfContainerDef(self, "Rte")
|
53
57
|
Rte(container)
|
54
58
|
return self.find("/Rte/Rte")
|
59
|
+
|
60
|
+
def getNvM(self) -> NvM:
|
61
|
+
container = EcucParamConfContainerDef(self, "NvM")
|
62
|
+
NvM(container)
|
63
|
+
return self.find("/NvM/NvM")
|
55
64
|
|
56
65
|
|
57
66
|
class PreferenceModel(AbstractModel):
|
@@ -0,0 +1,347 @@
|
|
1
|
+
from typing import List
|
2
|
+
from ..models.abstract import EcucParamConfContainerDef, Module, EcucRefType
|
3
|
+
|
4
|
+
|
5
|
+
class NvM(Module):
|
6
|
+
def __init__(self, parent):
|
7
|
+
super().__init__(parent, "NvM")
|
8
|
+
|
9
|
+
self.NvMBlockDescriptors = [] # type: List[NvMBlockDescriptor]
|
10
|
+
|
11
|
+
def getNvMBlockDescriptorList(self):
|
12
|
+
return self.NvMBlockDescriptors
|
13
|
+
|
14
|
+
def addNvMBlockDescriptor(self, value):
|
15
|
+
if value is not None:
|
16
|
+
self.NvMBlockDescriptors.append(value)
|
17
|
+
return self
|
18
|
+
|
19
|
+
|
20
|
+
class NvMBlockDescriptor(EcucParamConfContainerDef):
|
21
|
+
def __init__(self, parent, name):
|
22
|
+
super().__init__(parent, name)
|
23
|
+
|
24
|
+
self.nvMBlockCrcType = None # type: str # optional
|
25
|
+
self.nvMBlockHeaderInclude = None # type: int # optional
|
26
|
+
self.nvMBlockJobPriority = None # type: str # required
|
27
|
+
self.nvMBlockManagementType = None # type: str # required
|
28
|
+
self.nvMBlockUseAutoValidation = None # required
|
29
|
+
self.nvMBlockUseCompression = None # required
|
30
|
+
self.nvMBlockUseCrc = None # required
|
31
|
+
self.nvMBlockUseCRCCompMechanism = None # required
|
32
|
+
self.NvMBlockUsePort = None # required
|
33
|
+
self.nvMBlockUseSetRamBlockStatus = None # required
|
34
|
+
self.nvMBlockUseSyncMechanism = None # required
|
35
|
+
self.nvMBlockWriteProt = None # required
|
36
|
+
self.nvMBswMBlockStatusInformation = None # required
|
37
|
+
self.nvMCalcRamBlockCrc = None # optional
|
38
|
+
self.nvMMaxNumOfReadRetries = None # required
|
39
|
+
self.nvMMaxNumOfWriteRetries = None # required
|
40
|
+
self.nvMNvBlockBaseNumber = None # required
|
41
|
+
self.nvMNvBlockLength = None # type: int # required
|
42
|
+
self.nvMNvBlockNum = None # type: int # required
|
43
|
+
self.nvMNvramBlockIdentifier = None # required
|
44
|
+
self.nvMNvramDeviceId = None # required
|
45
|
+
self.nvMRamBlockDataAddress = None # optional
|
46
|
+
self.nvMReadRamBlockFromNvCallback = None # optional
|
47
|
+
self.nvMResistantToChangedSw = None # required
|
48
|
+
self.nvMRomBlockDataAddress = None # optional
|
49
|
+
self.nvMRomBlockNum = None # required
|
50
|
+
self.nvMSelectBlockForFirstInitAll = None # optional
|
51
|
+
self.nvMSelectBlockForReadAll = None # required
|
52
|
+
self.nvMSelectBlockForWriteAll = None # required
|
53
|
+
self.nvMStaticBlockIDCheck = None # required
|
54
|
+
self.nvMWriteBlockOnce = None # required
|
55
|
+
self.nvMWriteRamBlockToNvCallback = None # optional
|
56
|
+
self.nvMWriteVerification = None # required
|
57
|
+
self.nvMWriteVerificationDataSize = None # required
|
58
|
+
self.nvMBlockCipheringRef = None # optional
|
59
|
+
self.nvMBlockEcucPartitionRef = None # type: EcucRefType # required
|
60
|
+
|
61
|
+
def getNvMBlockCrcType(self):
|
62
|
+
return self.nvMBlockCrcType
|
63
|
+
|
64
|
+
def setNvMBlockCrcType(self, value):
|
65
|
+
if value is not None:
|
66
|
+
self.nvMBlockCrcType = value
|
67
|
+
return self
|
68
|
+
|
69
|
+
def getNvMBlockHeaderInclude(self):
|
70
|
+
return self.nvMBlockHeaderInclude
|
71
|
+
|
72
|
+
def setNvMBlockHeaderInclude(self, value):
|
73
|
+
if value is not None:
|
74
|
+
self.nvMBlockHeaderInclude = value
|
75
|
+
return self
|
76
|
+
|
77
|
+
def getNvMBlockJobPriority(self):
|
78
|
+
return self.nvMBlockJobPriority
|
79
|
+
|
80
|
+
def setNvMBlockJobPriority(self, value):
|
81
|
+
if value is not None:
|
82
|
+
self.nvMBlockJobPriority = value
|
83
|
+
return self
|
84
|
+
|
85
|
+
def getNvMBlockManagementType(self):
|
86
|
+
return self.nvMBlockManagementType
|
87
|
+
|
88
|
+
def setNvMBlockManagementType(self, value):
|
89
|
+
if value is not None:
|
90
|
+
self.nvMBlockManagementType = value
|
91
|
+
return self
|
92
|
+
|
93
|
+
def getNvMBlockUseAutoValidation(self):
|
94
|
+
return self.nvMBlockUseAutoValidation
|
95
|
+
|
96
|
+
def setNvMBlockUseAutoValidation(self, value):
|
97
|
+
if value is not None:
|
98
|
+
self.nvMBlockUseAutoValidation = value
|
99
|
+
return self
|
100
|
+
|
101
|
+
def getNvMBlockUseCompression(self):
|
102
|
+
return self.nvMBlockUseCompression
|
103
|
+
|
104
|
+
def setNvMBlockUseCompression(self, value):
|
105
|
+
if value is not None:
|
106
|
+
self.nvMBlockUseCompression = value
|
107
|
+
return self
|
108
|
+
|
109
|
+
def getNvMBlockUseCrc(self):
|
110
|
+
return self.nvMBlockUseCrc
|
111
|
+
|
112
|
+
def setNvMBlockUseCrc(self, value):
|
113
|
+
if value is not None:
|
114
|
+
self.nvMBlockUseCrc = value
|
115
|
+
return self
|
116
|
+
|
117
|
+
def getNvMBlockUseCRCCompMechanism(self):
|
118
|
+
return self.nvMBlockUseCRCCompMechanism
|
119
|
+
|
120
|
+
def setNvMBlockUseCRCCompMechanism(self, value):
|
121
|
+
if value is not None:
|
122
|
+
self.nvMBlockUseCRCCompMechanism = value
|
123
|
+
return self
|
124
|
+
|
125
|
+
def getNvMBlockUsePort(self):
|
126
|
+
return self.NvMBlockUsePort
|
127
|
+
|
128
|
+
def setNvMBlockUsePort(self, value):
|
129
|
+
if value is not None:
|
130
|
+
self.NvMBlockUsePort = value
|
131
|
+
return self
|
132
|
+
|
133
|
+
def getNvMBlockUseSetRamBlockStatus(self):
|
134
|
+
return self.nvMBlockUseSetRamBlockStatus
|
135
|
+
|
136
|
+
def setNvMBlockUseSetRamBlockStatus(self, value):
|
137
|
+
if value is not None:
|
138
|
+
self.nvMBlockUseSetRamBlockStatus = value
|
139
|
+
return self
|
140
|
+
|
141
|
+
def getNvMBlockUseSyncMechanism(self):
|
142
|
+
return self.nvMBlockUseSyncMechanism
|
143
|
+
|
144
|
+
def setNvMBlockUseSyncMechanism(self, value):
|
145
|
+
if value is not None:
|
146
|
+
self.nvMBlockUseSyncMechanism = value
|
147
|
+
return self
|
148
|
+
|
149
|
+
def getNvMBlockWriteProt(self):
|
150
|
+
return self.nvMBlockWriteProt
|
151
|
+
|
152
|
+
def setNvMBlockWriteProt(self, value):
|
153
|
+
if value is not None:
|
154
|
+
self.nvMBlockWriteProt = value
|
155
|
+
return self
|
156
|
+
|
157
|
+
def getNvMBswMBlockStatusInformation(self):
|
158
|
+
return self.nvMBswMBlockStatusInformation
|
159
|
+
|
160
|
+
def setNvMBswMBlockStatusInformation(self, value):
|
161
|
+
if value is not None:
|
162
|
+
self.nvMBswMBlockStatusInformation = value
|
163
|
+
return self
|
164
|
+
|
165
|
+
def getNvMCalcRamBlockCrc(self):
|
166
|
+
return self.nvMCalcRamBlockCrc
|
167
|
+
|
168
|
+
def setNvMCalcRamBlockCrc(self, value):
|
169
|
+
if value is not None:
|
170
|
+
self.nvMCalcRamBlockCrc = value
|
171
|
+
return self
|
172
|
+
|
173
|
+
def getNvMMaxNumOfReadRetries(self):
|
174
|
+
return self.nvMMaxNumOfReadRetries
|
175
|
+
|
176
|
+
def setNvMMaxNumOfReadRetries(self, value):
|
177
|
+
if value is not None:
|
178
|
+
self.nvMMaxNumOfReadRetries = value
|
179
|
+
return self
|
180
|
+
|
181
|
+
def getNvMMaxNumOfWriteRetries(self):
|
182
|
+
return self.nvMMaxNumOfWriteRetries
|
183
|
+
|
184
|
+
def setNvMMaxNumOfWriteRetries(self, value):
|
185
|
+
if value is not None:
|
186
|
+
self.nvMMaxNumOfWriteRetries = value
|
187
|
+
return self
|
188
|
+
|
189
|
+
def getNvMNvBlockBaseNumber(self):
|
190
|
+
return self.nvMNvBlockBaseNumber
|
191
|
+
|
192
|
+
def setNvMNvBlockBaseNumber(self, value):
|
193
|
+
if value is not None:
|
194
|
+
self.nvMNvBlockBaseNumber = value
|
195
|
+
return self
|
196
|
+
|
197
|
+
def getNvMNvBlockLength(self):
|
198
|
+
return self.nvMNvBlockLength
|
199
|
+
|
200
|
+
def setNvMNvBlockLength(self, value):
|
201
|
+
if value is not None:
|
202
|
+
self.nvMNvBlockLength = value
|
203
|
+
return self
|
204
|
+
|
205
|
+
def getNvMNvBlockNum(self):
|
206
|
+
return self.nvMNvBlockNum
|
207
|
+
|
208
|
+
def setNvMNvBlockNum(self, value):
|
209
|
+
if value is not None:
|
210
|
+
self.nvMNvBlockNum = value
|
211
|
+
return self
|
212
|
+
|
213
|
+
def getNvMNvramBlockIdentifier(self):
|
214
|
+
return self.nvMNvramBlockIdentifier
|
215
|
+
|
216
|
+
def setNvMNvramBlockIdentifier(self, value):
|
217
|
+
if value is not None:
|
218
|
+
self.nvMNvramBlockIdentifier = value
|
219
|
+
return self
|
220
|
+
|
221
|
+
def getNvMNvramDeviceId(self):
|
222
|
+
return self.nvMNvramDeviceId
|
223
|
+
|
224
|
+
def setNvMNvramDeviceId(self, value):
|
225
|
+
if value is not None:
|
226
|
+
self.nvMNvramDeviceId = value
|
227
|
+
return self
|
228
|
+
|
229
|
+
def getNvMRamBlockDataAddress(self):
|
230
|
+
return self.nvMRamBlockDataAddress
|
231
|
+
|
232
|
+
def setNvMRamBlockDataAddress(self, value):
|
233
|
+
if value is not None:
|
234
|
+
self.nvMRamBlockDataAddress = value
|
235
|
+
return self
|
236
|
+
|
237
|
+
def getNvMReadRamBlockFromNvCallback(self):
|
238
|
+
return self.nvMReadRamBlockFromNvCallback
|
239
|
+
|
240
|
+
def setNvMReadRamBlockFromNvCallback(self, value):
|
241
|
+
if value is not None:
|
242
|
+
self.nvMReadRamBlockFromNvCallback = value
|
243
|
+
return self
|
244
|
+
|
245
|
+
def getNvMResistantToChangedSw(self):
|
246
|
+
return self.nvMResistantToChangedSw
|
247
|
+
|
248
|
+
def setNvMResistantToChangedSw(self, value):
|
249
|
+
if value is not None:
|
250
|
+
self.nvMResistantToChangedSw = value
|
251
|
+
return self
|
252
|
+
|
253
|
+
def getNvMRomBlockDataAddress(self):
|
254
|
+
return self.nvMRomBlockDataAddress
|
255
|
+
|
256
|
+
def setNvMRomBlockDataAddress(self, value):
|
257
|
+
if value is not None:
|
258
|
+
self.nvMRomBlockDataAddress = value
|
259
|
+
return self
|
260
|
+
|
261
|
+
def getNvMRomBlockNum(self):
|
262
|
+
return self.nvMRomBlockNum
|
263
|
+
|
264
|
+
def setNvMRomBlockNum(self, value):
|
265
|
+
if value is not None:
|
266
|
+
self.nvMRomBlockNum = value
|
267
|
+
return self
|
268
|
+
|
269
|
+
def getNvMSelectBlockForFirstInitAll(self):
|
270
|
+
return self.nvMSelectBlockForFirstInitAll
|
271
|
+
|
272
|
+
def setNvMSelectBlockForFirstInitAll(self, value):
|
273
|
+
if value is not None:
|
274
|
+
self.nvMSelectBlockForFirstInitAll = value
|
275
|
+
return self
|
276
|
+
|
277
|
+
def getNvMSelectBlockForReadAll(self):
|
278
|
+
return self.nvMSelectBlockForReadAll
|
279
|
+
|
280
|
+
def setNvMSelectBlockForReadAll(self, value):
|
281
|
+
if value is not None:
|
282
|
+
self.nvMSelectBlockForReadAll = value
|
283
|
+
return self
|
284
|
+
|
285
|
+
def getNvMSelectBlockForWriteAll(self):
|
286
|
+
return self.nvMSelectBlockForWriteAll
|
287
|
+
|
288
|
+
def setNvMSelectBlockForWriteAll(self, value):
|
289
|
+
if value is not None:
|
290
|
+
self.nvMSelectBlockForWriteAll = value
|
291
|
+
return self
|
292
|
+
|
293
|
+
def getNvMStaticBlockIDCheck(self):
|
294
|
+
return self.nvMStaticBlockIDCheck
|
295
|
+
|
296
|
+
def setNvMStaticBlockIDCheck(self, value):
|
297
|
+
if value is not None:
|
298
|
+
self.nvMStaticBlockIDCheck = value
|
299
|
+
return self
|
300
|
+
|
301
|
+
def getNvMWriteBlockOnce(self):
|
302
|
+
return self.nvMWriteBlockOnce
|
303
|
+
|
304
|
+
def setNvMWriteBlockOnce(self, value):
|
305
|
+
if value is not None:
|
306
|
+
self.nvMWriteBlockOnce = value
|
307
|
+
return self
|
308
|
+
|
309
|
+
def getNvMWriteRamBlockToNvCallback(self):
|
310
|
+
return self.nvMWriteRamBlockToNvCallback
|
311
|
+
|
312
|
+
def setNvMWriteRamBlockToNvCallback(self, value):
|
313
|
+
if value is not None:
|
314
|
+
self.nvMWriteRamBlockToNvCallback = value
|
315
|
+
return self
|
316
|
+
|
317
|
+
def getNvMWriteVerification(self):
|
318
|
+
return self.nvMWriteVerification
|
319
|
+
|
320
|
+
def setNvMWriteVerification(self, value):
|
321
|
+
if value is not None:
|
322
|
+
self.nvMWriteVerification = value
|
323
|
+
return self
|
324
|
+
|
325
|
+
def getNvMWriteVerificationDataSize(self):
|
326
|
+
return self.nvMWriteVerificationDataSize
|
327
|
+
|
328
|
+
def setNvMWriteVerificationDataSize(self, value):
|
329
|
+
if value is not None:
|
330
|
+
self.nvMWriteVerificationDataSize = value
|
331
|
+
return self
|
332
|
+
|
333
|
+
def getNvMBlockCipheringRef(self):
|
334
|
+
return self.nvMBlockCipheringRef
|
335
|
+
|
336
|
+
def setNvMBlockCipheringRef(self, value):
|
337
|
+
if value is not None:
|
338
|
+
self.nvMBlockCipheringRef = value
|
339
|
+
return self
|
340
|
+
|
341
|
+
def getNvMBlockEcucPartitionRef(self) -> EcucRefType:
|
342
|
+
return self.nvMBlockEcucPartitionRef
|
343
|
+
|
344
|
+
def setNvMBlockEcucPartitionRef(self, value: EcucRefType):
|
345
|
+
if value is not None:
|
346
|
+
self.nvMBlockEcucPartitionRef = value
|
347
|
+
return self
|