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

Commit

Permalink
v2.0.2 add support to new Adafruit boards
Browse files Browse the repository at this point in the history
### Releases v2.0.2

1. Add support to new Adafruit boards such as QTPY_ESP32S2, FEATHER_ESP32S3_NOPSRAM and QTPY_ESP32S3_NOPSRAM
  • Loading branch information
khoih-prog authored Jun 16, 2022
1 parent 668316d commit 908daf3
Show file tree
Hide file tree
Showing 11 changed files with 48 additions and 32 deletions.
14 changes: 9 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
Please ensure to specify the following:

* Arduino IDE version (e.g. 1.8.19) or Platform.io version
* `ESP32` Core Version (e.g. ESP32 core v2.0.2)
* `ESP32` Board type (e.g. ESP32_DEV Module, ESP32_S2_DEV, ESP32_S3_DEV, ESP32_C3_DEV, etc.)
* `ESP32` Core Version (e.g. ESP32 core v2.0.3)
* `ESP32` Board type (e.g. ESP32_DEV Module, etc.)
* `ESP32-S2` Board type (e.g. ESP32S2_DEV Module, ESP32_S2_Saola, etc.)
* `ESP32_S3` Board type (e.g. ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.)
* `ESP32-C3` Board type (e.g. ESP32C3_DEV Module, etc.)
* Contextual information (e.g. what you were trying to achieve)
* Simplest possible steps to reproduce
* Anything that might be relevant in your opinion, such as:
Expand All @@ -28,10 +31,10 @@ Please ensure to specify the following:

```
Arduino IDE version: 1.8.19
ESP32 Core Version 2.0.2
ESP32S2_DEV Module
ESP32 core v2.0.3
ESP32S3_DEV Module
OS: Ubuntu 20.04 LTS
Linux xy-Inspiron-3593 5.13.0-35-generic #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Linux xy-Inspiron-3593 5.13.0-44-generic #49~20.04.1-Ubuntu SMP Wed May 18 18:44:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Context:
I encountered a crash while using ESP32TimerInterrupt.
Expand All @@ -52,3 +55,4 @@ There are usually some outstanding feature requests in the [existing issues list
### Sending Pull Requests

Pull Requests with changes and fixes are also welcome!

20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,9 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
### Currently supported Boards

1. ESP32 boards, such as `ESP32_DEV`, etc.
2. ESP32_S2-based boards, such as `ESP32S2_DEV`, `ESP32_S2 Saola`, etc.
3. ESP32_C3-based boards, such as `ESP32C3_DEV`, etc. **New**
4. ESP32_S3 (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.) **New**
2. ESP32S2-based boards, such as `ESP32S2_DEV`, `ESP32_S2 Saola`, Adafruit QTPY_ESP32S2, etc.
3. ESP32C3-based boards, such as `ESP32C3_DEV`, etc. **New**
4. ESP32_S3 (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, FEATHER_ESP32S3_NOPSRAM and QTPY_ESP32S3_NOPSRAM, etc.) **New**

---

Expand All @@ -138,7 +138,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
## Prerequisites

1. [`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [![GitHub release](https://img.shields.io/github/release/arduino/Arduino.svg)](https://github.com/arduino/Arduino/releases/latest)
2. [`ESP32 Core 2.0.2+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [![Latest release](https://img.shields.io/github/release/espressif/arduino-esp32.svg)](https://github.com/espressif/arduino-esp32/releases/latest/).
2. [`ESP32 Core 2.0.3+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [![Latest release](https://img.shields.io/github/release/espressif/arduino-esp32.svg)](https://github.com/espressif/arduino-esp32/releases/latest/).
3. [`SimpleTimer library`](https://github.com/jfturcot/SimpleTimer) to use with some examples.

---
Expand Down Expand Up @@ -333,7 +333,7 @@ The following is the sample terminal output when running example [TimerInterrupt

```
Starting TimerInterruptTest on ESP32C3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 160 MHz
[TISR] ESP32_TimerInterrupt: _timerNo = 0 , _fre = 1000000
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
Expand Down Expand Up @@ -368,7 +368,7 @@ The following is the sample terminal output when running example [Change_Interva

```
Starting Change_Interval on ESP32C3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 160 MHz
Starting ITimer0 OK, millis() = 293
Starting ITimer1 OK, millis() = 303
Expand Down Expand Up @@ -403,7 +403,7 @@ The following is the sample terminal output when running example [Argument_None]

```
Starting Argument_None on ESP32S3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 240 MHz
[TISR] ESP32_S3_TimerInterrupt: _timerNo = 0 , _fre = 1000000
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
Expand All @@ -427,7 +427,7 @@ The following is the sample terminal output when running example [ISR_16_Timers_

```
Starting ISR_16_Timers_Array_Complex on ESP32S3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 240 MHz
[TISR] ESP32_S3_TimerInterrupt: _timerNo = 1 , _fre = 1000000
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
Expand Down Expand Up @@ -601,7 +601,7 @@ The following is the sample terminal output when running example [ISR_16_Timers_

```
Starting ISR_16_Timers_Array on ESP32S3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 240 MHz
[TISR] ESP32_S3_TimerInterrupt: _timerNo = 1 , _fre = 1000000
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
Expand All @@ -624,7 +624,7 @@ The following is the sample terminal output when running example [ISR_16_Timers_

```
Starting ISR_16_Timers_Array_Complex on ESP32C3_DEV
ESP32TimerInterrupt v2.0.1
ESP32TimerInterrupt v2.0.2
CPU Frequency = 160 MHz
[TISR] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
[TISR] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
Expand Down
5 changes: 5 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
## Table of Contents

* [Changelog](#changelog)
* [Releases v2.0.2](#releases-v202)
* [Releases v2.0.1](#releases-v201)
* [Releases v2.0.0](#releases-v200)
* [Releases v1.5.0](#releases-v150)
Expand All @@ -29,6 +30,10 @@

## Changelog

### Releases v2.0.2

1. Add support to new Adafruit boards such as QTPY_ESP32S2, FEATHER_ESP32S3_NOPSRAM and QTPY_ESP32S3_NOPSRAM

### Releases v2.0.1

1. Add example [ISR_16_Timers_Array_Complex_OneShot](examples/ISR_16_Timers_Array_Complex_OneShot) to demo how to use `one-shot ISR-based timer` in complex case
Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ESP32TimerInterrupt",
"version": "2.0.1",
"version": "2.0.2",
"keywords": "timing, device, control, timer, interrupt, timer-interrupt, hardware, isr, isr-based, hardware-timer, isr-timer, isr-based-timer, mission-critical, accuracy, precise, non-blocking, esp32, esp32-s2, esp32-c3, esp32-s3",
"description": "This library enables you to use Interrupt from Hardware Timers on ESP32-based (including ESP32_S2, ESP32_S3 and ESP32_C3) boards. 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.",
"authors":
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=ESP32TimerInterrupt
version=2.0.1
version=2.0.2
author=Khoi Hoang <[email protected]>
maintainer=Khoi Hoang <[email protected]>
sentence=This library enables you to use Interrupt from Hardware Timers on ESP32-based (including ESP32_S2, ESP32_S3 and ESP32_C3) boards
Expand Down
3 changes: 2 additions & 1 deletion src/ESP32TimerInterrupt.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -46,6 +46,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand Down
16 changes: 9 additions & 7 deletions src/ESP32TimerInterrupt.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -46,6 +46,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand All @@ -54,11 +55,12 @@
#define ESP32TIMERINTERRUPT_HPP

#if ( ARDUINO_ESP32S2_DEV || ARDUINO_FEATHERS2 || ARDUINO_ESP32S2_THING_PLUS || ARDUINO_MICROS2 || \
ARDUINO_METRO_ESP32S2 || ARDUINO_MAGTAG29_ESP32S2 || ARDUINO_FUNHOUSE_ESP32S2 || \
ARDUINO_ADAFRUIT_FEATHER_ESP32S2_NOPSRAM )
ARDUINO_METRO_ESP32S2 || ARDUINO_MAGTAG29_ESP32S2 || ARDUINO_FUNHOUSE_ESP32S2 || \
ARDUINO_ADAFRUIT_FEATHER_ESP32S2_NOPSRAM || ARDUINO_ADAFRUIT_QTPY_ESP32S2)
#define USING_ESP32_S2_TIMERINTERRUPT true
#elif ( defined(ARDUINO_ESP32S3_DEV) || defined(ARDUINO_ESP32_S3_BOX) || defined(ARDUINO_TINYS3) || \
defined(ARDUINO_PROS3) || defined(ARDUINO_FEATHERS3) )
defined(ARDUINO_PROS3) || defined(ARDUINO_FEATHERS3) || defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM) || \
defined(ARDUINO_ADAFRUIT_QTPY_ESP32S3_NOPSRAM))
#define USING_ESP32_S3_TIMERINTERRUPT true
#elif ( ARDUINO_ESP32C3_DEV )
#define USING_ESP32_C3_TIMERINTERRUPT true
Expand All @@ -69,13 +71,13 @@
#endif

#ifndef ESP32_TIMER_INTERRUPT_VERSION
#define ESP32_TIMER_INTERRUPT_VERSION "ESP32TimerInterrupt v2.0.1"
#define ESP32_TIMER_INTERRUPT_VERSION "ESP32TimerInterrupt v2.0.2"

#define ESP32_TIMER_INTERRUPT_VERSION_MAJOR 2
#define ESP32_TIMER_INTERRUPT_VERSION_MINOR 0
#define ESP32_TIMER_INTERRUPT_VERSION_PATCH 1
#define ESP32_TIMER_INTERRUPT_VERSION_PATCH 2

#define ESP32_TIMER_INTERRUPT_VERSION_INT 2000001
#define ESP32_TIMER_INTERRUPT_VERSION_INT 2000002
#endif

#ifndef TIMER_INTERRUPT_DEBUG
Expand Down
3 changes: 2 additions & 1 deletion src/ESP32_ISR_Timer-Impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -45,6 +45,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand Down
3 changes: 2 additions & 1 deletion src/ESP32_ISR_Timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -45,6 +45,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand Down
9 changes: 5 additions & 4 deletions src/ESP32_ISR_Timer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -45,6 +45,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand All @@ -57,13 +58,13 @@
#endif

#ifndef ESP32_TIMER_INTERRUPT_VERSION
#define ESP32_TIMER_INTERRUPT_VERSION "ESP32TimerInterrupt v2.0.1"
#define ESP32_TIMER_INTERRUPT_VERSION "ESP32TimerInterrupt v2.0.2"

#define ESP32_TIMER_INTERRUPT_VERSION_MAJOR 2
#define ESP32_TIMER_INTERRUPT_VERSION_MINOR 0
#define ESP32_TIMER_INTERRUPT_VERSION_PATCH 1
#define ESP32_TIMER_INTERRUPT_VERSION_PATCH 2

#define ESP32_TIMER_INTERRUPT_VERSION_INT 2000001
#define ESP32_TIMER_INTERRUPT_VERSION_INT 2000002
#endif

#include "TimerInterrupt_Generic_Debug.h"
Expand Down
3 changes: 2 additions & 1 deletion src/TimerInterrupt_Generic_Debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Based on BlynkTimer.h
Author: Volodymyr Shymanskyy
Version: 2.0.1
Version: 2.0.2
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -45,6 +45,7 @@
1.5.0 K.Hoang 18/01/2022 Fix `multiple-definitions` linker error
2.0.0 K Hoang 13/02/2022 Add support to new ESP32-S3. Restructure library.
2.0.1 K Hoang 13/03/2022 Add example to demo how to use one-shot ISR-based timers. Optimize code
2.0.2 K Hoang 16/06/2022 Add support to new Adafruit boards
*****************************************************************************************************************************/

#pragma once
Expand Down

0 comments on commit 908daf3

Please sign in to comment.