py-eb-model 1.1.4__py3-none-any.whl → 1.1.6__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/models/__init__.py +5 -5
- eb_model/models/abstract.py +16 -6
- eb_model/models/eb_doc.py +20 -11
- eb_model/models/eclipse_project.py +0 -3
- eb_model/models/importer_xdm.py +7 -8
- eb_model/models/nvm_xdm.py +347 -0
- eb_model/models/os_xdm.py +61 -24
- eb_model/models/rte_xdm.py +41 -11
- eb_model/parser/__init__.py +2 -1
- eb_model/parser/eb_parser.py +3 -1
- eb_model/parser/nvm_xdm_parser.py +44 -0
- eb_model/parser/os_xdm_parser.py +14 -2
- eb_model/reporter/__init__.py +2 -1
- eb_model/reporter/excel_reporter/abstract.py +7 -7
- eb_model/reporter/excel_reporter/nvm_xdm.py +40 -0
- eb_model/reporter/excel_reporter/rte_xdm.py +5 -3
- eb_model/tests/models/test_ecuc_container.py +3 -3
- {py_eb_model-1.1.4.dist-info → py_eb_model-1.1.6.dist-info}/METADATA +27 -3
- py_eb_model-1.1.6.dist-info/RECORD +42 -0
- {py_eb_model-1.1.4.dist-info → py_eb_model-1.1.6.dist-info}/entry_points.txt +1 -0
- py_eb_model-1.1.4.dist-info/RECORD +0 -38
- {py_eb_model-1.1.4.dist-info → py_eb_model-1.1.6.dist-info}/LICENSE +0 -0
- {py_eb_model-1.1.4.dist-info → py_eb_model-1.1.6.dist-info}/WHEEL +0 -0
- {py_eb_model-1.1.4.dist-info → py_eb_model-1.1.6.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
|
eb_model/models/__init__.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
from .abstract import *
|
2
|
-
from .os_xdm import *
|
3
|
-
from .rte_xdm import *
|
4
|
-
from .eb_doc import *
|
5
|
-
from .importer_xdm import *
|
1
|
+
from .abstract import * # noqa F403
|
2
|
+
from .os_xdm import * # noqa F403
|
3
|
+
from .rte_xdm import * # noqa F403
|
4
|
+
from .eb_doc import * # noqa F403
|
5
|
+
from .importer_xdm import * # noqa F403
|
eb_model/models/abstract.py
CHANGED
@@ -2,15 +2,16 @@ from abc import ABCMeta
|
|
2
2
|
from typing import Dict
|
3
3
|
import re
|
4
4
|
|
5
|
+
|
5
6
|
class EcucObject(metaclass=ABCMeta):
|
6
7
|
def __init__(self, parent, name) -> None:
|
7
|
-
if type(self)
|
8
|
+
if type(self) is EcucObject:
|
8
9
|
raise ValueError("Abstract EcucObject cannot be initialized.")
|
9
10
|
|
10
|
-
self.name = name
|
11
|
+
self.name = name # type: str
|
11
12
|
self.parent = parent # type: EcucObject
|
12
13
|
|
13
|
-
if isinstance(parent,
|
14
|
+
if isinstance(parent, EcucParamConfContainerDef):
|
14
15
|
parent.addElement(self)
|
15
16
|
|
16
17
|
def getName(self):
|
@@ -29,15 +30,21 @@ class EcucObject(metaclass=ABCMeta):
|
|
29
30
|
|
30
31
|
def getFullName(self) -> str:
|
31
32
|
return self.parent.getFullName() + "/" + self.name
|
33
|
+
|
34
|
+
|
35
|
+
class EcucEnumerationParamDef(EcucObject):
|
36
|
+
def __init__(self, parent, name):
|
37
|
+
super().__init__(parent, name)
|
32
38
|
|
33
|
-
|
39
|
+
|
40
|
+
class EcucParamConfContainerDef(EcucObject):
|
34
41
|
def __init__(self, parent, name) -> None:
|
35
42
|
super().__init__(parent, name)
|
36
43
|
|
37
44
|
self.elements = {} # type: Dict[str, EcucObject]
|
38
45
|
|
39
46
|
def getTotalElement(self) -> int:
|
40
|
-
#return len(list(filter(lambda a: not isinstance(a, ARPackage) , self.elements.values())))
|
47
|
+
# return len(list(filter(lambda a: not isinstance(a, ARPackage) , self.elements.values())))
|
41
48
|
return len(self.elements)
|
42
49
|
|
43
50
|
def addElement(self, object: EcucObject):
|
@@ -60,6 +67,7 @@ class EcucContainer(EcucObject):
|
|
60
67
|
return None
|
61
68
|
return self.elements[name]
|
62
69
|
|
70
|
+
|
63
71
|
class EcucRefType:
|
64
72
|
def __init__(self, value: str) -> None:
|
65
73
|
self.value = value
|
@@ -82,6 +90,7 @@ class EcucRefType:
|
|
82
90
|
return m.group(1)
|
83
91
|
return self.value
|
84
92
|
|
93
|
+
|
85
94
|
class Version:
|
86
95
|
def __init__(self):
|
87
96
|
self.majorVersion = None
|
@@ -115,7 +124,8 @@ class Version:
|
|
115
124
|
def getVersion(self) -> str:
|
116
125
|
return "%d.%d.%d" % (self.majorVersion, self.minorVersion, self.patchVersion)
|
117
126
|
|
118
|
-
|
127
|
+
|
128
|
+
class Module(EcucParamConfContainerDef):
|
119
129
|
def __init__(self, parent, name):
|
120
130
|
super().__init__(parent, name)
|
121
131
|
|
eb_model/models/eb_doc.py
CHANGED
@@ -1,17 +1,18 @@
|
|
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
|
-
class AbstractModel(
|
8
|
+
class AbstractModel(EcucParamConfContainerDef):
|
8
9
|
def getFullName(self):
|
9
10
|
return self.name
|
10
11
|
|
11
12
|
def clear(self):
|
12
13
|
self.elements = {}
|
13
14
|
|
14
|
-
def find_object(self, referred_name: str, element:
|
15
|
+
def find_object(self, referred_name: str, element: EcucParamConfContainerDef) -> EcucObject:
|
15
16
|
name_list = referred_name.split("/")
|
16
17
|
# element = EBModel.getInstance()
|
17
18
|
for name in name_list:
|
@@ -37,21 +38,29 @@ class EBModel(AbstractModel):
|
|
37
38
|
if (EBModel.__instance is not None):
|
38
39
|
raise Exception("The EBModel is singleton!")
|
39
40
|
|
40
|
-
|
41
|
+
EcucParamConfContainerDef.__init__(self, None, "")
|
41
42
|
EBModel.__instance = self
|
42
43
|
|
43
44
|
def find(self, referred_name: str) -> EcucObject:
|
44
45
|
return self.find_object(referred_name, EBModel.getInstance())
|
45
46
|
|
46
47
|
def getOs(self) -> Os:
|
47
|
-
|
48
|
+
'''
|
49
|
+
get the Os Container
|
50
|
+
'''
|
51
|
+
container = EcucParamConfContainerDef(self, "Os")
|
48
52
|
Os(container)
|
49
53
|
return self.find("/Os/Os")
|
50
54
|
|
51
55
|
def getRte(self) -> Rte:
|
52
|
-
container =
|
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):
|
@@ -67,10 +76,10 @@ class PreferenceModel(AbstractModel):
|
|
67
76
|
if (PreferenceModel.__instance is not None):
|
68
77
|
raise Exception("The PreferenceModel is singleton!")
|
69
78
|
|
70
|
-
|
79
|
+
EcucParamConfContainerDef.__init__(self, None, "")
|
71
80
|
PreferenceModel.__instance = self
|
72
81
|
|
73
|
-
container =
|
82
|
+
container = EcucParamConfContainerDef(self, "ImporterExporterAdditions")
|
74
83
|
SystemDescriptionImporter(container, "SystemDescriptionImporters")
|
75
84
|
|
76
85
|
def find(self, referred_name: str) -> EcucObject:
|
eb_model/models/importer_xdm.py
CHANGED
@@ -7,6 +7,7 @@ import os
|
|
7
7
|
import re
|
8
8
|
import logging
|
9
9
|
|
10
|
+
|
10
11
|
class SystemDescriptionImporter(EcucObject):
|
11
12
|
def __init__(self, parent, name):
|
12
13
|
super().__init__(parent, name)
|
@@ -28,7 +29,7 @@ class SystemDescriptionImporter(EcucObject):
|
|
28
29
|
file_list.append(file)
|
29
30
|
return file_list
|
30
31
|
|
31
|
-
def getParsedInputFiles(self, params
|
32
|
+
def getParsedInputFiles(self, params={}) -> List[str]:
|
32
33
|
file_list = []
|
33
34
|
for input_file in self.inputFiles:
|
34
35
|
m = re.match(r'\$\{(env_var:\w+)\}(.*)', input_file)
|
@@ -50,7 +51,7 @@ class SystemDescriptionImporter(EcucObject):
|
|
50
51
|
file_list.append(input_file)
|
51
52
|
return file_list
|
52
53
|
|
53
|
-
def getAllPaths(self, path
|
54
|
+
def getAllPaths(self, path: str) -> List[str]:
|
54
55
|
path_segments = path.split("/")
|
55
56
|
|
56
57
|
result = []
|
@@ -61,11 +62,11 @@ class SystemDescriptionImporter(EcucObject):
|
|
61
62
|
if long_path == "":
|
62
63
|
long_path = path_segment
|
63
64
|
else:
|
64
|
-
long_path = long_path +"/" + path_segment
|
65
|
+
long_path = long_path + "/" + path_segment
|
65
66
|
result.append(long_path)
|
66
67
|
return result
|
67
68
|
|
68
|
-
def getNameByPath(self, path
|
69
|
+
def getNameByPath(self, path: str):
|
69
70
|
path_segments = path.split("/")
|
70
71
|
|
71
72
|
result = []
|
@@ -76,10 +77,10 @@ class SystemDescriptionImporter(EcucObject):
|
|
76
77
|
else:
|
77
78
|
result.append(path_segment)
|
78
79
|
|
79
|
-
return (count
|
80
|
+
return (count, "/".join(result))
|
80
81
|
|
81
82
|
def getLinks(self, file_list: List[str]) -> List[Link]:
|
82
|
-
path_sets = {}
|
83
|
+
path_sets = {} # type: Dict[str, List[str]]
|
83
84
|
path_segment_sets = []
|
84
85
|
|
85
86
|
for file in file_list:
|
@@ -111,5 +112,3 @@ class SystemDescriptionImporter(EcucObject):
|
|
111
112
|
links.append(link)
|
112
113
|
|
113
114
|
return links
|
114
|
-
|
115
|
-
|
@@ -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
|