From 5ff2144a1665df2d8ff6409fd9c425fc852f12c5 Mon Sep 17 00:00:00 2001 From: Khoi Hoang <57012152+khoih-prog@users.noreply.github.com> Date: Fri, 4 Mar 2022 19:59:06 -0500 Subject: [PATCH] v1.2.3 to fix `DutyCycle` bug, etc. ### Releases v1.2.3 1. Fix `DutyCycle` bug. Check [float precisison of DutyCycle only sometimes working #3](https://github.com/khoih-prog/SAMD_Slow_PWM/issues/3) 2. Fix `New Period` display bug. Check [random dropouts #4](https://github.com/khoih-prog/SAMD_Slow_PWM/issues/4) 3. Update examples --- examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino | 4 ++-- .../ISR_16_PWMs_Array_Complex.ino | 4 ++-- .../ISR_16_PWMs_Array_Simple.ino | 4 ++-- examples/ISR_Changing_PWM/ISR_Changing_PWM.ino | 4 ++-- examples/ISR_Modify_PWM/ISR_Modify_PWM.ino | 16 ++++++++-------- examples/multiFileProject/multiFileProject.ino | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino b/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino index 899f000..813e83d 100644 --- a/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino +++ b/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino @@ -19,10 +19,10 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -// These define's must be placed at the beginning before #include "ESP32_PWM.h" +// These define's must be placed at the beginning before #include "STM32_Slow_PWM.h" // _PWM_LOGLEVEL_ from 0 to 4 // Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system. -#define _PWM_LOGLEVEL_ 4 +#define _PWM_LOGLEVEL_ 3 #define USING_MICROS_RESOLUTION true //false diff --git a/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino b/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino index c975f40..ec0c09b 100644 --- a/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino +++ b/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino @@ -19,10 +19,10 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -// These define's must be placed at the beginning before #include "ESP32_PWM.h" +// These define's must be placed at the beginning before #include "STM32_Slow_PWM.h" // _PWM_LOGLEVEL_ from 0 to 4 // Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system. -#define _PWM_LOGLEVEL_ 4 +#define _PWM_LOGLEVEL_ 3 #define USING_MICROS_RESOLUTION true //false diff --git a/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino b/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino index f6bc454..fc76c80 100644 --- a/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino +++ b/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino @@ -19,10 +19,10 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -// These define's must be placed at the beginning before #include "ESP32_PWM.h" +// These define's must be placed at the beginning before #include "STM32_Slow_PWM.h" // _PWM_LOGLEVEL_ from 0 to 4 // Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system. -#define _PWM_LOGLEVEL_ 4 +#define _PWM_LOGLEVEL_ 3 #define USING_MICROS_RESOLUTION true //false diff --git a/examples/ISR_Changing_PWM/ISR_Changing_PWM.ino b/examples/ISR_Changing_PWM/ISR_Changing_PWM.ino index 4eb8743..e4afc65 100644 --- a/examples/ISR_Changing_PWM/ISR_Changing_PWM.ino +++ b/examples/ISR_Changing_PWM/ISR_Changing_PWM.ino @@ -19,10 +19,10 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -// These define's must be placed at the beginning before #include "ESP32_PWM.h" +// These define's must be placed at the beginning before #include "STM32_Slow_PWM.h" // _PWM_LOGLEVEL_ from 0 to 4 // Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system. -#define _PWM_LOGLEVEL_ 4 +#define _PWM_LOGLEVEL_ 3 #define USING_MICROS_RESOLUTION true //false diff --git a/examples/ISR_Modify_PWM/ISR_Modify_PWM.ino b/examples/ISR_Modify_PWM/ISR_Modify_PWM.ino index 7010fc3..5e221fc 100644 --- a/examples/ISR_Modify_PWM/ISR_Modify_PWM.ino +++ b/examples/ISR_Modify_PWM/ISR_Modify_PWM.ino @@ -19,10 +19,10 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -// These define's must be placed at the beginning before #include "ESP32_PWM.h" +// These define's must be placed at the beginning before #include "STM32_Slow_PWM.h" // _PWM_LOGLEVEL_ from 0 to 4 // Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system. -#define _PWM_LOGLEVEL_ 4 +#define _PWM_LOGLEVEL_ 3 #define USING_MICROS_RESOLUTION true //false @@ -86,9 +86,9 @@ void TimerHandler() uint32_t PWM_Pin = LED_BUILTIN; // You can assign any interval for any timer here, in Hz -float PWM_Freq1 = 1.0f; +float PWM_Freq1 = 200.0f; //1.0f; // You can assign any interval for any timer here, in Hz -float PWM_Freq2 = 2.0f; +float PWM_Freq2 = 100.0f; //2.0f; // You can assign any interval for any timer here, in microseconds uint32_t PWM_Period1 = 1000000 / PWM_Freq1; @@ -96,9 +96,9 @@ uint32_t PWM_Period1 = 1000000 / PWM_Freq1; uint32_t PWM_Period2 = 1000000 / PWM_Freq2; // You can assign any duty_cycle for any PWM here, from 0-100 -float PWM_DutyCycle1 = 50.0; +float PWM_DutyCycle1 = 1.0f; //50.0f; // You can assign any duty_cycle for any PWM here, from 0-100 -float PWM_DutyCycle2 = 90.0; +float PWM_DutyCycle2 = 5.55f; //90.0f; // Channel number used to identify associated channel int channelNum; @@ -148,8 +148,8 @@ void changePWM() { static uint8_t count = 1; - double PWM_Freq; - uint32_t PWM_DutyCycle; + float PWM_Freq; + float PWM_DutyCycle; if (count++ % 2) { diff --git a/examples/multiFileProject/multiFileProject.ino b/examples/multiFileProject/multiFileProject.ino index a2f1127..ba31d2a 100644 --- a/examples/multiFileProject/multiFileProject.ino +++ b/examples/multiFileProject/multiFileProject.ino @@ -16,8 +16,8 @@ #error This code is designed to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif -#define STM32_SLOW_PWM_VERSION_MIN_TARGET "STM32_SLOW_PWM v1.2.2" -#define STM32_SLOW_PWM_VERSION_MIN 1002002 +#define STM32_SLOW_PWM_VERSION_MIN_TARGET "STM32_SLOW_PWM v1.2.3" +#define STM32_SLOW_PWM_VERSION_MIN 1002003 #include "multiFileProject.h"