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

Commit 20dff48

Browse files
authored
1.2.1 to to not update DutyCycle immediately
### Releases v1.2.1 1. DutyCycle to be optionally updated at the end current PWM period instead of immediately. Check [DutyCycle to be updated at the end current PWM period #2](khoih-prog/ESP8266_PWM#2)
1 parent d068df5 commit 20dff48

17 files changed

+165
-81
lines changed

README.md

+61-50
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,10 @@ Before using any Timer, you have to make sure the Timer has not been used by any
288288
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
289289
#define _PWM_LOGLEVEL_ 4
290290
291-
#define USING_MICROS_RESOLUTION true //false
291+
#define USING_MICROS_RESOLUTION true //false
292+
293+
// Default is true, uncomment to false
294+
//#define CHANGING_PWM_END_OF_CYCLE false
292295
293296
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
294297
#include "ESP32_PWM.h"
@@ -718,9 +721,8 @@ void loop()
718721
The following is the sample terminal output when running example [ISR_16_PWMs_Array_Complex](examples/ISR_16_PWMs_Array_Complex) to demonstrate the accuracy of ISR Hardware PWM-channels, **especially when system is very busy**. The ISR PWM-channels is **running exactly according to corresponding programmed periods and duty-cycles**
719722

720723

721-
```
722-
Starting ISR_16_PWMs_Array_Complex on ESP32_DEV
723-
ESP32_PWM v1.2.0
724+
```Starting ISR_16_PWMs_Array_Complex on ESP32_DEV
725+
ESP32_PWM v1.2.1
724726
CPU Frequency = 240 MHz
725727
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
726728
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -788,7 +790,7 @@ The following is the sample terminal output when running example [ISR_16_PWMs_Ar
788790

789791
```
790792
Starting ISR_16_PWMs_Array on ESP32_DEV
791-
ESP32_PWM v1.2.0
793+
ESP32_PWM v1.2.1
792794
CPU Frequency = 240 MHz
793795
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
794796
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -821,9 +823,8 @@ Channel : 15 Period : 20000.00 OnTime : 19000 Start_Time : 2149811
821823

822824
The following is the sample terminal output when running example [ISR_16_PWMs_Array_Simple](examples/ISR_16_PWMs_Array_Simple) to demonstrate how to use multiple Hardware PWM channels.
823825

824-
```
825-
Starting ISR_16_PWMs_Array_Simple on ESP32_DEV
826-
ESP32_PWM v1.2.0
826+
```Starting ISR_16_PWMs_Array_Simple on ESP32_DEV
827+
ESP32_PWM v1.2.1
827828
CPU Frequency = 240 MHz
828829
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
829830
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -857,22 +858,20 @@ The following is the sample terminal output when running example [ISR_Modify_PWM
857858

858859
```
859860
Starting ISR_Modify_PWM on ESP32_DEV
860-
ESP32_PWM v1.2.0
861+
ESP32_PWM v1.2.1
861862
CPU Frequency = 240 MHz
862863
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
863864
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
864865
[PWM] _timerIndex = 1 , _timerGroup = 0
865866
[PWM] _count = 0 - 20
866867
[PWM] timer_set_alarm_value = 20.00
867-
Starting ITimer OK, micros() = 2059736
868+
Starting ITimer OK, micros() = 2059726
868869
Using PWM Freq = 1.00, PWM DutyCycle = 10.00
869-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2060395
870-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12072043
871-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 22073035
872-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32074035
873-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 42075035
874-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 52076035
875-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 62077035
870+
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2060379
871+
Channel : 0 New Period : 500000.00 OnTime : 450000.00 Start_Time : 12060409
872+
Channel : 0 New Period : 1000000.00 OnTime : 100000.00 Start_Time : 22060409
873+
Channel : 0 New Period : 500000.00 OnTime : 450000.00 Start_Time : 31560409
874+
Channel : 0 New Period : 1000000.00 OnTime : 100000.00 Start_Time : 42060409
876875
```
877876

878877
---
@@ -883,22 +882,32 @@ The following is the sample terminal output when running example [ISR_Changing_P
883882

884883
```
885884
Starting ISR_Changing_PWM on ESP32_DEV
886-
ESP32_PWM v1.2.0
885+
ESP32_PWM v1.2.1
887886
CPU Frequency = 240 MHz
888887
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
889888
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
890889
[PWM] _timerIndex = 1 , _timerGroup = 0
891890
[PWM] _count = 0 - 20
892891
[PWM] timer_set_alarm_value = 20.00
893892
Starting ITimer OK, micros() = 2059714
894-
Using PWM Freq = 1.00, PWM DutyCycle = 50
895-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2060263
896-
Using PWM Freq = 2.00, PWM DutyCycle = 90
897-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12071245
898-
Using PWM Freq = 1.00, PWM DutyCycle = 50
899-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 22071285
900-
Using PWM Freq = 2.00, PWM DutyCycle = 90
901-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32071229
893+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
894+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2060368
895+
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
896+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12071352
897+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
898+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 22071379
899+
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
900+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32071338
901+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
902+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 42071356
903+
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
904+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 52071338
905+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
906+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 62071356
907+
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
908+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 72071338
909+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
910+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 82071356
902911
```
903912

904913
---
@@ -909,20 +918,20 @@ The following is the sample terminal output when running example [ISR_Modify_PWM
909918

910919
```
911920
Starting ISR_Modify_PWM on ESP32S2_DEV
912-
ESP32_PWM v1.2.0
921+
ESP32_PWM v1.2.1
913922
CPU Frequency = 240 MHz
914923
[PWM] ESP32_S2_TimerInterrupt: _timerNo = 1 , _fre = 1000000
915924
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
916925
[PWM] _timerIndex = 1 , _timerGroup = 0
917926
[PWM] _count = 0 - 20
918927
[PWM] timer_set_alarm_value = 20.00
919-
Starting ITimer OK, micros() = 2561855
928+
Starting ITimer OK, micros() = 2559974
920929
Using PWM Freq = 1.00, PWM DutyCycle = 10.00
921-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2572494
922-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12581543
923-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 22586522
924-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32591522
925-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 42596522
930+
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2570620
931+
Channel : 0 New Period : 500000.00 OnTime : 450000.00 Start_Time : 12570649
932+
Channel : 0 New Period : 1000000.00 OnTime : 100000.00 Start_Time : 22570649
933+
Channel : 0 New Period : 500000.00 OnTime : 450000.00 Start_Time : 32070689
934+
Channel : 0 New Period : 1000000.00 OnTime : 100000.00 Start_Time : 42570749
926935
```
927936

928937
---
@@ -933,18 +942,20 @@ The following is the sample terminal output when running example [ISR_Changing_P
933942

934943
```
935944
Starting ISR_Changing_PWM on ESP32S2_DEV
936-
ESP32_PWM v1.2.0
945+
ESP32_PWM v1.2.1
937946
CPU Frequency = 240 MHz
938947
[PWM] ESP32_S2_TimerInterrupt: _timerNo = 1 , _fre = 1000000
939948
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
940949
[PWM] _timerIndex = 1 , _timerGroup = 0
941950
[PWM] _count = 0 - 20
942951
[PWM] timer_set_alarm_value = 20.00
943-
Starting ITimer OK, micros() = 2563731
952+
Starting ITimer OK, micros() = 2561799
944953
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
945-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2568739
954+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2566886
946955
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
947-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12578693
956+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12576879
957+
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
958+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 22581846
948959
```
949960

950961
---
@@ -955,7 +966,7 @@ The following is the sample terminal output when running example [ISR_Modify_PWM
955966

956967
```
957968
Starting ISR_Modify_PWM on ESP32C3_DEV
958-
ESP32_PWM v1.2.0
969+
ESP32_PWM v1.2.1
959970
CPU Frequency = 160 MHz
960971
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
961972
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -964,11 +975,11 @@ CPU Frequency = 160 MHz
964975
[PWM] timer_set_alarm_value = 20.00
965976
Starting ITimer OK, micros() = 2100385
966977
Using PWM Freq = 1.00, PWM DutyCycle = 10.00
967-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2113126
968-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12118037
969-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 22119020
970-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32120019
971-
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 42121019
978+
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 2113126
979+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12118037
980+
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 22119020
981+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32120019
982+
Channel : 0 Period : 1000000.00 OnTime : 100000 Start_Time : 42121019
972983
```
973984

974985
---
@@ -979,7 +990,7 @@ The following is the sample terminal output when running example [ISR_Changing_P
979990

980991
```
981992
Starting ISR_Changing_PWM on ESP32C3_DEV
982-
ESP32_PWM v1.2.0
993+
ESP32_PWM v1.2.1
983994
CPU Frequency = 160 MHz
984995
[PWM] ESP32_TimerInterrupt: _timerNo = 1 , _fre = 1000000
985996
[PWM] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
@@ -988,15 +999,15 @@ CPU Frequency = 160 MHz
988999
[PWM] timer_set_alarm_value = 20.00
9891000
Starting ITimer OK, micros() = 2100339
9901001
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
991-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2105212
1002+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 2105212
9921003
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
993-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12117109
1004+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 12117109
9941005
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
995-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 22122103
1006+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 22122103
9961007
Using PWM Freq = 2.00, PWM DutyCycle = 90.00
997-
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32122107
1008+
Channel : 0 Period : 500000.00 OnTime : 450000 Start_Time : 32122107
9981009
Using PWM Freq = 1.00, PWM DutyCycle = 50.00
999-
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 42127102
1010+
Channel : 0 Period : 1000000.00 OnTime : 500000 Start_Time : 42127102
10001011
```
10011012

10021013

@@ -1051,7 +1062,7 @@ Submit issues to: [ESP32_PWM issues](https://github.com/khoih-prog/ESP32_PWM/iss
10511062
6. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories
10521063
7. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project
10531064
8. Improve accuracy by using `double`, instead of `uint32_t` for `dutycycle`, `period`. Check [Change Duty Cycle #1](https://github.com/khoih-prog/ESP8266_PWM/issues/1#issuecomment-1024969658)
1054-
1065+
9. DutyCycle to be optionally updated at the end current PWM period instead of immediately. Check [DutyCycle to be updated at the end current PWM period #2](https://github.com/khoih-prog/ESP8266_PWM/issues/2)
10551066

10561067
---
10571068
---

changelog.md

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
## Table of Contents
1313

1414
* [Changelog](#changelog)
15+
* [Releases v1.2.1](#releases-v121)
1516
* [Releases v1.2.0](#releases-v120)
1617
* [Releases v1.1.1](#releases-v111)
1718
* [Releases v1.1.0](#releases-v110)
@@ -23,6 +24,10 @@
2324

2425
## Changelog
2526

27+
### Releases v1.2.1
28+
29+
1. DutyCycle to be optionally updated at the end current PWM period instead of immediately. Check [DutyCycle to be updated at the end current PWM period #2](https://github.com/khoih-prog/ESP8266_PWM/issues/2)
30+
2631
### Releases v1.2.0
2732

2833
1. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories

examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@
3131
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
3232
#define _PWM_LOGLEVEL_ 4
3333

34-
#define USING_MICROS_RESOLUTION true //false
34+
#define USING_MICROS_RESOLUTION true //false
35+
36+
// Default is true, uncomment to false
37+
//#define CHANGING_PWM_END_OF_CYCLE false
3538

3639
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
3740
#include "ESP32_PWM.h"

examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
3131
#define _PWM_LOGLEVEL_ 4
3232

33-
#define USING_MICROS_RESOLUTION true //false
33+
#define USING_MICROS_RESOLUTION true //false
34+
35+
// Default is true, uncomment to false
36+
//#define CHANGING_PWM_END_OF_CYCLE false
3437

3538
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
3639
#include "ESP32_PWM.h"

examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
3131
#define _PWM_LOGLEVEL_ 4
3232

33-
#define USING_MICROS_RESOLUTION true //false
33+
#define USING_MICROS_RESOLUTION true //false
34+
35+
// Default is true, uncomment to false
36+
//#define CHANGING_PWM_END_OF_CYCLE false
3437

3538
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
3639
#include "ESP32_PWM.h"

examples/ISR_Changing_PWM/ISR_Changing_PWM.ino

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
3131
#define _PWM_LOGLEVEL_ 4
3232

33-
#define USING_MICROS_RESOLUTION true //false
33+
#define USING_MICROS_RESOLUTION true //false
34+
35+
// Default is true, uncomment to false
36+
//#define CHANGING_PWM_END_OF_CYCLE false
3437

3538
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
3639
#include "ESP32_PWM.h"

examples/ISR_Modify_PWM/ISR_Modify_PWM.ino

+4-6
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
3131
#define _PWM_LOGLEVEL_ 4
3232

33-
#define USING_MICROS_RESOLUTION true //false
33+
#define USING_MICROS_RESOLUTION true //false
34+
35+
// Default is true, uncomment to false
36+
//#define CHANGING_PWM_END_OF_CYCLE false
3437

3538
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
3639
#include "ESP32_PWM.h"
@@ -62,11 +65,6 @@ bool IRAM_ATTR TimerHandler(void * timerNo)
6265

6366
//////////////////////////////////////////////////////
6467

65-
uint32_t PWMx_Pin[] =
66-
{
67-
PIN_D24, LED_BUILTIN, PIN_D3, PIN_D4, PIN_D5, PIN_D12, PIN_D13, PIN_D14,
68-
PIN_D15, PIN_D16, PIN_D17, PIN_D18, PIN_D19, PIN_D21, PIN_D22, PIN_D23
69-
};
7068

7169
// You can assign pins here. Be carefull to select good pin to use or crash
7270
uint32_t PWM_Pin = LED_BUILTIN;

examples/multiFileProject/multiFileProject.h

+3
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,8 @@
1414

1515
#define USING_MICROS_RESOLUTION true //false
1616

17+
// Default is true, uncomment to false
18+
//#define CHANGING_PWM_END_OF_CYCLE false
19+
1720
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
1821
#include "ESP32_PWM.hpp"

keywords.txt

+3
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,6 @@ ESP32_PWM_VERSION_MAJOR LITERAL1
5555
ESP32_PWM_VERSION_MINOR LITERAL1
5656
ESP32_PWM_VERSION_PATCH LITERAL1
5757
ESP32_PWM_VERSION_INT LITERAL1
58+
59+
USING_MICROS_RESOLUTION LITERAL1
60+
CHANGING_PWM_END_OF_CYCLE LITERAL1

library.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ESP32_PWM",
3-
"version": "1.2.0",
3+
"version": "1.2.1",
44
"keywords": "timing, device, control, pwm, timer, interrupt, hardware, isr, isr-based, hardware-timer, isr-timer, isr-based-timer, mission-critical, accuracy, precise, non-blocking, esp32, esp32-s2, esp32-c3, synchronized-PWM, on-the-fly",
55
"description": "This library enables you to use Interrupt from Hardware Timers on an ESP32, ESP32_S2 or ESP32_C3-based board to create and output PWM to pins. It now supports 16 ISR-based synchronized PWM channels, while consuming only 1 Hardware Timer. PWM interval can be very long (uint32_t millisecs). The most important feature is they're ISR-based PWM channels. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware PWM channels, 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. Now you can change the PWM settings on-the-fly",
66
"authors":
@@ -12,7 +12,7 @@
1212
"repository":
1313
{
1414
"type": "git",
15-
"url": "//https://github.com/khoih-prog/ESP32_PWM"
15+
"url": "https://github.com/khoih-prog/ESP32_PWM.git"
1616
},
1717
"homepage": "https://github.com/khoih-prog/ESP32_PWM",
1818
"export": {

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=ESP32_PWM
2-
version=1.2.0
2+
version=1.2.1
33
author=Khoi Hoang <khoih.prog@gmail.com>
44
maintainer=Khoi Hoang <khoih.prog@gmail.com>
55
sentence=This library enables you to use Interrupt from Hardware Timers on an ESP32, ESP32_S2 or ESP32_C3-based board to create and output PWM to pins.

src/ESP32_PWM.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
Therefore, their executions are not blocked by bad-behaving functions / tasks.
2222
This important feature is absolutely necessary for mission-critical tasks.
2323
24-
Version: 1.2.0
24+
Version: 1.2.1
2525
2626
Version Modified By Date Comments
2727
------- ----------- ---------- -----------
@@ -30,6 +30,7 @@
3030
1.1.0 K Hoang 06/11/2021 Add functions to modify PWM settings on-the-fly
3131
1.1.1 K Hoang 09/11/2021 Fix examples to not use GPIO1/TX0 for core v2.0.1+
3232
1.2.0 K Hoang 29/01/2022 Fix multiple-definitions linker error. Improve accuracy. Fix bug
33+
1.2.1 K Hoang 30/01/2022 DutyCycle to be updated at the end current PWM period
3334
*****************************************************************************************************************************/
3435

3536
#pragma once

0 commit comments

Comments
 (0)