@zwave-js/nvmedit 13.3.0 → 13.4.0
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.
- package/build/cli.js +5 -5
- package/build/cli.js.map +1 -1
- package/build/convert.d.ts +15 -14
- package/build/convert.d.ts.map +1 -1
- package/build/convert.js +647 -389
- package/build/convert.js.map +1 -1
- package/build/index.d.ts +12 -4
- package/build/index.d.ts.map +1 -1
- package/build/index.js +20 -2
- package/build/index.js.map +1 -1
- package/build/index_safe.d.ts +7 -4
- package/build/index_safe.d.ts.map +1 -1
- package/build/index_safe.js +4 -2
- package/build/index_safe.js.map +1 -1
- package/build/lib/NVM3.d.ts +53 -0
- package/build/lib/NVM3.d.ts.map +1 -0
- package/build/lib/NVM3.js +650 -0
- package/build/lib/NVM3.js.map +1 -0
- package/build/lib/NVM500.d.ts +46 -0
- package/build/lib/NVM500.d.ts.map +1 -0
- package/build/lib/NVM500.js +413 -0
- package/build/lib/NVM500.js.map +1 -0
- package/build/lib/common/definitions.d.ts +138 -0
- package/build/lib/common/definitions.d.ts.map +1 -0
- package/build/lib/common/definitions.js +11 -0
- package/build/lib/common/definitions.js.map +1 -0
- package/build/lib/common/routeCache.d.ts +18 -0
- package/build/lib/common/routeCache.d.ts.map +1 -0
- package/build/lib/common/routeCache.js +56 -0
- package/build/lib/common/routeCache.js.map +1 -0
- package/build/lib/common/sucUpdateEntry.d.ts +10 -0
- package/build/lib/common/sucUpdateEntry.d.ts.map +1 -0
- package/build/lib/common/sucUpdateEntry.js +35 -0
- package/build/lib/common/sucUpdateEntry.js.map +1 -0
- package/build/lib/common/utils.d.ts +9 -0
- package/build/lib/common/utils.d.ts.map +1 -0
- package/build/lib/common/utils.js +52 -0
- package/build/lib/common/utils.js.map +1 -0
- package/build/lib/io/BufferedNVMReader.d.ts +21 -0
- package/build/lib/io/BufferedNVMReader.d.ts.map +1 -0
- package/build/lib/io/BufferedNVMReader.js +79 -0
- package/build/lib/io/BufferedNVMReader.js.map +1 -0
- package/build/lib/io/NVMFileIO.d.ts +24 -0
- package/build/lib/io/NVMFileIO.d.ts.map +1 -0
- package/build/lib/io/NVMFileIO.js +86 -0
- package/build/lib/io/NVMFileIO.js.map +1 -0
- package/build/lib/io/NVMMemoryIO.d.ts +20 -0
- package/build/lib/io/NVMMemoryIO.d.ts.map +1 -0
- package/build/lib/io/NVMMemoryIO.js +48 -0
- package/build/lib/io/NVMMemoryIO.js.map +1 -0
- package/build/lib/nvm3/adapter.d.ts +33 -0
- package/build/lib/nvm3/adapter.d.ts.map +1 -0
- package/build/lib/nvm3/adapter.js +903 -0
- package/build/lib/nvm3/adapter.js.map +1 -0
- package/build/lib/nvm3/consts.d.ts.map +1 -0
- package/build/lib/nvm3/consts.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationCCsFile.d.ts +5 -3
- package/build/lib/nvm3/files/ApplicationCCsFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationCCsFile.js +4 -3
- package/build/lib/nvm3/files/ApplicationCCsFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationDataFile.d.ts +4 -4
- package/build/lib/nvm3/files/ApplicationDataFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationDataFile.js +7 -6
- package/build/lib/nvm3/files/ApplicationDataFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationNameFile.d.ts +5 -3
- package/build/lib/nvm3/files/ApplicationNameFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationNameFile.js +4 -3
- package/build/lib/nvm3/files/ApplicationNameFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationRFConfigFile.d.ts +5 -3
- package/build/lib/nvm3/files/ApplicationRFConfigFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationRFConfigFile.js +4 -3
- package/build/lib/nvm3/files/ApplicationRFConfigFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationTypeFile.d.ts +5 -3
- package/build/lib/nvm3/files/ApplicationTypeFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ApplicationTypeFile.js +4 -3
- package/build/lib/nvm3/files/ApplicationTypeFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ControllerInfoFile.d.ts +5 -3
- package/build/lib/nvm3/files/ControllerInfoFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ControllerInfoFile.js +4 -3
- package/build/lib/nvm3/files/ControllerInfoFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/NVMFile.d.ts +18 -7
- package/build/lib/nvm3/files/NVMFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/NVMFile.js +44 -30
- package/build/lib/nvm3/files/NVMFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/NodeInfoFiles.d.ts +10 -4
- package/build/lib/nvm3/files/NodeInfoFiles.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/NodeInfoFiles.js +6 -3
- package/build/lib/nvm3/files/NodeInfoFiles.js.map +1 -0
- package/build/{files → lib/nvm3/files}/ProtocolNodeMaskFiles.d.ts +22 -15
- package/build/lib/nvm3/files/ProtocolNodeMaskFiles.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/ProtocolNodeMaskFiles.js +50 -30
- package/build/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +1 -0
- package/build/{files → lib/nvm3/files}/RouteCacheFiles.d.ts +8 -17
- package/build/lib/nvm3/files/RouteCacheFiles.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/RouteCacheFiles.js +16 -64
- package/build/lib/nvm3/files/RouteCacheFiles.js.map +1 -0
- package/build/{files → lib/nvm3/files}/SUCUpdateEntriesFile.d.ts +10 -13
- package/build/lib/nvm3/files/SUCUpdateEntriesFile.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/SUCUpdateEntriesFile.js +15 -42
- package/build/lib/nvm3/files/SUCUpdateEntriesFile.js.map +1 -0
- package/build/{files → lib/nvm3/files}/VersionFiles.d.ts +7 -5
- package/build/lib/nvm3/files/VersionFiles.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/VersionFiles.js +10 -7
- package/build/lib/nvm3/files/VersionFiles.js.map +1 -0
- package/build/{files → lib/nvm3/files}/index.d.ts +1 -0
- package/build/lib/nvm3/files/index.d.ts.map +1 -0
- package/build/{files → lib/nvm3/files}/index.js +1 -0
- package/build/lib/nvm3/files/index.js.map +1 -0
- package/build/lib/nvm3/object.d.ts +29 -0
- package/build/lib/nvm3/object.d.ts.map +1 -0
- package/build/lib/nvm3/object.js +118 -0
- package/build/lib/nvm3/object.js.map +1 -0
- package/build/{nvm3 → lib/nvm3}/page.d.ts +1 -5
- package/build/lib/nvm3/page.d.ts.map +1 -0
- package/build/lib/nvm3/page.js +37 -0
- package/build/lib/nvm3/page.js.map +1 -0
- package/build/{nvm3 → lib/nvm3}/utils.d.ts +2 -4
- package/build/lib/nvm3/utils.d.ts.map +1 -0
- package/build/lib/nvm3/utils.js +143 -0
- package/build/lib/nvm3/utils.js.map +1 -0
- package/build/lib/nvm500/EntryParsers.d.ts.map +1 -0
- package/build/lib/nvm500/EntryParsers.js.map +1 -0
- package/build/lib/nvm500/adapter.d.ts +22 -0
- package/build/lib/nvm500/adapter.d.ts.map +1 -0
- package/build/lib/nvm500/adapter.js +371 -0
- package/build/lib/nvm500/adapter.js.map +1 -0
- package/build/lib/nvm500/impls/Bridge_6_6x.d.ts +3 -0
- package/build/lib/nvm500/impls/Bridge_6_6x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Bridge_6_6x.js +1 -1
- package/build/lib/nvm500/impls/Bridge_6_6x.js.map +1 -0
- package/build/lib/nvm500/impls/Bridge_6_7x.d.ts +3 -0
- package/build/lib/nvm500/impls/Bridge_6_7x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Bridge_6_7x.js +1 -1
- package/build/lib/nvm500/impls/Bridge_6_7x.js.map +1 -0
- package/build/lib/nvm500/impls/Bridge_6_8x.d.ts +3 -0
- package/build/lib/nvm500/impls/Bridge_6_8x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Bridge_6_8x.js +1 -1
- package/build/lib/nvm500/impls/Bridge_6_8x.js.map +1 -0
- package/build/lib/nvm500/impls/Static_6_6x.d.ts +3 -0
- package/build/lib/nvm500/impls/Static_6_6x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Static_6_6x.js +1 -1
- package/build/lib/nvm500/impls/Static_6_6x.js.map +1 -0
- package/build/lib/nvm500/impls/Static_6_7x.d.ts +3 -0
- package/build/lib/nvm500/impls/Static_6_7x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Static_6_7x.js +1 -1
- package/build/lib/nvm500/impls/Static_6_7x.js.map +1 -0
- package/build/lib/nvm500/impls/Static_6_8x.d.ts +3 -0
- package/build/lib/nvm500/impls/Static_6_8x.d.ts.map +1 -0
- package/build/{nvm500/parsers → lib/nvm500/impls}/Static_6_8x.js +1 -1
- package/build/lib/nvm500/impls/Static_6_8x.js.map +1 -0
- package/build/lib/nvm500/impls/index.d.ts +2 -0
- package/build/lib/nvm500/impls/index.d.ts.map +1 -0
- package/build/lib/nvm500/impls/index.js +18 -0
- package/build/lib/nvm500/impls/index.js.map +1 -0
- package/build/{nvm500 → lib/nvm500}/shared.d.ts +19 -2
- package/build/lib/nvm500/shared.d.ts.map +1 -0
- package/build/{nvm500 → lib/nvm500}/shared.js +19 -1
- package/build/lib/nvm500/shared.js.map +1 -0
- package/build/nvm500/NVMParser.d.ts +5 -36
- package/build/nvm500/NVMParser.d.ts.map +1 -1
- package/build/nvm500/NVMParser.js +0 -524
- package/build/nvm500/NVMParser.js.map +1 -1
- package/package.json +2 -2
- package/build/files/ApplicationCCsFile.d.ts.map +0 -1
- package/build/files/ApplicationCCsFile.js.map +0 -1
- package/build/files/ApplicationDataFile.d.ts.map +0 -1
- package/build/files/ApplicationDataFile.js.map +0 -1
- package/build/files/ApplicationNameFile.d.ts.map +0 -1
- package/build/files/ApplicationNameFile.js.map +0 -1
- package/build/files/ApplicationRFConfigFile.d.ts.map +0 -1
- package/build/files/ApplicationRFConfigFile.js.map +0 -1
- package/build/files/ApplicationTypeFile.d.ts.map +0 -1
- package/build/files/ApplicationTypeFile.js.map +0 -1
- package/build/files/ControllerInfoFile.d.ts.map +0 -1
- package/build/files/ControllerInfoFile.js.map +0 -1
- package/build/files/NVMFile.d.ts.map +0 -1
- package/build/files/NVMFile.js.map +0 -1
- package/build/files/NodeInfoFiles.d.ts.map +0 -1
- package/build/files/NodeInfoFiles.js.map +0 -1
- package/build/files/ProtocolNodeMaskFiles.d.ts.map +0 -1
- package/build/files/ProtocolNodeMaskFiles.js.map +0 -1
- package/build/files/RouteCacheFiles.d.ts.map +0 -1
- package/build/files/RouteCacheFiles.js.map +0 -1
- package/build/files/SUCUpdateEntriesFile.d.ts.map +0 -1
- package/build/files/SUCUpdateEntriesFile.js.map +0 -1
- package/build/files/VersionFiles.d.ts.map +0 -1
- package/build/files/VersionFiles.js.map +0 -1
- package/build/files/index.d.ts.map +0 -1
- package/build/files/index.js.map +0 -1
- package/build/nvm3/consts.d.ts.map +0 -1
- package/build/nvm3/consts.js.map +0 -1
- package/build/nvm3/nvm.d.ts +0 -31
- package/build/nvm3/nvm.d.ts.map +0 -1
- package/build/nvm3/nvm.js +0 -184
- package/build/nvm3/nvm.js.map +0 -1
- package/build/nvm3/object.d.ts +0 -25
- package/build/nvm3/object.d.ts.map +0 -1
- package/build/nvm3/object.js +0 -197
- package/build/nvm3/object.js.map +0 -1
- package/build/nvm3/page.d.ts.map +0 -1
- package/build/nvm3/page.js +0 -129
- package/build/nvm3/page.js.map +0 -1
- package/build/nvm3/utils.d.ts.map +0 -1
- package/build/nvm3/utils.js +0 -103
- package/build/nvm3/utils.js.map +0 -1
- package/build/nvm500/EntryParsers.d.ts.map +0 -1
- package/build/nvm500/EntryParsers.js.map +0 -1
- package/build/nvm500/parsers/Bridge_6_6x.d.ts +0 -3
- package/build/nvm500/parsers/Bridge_6_6x.d.ts.map +0 -1
- package/build/nvm500/parsers/Bridge_6_6x.js.map +0 -1
- package/build/nvm500/parsers/Bridge_6_7x.d.ts +0 -3
- package/build/nvm500/parsers/Bridge_6_7x.d.ts.map +0 -1
- package/build/nvm500/parsers/Bridge_6_7x.js.map +0 -1
- package/build/nvm500/parsers/Bridge_6_8x.d.ts +0 -3
- package/build/nvm500/parsers/Bridge_6_8x.d.ts.map +0 -1
- package/build/nvm500/parsers/Bridge_6_8x.js.map +0 -1
- package/build/nvm500/parsers/Static_6_6x.d.ts +0 -3
- package/build/nvm500/parsers/Static_6_6x.d.ts.map +0 -1
- package/build/nvm500/parsers/Static_6_6x.js.map +0 -1
- package/build/nvm500/parsers/Static_6_7x.d.ts +0 -3
- package/build/nvm500/parsers/Static_6_7x.d.ts.map +0 -1
- package/build/nvm500/parsers/Static_6_7x.js.map +0 -1
- package/build/nvm500/parsers/Static_6_8x.d.ts +0 -3
- package/build/nvm500/parsers/Static_6_8x.d.ts.map +0 -1
- package/build/nvm500/parsers/Static_6_8x.js.map +0 -1
- package/build/nvm500/shared.d.ts.map +0 -1
- package/build/nvm500/shared.js.map +0 -1
- package/build/shared.d.ts +0 -2
- package/build/shared.d.ts.map +0 -1
- package/build/shared.js +0 -3
- package/build/shared.js.map +0 -1
- /package/build/{nvm3 → lib/nvm3}/consts.d.ts +0 -0
- /package/build/{nvm3 → lib/nvm3}/consts.js +0 -0
- /package/build/{nvm500 → lib/nvm500}/EntryParsers.d.ts +0 -0
- /package/build/{nvm500 → lib/nvm500}/EntryParsers.js +0 -0
|
@@ -7,62 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.RouteCacheFileV1 = exports.RouteCacheFileV1IDBase = exports.RouteCacheFileV0 = exports.RouteCacheFileV0IDBase = exports.ROUTECACHES_PER_FILE_V1 = void 0;
|
|
10
|
-
exports.parseRoute = parseRoute;
|
|
11
|
-
exports.encodeRoute = encodeRoute;
|
|
12
|
-
exports.getEmptyRoute = getEmptyRoute;
|
|
13
10
|
exports.nodeIdToRouteCacheFileIDV0 = nodeIdToRouteCacheFileIDV0;
|
|
14
11
|
exports.nodeIdToRouteCacheFileIDV1 = nodeIdToRouteCacheFileIDV1;
|
|
15
12
|
const safe_1 = require("@zwave-js/core/safe");
|
|
13
|
+
const routeCache_1 = require("../../common/routeCache");
|
|
16
14
|
const NVMFile_1 = require("./NVMFile");
|
|
17
15
|
exports.ROUTECACHES_PER_FILE_V1 = 8;
|
|
18
|
-
const ROUTE_SIZE = safe_1.MAX_REPEATERS + 1;
|
|
19
|
-
const ROUTECACHE_SIZE = 2 * ROUTE_SIZE;
|
|
20
|
-
const EMPTY_ROUTECACHE_FILL = 0xff;
|
|
21
|
-
const emptyRouteCache = Buffer.alloc(ROUTECACHE_SIZE, EMPTY_ROUTECACHE_FILL);
|
|
22
|
-
var Beaming;
|
|
23
|
-
(function (Beaming) {
|
|
24
|
-
Beaming[Beaming["1000ms"] = 64] = "1000ms";
|
|
25
|
-
Beaming[Beaming["250ms"] = 32] = "250ms";
|
|
26
|
-
})(Beaming || (Beaming = {}));
|
|
27
|
-
function parseRoute(buffer, offset) {
|
|
28
|
-
const routeConf = buffer[offset + safe_1.MAX_REPEATERS];
|
|
29
|
-
const ret = {
|
|
30
|
-
beaming: (Beaming[routeConf & 0x60] ?? false),
|
|
31
|
-
protocolRate: routeConf & safe_1.protocolDataRateMask,
|
|
32
|
-
repeaterNodeIDs: [
|
|
33
|
-
...buffer.subarray(offset, offset + safe_1.MAX_REPEATERS),
|
|
34
|
-
].filter((id) => id !== 0),
|
|
35
|
-
};
|
|
36
|
-
if (ret.repeaterNodeIDs[0] === 0xfe)
|
|
37
|
-
delete ret.repeaterNodeIDs;
|
|
38
|
-
return ret;
|
|
39
|
-
}
|
|
40
|
-
function encodeRoute(route) {
|
|
41
|
-
const ret = Buffer.alloc(ROUTE_SIZE, 0);
|
|
42
|
-
if (route) {
|
|
43
|
-
if (route.repeaterNodeIDs) {
|
|
44
|
-
for (let i = 0; i < safe_1.MAX_REPEATERS && i < route.repeaterNodeIDs.length; i++) {
|
|
45
|
-
ret[i] = route.repeaterNodeIDs[i];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
ret[0] = 0xfe;
|
|
50
|
-
}
|
|
51
|
-
let routeConf = 0;
|
|
52
|
-
if (route.beaming)
|
|
53
|
-
routeConf |= Beaming[route.beaming] ?? 0;
|
|
54
|
-
routeConf |= route.protocolRate & safe_1.protocolDataRateMask;
|
|
55
|
-
ret[ROUTE_SIZE - 1] = routeConf;
|
|
56
|
-
}
|
|
57
|
-
return ret;
|
|
58
|
-
}
|
|
59
|
-
function getEmptyRoute() {
|
|
60
|
-
return {
|
|
61
|
-
beaming: false,
|
|
62
|
-
protocolRate: safe_1.RouteProtocolDataRate.ZWave_40k,
|
|
63
|
-
repeaterNodeIDs: undefined,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
16
|
exports.RouteCacheFileV0IDBase = 0x50400;
|
|
67
17
|
function nodeIdToRouteCacheFileIDV0(nodeId) {
|
|
68
18
|
return exports.RouteCacheFileV0IDBase + nodeId - 1;
|
|
@@ -72,8 +22,8 @@ let RouteCacheFileV0 = class RouteCacheFileV0 extends NVMFile_1.NVMFile {
|
|
|
72
22
|
super(options);
|
|
73
23
|
if ((0, NVMFile_1.gotDeserializationOptions)(options)) {
|
|
74
24
|
const nodeId = this.fileId - exports.RouteCacheFileV0IDBase + 1;
|
|
75
|
-
const lwr = parseRoute(this.payload, 0);
|
|
76
|
-
const nlwr = parseRoute(this.payload, safe_1.MAX_REPEATERS + 1);
|
|
25
|
+
const lwr = (0, routeCache_1.parseRoute)(this.payload, 0);
|
|
26
|
+
const nlwr = (0, routeCache_1.parseRoute)(this.payload, safe_1.MAX_REPEATERS + 1);
|
|
77
27
|
this.routeCache = { nodeId, lwr, nlwr };
|
|
78
28
|
}
|
|
79
29
|
else {
|
|
@@ -84,8 +34,8 @@ let RouteCacheFileV0 = class RouteCacheFileV0 extends NVMFile_1.NVMFile {
|
|
|
84
34
|
serialize() {
|
|
85
35
|
this.fileId = nodeIdToRouteCacheFileIDV0(this.routeCache.nodeId);
|
|
86
36
|
this.payload = Buffer.concat([
|
|
87
|
-
encodeRoute(this.routeCache.lwr),
|
|
88
|
-
encodeRoute(this.routeCache.nlwr),
|
|
37
|
+
(0, routeCache_1.encodeRoute)(this.routeCache.lwr),
|
|
38
|
+
(0, routeCache_1.encodeRoute)(this.routeCache.nlwr),
|
|
89
39
|
]);
|
|
90
40
|
return super.serialize();
|
|
91
41
|
}
|
|
@@ -99,7 +49,8 @@ let RouteCacheFileV0 = class RouteCacheFileV0 extends NVMFile_1.NVMFile {
|
|
|
99
49
|
};
|
|
100
50
|
exports.RouteCacheFileV0 = RouteCacheFileV0;
|
|
101
51
|
exports.RouteCacheFileV0 = RouteCacheFileV0 = __decorate([
|
|
102
|
-
(0, NVMFile_1.nvmFileID)((id) => id >= exports.RouteCacheFileV0IDBase && id < exports.RouteCacheFileV0IDBase + safe_1.MAX_NODES)
|
|
52
|
+
(0, NVMFile_1.nvmFileID)((id) => id >= exports.RouteCacheFileV0IDBase && id < exports.RouteCacheFileV0IDBase + safe_1.MAX_NODES),
|
|
53
|
+
(0, NVMFile_1.nvmSection)("protocol")
|
|
103
54
|
], RouteCacheFileV0);
|
|
104
55
|
exports.RouteCacheFileV1IDBase = 0x51400;
|
|
105
56
|
function nodeIdToRouteCacheFileIDV1(nodeId) {
|
|
@@ -114,14 +65,14 @@ let RouteCacheFileV1 = class RouteCacheFileV1 extends NVMFile_1.NVMFile {
|
|
|
114
65
|
for (let i = 0; i < exports.ROUTECACHES_PER_FILE_V1; i++) {
|
|
115
66
|
const offset = i * 2 * (safe_1.MAX_REPEATERS + 1);
|
|
116
67
|
const entry = this.payload.subarray(offset, offset + 2 * (safe_1.MAX_REPEATERS + 1));
|
|
117
|
-
if (entry.equals(emptyRouteCache))
|
|
68
|
+
if (entry.equals(routeCache_1.emptyRouteCache))
|
|
118
69
|
continue;
|
|
119
70
|
const nodeId = (this.fileId - exports.RouteCacheFileV1IDBase)
|
|
120
71
|
* exports.ROUTECACHES_PER_FILE_V1
|
|
121
72
|
+ 1
|
|
122
73
|
+ i;
|
|
123
|
-
const lwr = parseRoute(this.payload, offset);
|
|
124
|
-
const nlwr = parseRoute(this.payload, offset + safe_1.MAX_REPEATERS + 1);
|
|
74
|
+
const lwr = (0, routeCache_1.parseRoute)(this.payload, offset);
|
|
75
|
+
const nlwr = (0, routeCache_1.parseRoute)(this.payload, offset + safe_1.MAX_REPEATERS + 1);
|
|
125
76
|
this.routeCaches.push({ nodeId, lwr, nlwr });
|
|
126
77
|
}
|
|
127
78
|
}
|
|
@@ -135,16 +86,16 @@ let RouteCacheFileV1 = class RouteCacheFileV1 extends NVMFile_1.NVMFile {
|
|
|
135
86
|
this.routeCaches.sort((a, b) => a.nodeId - b.nodeId);
|
|
136
87
|
const minNodeId = this.routeCaches[0].nodeId;
|
|
137
88
|
this.fileId = nodeIdToRouteCacheFileIDV1(minNodeId);
|
|
138
|
-
this.payload = Buffer.alloc(exports.ROUTECACHES_PER_FILE_V1 * ROUTECACHE_SIZE, EMPTY_ROUTECACHE_FILL);
|
|
89
|
+
this.payload = Buffer.alloc(exports.ROUTECACHES_PER_FILE_V1 * routeCache_1.ROUTECACHE_SIZE, routeCache_1.EMPTY_ROUTECACHE_FILL);
|
|
139
90
|
const minFileNodeId = Math.floor((minNodeId - 1) / exports.ROUTECACHES_PER_FILE_V1)
|
|
140
91
|
* exports.ROUTECACHES_PER_FILE_V1
|
|
141
92
|
+ 1;
|
|
142
93
|
for (const routeCache of this.routeCaches) {
|
|
143
94
|
const offset = (routeCache.nodeId - minFileNodeId)
|
|
144
|
-
* ROUTECACHE_SIZE;
|
|
95
|
+
* routeCache_1.ROUTECACHE_SIZE;
|
|
145
96
|
Buffer.concat([
|
|
146
|
-
encodeRoute(routeCache.lwr),
|
|
147
|
-
encodeRoute(routeCache.nlwr),
|
|
97
|
+
(0, routeCache_1.encodeRoute)(routeCache.lwr),
|
|
98
|
+
(0, routeCache_1.encodeRoute)(routeCache.nlwr),
|
|
148
99
|
]).copy(this.payload, offset);
|
|
149
100
|
}
|
|
150
101
|
return super.serialize();
|
|
@@ -160,6 +111,7 @@ let RouteCacheFileV1 = class RouteCacheFileV1 extends NVMFile_1.NVMFile {
|
|
|
160
111
|
exports.RouteCacheFileV1 = RouteCacheFileV1;
|
|
161
112
|
exports.RouteCacheFileV1 = RouteCacheFileV1 = __decorate([
|
|
162
113
|
(0, NVMFile_1.nvmFileID)((id) => id >= exports.RouteCacheFileV1IDBase
|
|
163
|
-
&& id < exports.RouteCacheFileV1IDBase + safe_1.MAX_NODES / exports.ROUTECACHES_PER_FILE_V1)
|
|
114
|
+
&& id < exports.RouteCacheFileV1IDBase + safe_1.MAX_NODES / exports.ROUTECACHES_PER_FILE_V1),
|
|
115
|
+
(0, NVMFile_1.nvmSection)("protocol")
|
|
164
116
|
], RouteCacheFileV1);
|
|
165
117
|
//# sourceMappingURL=RouteCacheFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteCacheFiles.js","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/RouteCacheFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type { NVM3Object } from "../
|
|
1
|
+
import { type SUCUpdateEntry } from "../../common/sucUpdateEntry";
|
|
2
|
+
import type { NVM3Object } from "../object";
|
|
3
3
|
import { NVMFile, type NVMFileCreationOptions, type NVMFileDeserializationOptions } from "./NVMFile";
|
|
4
4
|
export declare const SUC_UPDATES_PER_FILE_V5 = 8;
|
|
5
5
|
export interface SUCUpdateEntriesFileOptions extends NVMFileCreationOptions {
|
|
6
6
|
updateEntries: SUCUpdateEntry[];
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
nodeId: number;
|
|
10
|
-
changeType: number;
|
|
11
|
-
supportedCCs: CommandClasses[];
|
|
12
|
-
controlledCCs: CommandClasses[];
|
|
13
|
-
}
|
|
14
|
-
export declare function parseSUCUpdateEntry(buffer: Buffer, offset: number): SUCUpdateEntry | undefined;
|
|
15
|
-
export declare function encodeSUCUpdateEntry(entry: SUCUpdateEntry | undefined): Buffer;
|
|
8
|
+
export declare const SUCUpdateEntriesFileIDV0 = 327683;
|
|
16
9
|
export declare class SUCUpdateEntriesFileV0 extends NVMFile {
|
|
17
10
|
constructor(options: NVMFileDeserializationOptions | SUCUpdateEntriesFileOptions);
|
|
18
11
|
updateEntries: SUCUpdateEntry[];
|
|
19
|
-
serialize(): NVM3Object
|
|
12
|
+
serialize(): NVM3Object & {
|
|
13
|
+
data: Buffer;
|
|
14
|
+
};
|
|
20
15
|
toJSON(): {
|
|
21
16
|
"SUC update entries": SUCUpdateEntry[];
|
|
22
17
|
};
|
|
23
18
|
}
|
|
24
|
-
export declare const SUCUpdateEntriesFileIDV0: number | ((id: number) => boolean);
|
|
25
19
|
export declare const SUCUpdateEntriesFileV5IDBase = 344064;
|
|
20
|
+
export declare const SUCUpdateEntriesFileV5IDMax: number;
|
|
26
21
|
export declare function sucUpdateIndexToSUCUpdateEntriesFileIDV5(index: number): number;
|
|
27
22
|
export declare class SUCUpdateEntriesFileV5 extends NVMFile {
|
|
28
23
|
constructor(options: NVMFileDeserializationOptions | SUCUpdateEntriesFileOptions);
|
|
29
24
|
updateEntries: SUCUpdateEntry[];
|
|
30
|
-
serialize(): NVM3Object
|
|
25
|
+
serialize(): NVM3Object & {
|
|
26
|
+
data: Buffer;
|
|
27
|
+
};
|
|
31
28
|
toJSON(): {
|
|
32
29
|
"SUC update entries": SUCUpdateEntry[];
|
|
33
30
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SUCUpdateEntriesFile.d.ts","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/SUCUpdateEntriesFile.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,cAAc,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACN,OAAO,EACP,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAIlC,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IAC1E,aAAa,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAEhD,qBAEa,sBAAuB,SAAQ,OAAO;gBAEjD,OAAO,EAAE,6BAA6B,GAAG,2BAA2B;IAe9D,aAAa,EAAE,cAAc,EAAE,CAAC;IAEhC,SAAS,IAAI,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAW1C,MAAM;;;CAMb;AAED,eAAO,MAAM,4BAA4B,SAAU,CAAC;AACpD,eAAO,MAAM,2BAA2B,QAEpC,CAAC;AACL,wBAAgB,wCAAwC,CACvD,KAAK,EAAE,MAAM,GACX,MAAM,CAKR;AAED,qBAMa,sBAAuB,SAAQ,OAAO;gBAEjD,OAAO,EAAE,6BAA6B,GAAG,2BAA2B;IAe9D,aAAa,EAAE,cAAc,EAAE,CAAC;IAEhC,SAAS,IAAI,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAc1C,MAAM;;;CAMb"}
|
|
@@ -6,42 +6,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.SUCUpdateEntriesFileV5 = exports.
|
|
10
|
-
exports.parseSUCUpdateEntry = parseSUCUpdateEntry;
|
|
11
|
-
exports.encodeSUCUpdateEntry = encodeSUCUpdateEntry;
|
|
9
|
+
exports.SUCUpdateEntriesFileV5 = exports.SUCUpdateEntriesFileV5IDMax = exports.SUCUpdateEntriesFileV5IDBase = exports.SUCUpdateEntriesFileV0 = exports.SUCUpdateEntriesFileIDV0 = exports.SUC_UPDATES_PER_FILE_V5 = void 0;
|
|
12
10
|
exports.sucUpdateIndexToSUCUpdateEntriesFileIDV5 = sucUpdateIndexToSUCUpdateEntriesFileIDV5;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
11
|
+
const consts_1 = require("../../../consts");
|
|
12
|
+
const sucUpdateEntry_1 = require("../../common/sucUpdateEntry");
|
|
15
13
|
const NVMFile_1 = require("./NVMFile");
|
|
16
14
|
exports.SUC_UPDATES_PER_FILE_V5 = 8;
|
|
17
|
-
|
|
18
|
-
const slice = buffer.subarray(offset, offset + consts_1.SUC_UPDATE_ENTRY_SIZE);
|
|
19
|
-
if (slice.every((b) => b === 0x00 || b === 0xff)) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const nodeId = slice[0];
|
|
23
|
-
const changeType = slice[1];
|
|
24
|
-
const { supportedCCs, controlledCCs } = (0, safe_1.parseCCList)(slice.subarray(2, consts_1.SUC_UPDATE_ENTRY_SIZE));
|
|
25
|
-
return {
|
|
26
|
-
nodeId,
|
|
27
|
-
changeType,
|
|
28
|
-
supportedCCs: supportedCCs.filter((cc) => cc > 0),
|
|
29
|
-
controlledCCs: controlledCCs.filter((cc) => cc > 0),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function encodeSUCUpdateEntry(entry) {
|
|
33
|
-
const ret = Buffer.alloc(consts_1.SUC_UPDATE_ENTRY_SIZE, 0);
|
|
34
|
-
if (entry) {
|
|
35
|
-
ret[0] = entry.nodeId;
|
|
36
|
-
ret[1] = entry.changeType;
|
|
37
|
-
const ccList = (0, safe_1.encodeCCList)(entry.supportedCCs, entry.controlledCCs);
|
|
38
|
-
if (ccList.length > consts_1.SUC_UPDATE_NODEPARM_MAX) {
|
|
39
|
-
throw new safe_1.ZWaveError("Cannot encode SUC update entry, too many CCs", safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
40
|
-
}
|
|
41
|
-
ccList.copy(ret, 2);
|
|
42
|
-
}
|
|
43
|
-
return ret;
|
|
44
|
-
}
|
|
15
|
+
exports.SUCUpdateEntriesFileIDV0 = 0x50003;
|
|
45
16
|
let SUCUpdateEntriesFileV0 = class SUCUpdateEntriesFileV0 extends NVMFile_1.NVMFile {
|
|
46
17
|
constructor(options) {
|
|
47
18
|
super(options);
|
|
@@ -49,7 +20,7 @@ let SUCUpdateEntriesFileV0 = class SUCUpdateEntriesFileV0 extends NVMFile_1.NVMF
|
|
|
49
20
|
this.updateEntries = [];
|
|
50
21
|
for (let entry = 0; entry < consts_1.SUC_MAX_UPDATES; entry++) {
|
|
51
22
|
const offset = entry * consts_1.SUC_UPDATE_ENTRY_SIZE;
|
|
52
|
-
const updateEntry = parseSUCUpdateEntry(this.payload, offset);
|
|
23
|
+
const updateEntry = (0, sucUpdateEntry_1.parseSUCUpdateEntry)(this.payload, offset);
|
|
53
24
|
if (updateEntry)
|
|
54
25
|
this.updateEntries.push(updateEntry);
|
|
55
26
|
}
|
|
@@ -64,7 +35,7 @@ let SUCUpdateEntriesFileV0 = class SUCUpdateEntriesFileV0 extends NVMFile_1.NVMF
|
|
|
64
35
|
for (let i = 0; i < this.updateEntries.length; i++) {
|
|
65
36
|
const offset = i * consts_1.SUC_UPDATE_ENTRY_SIZE;
|
|
66
37
|
const entry = this.updateEntries[i];
|
|
67
|
-
encodeSUCUpdateEntry(entry).copy(this.payload, offset);
|
|
38
|
+
(0, sucUpdateEntry_1.encodeSUCUpdateEntry)(entry).copy(this.payload, offset);
|
|
68
39
|
}
|
|
69
40
|
return super.serialize();
|
|
70
41
|
}
|
|
@@ -78,10 +49,13 @@ let SUCUpdateEntriesFileV0 = class SUCUpdateEntriesFileV0 extends NVMFile_1.NVMF
|
|
|
78
49
|
};
|
|
79
50
|
exports.SUCUpdateEntriesFileV0 = SUCUpdateEntriesFileV0;
|
|
80
51
|
exports.SUCUpdateEntriesFileV0 = SUCUpdateEntriesFileV0 = __decorate([
|
|
81
|
-
(0, NVMFile_1.nvmFileID)(
|
|
52
|
+
(0, NVMFile_1.nvmFileID)(exports.SUCUpdateEntriesFileIDV0),
|
|
53
|
+
(0, NVMFile_1.nvmSection)("protocol")
|
|
82
54
|
], SUCUpdateEntriesFileV0);
|
|
83
|
-
exports.SUCUpdateEntriesFileIDV0 = (0, NVMFile_1.getNVMFileIDStatic)(SUCUpdateEntriesFileV0);
|
|
84
55
|
exports.SUCUpdateEntriesFileV5IDBase = 0x54000;
|
|
56
|
+
exports.SUCUpdateEntriesFileV5IDMax = exports.SUCUpdateEntriesFileV5IDBase
|
|
57
|
+
+ consts_1.SUC_MAX_UPDATES / exports.SUC_UPDATES_PER_FILE_V5
|
|
58
|
+
- 1;
|
|
85
59
|
function sucUpdateIndexToSUCUpdateEntriesFileIDV5(index) {
|
|
86
60
|
return (exports.SUCUpdateEntriesFileV5IDBase
|
|
87
61
|
+ Math.floor(index / exports.SUC_UPDATES_PER_FILE_V5));
|
|
@@ -93,7 +67,7 @@ let SUCUpdateEntriesFileV5 = class SUCUpdateEntriesFileV5 extends NVMFile_1.NVMF
|
|
|
93
67
|
this.updateEntries = [];
|
|
94
68
|
for (let entry = 0; entry < exports.SUC_UPDATES_PER_FILE_V5; entry++) {
|
|
95
69
|
const offset = entry * consts_1.SUC_UPDATE_ENTRY_SIZE;
|
|
96
|
-
const updateEntry = parseSUCUpdateEntry(this.payload, offset);
|
|
70
|
+
const updateEntry = (0, sucUpdateEntry_1.parseSUCUpdateEntry)(this.payload, offset);
|
|
97
71
|
if (updateEntry)
|
|
98
72
|
this.updateEntries.push(updateEntry);
|
|
99
73
|
}
|
|
@@ -108,7 +82,7 @@ let SUCUpdateEntriesFileV5 = class SUCUpdateEntriesFileV5 extends NVMFile_1.NVMF
|
|
|
108
82
|
for (let i = 0; i < this.updateEntries.length; i++) {
|
|
109
83
|
const offset = i * consts_1.SUC_UPDATE_ENTRY_SIZE;
|
|
110
84
|
const entry = this.updateEntries[i];
|
|
111
|
-
encodeSUCUpdateEntry(entry).copy(this.payload, offset);
|
|
85
|
+
(0, sucUpdateEntry_1.encodeSUCUpdateEntry)(entry).copy(this.payload, offset);
|
|
112
86
|
}
|
|
113
87
|
return super.serialize();
|
|
114
88
|
}
|
|
@@ -123,8 +97,7 @@ let SUCUpdateEntriesFileV5 = class SUCUpdateEntriesFileV5 extends NVMFile_1.NVMF
|
|
|
123
97
|
exports.SUCUpdateEntriesFileV5 = SUCUpdateEntriesFileV5;
|
|
124
98
|
exports.SUCUpdateEntriesFileV5 = SUCUpdateEntriesFileV5 = __decorate([
|
|
125
99
|
(0, NVMFile_1.nvmFileID)((id) => id >= exports.SUCUpdateEntriesFileV5IDBase
|
|
126
|
-
&& id
|
|
127
|
-
|
|
128
|
-
+ consts_1.SUC_MAX_UPDATES / exports.SUC_UPDATES_PER_FILE_V5)
|
|
100
|
+
&& id <= exports.SUCUpdateEntriesFileV5IDMax),
|
|
101
|
+
(0, NVMFile_1.nvmSection)("protocol")
|
|
129
102
|
], SUCUpdateEntriesFileV5);
|
|
130
103
|
//# sourceMappingURL=SUCUpdateEntriesFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SUCUpdateEntriesFile.js","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/SUCUpdateEntriesFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NVM3Object } from "../
|
|
1
|
+
import type { NVM3Object } from "../object";
|
|
2
2
|
import { NVMFile, type NVMFileCreationOptions, type NVMFileDeserializationOptions } from "./NVMFile";
|
|
3
3
|
export interface VersionFileOptions extends NVMFileCreationOptions {
|
|
4
4
|
format: number;
|
|
@@ -12,19 +12,21 @@ export declare class VersionFile extends NVMFile {
|
|
|
12
12
|
major: number;
|
|
13
13
|
minor: number;
|
|
14
14
|
patch: number;
|
|
15
|
-
serialize(): NVM3Object
|
|
15
|
+
serialize(): NVM3Object & {
|
|
16
|
+
data: Buffer;
|
|
17
|
+
};
|
|
16
18
|
toJSON(): {
|
|
17
19
|
format: number;
|
|
18
20
|
version: string;
|
|
19
21
|
};
|
|
20
22
|
}
|
|
23
|
+
export declare const ApplicationVersionFileID = 331776;
|
|
21
24
|
export declare class ApplicationVersionFile extends VersionFile {
|
|
22
25
|
}
|
|
23
|
-
export declare const
|
|
26
|
+
export declare const ApplicationVersionFile800ID = 266240;
|
|
24
27
|
export declare class ApplicationVersionFile800 extends VersionFile {
|
|
25
28
|
}
|
|
26
|
-
export declare const
|
|
29
|
+
export declare const ProtocolVersionFileID = 327680;
|
|
27
30
|
export declare class ProtocolVersionFile extends VersionFile {
|
|
28
31
|
}
|
|
29
|
-
export declare const ProtocolVersionFileID: number | ((id: number) => boolean);
|
|
30
32
|
//# sourceMappingURL=VersionFiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionFiles.d.ts","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/VersionFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACN,OAAO,EACP,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAIlC,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,WAAY,SAAQ,OAAO;gBAEtC,OAAO,EAAE,6BAA6B,GAAG,kBAAkB;IAgBrD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,IAAI,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAW1C,MAAM;;;;CAOb;AAED,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAEhD,qBAEa,sBAAuB,SAAQ,WAAW;CAAG;AAI1D,eAAO,MAAM,2BAA2B,SAAU,CAAC;AAEnD,qBAEa,yBAA0B,SAAQ,WAAW;CAAG;AAE7D,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAE7C,qBAEa,mBAAoB,SAAQ,WAAW;CAAG"}
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.ProtocolVersionFile = exports.ProtocolVersionFileID = exports.ApplicationVersionFile800 = exports.ApplicationVersionFile800ID = exports.ApplicationVersionFile = exports.ApplicationVersionFileID = exports.VersionFile = void 0;
|
|
10
10
|
const NVMFile_1 = require("./NVMFile");
|
|
11
11
|
class VersionFile extends NVMFile_1.NVMFile {
|
|
12
12
|
constructor(options) {
|
|
@@ -47,27 +47,30 @@ class VersionFile extends NVMFile_1.NVMFile {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
exports.VersionFile = VersionFile;
|
|
50
|
+
exports.ApplicationVersionFileID = 0x51000;
|
|
50
51
|
let ApplicationVersionFile = class ApplicationVersionFile extends VersionFile {
|
|
51
52
|
};
|
|
52
53
|
exports.ApplicationVersionFile = ApplicationVersionFile;
|
|
53
54
|
exports.ApplicationVersionFile = ApplicationVersionFile = __decorate([
|
|
54
|
-
(0, NVMFile_1.nvmFileID)(
|
|
55
|
+
(0, NVMFile_1.nvmFileID)(exports.ApplicationVersionFileID),
|
|
56
|
+
(0, NVMFile_1.nvmSection)("application")
|
|
55
57
|
], ApplicationVersionFile);
|
|
56
|
-
exports.ApplicationVersionFileID = (0, NVMFile_1.getNVMFileIDStatic)(ApplicationVersionFile);
|
|
57
58
|
// The 800 series has a shared application/protocol file system
|
|
58
59
|
// and uses a different ID for the application version file
|
|
60
|
+
exports.ApplicationVersionFile800ID = 0x41000;
|
|
59
61
|
let ApplicationVersionFile800 = class ApplicationVersionFile800 extends VersionFile {
|
|
60
62
|
};
|
|
61
63
|
exports.ApplicationVersionFile800 = ApplicationVersionFile800;
|
|
62
64
|
exports.ApplicationVersionFile800 = ApplicationVersionFile800 = __decorate([
|
|
63
|
-
(0, NVMFile_1.nvmFileID)(
|
|
65
|
+
(0, NVMFile_1.nvmFileID)(exports.ApplicationVersionFile800ID),
|
|
66
|
+
(0, NVMFile_1.nvmSection)("application")
|
|
64
67
|
], ApplicationVersionFile800);
|
|
65
|
-
exports.
|
|
68
|
+
exports.ProtocolVersionFileID = 0x50000;
|
|
66
69
|
let ProtocolVersionFile = class ProtocolVersionFile extends VersionFile {
|
|
67
70
|
};
|
|
68
71
|
exports.ProtocolVersionFile = ProtocolVersionFile;
|
|
69
72
|
exports.ProtocolVersionFile = ProtocolVersionFile = __decorate([
|
|
70
|
-
(0, NVMFile_1.nvmFileID)(
|
|
73
|
+
(0, NVMFile_1.nvmFileID)(exports.ProtocolVersionFileID),
|
|
74
|
+
(0, NVMFile_1.nvmSection)("protocol")
|
|
71
75
|
], ProtocolVersionFile);
|
|
72
|
-
exports.ProtocolVersionFileID = (0, NVMFile_1.getNVMFileIDStatic)(ProtocolVersionFile);
|
|
73
76
|
//# sourceMappingURL=VersionFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionFiles.js","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/VersionFiles.ts"],"names":[],"mappings":";;;;;;;;;AACA,uCAOmB;AASnB,MAAa,WAAY,SAAQ,iBAAO;IACvC,YACC,OAA2D;QAE3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,IAAA,mCAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,CAAC;IACF,CAAC;IAEM,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,KAAK,CAAS;IAEd,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,MAAM;SACX,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,6EAA6E;IACtE,MAAM;QACZ,OAAO;YACN,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;SACpD,CAAC;IACH,CAAC;CACD;AAzCD,kCAyCC;AAEY,QAAA,wBAAwB,GAAG,OAAO,CAAC;AAIzC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,WAAW;CAAG,CAAA;AAA7C,wDAAsB;iCAAtB,sBAAsB;IAFlC,IAAA,mBAAS,EAAC,gCAAwB,CAAC;IACnC,IAAA,oBAAU,EAAC,aAAa,CAAC;GACb,sBAAsB,CAAuB;AAE1D,+DAA+D;AAC/D,2DAA2D;AAC9C,QAAA,2BAA2B,GAAG,OAAO,CAAC;AAI5C,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,WAAW;CAAG,CAAA;AAAhD,8DAAyB;oCAAzB,yBAAyB;IAFrC,IAAA,mBAAS,EAAC,mCAA2B,CAAC;IACtC,IAAA,oBAAU,EAAC,aAAa,CAAC;GACb,yBAAyB,CAAuB;AAEhD,QAAA,qBAAqB,GAAG,OAAO,CAAC;AAItC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,WAAW;CAAG,CAAA;AAA1C,kDAAmB;8BAAnB,mBAAmB;IAF/B,IAAA,mBAAS,EAAC,6BAAqB,CAAC;IAChC,IAAA,oBAAU,EAAC,UAAU,CAAC;GACV,mBAAmB,CAAuB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
export * from "./ApplicationCCsFile";
|
|
3
3
|
export * from "./ApplicationDataFile";
|
|
4
|
+
export * from "./ApplicationNameFile";
|
|
4
5
|
export * from "./ApplicationRFConfigFile";
|
|
5
6
|
export * from "./ApplicationTypeFile";
|
|
6
7
|
export * from "./ControllerInfoFile";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
require("reflect-metadata");
|
|
18
18
|
__exportStar(require("./ApplicationCCsFile"), exports);
|
|
19
19
|
__exportStar(require("./ApplicationDataFile"), exports);
|
|
20
|
+
__exportStar(require("./ApplicationNameFile"), exports);
|
|
20
21
|
__exportStar(require("./ApplicationRFConfigFile"), exports);
|
|
21
22
|
__exportStar(require("./ApplicationTypeFile"), exports);
|
|
22
23
|
__exportStar(require("./ControllerInfoFile"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/nvm3/files/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,uDAAqC;AACrC,wDAAsC;AACtC,wDAAsC;AACtC,4DAA0C;AAC1C,wDAAsC;AACtC,uDAAqC;AACrC,4CAA0B;AAC1B,kDAAgC;AAChC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,iDAA+B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FragmentType, ObjectType } from "./consts";
|
|
2
|
+
export interface NVM3ObjectHeader {
|
|
3
|
+
offset: number;
|
|
4
|
+
type: ObjectType;
|
|
5
|
+
key: number;
|
|
6
|
+
fragmentType: FragmentType;
|
|
7
|
+
/** The length of the header */
|
|
8
|
+
headerSize: number;
|
|
9
|
+
/** The length of the object data */
|
|
10
|
+
fragmentSize: number;
|
|
11
|
+
/** The total length of the object in the NVM */
|
|
12
|
+
alignedSize: number;
|
|
13
|
+
}
|
|
14
|
+
export interface NVM3Object {
|
|
15
|
+
type: ObjectType;
|
|
16
|
+
fragmentType: FragmentType;
|
|
17
|
+
key: number;
|
|
18
|
+
data?: Buffer;
|
|
19
|
+
}
|
|
20
|
+
export declare function serializeObject(obj: NVM3Object): Buffer;
|
|
21
|
+
export declare function fragmentLargeObject(obj: NVM3Object & {
|
|
22
|
+
type: ObjectType.DataLarge | ObjectType.CounterLarge;
|
|
23
|
+
}, maxFirstFragmentSizeWithHeader: number, maxFragmentSizeWithHeader: number): NVM3Object[];
|
|
24
|
+
export declare function getAlignedSize(size: number): number;
|
|
25
|
+
export declare function getHeaderSize(obj: NVM3Object): number;
|
|
26
|
+
export declare function getFragmentSize(obj: NVM3Object): number;
|
|
27
|
+
export declare function getRequiredSpace(obj: NVM3Object): number;
|
|
28
|
+
export declare function getObjectHeader(obj: NVM3Object, offset: number): NVM3ObjectHeader;
|
|
29
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/lib/nvm3/object.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAaZ,UAAU,EACV,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA4CvD;AAED,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,CAAA;CAAE,EAC1E,8BAA8B,EAAE,MAAM,EACtC,yBAAyB,EAAE,MAAM,GAC/B,UAAU,EAAE,CAiCd;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAUrD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAWvD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAC9B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACZ,gBAAgB,CAYlB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeObject = serializeObject;
|
|
4
|
+
exports.fragmentLargeObject = fragmentLargeObject;
|
|
5
|
+
exports.getAlignedSize = getAlignedSize;
|
|
6
|
+
exports.getHeaderSize = getHeaderSize;
|
|
7
|
+
exports.getFragmentSize = getFragmentSize;
|
|
8
|
+
exports.getRequiredSpace = getRequiredSpace;
|
|
9
|
+
exports.getObjectHeader = getObjectHeader;
|
|
10
|
+
const consts_1 = require("./consts");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
function serializeObject(obj) {
|
|
13
|
+
const isLarge = obj.type === consts_1.ObjectType.DataLarge
|
|
14
|
+
|| obj.type === consts_1.ObjectType.CounterLarge;
|
|
15
|
+
const headerSize = isLarge
|
|
16
|
+
? consts_1.NVM3_OBJ_HEADER_SIZE_LARGE
|
|
17
|
+
: consts_1.NVM3_OBJ_HEADER_SIZE_SMALL;
|
|
18
|
+
const dataLength = obj.data?.length ?? 0;
|
|
19
|
+
const ret = Buffer.allocUnsafe(dataLength + headerSize);
|
|
20
|
+
// Write header
|
|
21
|
+
if (isLarge) {
|
|
22
|
+
let hdr2 = dataLength & consts_1.NVM3_OBJ_LARGE_LEN_MASK;
|
|
23
|
+
const hdr1 = (obj.type & consts_1.NVM3_OBJ_TYPE_MASK)
|
|
24
|
+
| ((obj.key & consts_1.NVM3_OBJ_KEY_MASK) << consts_1.NVM3_OBJ_KEY_SHIFT)
|
|
25
|
+
| ((obj.fragmentType & consts_1.NVM3_OBJ_FRAGTYPE_MASK)
|
|
26
|
+
<< consts_1.NVM3_OBJ_FRAGTYPE_SHIFT);
|
|
27
|
+
const bergerCode = (0, utils_1.computeBergerCodeMulti)([hdr1, hdr2], 32 + consts_1.NVM3_CODE_LARGE_SHIFT);
|
|
28
|
+
hdr2 |= bergerCode << consts_1.NVM3_CODE_LARGE_SHIFT;
|
|
29
|
+
ret.writeInt32LE(hdr1, 0);
|
|
30
|
+
ret.writeInt32LE(hdr2, 4);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
let typeAndLen = obj.type;
|
|
34
|
+
if (typeAndLen === consts_1.ObjectType.DataSmall && dataLength > 0) {
|
|
35
|
+
typeAndLen += dataLength;
|
|
36
|
+
}
|
|
37
|
+
let hdr1 = (typeAndLen & consts_1.NVM3_OBJ_TYPE_MASK)
|
|
38
|
+
| ((obj.key & consts_1.NVM3_OBJ_KEY_MASK) << consts_1.NVM3_OBJ_KEY_SHIFT);
|
|
39
|
+
const bergerCode = (0, utils_1.computeBergerCode)(hdr1, consts_1.NVM3_CODE_SMALL_SHIFT);
|
|
40
|
+
hdr1 |= bergerCode << consts_1.NVM3_CODE_SMALL_SHIFT;
|
|
41
|
+
ret.writeInt32LE(hdr1, 0);
|
|
42
|
+
}
|
|
43
|
+
// Write data
|
|
44
|
+
if (obj.data) {
|
|
45
|
+
obj.data.copy(ret, headerSize);
|
|
46
|
+
}
|
|
47
|
+
return ret;
|
|
48
|
+
}
|
|
49
|
+
function fragmentLargeObject(obj, maxFirstFragmentSizeWithHeader, maxFragmentSizeWithHeader) {
|
|
50
|
+
const ret = [];
|
|
51
|
+
if (obj.data.length + consts_1.NVM3_OBJ_HEADER_SIZE_LARGE
|
|
52
|
+
<= maxFirstFragmentSizeWithHeader) {
|
|
53
|
+
return [obj];
|
|
54
|
+
}
|
|
55
|
+
let offset = 0;
|
|
56
|
+
while (offset < obj.data.length) {
|
|
57
|
+
const fragmentSize = offset === 0
|
|
58
|
+
? maxFirstFragmentSizeWithHeader - consts_1.NVM3_OBJ_HEADER_SIZE_LARGE
|
|
59
|
+
: maxFragmentSizeWithHeader - consts_1.NVM3_OBJ_HEADER_SIZE_LARGE;
|
|
60
|
+
const data = obj.data.subarray(offset, offset + fragmentSize);
|
|
61
|
+
ret.push({
|
|
62
|
+
type: obj.type,
|
|
63
|
+
key: obj.key,
|
|
64
|
+
fragmentType: offset === 0
|
|
65
|
+
? consts_1.FragmentType.First
|
|
66
|
+
: data.length + consts_1.NVM3_OBJ_HEADER_SIZE_LARGE
|
|
67
|
+
< maxFragmentSizeWithHeader
|
|
68
|
+
? consts_1.FragmentType.Last
|
|
69
|
+
: consts_1.FragmentType.Next,
|
|
70
|
+
data,
|
|
71
|
+
});
|
|
72
|
+
offset += fragmentSize;
|
|
73
|
+
}
|
|
74
|
+
return ret;
|
|
75
|
+
}
|
|
76
|
+
function getAlignedSize(size) {
|
|
77
|
+
return (size + consts_1.NVM3_WORD_SIZE - 1) & ~(consts_1.NVM3_WORD_SIZE - 1);
|
|
78
|
+
}
|
|
79
|
+
function getHeaderSize(obj) {
|
|
80
|
+
switch (obj.type) {
|
|
81
|
+
case consts_1.ObjectType.Deleted:
|
|
82
|
+
case consts_1.ObjectType.CounterSmall:
|
|
83
|
+
case consts_1.ObjectType.DataSmall:
|
|
84
|
+
return consts_1.NVM3_OBJ_HEADER_SIZE_SMALL;
|
|
85
|
+
case consts_1.ObjectType.CounterLarge:
|
|
86
|
+
case consts_1.ObjectType.DataLarge:
|
|
87
|
+
return consts_1.NVM3_OBJ_HEADER_SIZE_LARGE;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function getFragmentSize(obj) {
|
|
91
|
+
switch (obj.type) {
|
|
92
|
+
case consts_1.ObjectType.Deleted:
|
|
93
|
+
return 0;
|
|
94
|
+
case consts_1.ObjectType.CounterSmall:
|
|
95
|
+
return consts_1.NVM3_COUNTER_SIZE;
|
|
96
|
+
case consts_1.ObjectType.DataSmall:
|
|
97
|
+
case consts_1.ObjectType.DataLarge:
|
|
98
|
+
case consts_1.ObjectType.CounterLarge:
|
|
99
|
+
return obj.data?.length ?? 0;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function getRequiredSpace(obj) {
|
|
103
|
+
return getHeaderSize(obj) + getAlignedSize(getFragmentSize(obj));
|
|
104
|
+
}
|
|
105
|
+
function getObjectHeader(obj, offset) {
|
|
106
|
+
const headerSize = getHeaderSize(obj);
|
|
107
|
+
const fragmentSize = getFragmentSize(obj);
|
|
108
|
+
return {
|
|
109
|
+
offset,
|
|
110
|
+
key: obj.key,
|
|
111
|
+
type: obj.type,
|
|
112
|
+
fragmentType: obj.fragmentType,
|
|
113
|
+
headerSize,
|
|
114
|
+
fragmentSize,
|
|
115
|
+
alignedSize: headerSize + getAlignedSize(fragmentSize),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/lib/nvm3/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,5 @@ export interface NVM3Page {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function pageSizeToBits(pageSize: number): number;
|
|
19
19
|
export declare function pageSizeFromBits(bits: number): number;
|
|
20
|
-
export declare function
|
|
21
|
-
page: NVM3Page;
|
|
22
|
-
bytesRead: number;
|
|
23
|
-
};
|
|
24
|
-
export declare function writePageHeader(header: Omit<NVM3PageHeader, "offset">): Buffer;
|
|
20
|
+
export declare function serializePageHeader(header: Omit<NVM3PageHeader, "offset">): Buffer;
|
|
25
21
|
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/lib/nvm3/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACtB;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GACpC,MAAM,CAkCR"}
|