I'm looking at using a custom phone application to do a firmware update on my nRF52833. I'm not using the library from Nordic, as it is written in a different language then what the rest of the application is in.
I was looking at the message sequence chart, from the link below. I'm confused on some of the information it shows.
- Is the 60 part in the response from the control point always part of each response? For example, what is shown in the screenshot below:
- When using the commands, the first parameter says what command it is e.g. 06 is select, 03 is crc, etc. What does the second parameter mean? For example, in the transfer of an init packet, 06 01 is the select command, but in the Transfer of a firmware image, 06 02 is the select command. I'm unsure on what the difference between the 01 and 02 is in the two commands.
- With the response e.g. Response Create Success [60 01 01], I assume 60 is the default response, 01 is the response to for example the create command. But what does the second 01 mean? I assume it means 01 for success or anything else for an error.
- It seems like the message sequence charts for v17.0.2 is missing information, in comparison to v15.3.0. v15.3.0 mentions setting the PRN and getting the MTU size, and says that this needs to be done before the init packet is sent. The MTU size seems to come from my code, so just sending the command [07] should get the size, but what does the response [60 07 01 01] mean? 60 is the default, 02 for MTU command, 01 for success, but what does the other 01 mean?
- With the PRN, how does sending [02 00 01] set it to the PRN to 256?
17.0.2 Message Sequence Chart
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.0.2%2Flib_dfu_transport_ble.html
15.3.0 Message Sequence Chart
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Flib_dfu_transport_serial.html&cp=5_1_3_5_2_3_1_0&anchor=lib_dfu_serial_transport_msc_init