<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/115653/flashing-firmware-ota-for-nrf-connect-sdk-nrf52840</link><description>Hi, 
 I am trying to reproduce DFU functionality from the nRF Connect for Android app. 
 I want to be able to flash my firmware OTA from my app. 
 The problem I am getting is that sometimes it sends the packages and sometimes it doesn&amp;#39;t, but when it works</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Oct 2024 14:43:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/115653/flashing-firmware-ota-for-nrf-connect-sdk-nrf52840" /><item><title>RE: Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/thread/508198?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2024 14:43:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1959ef35-2038-4e03-8ca1-44bad52a70e6</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Try to enable logging in the bootloader, by following step 2 in this exercise:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/topic/exercise-1-dfu-over-uart/"&gt;https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/topic/exercise-1-dfu-over-uart/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What does the log say when you try to execute the DFU from your C# application?&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/thread/507968?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 13:36:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4d779a0-c484-419c-933e-bdbfa6978b12</guid><dc:creator>MatiM</dc:creator><description>&lt;p&gt;I will try to explain it step by step what problems I get &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;:)&lt;/p&gt;
&lt;p&gt;I have a custom board using nRF52840 and want to flash firmware to its board using Xamarin Forms.&lt;/p&gt;
&lt;p&gt;I have an LED mounted on this board that blinks with different patterns when connected to the BlueTooth device or sends data, advertising, low battery, etc.&lt;/p&gt;
&lt;p&gt;As I know we need to connect to the device first and then when we find the DFU characteristic we can send data to that one. I can also see in the example of nRF Connect for Android that after sending all the data, the code is verified and replaced with a new one.&lt;/p&gt;
&lt;p&gt;What I can also see, is when I upload the code using the nRF app when the packets are sent, my LED still blinks, indicating e.g. battery level, meaning the old code is still working and showing the status even though there packets are being uploaded to the board. However, when the validating is performed, it looks like the board goes off as my LED doesn&amp;#39;t work. After that, I can see the new code working.&lt;/p&gt;
&lt;p&gt;So I can understand from that, that &amp;quot;validating&amp;quot; checks and replaces the code.&lt;/p&gt;
&lt;p&gt;However, in my case with C#, validating takes no time, and there is no time when I can see the LED not working, which would mean that the code is not replaced.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I tried to replicate exactly the behavior from the nRF app, but apparently something is different. Also, I can see that the characteristic has no response, but we need to validate the flash so how do we do that?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here I put a screenshot from the nRF app to show you the service and characteristics I am working on, I hope you can help me with understanding that.&lt;/p&gt;
&lt;p&gt;Best Regards&lt;/p&gt;
&lt;p&gt;Mateusz&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/462552673_5F00_1272037217487092_5F00_1464384986503918276_5F00_n.jpg" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/thread/507644?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 19:26:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffe1cc63-522c-4d0a-a934-20316804b4e5</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;What characteristic?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You are talking about the LED behavior. I am not sure which one you refer to. When performing a DFU, the application will reset the device, and it will enter DFU mode in the bootloader. When this happens, there is a different LED pattern. After everything is complete (upload/download, validation and swapping) the new application is started. Which of these are we talking about?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/thread/507332?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 11:46:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c98b945d-b490-4ad7-b341-b7375b56b353</guid><dc:creator>MatiM</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;thank you for your answer.&lt;/p&gt;
&lt;p&gt;Could you maybe help me with understanding the protocol, especially validating. After sending the packets, I try to send a validation packet.&lt;/p&gt;
&lt;p&gt;I can see in the nRF Connect for Android app while uploading my firmware code is still working (blinking LED), but when it shows validating it is off (so I assume the program is stopped) and then the new program works.&lt;/p&gt;
&lt;p&gt;Meanwhile in my app after uploading it doesn&amp;#39;t take to verify and sometimes it shows an error that this characteristic doesn&amp;#39;t support read. (when I try to read validation).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Flashing firmware OTA for nRF Connect SDK nRF52840</title><link>https://devzone.nordicsemi.com/thread/507327?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 11:41:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d07fc9e4-f252-4bdd-a4e1-6a5d3b8cc3d0</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user=""]The problem I am getting is that sometimes it sends the packages and sometimes it doesn&amp;#39;t[/quote]
&lt;p&gt;We don&amp;#39;t have any support for C#, or any tools or examples using it that shows how it should work, so unfortunately I don&amp;#39;t know why it is not working. If you have questions on the protocol, I might be able to help, but if the issue is that the C# application is not working as intended, then I don&amp;#39;t know what the issue might be.&lt;/p&gt;
&lt;p&gt;Perhaps these questions can help you along the way:&lt;/p&gt;
&lt;p&gt;Does your application find the DFU target device?&lt;/p&gt;
&lt;p&gt;Is it able to connect to it?&lt;/p&gt;
&lt;p&gt;When you say it is not sending packets, perhaps you are writing them too fast?&lt;/p&gt;
&lt;p&gt;Do you check the return values when trying to send a packet? Does it indicate that something is wrong when the packets are not sent?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>