@zwave-js/nvmedit 15.28.0 → 15.29.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/cjs/cli.js.map +2 -2
- package/build/cjs/convert.js +36 -12
- package/build/cjs/convert.js.map +2 -2
- package/build/cjs/lib/NVM3.js +16 -12
- package/build/cjs/lib/NVM3.js.map +2 -2
- package/build/cjs/lib/NVM500.js.map +2 -2
- package/build/cjs/lib/common/definitions.d.ts +1 -1
- package/build/cjs/lib/common/definitions.js.map +2 -2
- package/build/cjs/lib/common/routeCache.js.map +2 -2
- package/build/cjs/lib/common/sucUpdateEntry.js.map +2 -2
- package/build/cjs/lib/common/utils.js.map +2 -2
- package/build/cjs/lib/io/BufferedNVMReader.js.map +2 -2
- package/build/cjs/lib/io/NVMFileIO.js +1 -1
- package/build/cjs/lib/io/NVMFileIO.js.map +2 -2
- package/build/cjs/lib/io/NVMMemoryIO.js.map +2 -2
- package/build/cjs/lib/nvm3/adapter.d.ts +1 -1
- package/build/cjs/lib/nvm3/adapter.js.map +2 -2
- package/build/cjs/lib/nvm3/consts.js.map +1 -1
- package/build/cjs/lib/nvm3/files/ApplicationCCsFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ApplicationDataFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ApplicationNameFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ApplicationRFConfigFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ApplicationTypeFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ControllerInfoFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/NVMFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/NodeInfoFiles.js.map +2 -2
- package/build/cjs/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +2 -2
- package/build/cjs/lib/nvm3/files/RouteCacheFiles.js.map +2 -2
- package/build/cjs/lib/nvm3/files/SUCUpdateEntriesFile.js.map +2 -2
- package/build/cjs/lib/nvm3/files/VersionFiles.js.map +2 -2
- package/build/cjs/lib/nvm3/object.js.map +2 -2
- package/build/cjs/lib/nvm3/page.js.map +2 -2
- package/build/cjs/lib/nvm3/utils.js.map +2 -2
- package/build/cjs/lib/nvm500/EntryParsers.js +1 -4
- package/build/cjs/lib/nvm500/EntryParsers.js.map +2 -2
- package/build/cjs/lib/nvm500/adapter.d.ts +1 -1
- package/build/cjs/lib/nvm500/adapter.js +3 -1
- package/build/cjs/lib/nvm500/adapter.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Bridge_6_6x.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Bridge_6_7x.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Bridge_6_8x.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Static_6_6x.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Static_6_7x.js.map +2 -2
- package/build/cjs/lib/nvm500/impls/Static_6_8x.js.map +2 -2
- package/build/cjs/lib/nvm500/shared.js.map +2 -2
- package/build/esm/cli.js.map +1 -1
- package/build/esm/convert.d.ts.map +1 -1
- package/build/esm/convert.js +49 -28
- package/build/esm/convert.js.map +1 -1
- package/build/esm/lib/NVM3.d.ts.map +1 -1
- package/build/esm/lib/NVM3.js +22 -21
- package/build/esm/lib/NVM3.js.map +1 -1
- package/build/esm/lib/NVM500.d.ts.map +1 -1
- package/build/esm/lib/NVM500.js +4 -5
- package/build/esm/lib/NVM500.js.map +1 -1
- package/build/esm/lib/common/definitions.d.ts +1 -1
- package/build/esm/lib/common/definitions.d.ts.map +1 -1
- package/build/esm/lib/common/definitions.js.map +1 -1
- package/build/esm/lib/common/routeCache.d.ts.map +1 -1
- package/build/esm/lib/common/routeCache.js +1 -2
- package/build/esm/lib/common/routeCache.js.map +1 -1
- package/build/esm/lib/common/sucUpdateEntry.d.ts.map +1 -1
- package/build/esm/lib/common/sucUpdateEntry.js.map +1 -1
- package/build/esm/lib/common/utils.d.ts.map +1 -1
- package/build/esm/lib/common/utils.js.map +1 -1
- package/build/esm/lib/io/BufferedNVMReader.d.ts.map +1 -1
- package/build/esm/lib/io/BufferedNVMReader.js +6 -6
- package/build/esm/lib/io/BufferedNVMReader.js.map +1 -1
- package/build/esm/lib/io/NVMFileIO.d.ts.map +1 -1
- package/build/esm/lib/io/NVMFileIO.js +1 -1
- package/build/esm/lib/io/NVMFileIO.js.map +1 -1
- package/build/esm/lib/io/NVMMemoryIO.d.ts.map +1 -1
- package/build/esm/lib/io/NVMMemoryIO.js.map +1 -1
- package/build/esm/lib/nvm3/adapter.d.ts +1 -1
- package/build/esm/lib/nvm3/adapter.d.ts.map +1 -1
- package/build/esm/lib/nvm3/adapter.js +28 -22
- package/build/esm/lib/nvm3/adapter.js.map +1 -1
- package/build/esm/lib/nvm3/consts.js +1 -1
- package/build/esm/lib/nvm3/files/ApplicationCCsFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationCCsFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationDataFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationDataFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationNameFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationNameFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationRFConfigFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationRFConfigFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationTypeFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ApplicationTypeFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/ControllerInfoFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ControllerInfoFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/NVMFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/NVMFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/NodeInfoFiles.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/NodeInfoFiles.js +2 -4
- package/build/esm/lib/nvm3/files/NodeInfoFiles.js.map +1 -1
- package/build/esm/lib/nvm3/files/ProtocolNodeMaskFiles.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +1 -1
- package/build/esm/lib/nvm3/files/RouteCacheFiles.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/RouteCacheFiles.js +2 -4
- package/build/esm/lib/nvm3/files/RouteCacheFiles.js.map +1 -1
- package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.js +1 -2
- package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.js.map +1 -1
- package/build/esm/lib/nvm3/files/VersionFiles.d.ts.map +1 -1
- package/build/esm/lib/nvm3/files/VersionFiles.js.map +1 -1
- package/build/esm/lib/nvm3/object.d.ts.map +1 -1
- package/build/esm/lib/nvm3/object.js.map +1 -1
- package/build/esm/lib/nvm3/page.d.ts.map +1 -1
- package/build/esm/lib/nvm3/page.js.map +1 -1
- package/build/esm/lib/nvm3/utils.d.ts.map +1 -1
- package/build/esm/lib/nvm3/utils.js.map +1 -1
- package/build/esm/lib/nvm500/EntryParsers.d.ts.map +1 -1
- package/build/esm/lib/nvm500/EntryParsers.js +4 -5
- package/build/esm/lib/nvm500/EntryParsers.js.map +1 -1
- package/build/esm/lib/nvm500/adapter.d.ts +1 -1
- package/build/esm/lib/nvm500/adapter.d.ts.map +1 -1
- package/build/esm/lib/nvm500/adapter.js +10 -12
- package/build/esm/lib/nvm500/adapter.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_6x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_6x.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_7x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_7x.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_8x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Bridge_6_8x.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_6x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_6x.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_7x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_7x.js.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_8x.d.ts.map +1 -1
- package/build/esm/lib/nvm500/impls/Static_6_8x.js.map +1 -1
- package/build/esm/lib/nvm500/shared.d.ts.map +1 -1
- package/build/esm/lib/nvm500/shared.js.map +1 -1
- package/build/esm/nvm500/NVMParser.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Bridge_6_6x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_6x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fde,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_6x: NVM500Impl = {\n\tname: \"Bridge 6.6x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\"4.33\", \"4.62\"],\n\tlayout: NVM_Layout_Bridge_6_6x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_6x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fde,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_6x: NVM500Impl = {\n\tname: \"Bridge 6.6x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\"4.33\", \"4.62\"],\n\tlayout: NVM_Layout_Bridge_6_6x,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Bridge_6_7x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_7x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fee,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_7x: NVM500Impl = {\n\tname: \"Bridge 6.7x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\n\t\t\"4.60\",\n\t\t\"4.61\",\n\t\t\"5.02\",\n\t\t\"5.03\",\n\t\t// Technically the following is a 6.8x SDK, but according to\n\t\t// https://github.com/zwave-js/zwave-js/issues/7385, it still uses\n\t\t// a 6.7x NVM layout\n\t\t\"6.01\",\n\t],\n\tlayout: NVM_Layout_Bridge_6_7x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_7x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fee,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_7x: NVM500Impl = {\n\tname: \"Bridge 6.7x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\n\t\t\"4.60\",\n\t\t\"4.61\",\n\t\t\"5.02\",\n\t\t\"5.03\",\n\t\t// Technically the following is a 6.8x SDK, but according to\n\t\t// https://github.com/zwave-js/zwave-js/issues/7385, it still uses\n\t\t// a 6.7x NVM layout\n\t\t\"6.01\",\n\t],\n\tlayout: NVM_Layout_Bridge_6_7x,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Bridge_6_8x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_8x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_SYSTEM_STATE\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fef,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_8x: NVM500Impl = {\n\tname: \"Bridge 6.8x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\n\t\t\"6.02\",\n\t\t\"6.03\",\n\t\t\"6.04\",\n\t\t\"6.05\",\n\t\t\"6.06\",\n\t\t\"6.07\",\n\t\t\"6.08\",\n\t\t\"6.09\",\n\t\t\"6.10\",\n\t],\n\tlayout: NVM_Layout_Bridge_6_8x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Bridge_6_8x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_BRIDGE_NODEPOOL_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_SYSTEM_STATE\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fef,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Bridge_6_8x: NVM500Impl = {\n\tname: \"Bridge 6.8x\",\n\tlibrary: \"bridge\",\n\tprotocolVersions: [\n\t\t\"6.02\",\n\t\t\"6.03\",\n\t\t\"6.04\",\n\t\t\"6.05\",\n\t\t\"6.06\",\n\t\t\"6.07\",\n\t\t\"6.08\",\n\t\t\"6.09\",\n\t\t\"6.10\",\n\t],\n\tlayout: NVM_Layout_Bridge_6_8x,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Static_6_6x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_6x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fc1,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_6x: NVM500Impl = {\n\tname: \"Static 6.6x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\"4.33\", \"4.62\"],\n\tlayout: NVM_Layout_Static_6_6x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_6x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fc1,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_6x: NVM500Impl = {\n\tname: \"Static 6.6x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\"4.33\", \"4.62\"],\n\tlayout: NVM_Layout_Static_6_6x,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Static_6_7x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_7x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fd1,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_7x: NVM500Impl = {\n\tname: \"Static 6.7x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\n\t\t\"4.60\",\n\t\t\"4.61\",\n\t\t\"5.02\",\n\t\t\"5.03\",\n\t\t// Technically the following is a 6.8x SDK, but according to\n\t\t// https://github.com/zwave-js/zwave-js/issues/7385, it still uses\n\t\t// a 6.7x NVM layout\n\t\t\"6.01\",\n\t],\n\tlayout: NVM_Layout_Static_6_7x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_7x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fd1,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_7x: NVM500Impl = {\n\tname: \"Static 6.7x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\n\t\t\"4.60\",\n\t\t\"4.61\",\n\t\t\"5.02\",\n\t\t\"5.03\",\n\t\t// Technically the following is a 6.8x SDK, but according to\n\t\t// https://github.com/zwave-js/zwave-js/issues/7385, it still uses\n\t\t// a 6.7x NVM layout\n\t\t\"6.01\",\n\t],\n\tlayout: NVM_Layout_Static_6_7x,\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;AAE9C,oBAAgC;AAChC,oBAUO;AAEP,MAAM,yBAAoC;EACzC,EAAE,MAAM,eAAe,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxD,EAAE,MAAM,oBAAoB,MAAM,2BAAa,eAAe,OAAO,EAAC;EACtE,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE,EAAE,MAAM,kBAAkB,MAAM,2BAAa,OAAO,OAAO,EAAC;EAC5D,EAAE,MAAM,kBAAkB,MAAM,2BAAa,MAAM,OAAO,EAAC;EAC3D,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,MAAM,iCAAqB;IAC3B,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,MAAM,iCAAqB;IAC3B,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO,oCAAsB;;EAE9B;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,0BAA0B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACnE,EAAE,MAAM,0BAA0B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACnE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,+BAA+B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACxE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,MAAM;IACN,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;;;IAGnB,QAAQ;IACR,OAAO;;EAER,EAAE,MAAM,sBAAsB,MAAM,2BAAa,MAAM,OAAO,EAAC;EAC/D,EAAE,MAAM,6BAA6B,MAAM,2BAAa,MAAM,OAAO,EAAC;EACtE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,MAAM;IACN,OAAO;;EAER;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,qBAAqB,MAAM,2BAAa,eAAe,OAAO,EAAC;EACvE,EAAE,MAAM,iBAAiB,MAAM,2BAAa,eAAe,OAAO,EAAC;EACnE;IACC,MAAM;IACN,MAAM,2BAAa;IACnB,OAAO;;EAER,EAAE,MAAM,0BAA0B,MAAM,2BAAa,MAAM,OAAO,EAAC;;AAG7D,MAAM,cAA0B;EACtC,MAAM;EACN,SAAS;EACT,kBAAkB;IACjB;IACA;IACA;IACA;;;;IAIA;;EAED,QAAQ;;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/lib/nvm500/impls/Static_6_8x.ts"],
|
|
4
|
-
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_8x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\toffset: 0x268e,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_SYSTEM_STATE\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fd2,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_8x: NVM500Impl = {\n\tname: \"Static 6.8x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\n\t\t\"6.02\",\n\t\t\"6.03\",\n\t\t\"6.04\",\n\t\t\"6.05\",\n\t\t\"6.06\",\n\t\t\"6.07\",\n\t\t\"6.08\",\n\t\t\"6.09\",\n\t\t\"6.10\",\n\t],\n\tlayout: NVM_Layout_Static_6_8x,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kBAA8C;
|
|
4
|
+
"sourcesContent": ["import { MAX_NODES, NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\n\nimport { SUC_MAX_UPDATES } from \"../../../consts.js\";\nimport {\n\tAPPL_NODEPARM_MAX,\n\ttype NVM500Impl,\n\tNVMEntryType,\n\ttype NVMLayout,\n\tNVM_SERIALAPI_HOST_SIZE,\n\tPOWERLEVEL_CHANNELS,\n\tRTC_TIMER_SIZE,\n\tSUC_CONTROLLER_LIST_SIZE,\n\tTOTAL_RTC_TIMER_MAX,\n} from \"../shared.js\";\n\nconst NVM_Layout_Static_6_8x: NVMLayout = [\n\t{ name: \"nvmTotalEnd\", type: NVMEntryType.Word, count: 1 },\n\t{ name: \"nvmZWlibrarySize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"NVM_INTERNAL_RESERVED_1_far\", type: NVMEntryType.Byte, count: 4 },\n\t{\n\t\tname: \"EX_NVM_HOME_ID_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_2_far\", type: NVMEntryType.Byte, count: 4 },\n\t{ name: \"NVM_HOMEID_far\", type: NVMEntryType.DWord, count: 1 },\n\t{ name: \"NVM_NODEID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"NVM_CONFIGURATION_VALID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_CONFIGURATION_REALLYVALID_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_INTERNAL_RESERVED_3_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"NVM_PREFERRED_REPEATERS_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_PENDING_DISCOVERY_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tsize: NUM_NODEMASK_BYTES + 3,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_RTC_TIMERS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: TOTAL_RTC_TIMER_MAX * RTC_TIMER_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_NODE_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeInfo,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTING_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_LAST_USED_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_PENDING_UPDATE_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_SUC_ACTIVE_START_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_SUC_NODE_LIST_START_far\",\n\t\ttype: NVMEntryType.SUCUpdateEntry,\n\t\tcount: SUC_MAX_UPDATES,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_CONTROLLER_LIST_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: SUC_CONTROLLER_LIST_SIZE,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_LAST_INDEX_START_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_ZENSOR_TABLE_START_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EX_NVM_CONTROLLER_CONFIGURATION_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{ name: \"EX_NVM_MAX_NODE_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EX_NVM_RESERVED_ID_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\toffset: 0x268e,\n\t\tcount: MAX_NODES,\n\t},\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\",\n\t\ttype: NVMEntryType.Route,\n\t\tcount: MAX_NODES,\n\t},\n\t{ name: \"EX_NVM_ROUTECACHE_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EX_NVM_ROUTECACHE_APP_LOCK_far\",\n\t\ttype: NVMEntryType.NodeMask,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"NVM_SECURITY0_KEY_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: 16,\n\t\tcount: 1,\n\t},\n\t{ name: \"NVM_SYSTEM_STATE\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"nvmZWlibraryDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\t// The Bridge API saves an additional node mask for the virtual nodes in the\n\t\t// previous module, so we can use this offset to distinguish between the two.\n\t\toffset: 0x2fd2,\n\t\tcount: 1,\n\t},\n\t{ name: \"EEOFFSET_MAGIC_far\", type: NVMEntryType.Byte, count: 1 },\n\t{ name: \"EEOFFSET_CMDCLASS_LEN_far\", type: NVMEntryType.Byte, count: 1 },\n\t{\n\t\tname: \"EEOFFSET_CMDCLASS_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: APPL_NODEPARM_MAX,\n\t},\n\t{\n\t\tname: \"EEOFFSET_WATCHDOG_STARTED_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_NORMAL_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_POWERLEVEL_LOW_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: POWERLEVEL_CHANNELS,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_far\",\n\t\ttype: NVMEntryType.Byte,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\",\n\t\ttype: NVMEntryType.DWord,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationSize\",\n\t\ttype: NVMEntryType.NVMModuleSize,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"EEOFFSET_HOST_OFFSET_START_far\",\n\t\ttype: NVMEntryType.Buffer,\n\t\tsize: NVM_SERIALAPI_HOST_SIZE,\n\t\tcount: 1,\n\t},\n\t{\n\t\tname: \"nvmHostApplicationDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmDescriptorSize\", type: NVMEntryType.NVMModuleSize, count: 1 },\n\t{ name: \"nvmDescriptor\", type: NVMEntryType.NVMDescriptor, count: 1 },\n\t{\n\t\tname: \"nvmDescriptorDescriptor\",\n\t\ttype: NVMEntryType.NVMModuleDescriptor,\n\t\tcount: 1,\n\t},\n\t{ name: \"nvmModuleSizeEndMarker\", type: NVMEntryType.Word, count: 1 },\n];\n\nexport const Static_6_8x: NVM500Impl = {\n\tname: \"Static 6.8x\",\n\tlibrary: \"static\",\n\tprotocolVersions: [\n\t\t\"6.02\",\n\t\t\"6.03\",\n\t\t\"6.04\",\n\t\t\"6.05\",\n\t\t\"6.06\",\n\t\t\"6.07\",\n\t\t\"6.08\",\n\t\t\"6.09\",\n\t\t\"6.10\",\n\t],\n\tlayout: NVM_Layout_Static_6_8x,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/lib/nvm500/shared.ts"],
|
|
4
|
-
"sourcesContent": ["import { NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport type { BytesView } from \"@zwave-js/shared\";\nimport { SUC_UPDATE_ENTRY_SIZE } from \"../../consts.js\";\nimport type { Route } from \"../common/routeCache.js\";\nimport type { SUCUpdateEntry } from \"../common/sucUpdateEntry.js\";\nimport type {\n\tNVM500NodeInfo,\n\tNVMDescriptor,\n\tNVMModuleDescriptor,\n} from \"./EntryParsers.js\";\n\nexport enum NVMEntryType {\n\tNVMModuleSize,\n\tByte,\n\tWord,\n\tDWord,\n\tBuffer,\n\tNodeInfo,\n\tNodeMask,\n\tSUCUpdateEntry,\n\tRoute,\n\tNVMModuleDescriptor,\n\tNVMDescriptor,\n}\n\n// These names are pretty bad, but they're used in Silabs nvm_converter code, so we keep them for easier lookup\nexport type NVMEntryName =\n\t| \"EEOFFSET_CMDCLASS_far\"\n\t| \"EEOFFSET_CMDCLASS_LEN_far\"\n\t| \"EEOFFSET_HOST_OFFSET_START_far\"\n\t| \"EEOFFSET_MAGIC_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\"\n\t| \"EEOFFSET_POWERLEVEL_LOW_far\"\n\t| \"EEOFFSET_POWERLEVEL_NORMAL_far\"\n\t| \"EEOFFSET_WATCHDOG_STARTED_far\"\n\t| \"EX_NVM_BRIDGE_NODEPOOL_START_far\"\n\t| \"EX_NVM_CONTROLLER_CONFIGURATION_far\"\n\t| \"EX_NVM_HOME_ID_far\"\n\t| \"EX_NVM_LAST_USED_NODE_ID_START_far\"\n\t| \"EX_NVM_MAX_NODE_ID_far\"\n\t| \"EX_NVM_NODE_TABLE_START_far\"\n\t| \"EX_NVM_PENDING_UPDATE_far\"\n\t| \"EX_NVM_RESERVED_ID_far\"\n\t| \"EX_NVM_ROUTECACHE_APP_LOCK_far\"\n\t| \"EX_NVM_ROUTECACHE_MAGIC_far\"\n\t| \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\"\n\t| \"EX_NVM_ROUTECACHE_START_far\"\n\t| \"EX_NVM_ROUTING_TABLE_START_far\"\n\t| \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\"\n\t| \"EX_NVM_SUC_ACTIVE_START_far\"\n\t| \"EX_NVM_SUC_CONTROLLER_LIST_START_far\"\n\t| \"EX_NVM_SUC_LAST_INDEX_START_far\"\n\t| \"EX_NVM_SUC_NODE_LIST_START_far\"\n\t| \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\"\n\t| \"EX_NVM_ZENSOR_TABLE_START_far\"\n\t| \"NVM_CONFIGURATION_REALLYVALID_far\"\n\t| \"NVM_CONFIGURATION_VALID_far\"\n\t| \"NVM_HOMEID_far\"\n\t| \"NVM_INTERNAL_RESERVED_1_far\"\n\t| \"NVM_INTERNAL_RESERVED_2_far\"\n\t| \"NVM_INTERNAL_RESERVED_3_far\"\n\t| \"NVM_NODEID_far\"\n\t| \"NVM_PENDING_DISCOVERY_far\"\n\t| \"NVM_PREFERRED_REPEATERS_far\"\n\t| \"NVM_RTC_TIMERS_far\"\n\t| \"NVM_SECURITY0_KEY_far\"\n\t| \"NVM_SYSTEM_STATE\"\n\t| \"nvmApplicationDescriptor\"\n\t| \"nvmApplicationSize\"\n\t| \"nvmDescriptor\"\n\t| \"nvmDescriptorDescriptor\"\n\t| \"nvmDescriptorSize\"\n\t| \"nvmHostApplicationDescriptor\"\n\t| \"nvmHostApplicationSize\"\n\t| \"nvmModuleSizeEndMarker\"\n\t| \"nvmTotalEnd\"\n\t| \"nvmZWlibraryDescriptor\"\n\t| \"nvmZWlibrarySize\";\n\n// The NVM entries are organized in modules. Each module starts with 16-bit size (NVM_MODULE_SIZE)\n// and ends with a module descriptor (NVM_MODULE_DESCRIPTOR).\n// The offset (if specified) is used to validate the NVM format.\nexport interface NVMEntry {\n\tname: NVMEntryName;\n\ttype: NVMEntryType;\n\t// Override the default size for this entry\n\tsize?: number;\n\t/** The offset is only specified if it is needed for validation */\n\toffset?: number;\n\t// The actual size of this entry is size(type) * count\n\tcount: number;\n}\n\n/** The NVM entry as it appears in a valid layout, with all sizes and offsets resolved */\nexport type ResolvedNVMEntry = Required<NVMEntry>;\n\nexport type NVMData =\n\t| BytesView\n\t| number\n\t| NVMDescriptor\n\t| number[]\n\t| Route\n\t| NVMModuleDescriptor\n\t| SUCUpdateEntry\n\t| NVM500NodeInfo\n\t| undefined;\n\nexport interface ParsedNVMEntry extends NVMEntry {\n\tdata: NVMData[];\n}\n\nexport type NVMLayout = readonly Readonly<NVMEntry>[];\n\nexport type ResolvedNVMLayout = ReadonlyMap<NVMEntryName, ResolvedNVMEntry>;\n\nexport const NVMEntrySizes: Record<NVMEntryType, number> = {\n\t[NVMEntryType.NVMModuleSize]: 2, // Marks the start of an NVM module\n\t[NVMEntryType.Byte]: 1,\n\t[NVMEntryType.Word]: 2,\n\t[NVMEntryType.DWord]: 4,\n\t[NVMEntryType.Buffer]: 1, // The size must be specified\n\t[NVMEntryType.NodeInfo]: 5, // 3 bytes NodeProtocolInfo + generic + specific device class\n\t[NVMEntryType.NodeMask]: NUM_NODEMASK_BYTES, // Nodes bitmask\n\t[NVMEntryType.SUCUpdateEntry]: SUC_UPDATE_ENTRY_SIZE,\n\t[NVMEntryType.Route]: 5, // a Route\n\t[NVMEntryType.NVMModuleDescriptor]: 5, // 2 bytes module size, 1 byte module type, 2 bytes module version\n\t[NVMEntryType.NVMDescriptor]: 12,\n};\n\nexport enum NVMModuleType {\n\tUNDEFINED = 0x00,\n\tZW_PHY_LIBRARY = 0x01,\n\tZW_LIBRARY = 0x02,\n\tZW_FRAMEWORK = 0x03,\n\tAPPLICATION = 0x04,\n\tHOST_APPLICATION = 0x05,\n\tSECURITY_2 = 0x06,\n\tNVM_DESCRIPTOR = 0xff,\n}\n\nexport const SUC_CONTROLLER_LIST_SIZE = 232;\n\nexport const MAX_REPEATERS = 4;\n\n/* NVM is 16KB, 32KB or even more (you decide the size of your SPI EEPROM or FLASH chip) */\n/* Use only a reasonable amount of it for host application */\nexport const NVM_SERIALAPI_HOST_SIZE = 2048;\n\nexport const POWERLEVEL_CHANNELS = 3;\nexport const APPL_NODEPARM_MAX = 35;\nexport const RTC_TIMER_SIZE = 16;\nexport const TOTAL_RTC_TIMER_MAX = 8 + 2; /* max number of active RTC timers */\n\nexport const CONFIGURATION_VALID_0 = 0x54;\nexport const CONFIGURATION_VALID_1 = 0xa5;\nexport const ROUTECACHE_VALID = 0x4a;\nexport const MAGIC_VALUE = 0x42;\n\nexport interface NVM500Impl {\n\tname: string;\n\tlibrary: \"static\" | \"bridge\";\n\tprotocolVersions: string[];\n\tlayout: NVMLayout;\n}\n\nexport type ResolvedNVM500Impl = Omit<NVM500Impl, \"layout\"> & {\n\tlayout: ResolvedNVMLayout;\n};\n\nexport function resolveLayout(layout: NVMLayout): {\n\tlayout: ResolvedNVMLayout;\n\tnvmSize: number;\n} {\n\tconst ret: Map<NVMEntryName, Required<NVMEntry>> = new Map();\n\tlet offset = 0;\n\tfor (const entry of layout) {\n\t\tconst size = entry.size ?? NVMEntrySizes[entry.type];\n\t\tconst resolvedEntry: ResolvedNVMEntry = {\n\t\t\t...entry,\n\t\t\tsize,\n\t\t\toffset: entry.offset ?? offset,\n\t\t};\n\t\tret.set(resolvedEntry.name, resolvedEntry);\n\t\toffset += size * entry.count;\n\t}\n\n\tconst endMarker = ret.get(\"nvmModuleSizeEndMarker\")!;\n\tconst nvmSize = endMarker.offset + endMarker.size;\n\n\treturn { layout: ret, nvmSize };\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;AAAA,kBAAmC;
|
|
4
|
+
"sourcesContent": ["import { NUM_NODEMASK_BYTES } from \"@zwave-js/core\";\nimport type { BytesView } from \"@zwave-js/shared\";\n\nimport { SUC_UPDATE_ENTRY_SIZE } from \"../../consts.js\";\nimport type { Route } from \"../common/routeCache.js\";\nimport type { SUCUpdateEntry } from \"../common/sucUpdateEntry.js\";\n\nimport type {\n\tNVM500NodeInfo,\n\tNVMDescriptor,\n\tNVMModuleDescriptor,\n} from \"./EntryParsers.js\";\n\nexport enum NVMEntryType {\n\tNVMModuleSize,\n\tByte,\n\tWord,\n\tDWord,\n\tBuffer,\n\tNodeInfo,\n\tNodeMask,\n\tSUCUpdateEntry,\n\tRoute,\n\tNVMModuleDescriptor,\n\tNVMDescriptor,\n}\n\n// These names are pretty bad, but they're used in Silabs nvm_converter code, so we keep them for easier lookup\nexport type NVMEntryName =\n\t| \"EEOFFSET_CMDCLASS_far\"\n\t| \"EEOFFSET_CMDCLASS_LEN_far\"\n\t| \"EEOFFSET_HOST_OFFSET_START_far\"\n\t| \"EEOFFSET_MAGIC_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_far\"\n\t| \"EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far\"\n\t| \"EEOFFSET_POWERLEVEL_LOW_far\"\n\t| \"EEOFFSET_POWERLEVEL_NORMAL_far\"\n\t| \"EEOFFSET_WATCHDOG_STARTED_far\"\n\t| \"EX_NVM_BRIDGE_NODEPOOL_START_far\"\n\t| \"EX_NVM_CONTROLLER_CONFIGURATION_far\"\n\t| \"EX_NVM_HOME_ID_far\"\n\t| \"EX_NVM_LAST_USED_NODE_ID_START_far\"\n\t| \"EX_NVM_MAX_NODE_ID_far\"\n\t| \"EX_NVM_NODE_TABLE_START_far\"\n\t| \"EX_NVM_PENDING_UPDATE_far\"\n\t| \"EX_NVM_RESERVED_ID_far\"\n\t| \"EX_NVM_ROUTECACHE_APP_LOCK_far\"\n\t| \"EX_NVM_ROUTECACHE_MAGIC_far\"\n\t| \"EX_NVM_ROUTECACHE_NLWR_SR_START_far\"\n\t| \"EX_NVM_ROUTECACHE_START_far\"\n\t| \"EX_NVM_ROUTING_TABLE_START_far\"\n\t| \"EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far\"\n\t| \"EX_NVM_SUC_ACTIVE_START_far\"\n\t| \"EX_NVM_SUC_CONTROLLER_LIST_START_far\"\n\t| \"EX_NVM_SUC_LAST_INDEX_START_far\"\n\t| \"EX_NVM_SUC_NODE_LIST_START_far\"\n\t| \"EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far\"\n\t| \"EX_NVM_ZENSOR_TABLE_START_far\"\n\t| \"NVM_CONFIGURATION_REALLYVALID_far\"\n\t| \"NVM_CONFIGURATION_VALID_far\"\n\t| \"NVM_HOMEID_far\"\n\t| \"NVM_INTERNAL_RESERVED_1_far\"\n\t| \"NVM_INTERNAL_RESERVED_2_far\"\n\t| \"NVM_INTERNAL_RESERVED_3_far\"\n\t| \"NVM_NODEID_far\"\n\t| \"NVM_PENDING_DISCOVERY_far\"\n\t| \"NVM_PREFERRED_REPEATERS_far\"\n\t| \"NVM_RTC_TIMERS_far\"\n\t| \"NVM_SECURITY0_KEY_far\"\n\t| \"NVM_SYSTEM_STATE\"\n\t| \"nvmApplicationDescriptor\"\n\t| \"nvmApplicationSize\"\n\t| \"nvmDescriptor\"\n\t| \"nvmDescriptorDescriptor\"\n\t| \"nvmDescriptorSize\"\n\t| \"nvmHostApplicationDescriptor\"\n\t| \"nvmHostApplicationSize\"\n\t| \"nvmModuleSizeEndMarker\"\n\t| \"nvmTotalEnd\"\n\t| \"nvmZWlibraryDescriptor\"\n\t| \"nvmZWlibrarySize\";\n\n// The NVM entries are organized in modules. Each module starts with 16-bit size (NVM_MODULE_SIZE)\n// and ends with a module descriptor (NVM_MODULE_DESCRIPTOR).\n// The offset (if specified) is used to validate the NVM format.\nexport interface NVMEntry {\n\tname: NVMEntryName;\n\ttype: NVMEntryType;\n\t// Override the default size for this entry\n\tsize?: number;\n\t/** The offset is only specified if it is needed for validation */\n\toffset?: number;\n\t// The actual size of this entry is size(type) * count\n\tcount: number;\n}\n\n/** The NVM entry as it appears in a valid layout, with all sizes and offsets resolved */\nexport type ResolvedNVMEntry = Required<NVMEntry>;\n\nexport type NVMData =\n\t| BytesView\n\t| number\n\t| NVMDescriptor\n\t| number[]\n\t| Route\n\t| NVMModuleDescriptor\n\t| SUCUpdateEntry\n\t| NVM500NodeInfo\n\t| undefined;\n\nexport interface ParsedNVMEntry extends NVMEntry {\n\tdata: NVMData[];\n}\n\nexport type NVMLayout = readonly Readonly<NVMEntry>[];\n\nexport type ResolvedNVMLayout = ReadonlyMap<NVMEntryName, ResolvedNVMEntry>;\n\nexport const NVMEntrySizes: Record<NVMEntryType, number> = {\n\t[NVMEntryType.NVMModuleSize]: 2, // Marks the start of an NVM module\n\t[NVMEntryType.Byte]: 1,\n\t[NVMEntryType.Word]: 2,\n\t[NVMEntryType.DWord]: 4,\n\t[NVMEntryType.Buffer]: 1, // The size must be specified\n\t[NVMEntryType.NodeInfo]: 5, // 3 bytes NodeProtocolInfo + generic + specific device class\n\t[NVMEntryType.NodeMask]: NUM_NODEMASK_BYTES, // Nodes bitmask\n\t[NVMEntryType.SUCUpdateEntry]: SUC_UPDATE_ENTRY_SIZE,\n\t[NVMEntryType.Route]: 5, // a Route\n\t[NVMEntryType.NVMModuleDescriptor]: 5, // 2 bytes module size, 1 byte module type, 2 bytes module version\n\t[NVMEntryType.NVMDescriptor]: 12,\n};\n\nexport enum NVMModuleType {\n\tUNDEFINED = 0x00,\n\tZW_PHY_LIBRARY = 0x01,\n\tZW_LIBRARY = 0x02,\n\tZW_FRAMEWORK = 0x03,\n\tAPPLICATION = 0x04,\n\tHOST_APPLICATION = 0x05,\n\tSECURITY_2 = 0x06,\n\tNVM_DESCRIPTOR = 0xff,\n}\n\nexport const SUC_CONTROLLER_LIST_SIZE = 232;\n\nexport const MAX_REPEATERS = 4;\n\n/* NVM is 16KB, 32KB or even more (you decide the size of your SPI EEPROM or FLASH chip) */\n/* Use only a reasonable amount of it for host application */\nexport const NVM_SERIALAPI_HOST_SIZE = 2048;\n\nexport const POWERLEVEL_CHANNELS = 3;\nexport const APPL_NODEPARM_MAX = 35;\nexport const RTC_TIMER_SIZE = 16;\nexport const TOTAL_RTC_TIMER_MAX = 8 + 2; /* max number of active RTC timers */\n\nexport const CONFIGURATION_VALID_0 = 0x54;\nexport const CONFIGURATION_VALID_1 = 0xa5;\nexport const ROUTECACHE_VALID = 0x4a;\nexport const MAGIC_VALUE = 0x42;\n\nexport interface NVM500Impl {\n\tname: string;\n\tlibrary: \"static\" | \"bridge\";\n\tprotocolVersions: string[];\n\tlayout: NVMLayout;\n}\n\nexport type ResolvedNVM500Impl = Omit<NVM500Impl, \"layout\"> & {\n\tlayout: ResolvedNVMLayout;\n};\n\nexport function resolveLayout(layout: NVMLayout): {\n\tlayout: ResolvedNVMLayout;\n\tnvmSize: number;\n} {\n\tconst ret: Map<NVMEntryName, Required<NVMEntry>> = new Map();\n\tlet offset = 0;\n\tfor (const entry of layout) {\n\t\tconst size = entry.size ?? NVMEntrySizes[entry.type];\n\t\tconst resolvedEntry: ResolvedNVMEntry = {\n\t\t\t...entry,\n\t\t\tsize,\n\t\t\toffset: entry.offset ?? offset,\n\t\t};\n\t\tret.set(resolvedEntry.name, resolvedEntry);\n\t\toffset += size * entry.count;\n\t}\n\n\tconst endMarker = ret.get(\"nvmModuleSizeEndMarker\")!;\n\tconst nvmSize = endMarker.offset + endMarker.size;\n\n\treturn { layout: ret, nvmSize };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;AAAA,kBAAmC;AAGnC,oBAAsC;AAUtC,IAAY;CAAZ,SAAYA,eAAY;AACvB,EAAAA,cAAAA,cAAA,eAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,MAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,MAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,OAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,QAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,UAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,UAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,gBAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,OAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,qBAAA,IAAA,CAAA,IAAA;AACA,EAAAA,cAAAA,cAAA,eAAA,IAAA,EAAA,IAAA;AACD,GAZY,iBAAA,eAAY,CAAA,EAAA;AA0GjB,MAAM,gBAA8C;EAC1D,CAAC,aAAa,aAAa,GAAG;;EAC9B,CAAC,aAAa,IAAI,GAAG;EACrB,CAAC,aAAa,IAAI,GAAG;EACrB,CAAC,aAAa,KAAK,GAAG;EACtB,CAAC,aAAa,MAAM,GAAG;;EACvB,CAAC,aAAa,QAAQ,GAAG;;EACzB,CAAC,aAAa,QAAQ,GAAG;;EACzB,CAAC,aAAa,cAAc,GAAG;EAC/B,CAAC,aAAa,KAAK,GAAG;;EACtB,CAAC,aAAa,mBAAmB,GAAG;;EACpC,CAAC,aAAa,aAAa,GAAG;;AAG/B,IAAY;CAAZ,SAAYC,gBAAa;AACxB,EAAAA,eAAAA,eAAA,WAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,gBAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,YAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,cAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,aAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,kBAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,YAAA,IAAA,CAAA,IAAA;AACA,EAAAA,eAAAA,eAAA,gBAAA,IAAA,GAAA,IAAA;AACD,GATY,kBAAA,gBAAa,CAAA,EAAA;AAWlB,MAAM,2BAA2B;AAEjC,MAAM,gBAAgB;AAItB,MAAM,0BAA0B;AAEhC,MAAM,sBAAsB;AAC5B,MAAM,oBAAoB;AAC1B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB,IAAI;AAEhC,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;AAC9B,MAAM,mBAAmB;AACzB,MAAM,cAAc;AAarB,SAAU,cAAc,QAAiB;AAI9C,QAAM,MAA6C,oBAAI,IAAG;AAC1D,MAAI,SAAS;AACb,aAAW,SAAS,QAAQ;AAC3B,UAAM,OAAO,MAAM,QAAQ,cAAc,MAAM,IAAI;AACnD,UAAM,gBAAkC;MACvC,GAAG;MACH;MACA,QAAQ,MAAM,UAAU;;AAEzB,QAAI,IAAI,cAAc,MAAM,aAAa;AACzC,cAAU,OAAO,MAAM;EACxB;AAEA,QAAM,YAAY,IAAI,IAAI,wBAAwB;AAClD,QAAM,UAAU,UAAU,SAAS,UAAU;AAE7C,SAAO,EAAE,QAAQ,KAAK,QAAO;AAC9B;AArBgB;",
|
|
6
6
|
"names": ["NVMEntryType", "NVMModuleType"]
|
|
7
7
|
}
|
package/build/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,gBAAgB,EAErB,QAAQ,EAER,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAEN,KAAK,SAAS,EAKd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/convert.ts"],"names":[],"mappings":"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"}
|
package/build/esm/convert.js
CHANGED
|
@@ -218,8 +218,7 @@ export function nvmObjectsToJSON(objects) {
|
|
|
218
218
|
// === Application NVM files ===
|
|
219
219
|
const applicationVersionFile700 = getFile(ApplicationVersionFileID, "7.0.0");
|
|
220
220
|
const applicationVersionFile800 = getFile(ApplicationVersionFile800ID, "7.0.0");
|
|
221
|
-
const applicationVersionFile = applicationVersionFile700
|
|
222
|
-
?? applicationVersionFile800;
|
|
221
|
+
const applicationVersionFile = applicationVersionFile700 ?? applicationVersionFile800;
|
|
223
222
|
if (!applicationVersionFile) {
|
|
224
223
|
throw new ZWaveError("ApplicationVersionFile not found!", ZWaveErrorCodes.NVM_ObjectNotFound);
|
|
225
224
|
}
|
|
@@ -276,8 +275,7 @@ export function nvmObjectsToJSON(objects) {
|
|
|
276
275
|
}
|
|
277
276
|
: {}),
|
|
278
277
|
sucUpdateEntries,
|
|
279
|
-
applicationData: applicationDataFile?.applicationData.toString("hex")
|
|
280
|
-
?? null,
|
|
278
|
+
applicationData: applicationDataFile?.applicationData.toString("hex") ?? null,
|
|
281
279
|
applicationName: applicationNameFile?.name ?? null,
|
|
282
280
|
};
|
|
283
281
|
// Make sure all props are defined
|
|
@@ -665,10 +663,10 @@ export async function nvm500ToJSON(buffer) {
|
|
|
665
663
|
domain: "controller",
|
|
666
664
|
type: "sucPendingUpdate",
|
|
667
665
|
}, true));
|
|
668
|
-
const virtualNodeIds = new Set(await adapter.get({
|
|
666
|
+
const virtualNodeIds = new Set((await adapter.get({
|
|
669
667
|
domain: "controller",
|
|
670
668
|
type: "virtualNodeIds",
|
|
671
|
-
}) ?? []);
|
|
669
|
+
})) ?? []);
|
|
672
670
|
const pendingDiscovery = new Set(await adapter.get({
|
|
673
671
|
domain: "controller",
|
|
674
672
|
type: "pendingDiscovery",
|
|
@@ -795,9 +793,7 @@ export async function nvm500ToJSON(buffer) {
|
|
|
795
793
|
protocolVersion: info.nvmDescriptor.protocolVersion,
|
|
796
794
|
applicationVersion: info.nvmDescriptor.firmwareVersion,
|
|
797
795
|
ownHomeId: buffer2hex(ownHomeId),
|
|
798
|
-
learnedHomeId: learnedHomeId
|
|
799
|
-
? buffer2hex(learnedHomeId)
|
|
800
|
-
: null,
|
|
796
|
+
learnedHomeId: learnedHomeId ? buffer2hex(learnedHomeId) : null,
|
|
801
797
|
nodeId: ownNodeId,
|
|
802
798
|
lastNodeId,
|
|
803
799
|
staticControllerNodeId,
|
|
@@ -836,7 +832,7 @@ export async function jsonToNVM(json, targetSDKVersion) {
|
|
|
836
832
|
const sharedFileSystem = json.meta?.sharedFileSystem;
|
|
837
833
|
const nvmSize = sharedFileSystem
|
|
838
834
|
? ZWAVE_SHARED_NVM_SIZE
|
|
839
|
-
:
|
|
835
|
+
: ZWAVE_APPLICATION_NVM_SIZE + ZWAVE_PROTOCOL_NVM_SIZE;
|
|
840
836
|
const ret = new Uint8Array(nvmSize);
|
|
841
837
|
const io = new NVMMemoryIO(ret);
|
|
842
838
|
const nvm3 = new NVM3(io);
|
|
@@ -1016,7 +1012,9 @@ export async function jsonToNVM(json, targetSDKVersion) {
|
|
|
1016
1012
|
});
|
|
1017
1013
|
}
|
|
1018
1014
|
}
|
|
1019
|
-
await adapter.set({ domain: "controller", type: "nodeIds" }, [
|
|
1015
|
+
await adapter.set({ domain: "controller", type: "nodeIds" }, [
|
|
1016
|
+
...nodeInfoExists,
|
|
1017
|
+
]);
|
|
1020
1018
|
if (target.lrNodes) {
|
|
1021
1019
|
for (const [id, node] of Object.entries(target.lrNodes)) {
|
|
1022
1020
|
const nodeId = parseInt(id);
|
|
@@ -1024,7 +1022,9 @@ export async function jsonToNVM(json, targetSDKVersion) {
|
|
|
1024
1022
|
await adapter.set({ domain: "lrnode", nodeId, type: "info" }, nvmJSONLRNodeToLRNodeInfo(nodeId, node));
|
|
1025
1023
|
}
|
|
1026
1024
|
}
|
|
1027
|
-
await adapter.set({ domain: "controller", type: "lrNodeIds" }, [
|
|
1025
|
+
await adapter.set({ domain: "controller", type: "lrNodeIds" }, [
|
|
1026
|
+
...lrNodeInfoExists,
|
|
1027
|
+
]);
|
|
1028
1028
|
// For v3+ targets, the ControllerInfoFile must contain the LongRange properties
|
|
1029
1029
|
// or the controller will ignore the file and not have a home ID
|
|
1030
1030
|
if (targetProtocolFormat >= 3) {
|
|
@@ -1035,11 +1035,21 @@ export async function jsonToNVM(json, targetSDKVersion) {
|
|
|
1035
1035
|
target.controller.dcdcConfig ??= 255;
|
|
1036
1036
|
}
|
|
1037
1037
|
adapter.setFile(new ControllerInfoFile(nvmJSONControllerToFileOptions(target.controller)));
|
|
1038
|
-
await adapter.set({ domain: "controller", type: "appRouteLock" }, [
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
await adapter.set({ domain: "controller", type: "
|
|
1042
|
-
|
|
1038
|
+
await adapter.set({ domain: "controller", type: "appRouteLock" }, [
|
|
1039
|
+
...appRouteLock,
|
|
1040
|
+
]);
|
|
1041
|
+
await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [
|
|
1042
|
+
...routeSlaveSUC,
|
|
1043
|
+
]);
|
|
1044
|
+
await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [
|
|
1045
|
+
...sucPendingUpdate,
|
|
1046
|
+
]);
|
|
1047
|
+
await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [
|
|
1048
|
+
...virtualNodeIds,
|
|
1049
|
+
]);
|
|
1050
|
+
await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [
|
|
1051
|
+
...pendingDiscovery,
|
|
1052
|
+
]);
|
|
1043
1053
|
if (target.controller.preferredRepeaters?.length) {
|
|
1044
1054
|
await adapter.set({ domain: "controller", type: "preferredRepeaters" }, target.controller.preferredRepeaters);
|
|
1045
1055
|
}
|
|
@@ -1147,11 +1157,21 @@ export async function jsonToNVM500(json, protocolVersion) {
|
|
|
1147
1157
|
});
|
|
1148
1158
|
}
|
|
1149
1159
|
}
|
|
1150
|
-
await adapter.set({ domain: "controller", type: "appRouteLock" }, [
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
await adapter.set({ domain: "controller", type: "
|
|
1154
|
-
|
|
1160
|
+
await adapter.set({ domain: "controller", type: "appRouteLock" }, [
|
|
1161
|
+
...appRouteLock,
|
|
1162
|
+
]);
|
|
1163
|
+
await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [
|
|
1164
|
+
...routeSlaveSUC,
|
|
1165
|
+
]);
|
|
1166
|
+
await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [
|
|
1167
|
+
...sucPendingUpdate,
|
|
1168
|
+
]);
|
|
1169
|
+
await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [
|
|
1170
|
+
...virtualNodeIds,
|
|
1171
|
+
]);
|
|
1172
|
+
await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [
|
|
1173
|
+
...pendingDiscovery,
|
|
1174
|
+
]);
|
|
1155
1175
|
await adapter.commit();
|
|
1156
1176
|
await io.close();
|
|
1157
1177
|
return ret;
|
|
@@ -1197,9 +1217,10 @@ export function json500To700(json, truncateApplicationData) {
|
|
|
1197
1217
|
let controllerConfiguration = source.controller.controllerConfiguration;
|
|
1198
1218
|
if (source.controller.controllerConfiguration === 0xff) {
|
|
1199
1219
|
// Default to SUC/Primary
|
|
1200
|
-
controllerConfiguration =
|
|
1201
|
-
|
|
1202
|
-
|
|
1220
|
+
controllerConfiguration =
|
|
1221
|
+
ControllerCapabilityFlags.SISPresent
|
|
1222
|
+
| ControllerCapabilityFlags.WasRealPrimary
|
|
1223
|
+
| ControllerCapabilityFlags.SUC;
|
|
1203
1224
|
}
|
|
1204
1225
|
let homeId;
|
|
1205
1226
|
if (!!(controllerConfiguration & ControllerCapabilityFlags.OnOtherNetwork)
|
|
@@ -1214,8 +1235,8 @@ export function json500To700(json, truncateApplicationData) {
|
|
|
1214
1235
|
controllerConfiguration &= ~ControllerCapabilityFlags.OnOtherNetwork;
|
|
1215
1236
|
// Reconstruct the node ID. If we don't know, 1 is a good default
|
|
1216
1237
|
if (controllerConfiguration & ControllerCapabilityFlags.SUC) {
|
|
1217
|
-
source.controller.nodeId =
|
|
1218
|
-
|| 1;
|
|
1238
|
+
source.controller.nodeId =
|
|
1239
|
+
source.controller.staticControllerNodeId || 1;
|
|
1219
1240
|
}
|
|
1220
1241
|
else {
|
|
1221
1242
|
source.controller.nodeId = 1;
|
|
@@ -1429,7 +1450,7 @@ export async function migrateNVM(sourceNVM, targetNVM, options = {}) {
|
|
|
1429
1450
|
&& semverLt(sourceApplicationVersion, "255.0.0")
|
|
1430
1451
|
&& semverLt(targetApplicationVersion, "255.0.0")
|
|
1431
1452
|
// and avoid restoring a backup with a shifted 800 series application version file
|
|
1432
|
-
&&
|
|
1453
|
+
&& !hasShiftedAppVersion800File(source.json)) {
|
|
1433
1454
|
return sourceNVM;
|
|
1434
1455
|
}
|
|
1435
1456
|
}
|