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.
[](https://github.com/khoih-prog/TimerInterrupt)
9
+
[](https://github.com/khoih-prog/TimerInterrupt/fork)
8
10
9
11
---
10
12
---
@@ -42,7 +44,8 @@ The catch is your function is now part of an ISR (Interrupt Service Routine), an
42
44
---
43
45
44
46
## Prerequisite
45
-
1.[`Arduino IDE 1.8.12+` for Arduino](https://www.arduino.cc/en/Main/Software)
47
+
48
+
1.[`Arduino IDE 1.8.13+` for Arduino](https://www.arduino.cc/en/Main/Software)
46
49
2.[`Arduino AVR core 1.8.3+`](https://github.com/arduino/ArduinoCore-avr) for Arduino AVR boards. Use Arduino Board Manager to install.
47
50
3.[`Teensy core 1.53+`](https://www.pjrc.com/teensy/td_download.html) for Teensy (3.1, 3.0, LC, 2.0) boards.
48
51
@@ -52,22 +55,23 @@ The catch is your function is now part of an ISR (Interrupt Service Routine), an
52
55
## Installation
53
56
54
57
### Use Arduino Library Manager
55
-
The best and easiest way is to use `Arduino Library Manager`. Search for `TimerInterrupt`, then select / install the latest version.
58
+
The best and easiest way is to use `Arduino Library Manager`. Search for [**TimerInterrupt**](https://github.com/khoih-prog/TimerInterrupt), then select / install the latest version.
56
59
You can also use this link [](https://www.ardu-badge.com/TimerInterrupt) for more detailed instructions.
57
60
58
61
### Manual Install
59
62
60
63
Another way to install is to:
61
64
62
-
1. Navigate to [TimerInterrupt](https://github.com/khoih-prog/TimerInterrupt) page.
65
+
1. Navigate to [**TimerInterrupt**](https://github.com/khoih-prog/TimerInterrupt) page.
63
66
2. Download the latest release `TimerInterrupt-master.zip`.
64
67
3. Extract the zip file to `TimerInterrupt-master` directory
65
68
4. Copy whole `TimerInterrupt-master` folder to Arduino libraries' directory such as `~/Arduino/libraries/`.
3. Install **TimerInterrupt** library by using [Library Manager](https://docs.platformio.org/en/latest/librarymanager/). Search for TimerInterrupt in [Platform.io Author's Libraries](https://platformio.org/lib/search?query=author:%22Khoi%20Hoang%22)
74
+
3. Install [**TimerInterrupt** library](https://platformio.org/lib/show/6857/TimerInterrupt) by using [Library Manager](https://platformio.org/lib/show/6857/TimerInterrupt/installation). Search for TimerInterrupt in [Platform.io Author's Libraries](https://platformio.org/lib/search?query=author:%22Khoi%20Hoang%22)
71
75
4. Use included [platformio.ini](platformio/platformio.ini) file from examples to ensure that all dependent libraries will installed automatically. Please visit documentation for the other options and examples at [Project Configuration File](https://docs.platformio.org/page/projectconf.html)
72
76
73
77
---
@@ -322,8 +326,38 @@ void loop()
322
326
}
323
327
```
324
328
329
+
---
330
+
---
331
+
332
+
## Release v1.0.2
333
+
334
+
Now with these new **16 ISR-based timers**, the maximum interval is **practically unlimited** (limited only by unsigned long miliseconds)
335
+
**The accuracy is nearly perfect** compared to software timers. The most important feature is they're ISR-based timers
336
+
Therefore, their executions are **not blocked by bad-behaving functions / tasks**. This important feature is absolutely necessary for mission-critical tasks.
337
+
338
+
The [**ISR_Timer_Complex**](examples/ISR_Timer_Complex) example will demonstrate the nearly perfect accuracy compared to software timers by printing the actual elapsed millisecs of each type of timers.
339
+
Being ISR-based timers, their executions are not blocked by bad-behaving functions / tasks, such as connecting to WiFi, Internet and Blynk services. You can also have many `(up to 16)` timers to use.
340
+
341
+
This non-being-blocked important feature is absolutely necessary for mission-critical tasks.
342
+
343
+
You'll see blynkTimer Software is blocked while system is connecting to WiFi / Internet / Blynk, as well as by blocking task
344
+
in loop(), using delay() function as an example. The elapsed time then is very unaccurate
345
+
325
346
---
326
347
348
+
## Supported Arduino Boards
349
+
350
+
- Arduino Uno / Mega / Leonardo / Duemilanove / Diecimila / LilyPad / Mini / Fio / Nano etc.
"description": "Library for Arduino built-in Hardware Timers",
5
+
"description": "This library enables you to use Interrupt from Hardware Timers on an Arduino, such as Nano, UNO, Mega, Teensy, etc. 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.",
Copy file name to clipboardExpand all lines: library.properties
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ author=Khoi Hoang
4
4
maintainer=Khoi Hoang
5
5
license=MIT
6
6
maintainer=Khoi Hoang <khoih.prog@gmail.com>
7
-
sentence=This library enables you to use Interrupt from Hardware Timers on an Arduino, such as Nano, UNO, Mega, etc.
7
+
sentence=This library enables you to use Interrupt from Hardware Timers on an Arduino, such as Nano, UNO, Mega, Teensy, etc.
8
8
paragraph=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.
9
9
category=Timing Control Device Time Timer Interrupt avr teensy
0 commit comments