ZWP500
™
Z-Wave Production Programmer & Tester
www.ExpressControls.com
February 2018
Bringing
the Internet of Things (IoT) to Life
20
setting the NVM to a new value it is recommended to do an NVMGet to verify the data was properly set. The entire NVM
can be reset to all ones with the command
“NVMSet R”.
Example:
NVMSet R
The entire NVM is bulk erased to all ones
Returns:
*<cr>
Example:
NVMSet 000008=29
Set address 0x000008 to 0x29
Returns:
*<cr>
NVRGet
The Non-Volatile Registers (NVR) flash page of the Z-Wave module is not the same as the NVM. The NVR data is
programmed at the factory and contains data specific to the hardware. The data cannot be changed by the MCU or by a
firmware download over the air (OTA). Details of the f
ields in the NVR are specified in Sigma document SDS12467 “500
Series Z-
Wave Chip NVR Flash Page Contents”. The NVR version 2 is supported which contains the DSK for Security S2.
The upper half of the NVR is available for the application.
The NVRGet command returns all 256 bytes of the NVR. If the NVR was returned by the DUT then a *<cr> is returned. If
the NVR failed to be read (typically because it is not powered) then a !<cr> is returned. The data is returned in 16 rows of
16 bytes using the format <cr>@AA= 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F where AA is the address for the
row. Execute the command AcquireDUT before sending the NVRGet.
Example:
NVRGet<cr>
Returns:
*<cr>
@00= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@10= 01 09 01 FF 0D E8 8C 1B 00 FF FF FF FF FF FF FF
@20= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@30= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@40= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@50= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@60= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@70= FF FF FF FF FF FF FF FF FF FF FF FF FF FF 34 E3
@80= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@90= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@A0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@B0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@C0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@D0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@E0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
@F0= FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
NVRSet AA=DD
Set the NVR address AA to the value DD. This command sets the NVR value of the DUT to be programmed to this value.
The NVR is not written immediately. The NVR of the DUT is written as part of programming flash. The CRC16 field of the
NVR (address 0x7E and 0x7F) is automatically calculated when the NVR is written to the DUT.
ALWAYS execute an NVRGet BEFORE issuing any NVRSet commands! NVR values are unique to each DUT and are
pre-programmed by Sigma Designs at the factory. The pre-programmed data must be restored prior to programming
flash.
Example:
NVRGet<cr>
ALWAYS Read the NVR to capture the data pre-programmed by Sigma