<?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>NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/117335/ncs-connection-event-trigger</link><description>Hi, I&amp;#39;m trying to implement timer synchronization on one central and multiple peripherals, I&amp;#39;m using nRF52840 and NCS v2.8.0. I&amp;#39;ve seen the example conn_time_sync which uses anchor point events for synchronization, but I need to sync 16MHz timers, and</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 23 Jan 2025 12:55:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/117335/ncs-connection-event-trigger" /><item><title>RE: NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/thread/519759?ContentTypeID=1</link><pubDate>Thu, 23 Jan 2025 12:55:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67577329-3679-4e63-82f9-9c9291c4b363</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi again,&lt;/p&gt;
&lt;p&gt;I was just made aware of the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/conn_time_sync/README.html"&gt;Bluetooth: Connection time synchronization sample&lt;/a&gt;, which provides microsecond-accurate synchronization. It has been available since nRF Connect SDK v2.8.0. You could look into that one.&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: NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/thread/519594?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 14:36:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cff3c308-3255-42de-9589-1f29dc9038af</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;From what I can tell, it was deprecated and moved due to similar functionality existing elsewhere in the SDK. You can have a look at the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/event_trigger/README.html"&gt;Bluetooth: Event Trigger sample&lt;/a&gt; for reference on how event triggers work in nRF Connect SDK 2.9.0 and later.&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: NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/thread/517581?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2025 03:06:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c97740d-01ef-4bc4-a624-ba744e9240da</guid><dc:creator>Sefer</dc:creator><description>&lt;p&gt;Hi Terje, any idea why the&amp;nbsp;sdc_hci_cmd_vs_set_conn_event_trigger was removed in&amp;nbsp;SDK v2.9.0? I finally got the clock synchronization working by utilizing these connection events to trigger my own PPI groups, but it&amp;#39;s not available in the latest SDK 2.9.0, which we also need for the new &amp;quot;Scanning while connecting&amp;quot; feature.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/thread/515813?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2024 16:44:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:37a32875-bb6c-488f-a98b-2df761d08c5d</guid><dc:creator>Sefer</dc:creator><description>&lt;p&gt;Thanks Terje for the detailed explanation, I suspected that was the case with events in&amp;nbsp;&lt;strong&gt;sdc_hci_cmd_vs_set_conn_event_trigger&lt;/strong&gt;, so it&amp;#39;s not suitable for synchronizing device&amp;#39;s clocks.&lt;br /&gt;&lt;br /&gt;-Sefer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS Connection Event Trigger</title><link>https://devzone.nordicsemi.com/thread/515806?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2024 16:04:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62aae770-5d40-4443-90b9-847060af471b</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]Are these connection events triggered by a radio event (EVENTS_READY, EVENTS_ADDRESS, etc.), and which one exactly?&amp;nbsp;[/quote]
&lt;p&gt;For the central, the connection event is triggered by a timer, which prepares the radio for TX and eventually sends the first packet of the connection event. The radio event in this case, is the packet sending.&lt;/p&gt;
&lt;p&gt;For the peripheral, it starts scanning (also controlled by a timer), in order to receive the first packet of the connection event. The radio event in this case, is the scanning.&lt;/p&gt;
[quote user=""]Why would the peripheral event be triggered before the central event?[/quote]
&lt;p&gt;The clocks of the peripheral and the central are expected to drift relatively to each other. The maximum amount of drift depend on the accuracy (PPM rating) of both clocks, and the time since the last successful connection event. Because of this, the peripheral (which starts the connection event in RX) must start prior to the central (which starts the connection event in TX), with some margin. Therefore, the radio event on the peripheral (RX side) happens prior to the radio event on the central (TX side).&lt;/p&gt;
&lt;p&gt;Please note that while the peripheral starts RX before the central starts TX, since the relative drift is unknown it is impossible to tell in advance just how large this offset is. It all depends on the actual drift of the clocks of the devices involved, at the given point in time.&lt;/p&gt;
[quote user=""]How is the achor point timestamp capture implemented in&amp;nbsp;&lt;strong&gt;sdc_hci_cmd_vs_conn_anchor_point_update_event_report_enable&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;, is it possible to manually implement something similar to trigger event on both central and peripheral at the same time, and capture the 16MHz timer on each device?[/quote]
&lt;p&gt;The BLE Controller is delivered pre-compiled. The lowest level of the stack where you would be able to manually hook into the code is at the host level, but please note that any changes (however small) to the BLE host risks voiding the qualification (QDID / DN) of the stack.&lt;/p&gt;
&lt;p&gt;I think the sample that you already mentioned (&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/conn_time_sync/README.html"&gt;Bluetooth: Connection time synchronization&lt;/a&gt;) is the closest to what you ask for, of available samples.&lt;/p&gt;
&lt;p&gt;You could however have a look at &lt;a href="https://github.com/nordic-auko/nRF5-ble-timesync-demo"&gt;nRF5-ble-timesync-demo&lt;/a&gt;, which also do have an implementation included for nRF Connect SDK, despite the name indicating nRF5 SDK. Maybe that one will work for your use case.&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>