<?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>Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/104543/interrupts-with-timer-instance-issue</link><description>Hello, 
 Currently I am trying to trigger an interrupt in the timer at a regular interval which in turn would create an MPSL session at each session. However, it does not seem to be functioning properly. I created a Timer instance from Timer1 however</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 12 Oct 2023 20:40:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/104543/interrupts-with-timer-instance-issue" /><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/450153?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 20:40:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5347cb7-a66d-4e4c-a6b4-8d88c5cd85ba</guid><dc:creator>saugatlogic</dc:creator><description>&lt;p&gt;I did a workaround with TIMER &amp;nbsp;interrupt. I cleared all my RADIO registers after the END interrupt and create a sufficient delay in the system before opening a new session. In addition I also had missed to cleared and stop the timer right after getting the interrupt. After doing all that now it is working fine. Thank you so much for your support.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/449999?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 09:34:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cf18453-16aa-4c24-bf40-9244edb8f988</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Forgot to mention that you need to select your SDK version on the top of the page to see relevant issues, if not, the link will go to the latest version and resolved issues from older SDK version will not show.&lt;/p&gt;
&lt;p&gt;This issue seems to match with your description:&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/pastedimage1697103163569v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Are you using&amp;nbsp;&lt;span&gt;MPSL_TIMESLOT_REQ_TYPE_EARLIEST&lt;/span&gt;&amp;nbsp;in your requests?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/449918?ContentTypeID=1</link><pubDate>Wed, 11 Oct 2023 19:00:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:407492a0-11f2-4879-a345-25b0d983dca4</guid><dc:creator>saugatlogic</dc:creator><description>&lt;p&gt;I am on v2.2.0. I couldn&amp;#39;t find any known issues from the documentation. Some older devzone post with MPSL_ASSERT error recommended to clear the NRF_RADIO registers after some delay to make sure it, so that it would be able to perform the pending task before clearing it. So, I currently have also used COMPARE3 (delayed by 500 us) interrupt to clear radio registers. But, it seems to have similar issue event with the suggested workaround.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/449910?ContentTypeID=1</link><pubDate>Wed, 11 Oct 2023 17:36:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f5d4a0c-5ae7-4c0e-ab03-769d8df8b427</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Which version of nRF Connect SDK are you using? There are some&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/releases_and_maturity/known_issues.html#multiprotocol-service-layer-mpsl"&gt; known issues related to MPSL&lt;/a&gt;, can you check if any of these are valid for your setup?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/449909?ContentTypeID=1</link><pubDate>Wed, 11 Oct 2023 17:26:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3c89f38-c07f-4556-bad9-b9c364c0574c</guid><dc:creator>saugatlogic</dc:creator><description>&lt;p&gt;Thank you that was a lot helpful and it worked. I am now getting the actual interrupts signal which can be compared to switch cases inside the handler function. However I am currently also trying to open a new MPSL session each time I get an interrupt form COMPARE1 of TIMER1. It works fine when I use a delayed loop and so does when it receives the first two interrupts but crashes on the third interrupt. &amp;nbsp;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Screenshot-2023_2D00_10_2D00_11-at-11.26.41-AM.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with Timer Instance Issue</title><link>https://devzone.nordicsemi.com/thread/449857?ContentTypeID=1</link><pubDate>Wed, 11 Oct 2023 13:39:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dccb40d5-20d4-4378-a65e-45fc73b458c4</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You need to connect the TIMER1 IRQ to the &lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/v2.11.0/drivers/src/nrfx_timer.c#L302-L306"&gt;nrfx_timer IRQ handler&lt;/a&gt; if the driver should receive and process the interrupts. Currently it looks like you have connected the IRQ to the application callback (&lt;span&gt;mpsl_timer_handler&lt;/span&gt;). This callback should only be passed to&amp;nbsp;&lt;span&gt;nrfx_timer_init() and will be called whenever the nrfx_timer driver needs to pass an event from the interrupt handler to your application.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You can find an example of how to use the nrfx driver APIs in the &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.3.99-ncs1-1/samples/boards/nrf/nrfx/src/main.c#L39-L42"&gt;nrfx board sample in Zephyr&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Jørgen&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>