Skip to content
This repository was archived by the owner on Jan 29, 2023. It is now read-only.

Commit 8cf210f

Browse files
authored
Update
1 parent c410d63 commit 8cf210f

File tree

3 files changed

+63
-7
lines changed

3 files changed

+63
-7
lines changed

README.md

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/khoih-prog/TimerInterrupt/blob/master/LICENSE)
66
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](#Contributing)
77
[![GitHub issues](https://img.shields.io/github/issues/khoih-prog/TimerInterrupt.svg)](http://github.com/khoih-prog/TimerInterrupt/issues)
8+
[![star this repo](https://githubbadges.com/star.svg?user=khoih-prog&repo=TimerInterrupt)](https://github.com/khoih-prog/TimerInterrupt)
9+
[![fork this repo](https://githubbadges.com/fork.svg?user=khoih-prog&repo=TimerInterrupt)](https://github.com/khoih-prog/TimerInterrupt/fork)
810

911
---
1012
---
@@ -42,7 +44,8 @@ The catch is your function is now part of an ISR (Interrupt Service Routine), an
4244
---
4345

4446
## 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)
4649
2. [`Arduino AVR core 1.8.3+`](https://github.com/arduino/ArduinoCore-avr) for Arduino AVR boards. Use Arduino Board Manager to install.
4750
3. [`Teensy core 1.53+`](https://www.pjrc.com/teensy/td_download.html) for Teensy (3.1, 3.0, LC, 2.0) boards.
4851

@@ -52,22 +55,23 @@ The catch is your function is now part of an ISR (Interrupt Service Routine), an
5255
## Installation
5356

5457
### 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.
5659
You can also use this link [![arduino-library-badge](https://www.ardu-badge.com/badge/TimerInterrupt.svg?)](https://www.ardu-badge.com/TimerInterrupt) for more detailed instructions.
5760

5861
### Manual Install
5962

6063
Another way to install is to:
6164

62-
1. Navigate to [TimerInterrupt](https://github.com/khoih-prog/TimerInterrupt) page.
65+
1. Navigate to [**TimerInterrupt**](https://github.com/khoih-prog/TimerInterrupt) page.
6366
2. Download the latest release `TimerInterrupt-master.zip`.
6467
3. Extract the zip file to `TimerInterrupt-master` directory
6568
4. Copy whole `TimerInterrupt-master` folder to Arduino libraries' directory such as `~/Arduino/libraries/`.
6669

6770
### VS Code & PlatformIO:
71+
6872
1. Install [VS Code](https://code.visualstudio.com/)
6973
2. Install [PlatformIO](https://platformio.org/platformio-ide)
70-
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)
7175
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)
7276

7377
---
@@ -322,8 +326,38 @@ void loop()
322326
}
323327
```
324328
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+
325346
---
326347
348+
## Supported Arduino Boards
349+
350+
- Arduino Uno / Mega / Leonardo / Duemilanove / Diecimila / LilyPad / Mini / Fio / Nano etc.
351+
- Teensy 1.0 / 1.0++ / 2.0 / 2++ / 3.0 / 3.1 / Teensy-LC;
352+
- Sanguino
353+
- ATmega8, 48, 88, 168, 328
354+
- ATmega8535, 16, 32, 164, 324, 644, 1284,
355+
- ATmega64, 128
356+
- ATtiny 84 / 85
357+
358+
---
359+
360+
327361
## TO DO
328362
329363
1. Search for bug and improvement.
@@ -359,5 +393,11 @@ If you want to contribute to this project:
359393
360394
---
361395
396+
### License and credits ###
397+
398+
- The library is licensed under [MIT](https://github.com/khoih-prog/TimerInterrupt/blob/master/LICENSE)
399+
400+
---
401+
362402
## Copyright
363403
Copyright 2019- Khoi Hoang

library.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
11
{
22
"name": "TimerInterrupt",
3+
"version": "1.0.2",
34
"keywords": "timer,interrupt,hardware",
4-
"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.",
6+
"authors":
7+
{
8+
"name": "Khoi Hoang",
9+
"url": "https://github.com/khoih-prog",
10+
"maintainer": true
11+
},
512
"repository":
613
{
714
"type": "git",
815
"url": "//https://github.com/khoih-prog/TimerInterrupt"
916
},
17+
"homepage": "https://github.com/khoih-prog/TimerInterrupt",
18+
"export": {
19+
"exclude": [
20+
"linux",
21+
"extras",
22+
"tests"
23+
]
24+
},
1025
"frameworks": "arduino",
1126
"platforms":
1227
[
1328
"atmelavr",
1429
"teensy"
15-
]
30+
],
31+
"examples": "examples/*/*/*.ino"
1632
}

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author=Khoi Hoang
44
maintainer=Khoi Hoang
55
license=MIT
66
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.
88
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.
99
category=Timing Control Device Time Timer Interrupt avr teensy
1010
url=https://github.com/khoih-prog/TimerInterrupt

0 commit comments

Comments
 (0)