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

Commit 9303757

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 f8fad74 commit 9303757

35 files changed

+1313
-196
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 3 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
* `ESP32` Core Version (e.g. ESP32 core v1.0.6)
1919
* `ESP32` Board type (e.g. ESP32_DEV Module, ESP32_S2_DEV, etc.)
2020
* Contextual information (e.g. what you were trying to achieve)
@@ -27,11 +27,11 @@ Please ensure to specify the following:
2727
### Example
2828

2929
```
30-
Arduino IDE version: 1.8.13
30+
Arduino IDE version: 1.8.15
3131
ESP32 Core Version 1.0.6
3232
ESP32S2_DEV Module
3333
OS: Ubuntu 20.04 LTS
34-
Linux xy-Inspiron-3593 5.4.0-72-generic #80-Ubuntu SMP Mon Apr 12 17:35:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
34+
Linux xy-Inspiron-3593 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
3535
3636
Context:
3737
I encountered a crash while using ESP32TimerInterrupt.
@@ -42,6 +42,7 @@ Steps to reproduce:
4242
3. ...
4343
4. ...
4444
```
45+
4546
### Sending Feature Requests
4647

4748
Feel free to post feature requests. It's helpful if you can explain exactly why the feature would be useful.

README.md

Lines changed: 194 additions & 6 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)
@@ -64,12 +65,15 @@
6465
* [ 9. RPM_Measure](examples/RPM_Measure)
6566
* [ 10. SwitchDebounce](examples/SwitchDebounce)
6667
* [ 11. TimerInterruptTest](examples/TimerInterruptTest)
68+
* [ 12. ISR_16_Timers_Array](examples/ISR_16_Timers_Array) **New**
69+
* [ 13. ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) **New**
6770
* [Example ISR_Timer_Complex](#example-isr_timer_complex)
6871
* [Debug Terminal Output Samples](#debug-terminal-output-samples)
6972
* [1. ISR_Timer_Complex on ESP32_DEV](#1-isr_timer_complex-on-esp32_dev)
7073
* [2. TimerInterruptTest on ESP32_DEV](#2-timerinterrupttest-on-esp32_dev)
7174
* [3. Change_Interval on ESP32_DEV](#3-change_interval-on-esp32_dev)
7275
* [4. TimerInterruptTest on ESP32_S2_DEV](#4-timerinterrupttest-on-esp32_s2_dev)
76+
* [5. ISR_16_Timers_Array_Complex on ESP32_DEV](#5-isr_16_timers_array_complex-on-esp32_dev)
7377
* [Debug](#debug)
7478
* [Troubleshooting](#troubleshooting)
7579
* [Releases](#releases)
@@ -143,6 +147,12 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
143147

144148
## Changelog
145149

150+
### Releases v1.4.0
151+
152+
1. Fix compiler errors due to conflict to some libraries.
153+
2. Add complex examples.
154+
155+
146156
### Releases v1.3.0
147157

148158
1. Add support to ESP32-S2 and ESP32-C3
@@ -181,7 +191,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
181191

182192
## Prerequisites
183193

184-
1. [`Arduino IDE 1.8.13+` for Arduino](https://www.arduino.cc/en/Main/Software)
194+
1. [`Arduino IDE 1.8.15+` for Arduino](https://www.arduino.cc/en/Main/Software)
185195
2. [`ESP32-S2/C3 Core 1.0.6+`](https://github.com/espressif/arduino-esp32) for ESP32-S2/C3-based boards. Must follow [HOWTO Install esp32 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) and ESP32-C3 boards into Arduino IDE](#howto-install-esp32-core-for-esp32-s2-saola-ai-thinker-esp-12k-and-esp32-c3-boards-into-arduino-ide).
186196

187197
---
@@ -504,7 +514,9 @@ Before using any Timer, you have to make sure the Timer has not been used by any
504514
8. [RPM_Measure](examples/RPM_Measure)
505515
9. [SwitchDebounce](examples/SwitchDebounce)
506516
10. [TimerInterruptTest](examples/TimerInterruptTest)
507-
11. [**Change_Interval**](examples/Change_Interval).
517+
11. [Change_Interval](examples/Change_Interval)
518+
12. [**ISR_16_Timers_Array**](examples/ISR_16_Timers_Array)
519+
13. [**ISR_16_Timers_Array_Complex**](examples/ISR_16_Timers_Array_Complex).
508520

509521

510522
---
@@ -845,7 +857,7 @@ While software timer, **programmed for 2s, is activated after 3.435s !!!**
845857

846858
```
847859
Starting ISR_Timer_Complex on ESP32_DEV
848-
ESP32TimerInterrupt v1.3.0
860+
ESP32TimerInterrupt v1.4.0
849861
CPU Frequency = 240 MHz
850862
ESP32TimerInterrupt: _timerNo = 1, _fre = 1000000.00, _count = 0 - 50000
851863
Starting ITimer OK, millis() = 2140
@@ -910,7 +922,7 @@ The following is the sample terminal output when running example [TimerInterrupt
910922

911923
```
912924
Starting TimerInterruptTest on ESP32_DEV
913-
ESP32TimerInterrupt v1.3.0
925+
ESP32TimerInterrupt v1.4.0
914926
CPU Frequency = 240 MHz
915927
ESP32TimerInterrupt: _timerNo = 0, _fre = 1000000.00, _count = 0 - 1000000
916928
Starting ITimer0 OK, millis() = 136
@@ -972,7 +984,7 @@ The following is the sample terminal output when running example [Change_Interva
972984

973985
```
974986
Starting Change_Interval on ESP32_DEV
975-
ESP32TimerInterrupt v1.3.0
987+
ESP32TimerInterrupt v1.4.0
976988
CPU Frequency = 240 MHz
977989
Starting ITimer0 OK, millis() = 136
978990
Starting ITimer1 OK, millis() = 136
@@ -1012,7 +1024,7 @@ The following is the sample terminal output when running example [TimerInterrupt
10121024

10131025
```
10141026
Starting TimerInterruptTest on ESP32S2_DEV
1015-
ESP32_S2_TimerInterrupt v1.3.0
1027+
ESP32_S2_TimerInterrupt v1.4.0
10161028
CPU Frequency = 240 MHz
10171029
[TISR] ESP32_S2_TimerInterrupt: _timerNo = 0 , _fre = 1000000
10181030
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -1047,6 +1059,175 @@ ITimer0 called, millis() = 15002
10471059
Stop ITimer0, millis() = 15003
10481060
```
10491061

1062+
---
1063+
1064+
### 5. ISR_16_Timers_Array_Complex on ESP32_DEV
1065+
1066+
The following is the sample terminal output when running example [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) on **ESP32_DEV** 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 !!!
1067+
1068+
1069+
```
1070+
Starting ISR_16_Timers_Array_Complex on ESP32_DEV
1071+
ESP32TimerInterrupt v1.4.0
1072+
CPU Frequency = 240 MHz
1073+
Starting ITimer OK, millis() = 128
1074+
SimpleTimer : 2, ms : 10129, Dms : 10000
1075+
Timer : 0, programmed : 5000, actual : 5009
1076+
Timer : 1, programmed : 10000, actual : 0
1077+
Timer : 2, programmed : 15000, actual : 0
1078+
Timer : 3, programmed : 20000, actual : 0
1079+
Timer : 4, programmed : 25000, actual : 0
1080+
Timer : 5, programmed : 30000, actual : 0
1081+
Timer : 6, programmed : 35000, actual : 0
1082+
Timer : 7, programmed : 40000, actual : 0
1083+
Timer : 8, programmed : 45000, actual : 0
1084+
Timer : 9, programmed : 50000, actual : 0
1085+
Timer : 10, programmed : 55000, actual : 0
1086+
Timer : 11, programmed : 60000, actual : 0
1087+
Timer : 12, programmed : 65000, actual : 0
1088+
Timer : 13, programmed : 70000, actual : 0
1089+
Timer : 14, programmed : 75000, actual : 0
1090+
Timer : 15, programmed : 80000, actual : 0
1091+
SimpleTimer : 2, ms : 20182, Dms : 10053
1092+
Timer : 0, programmed : 5000, actual : 5000
1093+
Timer : 1, programmed : 10000, actual : 10000
1094+
Timer : 2, programmed : 15000, actual : 15009
1095+
Timer : 3, programmed : 20000, actual : 20009
1096+
Timer : 4, programmed : 25000, actual : 0
1097+
Timer : 5, programmed : 30000, actual : 0
1098+
Timer : 6, programmed : 35000, actual : 0
1099+
Timer : 7, programmed : 40000, actual : 0
1100+
Timer : 8, programmed : 45000, actual : 0
1101+
Timer : 9, programmed : 50000, actual : 0
1102+
Timer : 10, programmed : 55000, actual : 0
1103+
Timer : 11, programmed : 60000, actual : 0
1104+
Timer : 12, programmed : 65000, actual : 0
1105+
Timer : 13, programmed : 70000, actual : 0
1106+
Timer : 14, programmed : 75000, actual : 0
1107+
Timer : 15, programmed : 80000, actual : 0
1108+
SimpleTimer : 2, ms : 30236, Dms : 10054
1109+
Timer : 0, programmed : 5000, actual : 5000
1110+
Timer : 1, programmed : 10000, actual : 10000
1111+
Timer : 2, programmed : 15000, actual : 15000
1112+
Timer : 3, programmed : 20000, actual : 20009
1113+
Timer : 4, programmed : 25000, actual : 25009
1114+
Timer : 5, programmed : 30000, actual : 30009
1115+
Timer : 6, programmed : 35000, actual : 0
1116+
Timer : 7, programmed : 40000, actual : 0
1117+
Timer : 8, programmed : 45000, actual : 0
1118+
Timer : 9, programmed : 50000, actual : 0
1119+
Timer : 10, programmed : 55000, actual : 0
1120+
Timer : 11, programmed : 60000, actual : 0
1121+
Timer : 12, programmed : 65000, actual : 0
1122+
Timer : 13, programmed : 70000, actual : 0
1123+
Timer : 14, programmed : 75000, actual : 0
1124+
Timer : 15, programmed : 80000, actual : 0
1125+
SimpleTimer : 2, ms : 40290, Dms : 10054
1126+
Timer : 0, programmed : 5000, actual : 5000
1127+
Timer : 1, programmed : 10000, actual : 10000
1128+
Timer : 2, programmed : 15000, actual : 15000
1129+
Timer : 3, programmed : 20000, actual : 20000
1130+
Timer : 4, programmed : 25000, actual : 25009
1131+
Timer : 5, programmed : 30000, actual : 30009
1132+
Timer : 6, programmed : 35000, actual : 35009
1133+
Timer : 7, programmed : 40000, actual : 40009
1134+
Timer : 8, programmed : 45000, actual : 0
1135+
Timer : 9, programmed : 50000, actual : 0
1136+
Timer : 10, programmed : 55000, actual : 0
1137+
Timer : 11, programmed : 60000, actual : 0
1138+
Timer : 12, programmed : 65000, actual : 0
1139+
Timer : 13, programmed : 70000, actual : 0
1140+
Timer : 14, programmed : 75000, actual : 0
1141+
Timer : 15, programmed : 80000, actual : 0
1142+
SimpleTimer : 2, ms : 50345, Dms : 10055
1143+
Timer : 0, programmed : 5000, actual : 5000
1144+
Timer : 1, programmed : 10000, actual : 10000
1145+
Timer : 2, programmed : 15000, actual : 15000
1146+
Timer : 3, programmed : 20000, actual : 20000
1147+
Timer : 4, programmed : 25000, actual : 25000
1148+
Timer : 5, programmed : 30000, actual : 30009
1149+
Timer : 6, programmed : 35000, actual : 35009
1150+
Timer : 7, programmed : 40000, actual : 40009
1151+
Timer : 8, programmed : 45000, actual : 45009
1152+
Timer : 9, programmed : 50000, actual : 50009
1153+
Timer : 10, programmed : 55000, actual : 0
1154+
Timer : 11, programmed : 60000, actual : 0
1155+
Timer : 12, programmed : 65000, actual : 0
1156+
Timer : 13, programmed : 70000, actual : 0
1157+
Timer : 14, programmed : 75000, actual : 0
1158+
Timer : 15, programmed : 80000, actual : 0
1159+
SimpleTimer : 2, ms : 60401, Dms : 10056
1160+
Timer : 0, programmed : 5000, actual : 5000
1161+
Timer : 1, programmed : 10000, actual : 10000
1162+
Timer : 2, programmed : 15000, actual : 15000
1163+
Timer : 3, programmed : 20000, actual : 20000
1164+
Timer : 4, programmed : 25000, actual : 25000
1165+
Timer : 5, programmed : 30000, actual : 30000
1166+
Timer : 6, programmed : 35000, actual : 35009
1167+
Timer : 7, programmed : 40000, actual : 40009
1168+
Timer : 8, programmed : 45000, actual : 45009
1169+
Timer : 9, programmed : 50000, actual : 50009
1170+
Timer : 10, programmed : 55000, actual : 55009
1171+
Timer : 11, programmed : 60000, actual : 60009
1172+
Timer : 12, programmed : 65000, actual : 0
1173+
Timer : 13, programmed : 70000, actual : 0
1174+
Timer : 14, programmed : 75000, actual : 0
1175+
Timer : 15, programmed : 80000, actual : 0
1176+
SimpleTimer : 2, ms : 70458, Dms : 10057
1177+
Timer : 0, programmed : 5000, actual : 5000
1178+
Timer : 1, programmed : 10000, actual : 10000
1179+
Timer : 2, programmed : 15000, actual : 15000
1180+
Timer : 3, programmed : 20000, actual : 20000
1181+
Timer : 4, programmed : 25000, actual : 25000
1182+
Timer : 5, programmed : 30000, actual : 30000
1183+
Timer : 6, programmed : 35000, actual : 35000
1184+
Timer : 7, programmed : 40000, actual : 40009
1185+
Timer : 8, programmed : 45000, actual : 45009
1186+
Timer : 9, programmed : 50000, actual : 50009
1187+
Timer : 10, programmed : 55000, actual : 55009
1188+
Timer : 11, programmed : 60000, actual : 60009
1189+
Timer : 12, programmed : 65000, actual : 65009
1190+
Timer : 13, programmed : 70000, actual : 70009
1191+
Timer : 14, programmed : 75000, actual : 0
1192+
Timer : 15, programmed : 80000, actual : 0
1193+
SimpleTimer : 2, ms : 80515, Dms : 10057
1194+
Timer : 0, programmed : 5000, actual : 5000
1195+
Timer : 1, programmed : 10000, actual : 10000
1196+
Timer : 2, programmed : 15000, actual : 15000
1197+
Timer : 3, programmed : 20000, actual : 20000
1198+
Timer : 4, programmed : 25000, actual : 25000
1199+
Timer : 5, programmed : 30000, actual : 30000
1200+
Timer : 6, programmed : 35000, actual : 35000
1201+
Timer : 7, programmed : 40000, actual : 40000
1202+
Timer : 8, programmed : 45000, actual : 45009
1203+
Timer : 9, programmed : 50000, actual : 50009
1204+
Timer : 10, programmed : 55000, actual : 55009
1205+
Timer : 11, programmed : 60000, actual : 60009
1206+
Timer : 12, programmed : 65000, actual : 65009
1207+
Timer : 13, programmed : 70000, actual : 70009
1208+
Timer : 14, programmed : 75000, actual : 75009
1209+
Timer : 15, programmed : 80000, actual : 80009
1210+
SimpleTimer : 2, ms : 90573, Dms : 10058
1211+
Timer : 0, programmed : 5000, actual : 5000
1212+
Timer : 1, programmed : 10000, actual : 10000
1213+
Timer : 2, programmed : 15000, actual : 15000
1214+
Timer : 3, programmed : 20000, actual : 20000
1215+
Timer : 4, programmed : 25000, actual : 25000
1216+
Timer : 5, programmed : 30000, actual : 30000
1217+
Timer : 6, programmed : 35000, actual : 35000
1218+
Timer : 7, programmed : 40000, actual : 40000
1219+
Timer : 8, programmed : 45000, actual : 45000
1220+
Timer : 9, programmed : 50000, actual : 50009
1221+
Timer : 10, programmed : 55000, actual : 55009
1222+
Timer : 11, programmed : 60000, actual : 60009
1223+
Timer : 12, programmed : 65000, actual : 65009
1224+
Timer : 13, programmed : 70000, actual : 70009
1225+
Timer : 14, programmed : 75000, actual : 75009
1226+
Timer : 15, programmed : 80000, actual : 80009
1227+
1228+
```
1229+
1230+
10501231
---
10511232
---
10521233

@@ -1078,6 +1259,11 @@ Sometimes, the library will only work if you update the board core to the latest
10781259

10791260
## Releases
10801261

1262+
### Releases v1.4.0
1263+
1264+
1. Fix compiler errors due to conflict to some libraries.
1265+
2. Add complex examples.
1266+
10811267
### Releases v1.3.0
10821268

10831269
1. Add support to ESP32-S2 and ESP32-C3
@@ -1138,6 +1324,8 @@ Submit issues to: [ESP32TimerInterrupt issues](https://github.com/khoih-prog/ESP
11381324
4. Similar features for remaining Arduino boards such as SAMD21, SAMD51, SAM-DUE, nRF52, ESP8266, STM32, etc.
11391325
5. Add support to new ESP32-S2
11401326
6. Add support to new ESP32 core v1.0.6
1327+
7. Fix compiler errors due to conflict to some libraries.
1328+
8. Add complex examples.
11411329

11421330
---
11431331
---

examples/Argument_None/Argument_None.ino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
Based on BlynkTimer.h
2525
Author: Volodymyr Shymanskyy
2626
27-
Version: 1.3.0
28-
27+
Version: 1.4.0
28+
2929
Version Modified By Date Comments
3030
------- ----------- ---------- -----------
3131
1.0.0 K Hoang 23/11/2019 Initial coding
@@ -36,6 +36,7 @@
3636
1.1.1 K.Hoang 06/12/2020 Add Version String and Change_Interval example to show how to change TimerInterval
3737
1.2.0 K.Hoang 08/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
3838
1.3.0 K.Hoang 06/05/2021 Add support to ESP32-S2
39+
1.4.0 K.Hoang 01/06/2021 Add complex examples. Fix compiler errors due to conflict to some libraries.
3940
*****************************************************************************************************************************/
4041

4142
/*

examples/Change_Interval/Change_Interval.ino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
Based on BlynkTimer.h
2525
Author: Volodymyr Shymanskyy
2626
27-
Version: 1.3.0
28-
27+
Version: 1.4.0
28+
2929
Version Modified By Date Comments
3030
------- ----------- ---------- -----------
3131
1.0.0 K Hoang 23/11/2019 Initial coding
@@ -36,6 +36,7 @@
3636
1.1.1 K.Hoang 06/12/2020 Add Version String and Change_Interval example to show how to change TimerInterval
3737
1.2.0 K.Hoang 08/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
3838
1.3.0 K.Hoang 06/05/2021 Add support to ESP32-S2
39+
1.4.0 K.Hoang 01/06/2021 Add complex examples. Fix compiler errors due to conflict to some libraries.
3940
*****************************************************************************************************************************/
4041

4142
/*

0 commit comments

Comments
 (0)