<?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>NRF52 timing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42293/nrf52-timing</link><description>I&amp;#39;m modelling a complex system with multiple BT devices based on the NRF52 using a very detailed model of the RF. 
 The system is based on the NRF52 using the mesh stack to but with additional user specific packets added by my code. I need to understand</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 15 Jan 2019 13:54:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42293/nrf52-timing" /><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165767?ContentTypeID=1</link><pubDate>Tue, 15 Jan 2019 13:54:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22c99f25-410d-4905-8dde-8753fb58b1b6</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry indeed. It&amp;#39;s my mistake. We don&amp;#39;t provide Keil projects in the SDK. We have a blog post &lt;a href="https://devzone.nordicsemi.com/b/blog/posts/creating-a-keil-project-for-a-bluetooth-mesh-examp"&gt;here &lt;/a&gt;on how to create Keil project for mesh a while ago. It was for SDK v0.10 but it should still work now I would assume.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tested here with -DTOOLCHAIN=armcc and didn&amp;#39;t have any issue. Please make sure you have the SDK_ROOT point to the correct SDK folder and that you have installed the uECC library as instructed &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/lib_crypto_backend_micro_ecc"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Segger RTT should be available in (SDKv15.2)external\segger_rtt folder.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165477?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 13:37:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c6255e8-a17e-496c-afdd-6546627a2ca4</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;&lt;span&gt;I am using&amp;nbsp;nrf5SDKforMeshv310src and there are no Keil projects there, there are 2 subfolders ble_app_proximity_coexist and ble_app_uart_coexist, but neither of these contains any Keil projects.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165442?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 12:49:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98c4f646-f0cc-44cb-8e5c-6c4293392bcd</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;I am using&amp;nbsp;nrf5SDKforMeshv310src and there are no Keil projects there, there are 2 subfolders ble_app_proximity_coexist and ble_app_uart_coexist, but neither of these contains any Keil projects.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165415?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 12:03:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae66a037-1f1c-471e-93ab-64a969a62a4c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Please use latest SDK. You can find the Keil project at (MeshSDKv3.0.0)\examples\sdk_coexist\&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165244?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 16:40:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d4ed807-d238-4d77-829b-0a230db9bc5e</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;yes, I can rebuild all of the projects now, but I can&amp;#39;t find any keil projects for the mesh examples.&lt;/p&gt;
&lt;p&gt;I created a project for all the files used in beaconing and they all compile ok, but it fails to link.&lt;/p&gt;
&lt;p&gt;using ninja it passes&amp;nbsp;--via=CMakeFiles\beaconing_nrf52832_xxAA_s132_6.1.0.rsp to the linker but I cannot find this file to work out what else it was trying to link with. There are 102 source files used but it also seems to be linked to&amp;nbsp;libraries as I get&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol uECC_make_key (referred from prov_utils.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol uECC_secp256r1 (referred from prov_utils.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol uECC_shared_secret (referred from prov_utils.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol uECC_valid_public_key (referred from prov_utils.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol SEGGER_RTT_Write (referred from log.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol SEGGER_RTT_printf (referred from log.o).&lt;br /&gt;.\Objects\Beaconing.axf: Error: L6218E: Undefined symbol SEGGER_RTT_vprintf (referred from log.o).&lt;br /&gt;Not enough information to list image symbols.&lt;/p&gt;
&lt;p&gt;where is the linker control file?.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165220?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 14:59:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0bd4253-e798-4d7a-a883-c9f1b68b293e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I see, I think I had the same issue a bit long ago. Now you can generate the build with CMAKE and armcc ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you&amp;nbsp;move to SDK v2.x&amp;nbsp; or 3.x you can just reuse the Keil project we have in the co-existence examples we provided. It&amp;nbsp;has all the stack libraries and dependencies.&amp;nbsp;&lt;br /&gt;Regard any detailed timing, I afraid that we don&amp;#39;t have anything other than the documentation and softdevice specification we have.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165127?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 11:38:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd8e4ecf-6e53-4d65-b896-e160d4dfd183</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;fixed by deleting and restoring the directories, seems that enable_lang had been called when I first ran the script without specifying armcc, then it created a build environment for gcc and tested that which failed. A bit crap of CMake, but it seems you cannot then change the build environment so I had to delete it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165123?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 11:27:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86467818-690f-44dd-a284-b6b773e079a8</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;Yes, you are right, I was confused as I remembered changing my code because I could no longer use take control of the radio directly, so I use the Mesh stack to handle the Tx and Scanning operations, I also remember having to make a lot of changes to integrate the code in the old Mesh SDK with the BT-LE SDK since it had been created by importing part of the BT-LE SDK into&amp;nbsp; the mesh SDK and editing it so it was no longer compatible with the main BT-LE SDK and was also unable to be integrated into a C++ project because of some coding style issues.&lt;br /&gt;There are no projects for the keil environment to re-build the mesh SDK so yet again I will have to creat one by reverse engineering the output from CMake, but at the moment CMake is failing the compiler test when enable_lang is called despite me using the -D TOOLCHAIN=armcc, it is picking up the Keil compilers directly but testing them with gcc arguments, I even modified the script to dump the compiler options and it dumps the correct ones for armcc, but just test the compiler with the gcc ones.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165105?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 10:05:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e70c5ca9-5bc3-49a6-80dd-53ccd1294410</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Just to clarify, maybe we are talking to different mesh stack here, could you find the part where the mesh stack use the softdevice for scanning /advertising mesh? In my SDK v.0.10.1 alpha we access the radio in scanner.c file. I&amp;#39;m not aware of any time that we changed this architecture.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We do have examples for Keil that you can use. In the newer SDK (from SDK v2.1) we provide coexistence examples in Keil that you can integrate into nRF5 SDK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165011?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 17:00:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7e6bf26-9677-4f51-b42d-ef825ebf22f4</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;My code is currently based on the old Mesh SDK which was using the soft device, prior to that I was also using the timeslot API, but the timsslot API did not allow for multiple applications to be interfacing to it so I changed the code when integrating with the mesh SDK.&lt;/p&gt;
&lt;p&gt;Now it seems I will first have to modify my code to work with the latest SDK, but that&amp;#39;s problematic for me as all of my applications are built using the Keil environment and the mesh code does not build when using the arm compilers using cmake&lt;/p&gt;
&lt;p&gt;Run Build Command:&amp;quot;D:/Tools/ninja.exe&amp;quot; &amp;quot;cmTC_bda53&amp;quot;&lt;br /&gt; [1/2] Building C object CMakeFiles\cmTC_bda53.dir\testCCompiler.o&lt;br /&gt; FAILED: CMakeFiles/cmTC_bda53.dir/testCCompiler.o&lt;br /&gt; C:\Keil_v5\ARM\ARMCC\bin\armcc.exe --std=gnu99 -Wall -Wno-attributes -Wno-format -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin --short-enums --depend=CMakeFiles\cmTC_bda53.dir\testCCompiler.o.d --depend_single_line --no_depend_system_headers -o CMakeFiles\cmTC_bda53.dir\testCCompiler.o -c testCCompiler.c&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;--std=gnu99&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-all&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-no-attributes&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-no-format&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-ffunction-sections&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-fdata-sections&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-fno-strict-aliasing&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;-fno-builtin&amp;#39;.&lt;br /&gt; Fatal error: C3900U: Unrecognized option &amp;#39;--short-enums&amp;#39;.&lt;br /&gt; ninja: build stopped: subcommand failed.&lt;/p&gt;
&lt;p&gt;There are no instructions on how to use the ARM compilers that I can find in the documentation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/165007?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 16:32:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b84d43a-a1dc-4e97-a60b-6fb238d63061</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure from where you get that the BTMesh use the softdevice to interface to the RF?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In scanner.c you can see that the RADIO is accessed directly. They way the mesh stack works is to request the timeslot from the softdevice so that it can access the radio directly (without using softdevice API). The mesh stack doesn&amp;#39;t use the softdevice to do scanning /advertising.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You may need to explain to me a little bit more on how your own mesh stack running ? How do you disable the BTmesh and start yours ?&amp;nbsp;I assume it use the softdevice API to do scanning and advertising ? If you disable the mesh stack you have the full control of the softdevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also Mesh version 0.10.1 is a very old and&amp;nbsp; primitive stack we had. Note that it&amp;#39;s not on production level and is not qualified for Bluetooth Mesh.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164999?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 16:08:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80e1cabb-b7a1-4ead-ac73-3f9123dc9e62</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;As I see it the Nordic BTMesh stack uses the softdevice in the SDK to interface to the RF, all BTMesh packets are simple non connectable advertising frames tagged as BTMesh and in parallel to this I am sending / receiving my own advertising frames tagged as manufacturer specific, the BTMesh stack does not recognize these and simply passes them to my code for processing using the API hooks.&lt;/p&gt;
&lt;p&gt;When I send a frame I call the SDK using the API to schedule it, bypassing the BTMesh stack, providing my own buffers.&lt;/p&gt;
&lt;p&gt;But the SoftDevice is initialized by the BTMesh code since it must tell the softdevice the parameters for scanning for BTMesh packets, and it is this scan process that receives my advertising frames.&lt;/p&gt;
&lt;p&gt;In modelling the system with various assumptions about the soft device I identified some unusual system level behaviour with certain possible modes of soft device operation ( in particular what happens following packet reception depending on the remaining scan window time), so to ensure the behaviour is suitable for my needs I need to understand&amp;nbsp; what happens following successful and failed packet reception which is of course down to the soft device, but also how does the BTMesh configure the SoftDevice in terms of ScanWindow and ScanPeriod, and also when scheduling a frame ( either BTMesh or my custom frames ) for transmission what happens in terms of timing when the soft device is scanning.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164991?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 15:50:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11d30dd3-401d-4b08-b48e-5be9147e5c3f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You mentioned &amp;quot;&lt;em&gt;&lt;strong&gt;sending advertisement events and scanning for advertisement packets&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/em&gt; Could you clarify which advertising events ? Is it mesh advertising or normal BLE advertising ? The softdevice doesn&amp;#39;t do mesh.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;We actually don&amp;#39;t have the numbers or statistic on how the timing on the softdevice or the mesh stack is. You would need to measure this on your own. The easiest way of measuring this is to have a look at the power consumption of the chip when running the stack.&amp;nbsp;Each state (TX, RX, Idle) would have different current consumption. You can use a Power Profiler Kit for this purpose.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164930?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 13:40:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfb31d08-5924-4b6d-81d5-bf5f0704146f</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;Yes,&amp;nbsp;I understand that.&lt;br /&gt;Currently my prototypes are based on nrf5_SDK_for_Mesh_v0.10.1-Alpha although I intend to update this.&lt;br /&gt;This is using&amp;nbsp;nRF5_SDK_14.0.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164899?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 12:19:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da2a5a99-b1c0-4a75-8bbb-43103d6a3896</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Please be aware that the softdevice has nothing to do with mesh except for granting timeslot for the mesh stack to use the radio.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please state exactly which softdevice and which Mesh SDK version you are using.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164837?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 08:47:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36816b06-82a2-4423-a920-5bc6439943d7</guid><dc:creator>Phil Young</dc:creator><description>&lt;p&gt;It is a proprietary stack running in parallel to your BTMesh stack, under normal operation just one of the 2 stacks will be active and under these conditions I need to understand the behaviour of the proprietary stack, it would also be useful to have more precise details for the behaviour of the actual BTMesh stack when that is active. I have a model that supports a very detailed system with detailed timing for all RF activities but I need to&amp;nbsp; update the soft device state machine model to accurately reflect how it manages the RF when sending advertisement events and scanning for advertisement packets since this code is common to both the WWMesh and our proprietary stack.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 timing</title><link>https://devzone.nordicsemi.com/thread/164760?ContentTypeID=1</link><pubDate>Wed, 09 Jan 2019 15:28:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b900f9c-3c99-4735-b6b7-db9acde797d1</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Phil,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If possible could you give some more information of the purpose of the RF modelling ? Do you need to qualify for a certification or something ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could you tell what exact&amp;nbsp;stack running on the device ? Is it a proprietary mesh or it&amp;#39;s our BLE mesh stack ? If it&amp;#39;s our stack, please state the version.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If it&amp;#39;s our BLE mesh stack, most of the mesh activity is handled by mesh stack, not the softdevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>