You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 29, 2023. It is now read-only.
### Releases v1.3.0
1. Fix affecting time between the starts. Check [Enable fixed timing between timer calls (vs fixed time btw. end of timer call and next call as implemented) #3](#3)
<ahref="https://www.buymeacoffee.com/khoihprog6"target="_blank"><imgsrc="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"alt="Buy Me A Coffee"style="height: 50px!important;width: 181px!important;" ></a>
9
+
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"alt="Donate to my libraries using BuyMeACoffee"style="height: 50px!important;width: 181px!important;" ></a>
10
+
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-orange.svg?logo=buy-me-a-coffee&logoColor=FFDD00"style="height: 20px!important;width: 200px!important;" ></a>
10
11
11
12
---
12
13
---
@@ -76,6 +77,8 @@
76
77
77
78
Please have a look at [HOWTO Fix `Multiple Definitions` Linker Error](#howto-fix-multiple-definitions-linker-error)
78
79
80
+
---
81
+
79
82
### Why do we need this [RPI_PICO_TimerInterrupt library](https://github.com/khoih-prog/RPI_PICO_TimerInterrupt)
80
83
81
84
## Features
@@ -119,7 +122,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
119
122
120
123
### Currently supported Boards
121
124
122
-
1. RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040, Nano_RP2040_Connect, GENERIC_RP2040**, etc.
125
+
1. RP2040-based boards such as **RASPBERRY_PI_PICO, RASPBERRY_PI_PICO_W, ADAFRUIT_FEATHER_RP2040, Nano_RP2040_Connect, GENERIC_RP2040**, etc., using [`arduino-pico core`](https://github.com/earlephilhower/arduino-pico)
123
126
124
127
---
125
128
@@ -137,7 +140,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
137
140
## Prerequisites
138
141
139
142
1.[`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [](https://github.com/arduino/Arduino/releases/latest)
140
-
2.[`Earle Philhower's arduino-pico core v1.10.0+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [](https://github.com/earlephilhower/arduino-pico/releases/latest)
143
+
2.[`Earle Philhower's arduino-pico core v2.5.4+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [](https://github.com/earlephilhower/arduino-pico/releases/latest)
141
144
3. To use with certain example
142
145
-[`SimpleTimer library`](https://github.com/jfturcot/SimpleTimer) for [ISR_Timers_Array_Simple](examples/ISR_Timers_Array_Simple) and [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) examples.
143
146
@@ -157,15 +160,15 @@ You can also use this link [ page.
160
-
2. Download the latest release `RPI_PICO_TimerInterrupt-master.zip`.
161
-
3. Extract the zip file to `RPI_PICO_TimerInterrupt-master` directory
162
-
4. Copy whole `RPI_PICO_TimerInterrupt-master` folder to Arduino libraries' directory such as `~/Arduino/libraries/`.
163
+
2. Download the latest release `RPI_PICO_TimerInterrupt-main.zip`.
164
+
3. Extract the zip file to `RPI_PICO_TimerInterrupt-main` directory
165
+
4. Copy whole `RPI_PICO_TimerInterrupt-main` folder to Arduino libraries' directory such as `~/Arduino/libraries/`.
3. Install [**RPI_PICO_TimerInterrupt** library](https://platformio.org/lib/show/12177/RPI_PICO_TimerInterrupt) or [**RPI_PICO_TimerInterrupt** library](https://platformio.org/lib/show/12273/RPI_PICO_TimerInterrupt) by using [Library Manager](https://platformio.org/lib/show/12177/RPI_PICO_TimerInterrupt/installation). Search for **RPI_PICO_TimerInterrupt** in [Platform.io Author's Libraries](https://platformio.org/lib/search?query=author:%22Khoi%20Hoang%22)
171
+
3. Install [**RPI_PICO_TimerInterrupt** library](https://registry.platformio.org/libraries/khoih-prog/RPI_PICO_TimerInterrupt) by using [Library Manager](https://registry.platformio.org/libraries/khoih-prog/RPI_PICO_TimerInterrupt/installation). Search for **RPI_PICO_TimerInterrupt** in [Platform.io Author's Libraries](https://platformio.org/lib/search?query=author:%22Khoi%20Hoang%22)
169
172
4. Please visit documentation for the other options and examples at [Project Configuration File](https://docs.platformio.org/page/projectconf.html)
170
173
171
174
@@ -445,152 +448,8 @@ void setup()
445
448
446
449
### Example [ISR_Timers_Array_Simple](examples/ISR_Timers_Array_Simple)
447
450
448
-
```
449
-
// These define's must be placed at the beginning before #include "TimerInterrupt_Generic.h"
450
-
// _TIMERINTERRUPT_LOGLEVEL_ from 0 to 4
451
-
// Don't define _TIMERINTERRUPT_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
452
-
#define TIMER_INTERRUPT_DEBUG 1
453
-
#define _TIMERINTERRUPT_LOGLEVEL_ 4
454
-
455
-
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
456
-
#include "RPi_Pico_TimerInterrupt.h"
457
-
458
-
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
@@ -999,7 +858,7 @@ Submit issues to: [RPI_PICO_TimerInterrupt issues](https://github.com/khoih-prog
999
858
6. Add support to new boards (**ADAFRUIT_ITSYBITSY_RP2040, ADAFRUIT_QTPY_RP2040, ADAFRUIT_STEMMAFRIEND_RP2040, ADAFRUIT_TRINKEYQT_RP2040, ADAFRUIT_MACROPAD_RP2040, SPARKFUN_PROMICRO_RP2040, Nano_RP2040_Connect, etc.**) using the arduino-pico core
1000
859
7. Fix `multiple-definitions` linker error
1001
860
8. Optimize library code by using `reference-passing` instead of `value-passing`
1002
-
861
+
9. Fix severe bug affecting time between the starts. Check [Enable fixed timing between timer calls (vs fixed time btw. end of timer call and next call as implemented) #3](https://github.com/khoih-prog/RPI_PICO_TimerInterrupt/issues/3)
1003
862
1004
863
---
1005
864
---
@@ -1008,6 +867,14 @@ Submit issues to: [RPI_PICO_TimerInterrupt issues](https://github.com/khoih-prog
1008
867
1009
868
Many thanks for everyone for bug reporting, new feature suggesting, testing and contributing to the development of this library.
1010
869
870
+
1.[AndreasOKircher](https://github.com/AndreasOKircher) to report issue [Enable fixed timing between timer calls (vs fixed time btw. end of timer call and next call as implemented) #3](https://github.com/khoih-prog/RPI_PICO_TimerInterrupt/issues/3) leading to version v1.3.0 to fix `severe bug` affecting time between the starts
Copy file name to clipboardExpand all lines: changelog.md
+6
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@
12
12
## Table of Contents
13
13
14
14
*[Changelog](#changelog)
15
+
*[Releases v1.3.0](#releases-v130)
15
16
*[Releases v1.2.0](#releases-v120)
16
17
*[Releases v1.1.1](#releases-v111)
17
18
*[Releases v1.1.0](#releases-v110)
@@ -24,6 +25,11 @@
24
25
25
26
## Changelog
26
27
28
+
### Releases v1.3.0
29
+
30
+
1. Fix severe bug affecting time between the starts. Check [Enable fixed timing between timer calls (vs fixed time btw. end of timer call and next call as implemented) #3](https://github.com/khoih-prog/RPI_PICO_TimerInterrupt/issues/3)
31
+
32
+
27
33
### Releases v1.2.0
28
34
29
35
1. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories
"description": "This library enables you to use Interrupt from Hardware Timers on RP2040-based boards such as RASPBERRY_PI_PICO. It now supports 16 ISR-based timers, while consuming only 1 Hardware Timer. Timers' interval is very long (ulong millisecs). The most important feature is they're ISR-based timers. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware timers, using interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's necessary if you need to measure some data requiring better accuracy.",
0 commit comments