[sync] IQRF OS version at any DPA device can be upgraded (or downgraded) over the network without having physical access to the device. It can also optionally change the DPA version at the same time. A special prepared Custom DPA Handler named CustomDpaHandler-ChangeIQRFOS.iqrf must be used. The handler can be found at the IQRF Startup Package. Upload the handler to the device using the LoadCode command. Before that store an IQRF OS change file (e.g. ChangeOS-TR7x-308(0873)-308(0874).bin) at the external EEPROM using a series of Extended Write commands. The file can be found at the IQRF Startup Package too. Then execute a below-described DPA Request at the custom peripheral implemented at the special uploaded handler. After the IQRF OS change is successfully finished the device is reset and you can upload your previously used handler back again using the LoadCode command.
Important: During the whole process of the IQRF OS change (starting at the time of sending the below-described request) do not interrupt the power supply of the module and do not reset the module otherwise it would interrupt the process and irreversible damage the module. Make sure all batteries and accumulators powering modules are fully charged before the IQRF OS change is initiated.
Request
Please note that for security reasons the request requires explicitly specifying HWPID of the special IQRF OS Change handler equal 0xC05E. The request will not be executed if HWPID equals 0xFFFF.
The actual IQRF OS change process after the response is received takes several seconds. During the process, the red LED is on. At the end of the process, the device is reset and the red LED goes off.
NADR |
PNUM |
PCMD |
HWPID |
0 |
1 … 2 |
NADR |
0x20 |
0x00 |
0xC05E |
Flags |
Address |
Flags bit 0 Action:
0 Checks all required conditions without performing IQRF OS change.
1 Same as above plus performs IQRF OS change.
bits 1-7 Reserved, must equal 0.
Address A physical address of the external EEPROM memory block containing the IQRF OS change file.
Response
NADR |
PNUM |
PCMD |
HWPID |
ErrN |
DpaValue |
0 |
NADR |
0x20 |
0x80 |
0xC05E |
0 |
? |
Result |
Result:
0 All the required conditions are met. IQRF OS change will be performed if Flags.0=1 was specified at the request.
3 Old IQRF OS is not present (old checksum does not match) at the module. IQRF OS change is not possible.
4 The content of the IQRF OS change file stored in the external EEPROM is not valid. IQRF OS change is not possible.
7 IQRF OS change file stored in the external EEPROM has an unsupported version. IQRF OS change is not possible.