<?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>Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42224/access-gazell-heartbeat-timer</link><description>Is there a way to access the Gazell heartbeat timer? Ideally I would have a callback to my application when the heartbeat occurs. The main motivation for this would be to try to use the Gazell heartbeat to synchronize clocks between Gazell devices and</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 15 Jan 2019 11:46:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42224/access-gazell-heartbeat-timer" /><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/165711?ContentTypeID=1</link><pubDate>Tue, 15 Jan 2019 11:46:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2cd9ee5f-ff87-4c0b-8fad-f643823034ee</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I don&amp;#39;t think Gazell will be able to do what you want here. The Gazell is built on top of ESB, using ESB you will have full control of when you actually transmit and receive packet, so when you transmit a packet you will always have a fixed offset from start of transmission on the device to packet is received on the host, a tolerance of a few ~us, and should be able to sync based on that. Maybe you can consider using Gazell to establish initial connection, and then exchange parameters to use with ESB, and then use ESB for synchronization.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/165585?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 17:48:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d04a3e12-88f4-452a-84e6-be38b8f10b36</guid><dc:creator>MorelNexus</dc:creator><description>&lt;p&gt;In&amp;nbsp;my previous post, data was being transmitted as quickly as possible (device sends a packet about every 1.2 ms).&lt;/p&gt;
&lt;p&gt;With data transmitting&amp;nbsp;from the device every 10 ms, there is still in increase in the number of heartbeats on the host but it is a smaller increase.&amp;nbsp;With the&amp;nbsp;device off there&amp;nbsp;are consistently 1666 Timer2 Compare0 events per second on the host. With the device on&amp;nbsp;number of&amp;nbsp;Timer2 Compare0 events fluctuates around 1690-1750.&lt;/p&gt;
&lt;p&gt;I have been looking into ESB as well. I&amp;#39;m still not sure which is best for my application. ESB is interesting to me due to the increased packet payload size, however I like the&amp;nbsp;pairing and encryption features provided with Gazell. Is there something in ESB that&amp;nbsp;would&amp;nbsp;facilitate clock synchronization?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/165569?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 16:23:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7549ae49-15ea-4a54-9eca-0f1d70d19a1b</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I expect there may be some adjustment to the timer on&amp;nbsp;the device, when the device is out of sync and when a packet is transmitted/received, however I do not understand why this should impact the rx period on the host. How frequently are you transmitting from the device to the host here? For instance if you transmit every 10ms does that affect what you observe?&lt;/p&gt;
&lt;p&gt;Have you considered using ESB instead, and make a simple frequency hopping using ESB?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/165062?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 08:04:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7544f35e-9c8d-4114-a23e-a6c965f7647f</guid><dc:creator>MorelNexus</dc:creator><description>&lt;p&gt;This approach seems to be working, however the results are different than I expected.&lt;/p&gt;
&lt;p&gt;Setup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PPI channel uses the Timer2 Compare0 event (Gazell&amp;#39;s heartbeat) to clear Timer0.&lt;/li&gt;
&lt;li&gt;Timer0 is set to run at 1 MHz and Timer0 Compare0 is set to raise an event at 1 tick.&amp;nbsp;The event handler&amp;nbsp;increments&amp;nbsp;the &lt;strong&gt;heartbeat_counter&lt;/strong&gt; variable.&lt;/li&gt;
&lt;li&gt;At 1 second intervals (based on a Timer1 event),&amp;nbsp;&lt;strong&gt;heartbeat_counter&lt;/strong&gt; is written to the virtual COM port and then &lt;strong&gt;heartbeat_counter&lt;/strong&gt; is reset to 0.&amp;nbsp;The printout should be the number of heartbeats in the last second.&lt;/li&gt;
&lt;li&gt;I have one Gazell device and one host sending data back and forth continually, similar to the setup in the gzll_ack_payload example.
&lt;ul&gt;
&lt;li&gt;timeslot period = 600 us&lt;/li&gt;
&lt;li&gt;packet and ACK payloads are 32 B each&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the device with the host powered off,&amp;nbsp;&lt;strong&gt;heartbeat_counter&amp;nbsp;&lt;/strong&gt;hovers&amp;nbsp;around 1433&lt;/li&gt;
&lt;li&gt;On the device with&amp;nbsp;the host powered on,&amp;nbsp;&lt;strong&gt;heartbeat_counter&lt;/strong&gt; hovers around 2430&lt;/li&gt;
&lt;li&gt;On the host with the device powered off,&amp;nbsp;&lt;strong&gt;heartbeat_counter&amp;nbsp;&lt;/strong&gt;is consistently 1666&lt;/li&gt;
&lt;li&gt;On the host with the device powered on,&amp;nbsp;&lt;strong&gt;heartbeat_counter&amp;nbsp;&lt;/strong&gt;hovers around 2450 but sometimes drops down to around 1666&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Based on the Gazell Link Layer User Guide, I expected the hearbeat_counter to be closer to 1666 (1 s / 600 us) during regular operation when the host and device are communicating. The number of heartbeats I&amp;#39;m seeing correspond with a timeslot period closer to 400 us. Can you shed any light on why this might be?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Kevin&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Edit: One non-default setting I have enabled on Gazell is NRF_GZLL_DEVICE_CHANNEL_SELECTION_POLICY_USE_CURRENT.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Edit: I&amp;nbsp;set it up so that the device and host each toggle a GPIO when their Timer2 Compare0 event is triggered. I&amp;#39;m surprised to see that the output is not a symmetric square wave with consistent periods.&lt;/p&gt;
&lt;p&gt;&lt;img height="78" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1547255143897v1.png" width="609" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;And the number of Timer2 Compare0 events on the host changes&amp;nbsp;every now and then for reasons unknown to me.&lt;/p&gt;
&lt;p&gt;&lt;img height="72" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1547255206610v2.png" width="606" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/164995?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 15:57:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec2b609b-e7b2-41d3-9b92-f3fb5d80bcf1</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Sounds like a plan yes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/164795?ContentTypeID=1</link><pubDate>Thu, 10 Jan 2019 01:13:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:192dcdd7-0903-4970-be16-1d93712ea76a</guid><dc:creator>MorelNexus</dc:creator><description>&lt;p&gt;Thanks for the recommendation. To clarify, did&amp;nbsp;you say Timer0 since that is the one Gazell uses on the S1XX softdevice? In my case I do not have a softdevice present so I&amp;nbsp;believe I would want to set up a PPI to Timer2&amp;#39;s Compare0 event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Access Gazell Heartbeat Timer</title><link>https://devzone.nordicsemi.com/thread/164505?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 12:03:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:843211dd-3c56-4f92-8316-8be1d4dfdd1b</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Likely not no.&lt;/p&gt;
&lt;p&gt;Maybe it can be possible to create a PPI channel from the timer0 compare0 event to your own timer in some way?&lt;br /&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.3.0/gzll_02_user_guide.html?cp=4_0_7_5_0_2#gzll_resources"&gt;http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.3.0/gzll_02_user_guide.html?cp=4_0_7_5_0_2#gzll_resources&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>