<?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>Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/109764/attaching-rttviewer-significantly-changes-interrupt-characteristics</link><description>Hello, 
 nRF52840 
 ncs-v2.5.0-rc2 
 
 I am using a GPIO interrupt to trigger a callback on every edge on a particular GPIO. I am then timing the difference in time between interrupts in order to make calculations, such as decoding FSK and Manchester</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Apr 2024 12:02:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/109764/attaching-rttviewer-significantly-changes-interrupt-characteristics" /><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/479415?ContentTypeID=1</link><pubDate>Thu, 18 Apr 2024 12:02:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6dd67dc-8c6b-4b09-bc0a-711868508ca2</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hear thy, hear thy: the thoughts have arrived:&lt;/p&gt;
&lt;p&gt;Firstly, some times running things from interrupts can be a poor idea in zephyr. Maybe start the timer from something else than interrupt context?&lt;/p&gt;
&lt;p&gt;Secondly, you already have a timer running, no? Instead of starting a new timer for your timeout, you can create a new CC value with its own interrupt and then use that one for your timeout.&lt;/p&gt;
&lt;p&gt;If you want to discuss this further I suggest that you start a new ticket, so we do not clog this one.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/478665?ContentTypeID=1</link><pubDate>Mon, 15 Apr 2024 07:56:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffa1f28f-8e9d-4b84-94a3-51596359b5a7</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Good to hear that the new method solves the RTT problem!&lt;/p&gt;
&lt;p&gt;And thanks for the summary, always helps a ton of other customers or people from support find the same issue later. For that reason I will mark your previous comment as &amp;quot;Verified Answer&amp;quot;, so people find it easier.&lt;/p&gt;
&lt;p&gt;For the rest of your thoughts: I have a colleague who I think might have some insight into this, but he is busy the next couple of days. After that, I will ask him to read over and return here with what we think.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/478606?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 19:53:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:634d67e4-0044-4f81-8d97-fc3e544fed4c</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;What I mean by not seeing any improvement is this:&lt;/p&gt;
&lt;p&gt;Run a test by writing a stripped down program that only contains a zephyr API gpio callback that captures time differentials and record those in an array.&lt;/p&gt;
&lt;p&gt;Tun another test by writing a stripped down program that only contains a program which uses PPI to capture the clock and uses either the zephyr gpio interrupts or EGU interrupts to record the differentials to an array.&lt;/p&gt;
&lt;p&gt;If you compare the two array&amp;#39;s standard deviation and means they are not very different. HOWEVER. When I looked at the data in excel It turns out it makes more of a difference than I initially thought. For example, here is a capture of the data that I received. On the top is the old way (Zephyr APIs) and the bottom is the new way (GPIOTE+PPI+CLOCK+EGU). Significantly less noise. MOST IMPORTANTLY! I can confirm that this method is NOT affected by RTT!&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/pastedimage1712950966706v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure if I&amp;#39;m out of the woods yet for this project but for now I think the RTT issue is bypassed at least.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Was there ever an answer on why RTT was causing a problem to begin with? I had an idea. In my original Zephyr API callback that contained my FSK algorithm, I was starting a k_timer over and over so I could tell when the whole thing was over. The reasoning was that so long as I kept kicking the timer it wouldn&amp;#39;t expire so once the data stopped coming in the timer would expire and signal that data had stopped coming in. However, I noticed that even after I got the new way working, adding this k_timer_start() function into the new EGU callback was enough to ruin the algorithm. Let me put it this way:&lt;/p&gt;
&lt;p&gt;Old way + k_timer_start() + RTT-connected = works&lt;/p&gt;
&lt;p&gt;Old way + k_timer_start() = doesn&amp;#39;t work&lt;/p&gt;
&lt;p&gt;New way + k_timer_start() + RTT-connected =&amp;nbsp;works very poorly&lt;/p&gt;
&lt;p&gt;New way + k_timer_start() =&amp;nbsp;works but not well&lt;/p&gt;
&lt;p&gt;New way = works&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could RTT and k_timer APIs have an interaction? Just a thought.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your help, I think this issue can be closed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/478218?ContentTypeID=1</link><pubDate>Thu, 11 Apr 2024 08:16:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c63a26ab-9fd9-489d-acec-90b345f9976d</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Nathan45"]I&amp;#39;m not seeing a significant improvement between using the PPI to trigger the capture task of the clock vs doing all of that within the interrupt just testing them head to head. I&amp;#39;m going to try my use case again using PPI to see if it works better than before with and without RTT connected.[/quote]
&lt;p&gt;Oh well, I guess the main reason to put this on PPI is to avoid issues with timing when you introduce BLE later.&lt;/p&gt;
&lt;p&gt;That being said, let us figure out what does not work here.&lt;/p&gt;
&lt;p&gt;Could you specify in what regard you do not see any improvement?&lt;br /&gt;It would be interesting to see if RTT has any effect on the PPI here as well, so I am looking forward to those results.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/478145?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2024 21:34:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:437800f9-0f7e-4ed9-931f-0d968dcaf9ca</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;For anyone wondering how to make GPIOTE NRFX drivers play nicely with Zephyr GPIO APIs, this post should help&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/110123/ncs-v2-6-0-instructions-to-use-gpiote-and-zephyr-gpio-api"&gt;devzone.nordicsemi.com/.../ncs-v2-6-0-instructions-to-use-gpiote-and-zephyr-gpio-api&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/478140?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2024 20:27:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62474aa2-19c2-4bc2-b20b-218a47ba7b93</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;Yes!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After taking your advice and messing around for a while I finally understand. I plan on making another post that just explains how to use GPIOTE/PPI etc harmoniously with Zephyr GPIO APIs and even Interrupts.&lt;/p&gt;
&lt;p&gt;It seems like the standard response to &amp;quot;how do I use GPIOTE while also using Zephyr GPIO APIs?&amp;quot; is something like &amp;quot;Nordic NRFX drivers for GPIOTE are not meant to be used in addition to Zephyr GPIO, it should be one or the other.&amp;quot; I think that since NCS v2.4.99, the truth of the matter is that they CAN be used together, but you shouldn&amp;#39;t initialize NRFX GPIOTE the same way that you would if you were only using NRFX (don&amp;#39;t initialize NRFX GPIOTE inputs after initialize Zephyr GPIO interrupt). Like I said before, I will make a separate post with example program for NCS v2.6.0 and link to it here once it is up. I tried fiddling with sense-edge-mask in the device tree and even set it to 0x00000000 and then 0xFFFFFFFF and it worked both ways, so I&amp;#39;m not sure I was doing that right or not or if it makes a difference.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That said, back to my problem:&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not seeing a significant improvement between using the PPI to trigger the capture task of the clock vs doing all of that within the interrupt just testing them head to head. I&amp;#39;m going to try my use case again using PPI to see if it works better than before with and without RTT connected.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477822?ContentTypeID=1</link><pubDate>Tue, 09 Apr 2024 13:11:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:705888ce-57f8-4f29-a2e1-d5cb51efba22</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;After looking a bit aroud I have found the following:&lt;/p&gt;
&lt;p&gt;When you set up GPIO with interrupts with the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/hardware/peripherals/gpio.html"&gt;Zephyr GPIO API&lt;/a&gt;, it will use GPIOTE for the interrupts.&lt;/p&gt;
&lt;p&gt;Note: Remember to set &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/dts/api/bindings/gpio/nordic%2Cnrf-gpio.html#dtbinding-nordic-nrf-gpio"&gt;sense-edge-mask&lt;/a&gt; to 0. If this is 1, GPIOs get the PORT event enabled. However, to use PPI you need the IN event instead. This will consume ca &lt;span&gt;&lt;span dir="ltr"&gt;17.37uA &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/_tmp/nrf52840/autodita/CURRENT/parameters.i_sleep.html?cp=5_0_0_4_1_0_0"&gt;more power&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span dir="ltr"&gt;Then you should be able to use &lt;span dir="ltr"&gt;&lt;a title="https://developer.nordicsemi.com/nrf_connect_sdk/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get" href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get" rel="noopener noreferrer" target="_blank"&gt;nrfx_gpiote_channel_get&lt;/a&gt;() to get the channel and use nrfx for PPI.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span dir="ltr"&gt;&lt;span dir="ltr"&gt;Does this make sense?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477376?ContentTypeID=1</link><pubDate>Fri, 05 Apr 2024 18:22:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee23604d-a069-47a1-8ab8-49c9a0a14d13</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;When you say &amp;quot;set up GPIOTE with zephyr&amp;quot;, do you mean use the APIs found here?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t see any other GPIOTE APIs in the Zephyr docs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477237?ContentTypeID=1</link><pubDate>Fri, 05 Apr 2024 07:33:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73e53dca-46b2-4712-b449-56836c148850</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;After talking some more, my collegua has an idea for using Zephyr GPIOTE and PPI together.&lt;/p&gt;
&lt;p&gt;If you set up GPIOTE with zephyr, you can use &lt;span&gt;&lt;span dir="ltr"&gt;&lt;a title="https://developer.nordicsemi.com/nrf_connect_sdk/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get" href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_channel_get" rel="noopener noreferrer" target="_blank"&gt;nrfx_gpiote_channel_get&lt;/a&gt;() to get the channel for the pins you need, and then set up PPI with NRFX drivers. &lt;br /&gt;This way, Zephyr has full control over GPIOTE, and it should be able to cooperate with itself to make multiple callbacks on those pins&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477231?ContentTypeID=1</link><pubDate>Fri, 05 Apr 2024 07:07:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43fe897f-521e-41bc-8c34-d645338593c2</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Nathan45"]I do have a question I hope you can answer. I keep seeing conflicting information on the forums on how to use GPIOTE to trigger a peripheral task while also using the same GPIO to trigger a callback. I&amp;#39;m not sure how to do this? Can I use the normal Zephyr GPIO callback methods at the same time that I&amp;#39;m using GPIOTE stuff?[/quote]
&lt;p&gt;I must admit that I have not tried this myself before, so I do not know.&lt;br /&gt;I asked one of my colleagues who is more experienced than me on this and thay say that they are not sure how easy this will be to combine. So its a &amp;quot;maybe works&amp;quot;&lt;/p&gt;
&lt;p&gt;However, if we take a step back and try to look at this from a bit more high level:&lt;/p&gt;
&lt;p&gt;Zephyr does not have drivers to support PPI, so you will have to &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/boards/nrf/nrfx/README.html"&gt;use nrfx&lt;/a&gt; drivers for PPI and gpiote by directly calling nrfx_ functions.&lt;br /&gt;Zephyr as an operating system generally assumes that it has control over components, so in general cases I would say that you should be careful by mixing Zephyr and nrfx drivers for the same pins or peripherals. &lt;br /&gt;And since you already are using nrfx_ drivers for some things, maybe it is not that bad to use nrf_x drivers for GPIO callbacks on the relevant pins?&lt;/p&gt;
&lt;p&gt;Did I answer your question?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477188?ContentTypeID=1</link><pubDate>Thu, 04 Apr 2024 16:44:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f702b69-56be-4cd9-9a1a-466d6f1eb669</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;Thanks for the help so far! I&amp;#39;ll start looking into PPI.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I do have a question I hope you can answer. I keep seeing conflicting information on the forums on how to use GPIOTE to trigger a peripheral task while also using the same GPIO to trigger a callback. I&amp;#39;m not sure how to do this? Can I use the normal Zephyr GPIO callback methods at the same time that I&amp;#39;m using GPIOTE stuff?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Nathan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/477085?ContentTypeID=1</link><pubDate>Thu, 04 Apr 2024 11:36:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9272f4e-2e3a-4968-aff5-bc04f553b9ea</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Nathan45"]We are using BLE in prod[/quote]
&lt;p&gt;In this case, BLE interrupts will likely mess up your timings as well.&lt;br /&gt;Because of this, I would recommend using GPIOTE-&amp;gt;PPI as you explain. I have been told that you do not need to use fork and EGU to handle the callback, so it should be a bit more straight forward.&lt;br /&gt;The possible catch is that with 16kHz sampling, you might get some issues handling all the callbacks fast enough.&lt;/p&gt;
&lt;p&gt;Does this make sense to you?&lt;/p&gt;
&lt;p&gt;We are a bit swamped after easter, so I&amp;#39;m not digging very far into this yet, and I hope that you are able to test some with PPI yourself. But let me know if you got any more questions!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476959?ContentTypeID=1</link><pubDate>Wed, 03 Apr 2024 16:53:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2c1fcba1-4bc6-41af-979d-0801753c981c</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;1. The delay could be as low as 16kHz, but I&amp;#39;ve been designing for worst case 20kHz&lt;/p&gt;
&lt;p&gt;2. We are using BLE in prod, as well as NFC, UARTE, I2C, GPIO libraries. However, in the test program that I made the histograms with, I didn&amp;#39;t use anything but the bare minimum, so nothing but GPIO.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I considered using GPIOTE+PPI+TIMER but I have one question.. I need to have a callback function to process the delay data as it comes in. Would something like this work?&lt;/p&gt;
&lt;p&gt;GPIOTE-&amp;gt;PPI------------&amp;gt;capture 16MHz timer&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|----fork-----&amp;gt;EGU--&amp;gt;callback function&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476759?ContentTypeID=1</link><pubDate>Wed, 03 Apr 2024 07:36:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5df392c3-64d9-4b68-80de-0cb7e6ccd249</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I did some more digging and I have some ideas here. The answer will likely be that you use PPI and a timer to measure this instead of the CPU.&lt;/p&gt;
&lt;p&gt;But first two questions: &lt;br /&gt;What is the lowest delay between two GPIO signals that you can get?&lt;br /&gt;Will you use BLE at the same time?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476684?ContentTypeID=1</link><pubDate>Tue, 02 Apr 2024 17:45:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9c0e212-1cab-44de-860f-c3917fec846f</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;Not sure if the video I posted went through. Here are some screenshots.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. main() with HFCLK code added&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/pastedimage1712079692328v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2. Terminal output without RTTviewer attached&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/pastedimage1712079819923v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;3. Terminal output with RTTviewer attached (same session, no MCU restart)&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/pastedimage1712079900737v3.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476682?ContentTypeID=1</link><pubDate>Tue, 02 Apr 2024 17:39:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b834ea4-952e-474d-abab-57d5aeebcb04</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;Thanks, Sigurd.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I gave your suggestion a try, and set the registers for turning on the HFCLK at the beginning of my program. The below recording shows how I placed the register settings at the top of my program, wait for the register to be set, then test it with/without RTTviewer connected.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think this was a good idea.. maybe the HFCLK was getting unset even though I set it? I&amp;#39;ll keep playing with it.&lt;/p&gt;
&lt;p&gt;Do you have any other ideas? This is a showstopper for us.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Screen-Recording-2024_2D00_04_2D00_02-at-10.33.26_2F20_AM.mov"&gt;devzone.nordicsemi.com/.../Screen-Recording-2024_2D00_04_2D00_02-at-10.33.26_2F20_AM.mov&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476572?ContentTypeID=1</link><pubDate>Tue, 02 Apr 2024 12:37:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:098ed888-402d-451f-8b2a-ad8d7a3d57d3</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Debugging and RTT forces&amp;nbsp; HFCLK to be set.&lt;br /&gt;See &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/108227/spis-last-byte-missing-if-jtag-rtt-disabled-otherwise-ok"&gt;SPIS: last byte missing if JTAG RTT disabled, otherwise ok&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Could this be the cause of your problem?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476360?ContentTypeID=1</link><pubDate>Fri, 29 Mar 2024 16:29:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0fd560c-b4b8-4e57-bf10-b0f149054cf5</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;Just to add some more explanation to the histograms above:&lt;/p&gt;
&lt;p&gt;I&amp;#39;m expecting two distinct frequencies (and therefore, periods) from my digital FSK signal. So by measuring the time_diff I&amp;#39;m able to measure the period between oscillations and decide which frequency it belongs to. If I take many time_diff (period) readings and plot them on a histogram, I should see two very distinct periods begin to emerge. The more clear these two periods are the better, as the algorithm would be able to place each time_diff reading in the correct category easier. I get a really good histogram when I attach the RTTviewer, as shown in the second histogram. However, in the first histogram the periods are more scattered about and less consistent. This leads to inconsistent behavior of the algorithm, especially down the line when it uses the demodulated FSK data to make more decisions.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This could probably be handled in software by just fiddling with the quantization parameters. However, there are more problems still down the line when it comes to the timing of flipping between the two frequencies that I don&amp;#39;t know would be fixed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Attaching RTTviewer significantly changes interrupt characteristics</title><link>https://devzone.nordicsemi.com/thread/476317?ContentTypeID=1</link><pubDate>Thu, 28 Mar 2024 20:15:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d05a9172-7309-4934-bec3-e0ff22ef7704</guid><dc:creator>Nathan45</dc:creator><description>&lt;p&gt;This ticket somewhat reminds me of the issue I&amp;#39;m having, insofar as the application only works as expected with RTT connected. I can do something very similar to the video in this ticket with my application (but not with the mouse/ble. Just print statements doing/not doing expected results)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/75648/ble-stumbles-without-rtt-viewer"&gt;BLE stumbles without RTT Viewer.&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Nathan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>