<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									using timebased interrupts with ESP32 - ESP32 &amp; ESP8266				            </title>
            <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/</link>
            <description>Discussion board for Robotics, Arduino, Raspberry Pi and other DIY electronics and modules. Join us today!</description>
            <language>en-US</language>
            <lastBuildDate>Sun, 08 Mar 2026 03:17:51 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37345</link>
                        <pubDate>Sun, 29 Jan 2023 11:16:26 +0000</pubDate>
                        <description><![CDATA[@zander 
This might also be a good option, appearantly there&#039;s a built in pulse counter in the ESP32.
PCNT]]></description>
                        <content:encoded><![CDATA[<p>@zander </p>
<p>This might also be a good option, appearantly there's a built in pulse counter in the ESP32.</p>
<p><a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/pcnt.html" target="_blank" rel="noopener">PCNT</a></p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>ElectricRay1981</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37345</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37343</link>
                        <pubDate>Sat, 28 Jan 2023 23:54:09 +0000</pubDate>
                        <description><![CDATA[@zander 
Heheh yes I like a challange but I know my limitations as well. Assembler is not the way to go for now. Maybe thinking of seperating tasks between the two CPU&#039;s is not a bad idea b...]]></description>
                        <content:encoded><![CDATA[<p>@zander </p>
<p>Heheh yes I like a challange but I know my limitations as well. Assembler is not the way to go for now. Maybe thinking of seperating tasks between the two CPU's is not a bad idea but I still have a lot to learn in C++. So I have to accpet that maybe I wont get immediatly what I want and to keep it fun one should make progress once in a while and decide how to go on and accept the concequences. <br />So I think I go thru your last links there I found some information that might help me to get what I want. From there I can continue with my project. If the end result is not that perfect I will start with Project Rover V2.0 🤣 </p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>ElectricRay1981</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37343</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37342</link>
                        <pubDate>Sat, 28 Jan 2023 23:44:04 +0000</pubDate>
                        <description><![CDATA[@electricray1981 You sound like a fellow not afraid of a challenge, so why not look into using one core for certain tasks, and the other core for other tasks. This way you may be able to get...]]></description>
                        <content:encoded><![CDATA[<p>@electricray1981 You sound like a fellow not afraid of a challenge, so why not look into using one core for certain tasks, and the other core for other tasks. This way you may be able to get a finer resolution with to dropping data. However, be aware that the OS assigns certain functions to specific cores as well, so you might want to take all that into account. Very bleeding edge and of course assembler is really the best choice but if you aren't already trained in that then either forget it or be ready for at least many months of 12 hours a day learning unless you have another low level language that might help you get up to speed faster.</p>
<p>Good luck.</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37342</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37341</link>
                        <pubDate>Sat, 28 Jan 2023 23:38:44 +0000</pubDate>
                        <description><![CDATA[@electricray1981 The maximum timer speed is 80,000,000, this is usually normalized using what is called a scalar of 80 so now the clock is 1,000,000 available interrupts per second, but when...]]></description>
                        <content:encoded><![CDATA[@electricray1981 The maximum timer speed is 80,000,000, this is usually normalized using what is called a scalar of 80 so now the clock is 1,000,000 available interrupts per second, but when initing the code we often use a value of 1,000,000 which means 1 interrupt per second. This is where you can make the interrupts happen more quickly, but keep in mind the processor is only so fast, and you are writing in a high level language so be careful or switch to assembler.]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37341</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37340</link>
                        <pubDate>Sat, 28 Jan 2023 23:29:40 +0000</pubDate>
                        <description><![CDATA[@zander 
Cool thanks for all the information. Yes when I read the article I noticed it whas information about the timer of the esp32 itself. With the MEGA I did what I wanted by reading the...]]></description>
                        <content:encoded><![CDATA[<p>@zander </p>
<p>Cool thanks for all the information. Yes when I read the article I noticed it whas information about the timer of the esp32 itself. <br /><br />With the MEGA I did what I wanted by reading the status of the digtal pin. and stored the current time I did that everytime a pulse was detected placed it in an array and computed the time difference. This was verry accurate and fast. <br />If I do it the way I saw in Bill's video you have only an update of the speed every 1 second. I prefer to have this faster (in one second the rover could have moved a meter easily). So I'm not sure if using the interrupt is the way I should go.<br />Maybe its better by redaing the digital input on rising edges with timestamps , but on the other hand (I thought ....I'm not a specialist) this is all blocking code. If it takes a "long time" to compute the speed and therefore the object detection is not working it could result in dissasters :)</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>ElectricRay1981</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37340</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37339</link>
                        <pubDate>Sat, 28 Jan 2023 23:19:03 +0000</pubDate>
                        <description><![CDATA[@electricray1981 Here are a few more references. It can be confusing and daunting, I never felt I got it right.
First
Best?
High Res
General Purpose]]></description>
                        <content:encoded><![CDATA[<p>@electricray1981 Here are a few more references. It can be confusing and daunting, I never felt I got it right.</p>
<p><a href="https://techtutorialsx.com/2017/10/07/esp32-arduino-timer-interrupts/" target="_blank" rel="noopener">First</a></p>
<p><a href="https://docs.espressif.com/projects/arduino-esp32/en/latest/api/timer.html" target="_blank" rel="noopener">Best?</a></p>
<p><a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/esp_timer.html" target="_blank" rel="noopener">High Res</a></p>
<p><a href="https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/api-reference/peripherals/timer.html#:~:text=The%20ESP32%20chip%20contains%20two,capable%20of%20being%20auto-reloaded." target="_blank" rel="noopener">General Purpose</a></p>
<p> </p>
<p> </p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37339</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37338</link>
                        <pubDate>Sat, 28 Jan 2023 23:08:17 +0000</pubDate>
                        <description><![CDATA[@electricray1981 That isn&#039;t a library, it&#039;s the esp32 docs for timers. You will see a lot of similarity in the function names.
BTW, I am not a fan of constantly attaching and detaching inte...]]></description>
                        <content:encoded><![CDATA[<p>@electricray1981 That isn't a library, it's the esp32 docs for timers. You will see a lot of similarity in the function names.</p>
<p>BTW, I am not a fan of constantly attaching and detaching interrupts, there are functions to stop, pause, start etc.</p>
<p>Also, I will look for the other level of timers for esp boards, I think it's at the OS level. Give me a few.</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37338</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37335</link>
                        <pubDate>Sat, 28 Jan 2023 22:50:43 +0000</pubDate>
                        <description><![CDATA[@zander 
Yes TimeOne.h is only for Arduino so indeed I would need something with the same capabilities, I&#039;ll check you link and see if I can add that lib and make use of it. If it works fin...]]></description>
                        <content:encoded><![CDATA[<p>@zander </p>
<p>Yes TimeOne.h is only for Arduino so indeed I would need something with the same capabilities, I'll check you link and see if I can add that lib and make use of it. <br />If it works fine I could even measure the time between two pulses this would give me very fast and accurate speed readings, thanks!</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>ElectricRay1981</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37335</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37334</link>
                        <pubDate>Sat, 28 Jan 2023 22:46:14 +0000</pubDate>
                        <description><![CDATA[@electricray1981 Have a look at THIS , same functionality I think.]]></description>
                        <content:encoded><![CDATA[@electricray1981 Have a look at <a href="https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/api-reference/peripherals/timer.html#:~:text=The%20ESP32%20chip%20contains%20two,capable%20of%20being%20auto-reloaded." target="_blank" rel="noopener">THIS</a> , same functionality I think.]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37334</guid>
                    </item>
				                    <item>
                        <title>RE: using timebased interrupts with ESP32</title>
                        <link>https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37333</link>
                        <pubDate>Sat, 28 Jan 2023 22:32:34 +0000</pubDate>
                        <description><![CDATA[@electricray1981 I have experimented with timers and interrupts and did not have the best results. the esp32 has the primitives, but you will need to find an equivalent library as the TimerO...]]></description>
                        <content:encoded><![CDATA[@electricray1981 I have experimented with timers and interrupts and did not have the best results. the esp32 has the primitives, but you will need to find an equivalent library as the TimerOne library is only for arduino. This will keep you busy for a while!]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/esp32-esp8266/">ESP32 &amp; ESP8266</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/esp32-esp8266/using-timebased-interrupts-with-esp32/#post-37333</guid>
                    </item>
							        </channel>
        </rss>
		