Hi!Some prerequisite info:
Now onto my question:Our peripherals are now Secure Buttonless DFU (without bonds) ready, and we can successfully do the DFU OTA process with .NET CORE code that I have written with the help of this link. The code follows the infographics in the link, and through events raised by listening to the notifications of the DFU control point, we successfully utilize the DFU protocol.
Our DFU is currently functional by our tests, and given a device that is caught post bootloader (as DFUTarg with the incremented address), we almost always succeed the DFU process without glitches.
According to other DFU implementations we have found online, there is an additional SetPRN command that is not existent in the Infographic of the protocol in the link.
When I searched the devzone for it, I found a post (that I am unable to find now, sorry :( ) where someone had a similiar query about this command, and what I understood from the answers on that post is that the command is non-critical for new SDKs via the bootloader.
Is this hypothesis correct? If I do not utilize the set prn command in my DFU protocol, will I run into problems in the future?
PRN (Packet Receipt Notification) is a feature in the serial bootloader, which is why you don't see it mentioned in the BLE DFU protocol.
But if you are interrested, it is mentioned here: Bootloader and DFU modules -> DFU Protocol -> Serial.
PRN is a CRC check that is used to ensure retransmissions if there are any bit errors on the serial transport. In BLE, the specification (implemented by the softdevice) ensures there are no bit errors. The Link Layer in the BLE link has it's own CRC check.
I hope this cleared some of your questions regarding PRN. Please let me know if anything was unclear.
Great! Many thanks Edvin!