<?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>How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/45253/how-can-i-get-connectivity-version-and-sd-api-using-pc-ble-driver</link><description>When I send my app to people, it uses a specific version of pc-ble-driver. I would like to make sure dongle used was programmed with the hex file package with this specific pc-ble-driver. 
 I see &amp;quot;nRF Connect&amp;quot; is able to do so, as it reports wfetr opening</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Mar 2019 07:17:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/45253/how-can-i-get-connectivity-version-and-sd-api-using-pc-ble-driver" /><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178555?ContentTypeID=1</link><pubDate>Wed, 27 Mar 2019 07:17:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62570155-e25d-4380-98a4-893295115c79</guid><dc:creator>jpo38</dc:creator><description>&lt;p&gt;OK, thank you!&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Jean&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178487?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 17:08:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15bb705a-c785-44f6-887d-6a97cba64972</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;HI,&lt;/p&gt;
&lt;p&gt;Currently this is done from nRF Connect, but we may also have chosen to implement it in pc-ble-driver directly. My understanding is that it was done in nRF Connect because that was a more convenient abstraction layer. I see that we provide JavaScript wrappers for nrfjprog through &lt;a href="https://github.com/NordicSemiconductor/pc-nrfjprog-js"&gt;pc-nrfjprog-js&lt;/a&gt;, as well as Python wrappers through &lt;a href="https://github.com/NordicSemiconductor/pynrfjprog"&gt;pynrfjprog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In any case I will add a feature request for providing the data through pc-ble-driver. Maybe we can get that in the future.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178433?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 14:43:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce8a19b7-a1cc-49bf-851f-24bc104cb5f7</guid><dc:creator>jpo38</dc:creator><description>&lt;p&gt;As pc-ble-driver has the port open, can&amp;#39;t it provide a simple function in its API that would &lt;span&gt;read out the specific portion of the connectivity device flash and return it?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jean&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178415?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 14:17:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:316bde74-005f-40cc-98bf-a3d9b77119fa</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Would better documentation of the existing solution count as such an enhancement?&lt;/p&gt;
&lt;p&gt;If not, what do you have in mind? Suggestions are welcome.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178400?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 14:00:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:97a892f9-52c0-4668-a94b-3b2751232497</guid><dc:creator>jpo38</dc:creator><description>&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;So my understading is that there is no easy way to do this ;-)&lt;/p&gt;
&lt;p&gt;Could that be an enhancement request for pc-ble-driver?&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Jean Porcherot&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178312?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 11:39:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6882100-c63a-4af6-92fc-ab3fb5b13848</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;For USB devices we have the &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-3-0/lib_dfu_trigger_usb"&gt;DFU Trigger Library (USB)&lt;/a&gt; on the connectivity device, which provides an API for reading out information about the firmware.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I get connectivity version and SD API using pc-ble-driver</title><link>https://devzone.nordicsemi.com/thread/178190?ContentTypeID=1</link><pubDate>Mon, 25 Mar 2019 17:18:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02962f7c-9279-4970-b2fd-34fffec1b863</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There are two things that you can look for. The first one is the Firmware ID (FWID) of the SoftDevice used. For newer SoftDevices it is described in the SoftDevice release notes. For older SoftDevices you can have a look in the thread &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/1171/how-do-i-access-softdevice-version-string"&gt;How do I access softdevice version string&lt;/a&gt;. The FWID is stored at a given address in SoftDevice flash, but please do note that the particular address has changed in the past.&lt;/p&gt;
&lt;p&gt;nRF Connect does not read this information through the pc-ble-driver API. Rather, it reads out a specific portion of the connectivity device flash. For pc-ble-driver, we use a patched version of the connectivity example from the nRF5 SDK. This patch adds a data structure (version_info_t) which is used for placing version information for the particular build at a predefined flash location. This structure also has a version field, and the version used for the latest release of pc-ble-driver is version 2.&lt;/p&gt;
&lt;p&gt;The flash location for the version information is 0x20000 for some versions of the connectivity firmware, but may also be found at 0x50000 for some versions. (I do not have full overview of where the information has been put in every version of the connectivity firmware, and so other locations may apply as well.) Note that this is not documented, so you will have to check where the data structure is placed for the version of the connectivity firmware that you use. There is a magic number of 0x46D8A517 for the first word of the structure, which should make it easier to spot e.g. in a hex dump.&lt;/p&gt;
&lt;p&gt;The easiest way to find the struct definition is to search for &amp;quot;version_info_t&amp;quot; in the .patch files in the &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v4.1.0/hex"&gt;hex/&lt;/a&gt; folder of a pc-ble-driver release. After the struct definition you will find the flash address used and what values are filled for that particular release. The value used for the &amp;quot;struct_version&amp;quot; field will tell you what version of the structure you are looking at.&lt;/p&gt;
&lt;p&gt;The nRF52840 Dongle does not have an on-board programmer, and so they use a different technique for that one. I can try to figure out what is done there as well, if needed.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>