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

Commit 76a80c0

Browse files
authored
v1.4.0 to fix compiler errors
### Releases v1.4.0 1. Fix compiler errors due to conflict to some libraries. 2. Add complex examples.
1 parent e13349d commit 76a80c0

29 files changed

+1278
-152
lines changed

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
1414

1515
Please ensure to specify the following:
1616

17-
* Arduino IDE version (e.g. 1.8.13) or Platform.io version
17+
* Arduino IDE version (e.g. 1.8.15) or Platform.io version
1818
* `ESP8266` Core Version (e.g. ESP8266 core v3.0.0)
1919
* Contextual information (e.g. what you were trying to achieve)
2020
* Simplest possible steps to reproduce
@@ -26,7 +26,7 @@ Please ensure to specify the following:
2626
### Example
2727

2828
```
29-
Arduino IDE version: v1.8.13
29+
Arduino IDE version: v1.8.15
3030
ESP8266 Core Version v3.0.0
3131
ESP8266_NODEMCU
3232
OS: Ubuntu 20.04 LTS

README.md

Lines changed: 247 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* [Currently supported Boards](#currently-supported-boards)
1818
* [Important Notes about ISR](#important-notes-about-isr)
1919
* [Changelog](#changelog)
20+
* [Releases v1.4.0](#releases-v140)
2021
* [Releases v1.3.0](#releases-v130)
2122
* [Releases v1.2.0](#releases-v120)
2223
* [Releases v1.1.1](#releases-v111)
@@ -46,11 +47,15 @@
4647
* [ 9. RPM_Measure](examples/RPM_Measure)
4748
* [ 10. SwitchDebounce](examples/SwitchDebounce)
4849
* [ 11. TimerInterruptTest](examples/TimerInterruptTest)
50+
* [ 12. ISR_16_Timers_Array](examples/ISR_16_Timers_Array) **New**
51+
* [ 13. ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) **New**
4952
* [Example ISR_Timer_Complex](#example-isr_timer_complex)
5053
* [Debug Terminal Output Samples](#debug-terminal-output-samples)
5154
* [1. ISR_Timer_Complex on ESP8266_NODEMCU_ESP12E](#1-isr_timer_complex-on-esp8266_nodemcu_esp12e)
5255
* [2. TimerInterruptTest on ESP8266_NODEMCU_ESP12E](#2-timerinterrupttest-on-esp8266_nodemcu_esp12e)
5356
* [3. Change_Interval on ESP8266_NODEMCU_ESP12E](#3-change_interval-on-esp8266_nodemcu_esp12e)
57+
* [4. ISR_16_Timers_Array on ESP8266_NODEMCU_ESP12E](#4-isr_16_timers_array-on-esp8266_nodemcu_esp12e)
58+
* [5. ISR_16_Timers_Array_Complex on ESP8266_NODEMCU_ESP12E](#5-isr_16_timers_array_complex-on-esp8266_nodemcu_esp12e)
5459
* [Debug](#debug)
5560
* [Troubleshooting](#troubleshooting)
5661
* [Releases](#releases)
@@ -124,6 +129,11 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
124129

125130
## Changelog
126131

132+
### Releases v1.4.0
133+
134+
1. Fix compiler errors due to conflict to some libraries.
135+
2. Add complex examples.
136+
127137
### Releases v1.3.0
128138

129139
1. Update to match new ESP8266 core v3.0.0
@@ -162,7 +172,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
162172

163173
## Prerequisites
164174

165-
1. [`Arduino IDE 1.8.13+`](https://www.arduino.cc/en/Main/Software)
175+
1. [`Arduino IDE 1.8.15+`](https://www.arduino.cc/en/Main/Software)
166176
2. [`ESP8266 Core 3.0.0+`](https://github.com/esp8266/Arduino) for ESP8266-based boards. [![Latest release](https://img.shields.io/github/release/esp8266/Arduino.svg)](https://github.com/esp8266/Arduino/releases/latest/). To use ESP8266 core 2.7.1+ for LittleFS.
167177
3. [`Blynk_WM library v1.5.0+`](https://github.com/khoih-prog/Blynk_WM) to use with some examples. To install. check [![arduino-library-badge](https://www.ardu-badge.com/badge/Blynk_WiFiManager.svg?)](https://www.ardu-badge.com/Blynk_WiFiManager)
168178

@@ -280,7 +290,9 @@ You'll see blynkTimer Software is blocked while system is connecting to WiFi / I
280290
8. [RPM_Measure](examples/RPM_Measure)
281291
9. [SwitchDebounce](examples/SwitchDebounce)
282292
10. [TimerInterruptTest](examples/TimerInterruptTest)
283-
11. [**Change_Interval**](examples/Change_Interval). New.
293+
11. [Change_Interval](examples/Change_Interval).
294+
12. [**ISR_16_Timers_Array**](examples/ISR_16_Timers_Array) **New**
295+
13. [**ISR_16_Timers_Array_Complex**](examples/ISR_16_Timers_Array_Complex) **New**
284296

285297
---
286298
---
@@ -516,7 +528,7 @@ While software timer, **programmed for 2s, is activated after 4.258s !!!**
516528

517529
```
518530
Starting ISR_Timer_Complex on ESP8266_NODEMCU_ESP12E
519-
ESP8266TimerInterrupt v1.3.0
531+
ESP8266TimerInterrupt v1.4.0
520532
CPU Frequency = 160 MHz
521533
ESP8266TimerInterrupt: _fre = 312500.00, _count = 15625
522534
Starting ITimer OK, millis() = 64
@@ -564,7 +576,7 @@ The following is the sample terminal output when running example [TimerInterrupt
564576

565577
```
566578
Starting TimerInterruptTest on ESP8266_NODEMCU_ESP12E
567-
ESP8266TimerInterrupt v1.3.0
579+
ESP8266TimerInterrupt v1.4.0
568580
CPU Frequency = 160 MHz
569581
ESP8266TimerInterrupt: _fre = 312500.00, _count = 312500
570582
Starting ITimer OK, millis() = 262
@@ -596,7 +608,7 @@ The following is the sample terminal output when running example [Change_Interva
596608

597609
```
598610
Starting Change_Interval on ESP8266_NODEMCU_ESP12E
599-
ESP8266TimerInterrupt v1.3.0
611+
ESP8266TimerInterrupt v1.4.0
600612
CPU Frequency = 160 MHz
601613
Starting ITimer OK, millis() = 162
602614
Time = 10001, TimerCount = 19
@@ -627,6 +639,229 @@ Time = 170017, TimerCount = 259
627639
Time = 180018, TimerCount = 279
628640
```
629641

642+
---
643+
644+
### 4. ISR_16_Timers_Array on ESP8266_NODEMCU_ESP12E
645+
646+
The following is the sample terminal output when running example [ISR_16_Timers_Array](examples/ISR_16_Timers_Array) on **ESP8266_NODEMCU_ESP12E** to demonstrate of ISR Hardware Timer, especially when system is very busy or blocked. The 16 independent ISR timers are programmed to be activated repetitively after certain intervals, is activated exactly after that programmed interval !!!
647+
648+
```
649+
Starting ISR_16_Timers_Array on ESP8266_NODEMCU_ESP12E
650+
ESP8266TimerInterrupt v1.4.0
651+
CPU Frequency = 160 MHz
652+
Starting ITimer OK, millis() = 175
653+
1s: Delta ms = 1003, ms = 1178
654+
1s: Delta ms = 999, ms = 2177
655+
2s: Delta ms = 2002, ms = 2177
656+
1s: Delta ms = 1000, ms = 3177
657+
3s: Delta ms = 3002, ms = 3177
658+
1s: Delta ms = 1000, ms = 4177
659+
2s: Delta ms = 2000, ms = 4177
660+
4s: Delta ms = 4002, ms = 4177
661+
1s: Delta ms = 1000, ms = 5177
662+
5s: Delta ms = 5002, ms = 5177
663+
1s: Delta ms = 1000, ms = 6177
664+
2s: Delta ms = 2001, ms = 6178
665+
3s: Delta ms = 3001, ms = 6178
666+
6s: Delta ms = 6003, ms = 6178
667+
1s: Delta ms = 1000, ms = 7177
668+
7s: Delta ms = 7002, ms = 7177
669+
1s: Delta ms = 1000, ms = 8177
670+
2s: Delta ms = 1999, ms = 8177
671+
4s: Delta ms = 4000, ms = 8177
672+
8s: Delta ms = 8002, ms = 8177
673+
1s: Delta ms = 1000, ms = 9177
674+
3s: Delta ms = 2999, ms = 9177
675+
9s: Delta ms = 9002, ms = 9177
676+
simpleTimerDoingSomething2s: Delta programmed ms = 2000, actual = 10002
677+
1s: Delta ms = 1000, ms = 10177
678+
2s: Delta ms = 2000, ms = 10177
679+
5s: Delta ms = 5001, ms = 10178
680+
10s: Delta ms = 10006, ms = 10181
681+
1s: Delta ms = 1000, ms = 11177
682+
11s: Delta ms = 11003, ms = 11178
683+
1s: Delta ms = 1000, ms = 12177
684+
2s: Delta ms = 2000, ms = 12177
685+
3s: Delta ms = 3000, ms = 12177
686+
4s: Delta ms = 4000, ms = 12177
687+
6s: Delta ms = 5999, ms = 12177
688+
12s: Delta ms = 12005, ms = 12180
689+
1s: Delta ms = 1000, ms = 13177
690+
13s: Delta ms = 13002, ms = 13177
691+
1s: Delta ms = 1000, ms = 14177
692+
2s: Delta ms = 2000, ms = 14177
693+
7s: Delta ms = 7000, ms = 14177
694+
14s: Delta ms = 14002, ms = 14177
695+
1s: Delta ms = 1000, ms = 15177
696+
3s: Delta ms = 3000, ms = 15177
697+
5s: Delta ms = 4999, ms = 15177
698+
15s: Delta ms = 15002, ms = 15177
699+
1s: Delta ms = 1000, ms = 16177
700+
2s: Delta ms = 2000, ms = 16177
701+
4s: Delta ms = 4001, ms = 16178
702+
8s: Delta ms = 8001, ms = 16178
703+
16s: Delta ms = 16003, ms = 16178
704+
1s: Delta ms = 1000, ms = 17177
705+
1s: Delta ms = 1000, ms = 18177
706+
2s: Delta ms = 2000, ms = 18177
707+
3s: Delta ms = 3000, ms = 18177
708+
6s: Delta ms = 6000, ms = 18177
709+
9s: Delta ms = 9001, ms = 18178
710+
1s: Delta ms = 1000, ms = 19177
711+
simpleTimerDoingSomething2s: Delta programmed ms = 2000, actual = 10000
712+
```
713+
714+
---
715+
716+
### 5. ISR_16_Timers_Array_Complex on ESP8266_NODEMCU_ESP12E
717+
718+
The following is the sample terminal output when running example [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) on **ESP8266_NODEMCU_ESP12E** to demonstrate of ISR Hardware Timer, especially when system is very busy or blocked. The 16 independent ISR timers are programmed to be activated repetitively after certain intervals, is activated exactly after that programmed interval !!!
719+
720+
721+
```
722+
Starting ISR_16_Timers_Array_Complex on ESP8266_NODEMCU_ESP12E
723+
ESP8266TimerInterrupt v1.4.0
724+
CPU Frequency = 160 MHz
725+
Starting ITimer OK, millis() = 177
726+
SimpleTimer : 2, ms : 10179, Dms : 10000
727+
Timer : 0, programmed : 5000, actual : 5008
728+
Timer : 1, programmed : 10000, actual : 0
729+
Timer : 2, programmed : 15000, actual : 0
730+
Timer : 3, programmed : 20000, actual : 0
731+
Timer : 4, programmed : 25000, actual : 0
732+
Timer : 5, programmed : 30000, actual : 0
733+
Timer : 6, programmed : 35000, actual : 0
734+
Timer : 7, programmed : 40000, actual : 0
735+
Timer : 8, programmed : 45000, actual : 0
736+
Timer : 9, programmed : 50000, actual : 0
737+
Timer : 10, programmed : 55000, actual : 0
738+
Timer : 11, programmed : 60000, actual : 0
739+
Timer : 12, programmed : 65000, actual : 0
740+
Timer : 13, programmed : 70000, actual : 0
741+
Timer : 14, programmed : 75000, actual : 0
742+
Timer : 15, programmed : 80000, actual : 0
743+
SimpleTimer : 2, ms : 20232, Dms : 10053
744+
Timer : 0, programmed : 5000, actual : 5000
745+
Timer : 1, programmed : 10000, actual : 10000
746+
Timer : 2, programmed : 15000, actual : 15008
747+
Timer : 3, programmed : 20000, actual : 20008
748+
Timer : 4, programmed : 25000, actual : 0
749+
Timer : 5, programmed : 30000, actual : 0
750+
Timer : 6, programmed : 35000, actual : 0
751+
Timer : 7, programmed : 40000, actual : 0
752+
Timer : 8, programmed : 45000, actual : 0
753+
Timer : 9, programmed : 50000, actual : 0
754+
Timer : 10, programmed : 55000, actual : 0
755+
Timer : 11, programmed : 60000, actual : 0
756+
Timer : 12, programmed : 65000, actual : 0
757+
Timer : 13, programmed : 70000, actual : 0
758+
Timer : 14, programmed : 75000, actual : 0
759+
Timer : 15, programmed : 80000, actual : 0
760+
SimpleTimer : 2, ms : 30286, Dms : 10054
761+
Timer : 0, programmed : 5000, actual : 5000
762+
Timer : 1, programmed : 10000, actual : 10000
763+
Timer : 2, programmed : 15000, actual : 15000
764+
Timer : 3, programmed : 20000, actual : 20008
765+
Timer : 4, programmed : 25000, actual : 25008
766+
Timer : 5, programmed : 30000, actual : 30008
767+
Timer : 6, programmed : 35000, actual : 0
768+
Timer : 7, programmed : 40000, actual : 0
769+
Timer : 8, programmed : 45000, actual : 0
770+
Timer : 9, programmed : 50000, actual : 0
771+
Timer : 10, programmed : 55000, actual : 0
772+
Timer : 11, programmed : 60000, actual : 0
773+
Timer : 12, programmed : 65000, actual : 0
774+
Timer : 13, programmed : 70000, actual : 0
775+
Timer : 14, programmed : 75000, actual : 0
776+
Timer : 15, programmed : 80000, actual : 0
777+
SimpleTimer : 2, ms : 40341, Dms : 10055
778+
Timer : 0, programmed : 5000, actual : 5000
779+
Timer : 1, programmed : 10000, actual : 10000
780+
Timer : 2, programmed : 15000, actual : 15000
781+
Timer : 3, programmed : 20000, actual : 20000
782+
Timer : 4, programmed : 25000, actual : 25008
783+
Timer : 5, programmed : 30000, actual : 30008
784+
Timer : 6, programmed : 35000, actual : 35008
785+
Timer : 7, programmed : 40000, actual : 40008
786+
Timer : 8, programmed : 45000, actual : 0
787+
Timer : 9, programmed : 50000, actual : 0
788+
Timer : 10, programmed : 55000, actual : 0
789+
Timer : 11, programmed : 60000, actual : 0
790+
Timer : 12, programmed : 65000, actual : 0
791+
Timer : 13, programmed : 70000, actual : 0
792+
Timer : 14, programmed : 75000, actual : 0
793+
Timer : 15, programmed : 80000, actual : 0
794+
SimpleTimer : 2, ms : 50396, Dms : 10055
795+
Timer : 0, programmed : 5000, actual : 5000
796+
Timer : 1, programmed : 10000, actual : 10000
797+
Timer : 2, programmed : 15000, actual : 15000
798+
Timer : 3, programmed : 20000, actual : 20000
799+
Timer : 4, programmed : 25000, actual : 25000
800+
Timer : 5, programmed : 30000, actual : 30008
801+
Timer : 6, programmed : 35000, actual : 35008
802+
Timer : 7, programmed : 40000, actual : 40008
803+
Timer : 8, programmed : 45000, actual : 45008
804+
Timer : 9, programmed : 50000, actual : 50008
805+
Timer : 10, programmed : 55000, actual : 0
806+
Timer : 11, programmed : 60000, actual : 0
807+
Timer : 12, programmed : 65000, actual : 0
808+
Timer : 13, programmed : 70000, actual : 0
809+
Timer : 14, programmed : 75000, actual : 0
810+
Timer : 15, programmed : 80000, actual : 0
811+
SimpleTimer : 2, ms : 60452, Dms : 10056
812+
Timer : 0, programmed : 5000, actual : 5000
813+
Timer : 1, programmed : 10000, actual : 10000
814+
Timer : 2, programmed : 15000, actual : 15000
815+
Timer : 3, programmed : 20000, actual : 20000
816+
Timer : 4, programmed : 25000, actual : 25000
817+
Timer : 5, programmed : 30000, actual : 30000
818+
Timer : 6, programmed : 35000, actual : 35008
819+
Timer : 7, programmed : 40000, actual : 40008
820+
Timer : 8, programmed : 45000, actual : 45008
821+
Timer : 9, programmed : 50000, actual : 50008
822+
Timer : 10, programmed : 55000, actual : 55008
823+
Timer : 11, programmed : 60000, actual : 60008
824+
Timer : 12, programmed : 65000, actual : 0
825+
Timer : 13, programmed : 70000, actual : 0
826+
Timer : 14, programmed : 75000, actual : 0
827+
Timer : 15, programmed : 80000, actual : 0
828+
SimpleTimer : 2, ms : 70509, Dms : 10057
829+
Timer : 0, programmed : 5000, actual : 5000
830+
Timer : 1, programmed : 10000, actual : 10000
831+
Timer : 2, programmed : 15000, actual : 15000
832+
Timer : 3, programmed : 20000, actual : 20000
833+
Timer : 4, programmed : 25000, actual : 25000
834+
Timer : 5, programmed : 30000, actual : 30000
835+
Timer : 6, programmed : 35000, actual : 35000
836+
Timer : 7, programmed : 40000, actual : 40008
837+
Timer : 8, programmed : 45000, actual : 45008
838+
Timer : 9, programmed : 50000, actual : 50008
839+
Timer : 10, programmed : 55000, actual : 55008
840+
Timer : 11, programmed : 60000, actual : 60008
841+
Timer : 12, programmed : 65000, actual : 65008
842+
Timer : 13, programmed : 70000, actual : 70008
843+
Timer : 14, programmed : 75000, actual : 0
844+
Timer : 15, programmed : 80000, actual : 0
845+
SimpleTimer : 2, ms : 80566, Dms : 10057
846+
Timer : 0, programmed : 5000, actual : 5000
847+
Timer : 1, programmed : 10000, actual : 10000
848+
Timer : 2, programmed : 15000, actual : 15000
849+
Timer : 3, programmed : 20000, actual : 20000
850+
Timer : 4, programmed : 25000, actual : 25000
851+
Timer : 5, programmed : 30000, actual : 30000
852+
Timer : 6, programmed : 35000, actual : 35000
853+
Timer : 7, programmed : 40000, actual : 40000
854+
Timer : 8, programmed : 45000, actual : 45008
855+
Timer : 9, programmed : 50000, actual : 50008
856+
Timer : 10, programmed : 55000, actual : 55008
857+
Timer : 11, programmed : 60000, actual : 60008
858+
Timer : 12, programmed : 65000, actual : 65008
859+
Timer : 13, programmed : 70000, actual : 70008
860+
Timer : 14, programmed : 75000, actual : 75008
861+
Timer : 15, programmed : 80000, actual : 80008
862+
863+
```
864+
630865
---
631866
---
632867

@@ -657,6 +892,11 @@ Sometimes, the library will only work if you update the board core to the latest
657892

658893
## Releases
659894

895+
### Releases v1.4.0
896+
897+
1. Fix compiler errors due to conflict to some libraries.
898+
2. Add complex examples.
899+
660900
### Releases v1.3.0
661901

662902
1. Update to match new ESP8266 core v3.0.0
@@ -722,6 +962,8 @@ Submit issues to: [ESP8266TimerInterrupt issues](https://github.com/khoih-prog/E
722962
3. Longer time interval
723963
4. Similar features for remaining Arduino boards such as AVR, Teensy, SAMD21, SAMD51, SAM-DUE, nRF52, ESP32, STM32, etc.
724964
5. Update to match new ESP8266 core v3.0.0
965+
6. Fix compiler errors due to conflict to some libraries.
966+
7. Add complex examples.
725967

726968
---
727969
---

examples/Argument_None/Argument_None.ino

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
Based on BlynkTimer.h
2424
Author: Volodymyr Shymanskyy
2525
26-
Version: 1.3.0
26+
Version: 1.4.0
2727
2828
Version Modified By Date Comments
2929
------- ----------- ---------- -----------
@@ -35,6 +35,7 @@
3535
1.1.1 K.Hoang 06/12/2020 Add Version String and Change_Interval example to show how to change TimerInterval
3636
1.2.0 K.Hoang 08/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
3737
1.3.0 K.Hoang 18/05/2021 Update to match new ESP8266 core v3.0.0
38+
1.4.0 K.Hoang 01/06/2021 Add complex examples. Fix compiler errors due to conflict to some libraries.
3839
*****************************************************************************************************************************/
3940

4041
/* Notes:

examples/Change_Interval/Change_Interval.ino

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
Based on BlynkTimer.h
2424
Author: Volodymyr Shymanskyy
2525
26-
Version: 1.3.0
26+
Version: 1.4.0
2727
2828
Version Modified By Date Comments
2929
------- ----------- ---------- -----------
@@ -35,6 +35,7 @@
3535
1.1.1 K.Hoang 06/12/2020 Add Version String and Change_Interval example to show how to change TimerInterval
3636
1.2.0 K.Hoang 08/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
3737
1.3.0 K.Hoang 18/05/2021 Update to match new ESP8266 core v3.0.0
38+
1.4.0 K.Hoang 01/06/2021 Add complex examples. Fix compiler errors due to conflict to some libraries.
3839
*****************************************************************************************************************************/
3940

4041
/*

0 commit comments

Comments
 (0)