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

Commit cdd23d2

Browse files
authored
v1.2.1 to fix DutyCycle bug, etc.
### Releases v1.2.1 1. Fix `DutyCycle` bug. Check [float precisison of DutyCycle only sometimes working #3](khoih-prog/SAMD_Slow_PWM#3) 2. Fix `New Period` display bug. Check [random dropouts #4](khoih-prog/SAMD_Slow_PWM#4) 3. Update examples
1 parent 6e65eda commit cdd23d2

File tree

6 files changed

+31
-16
lines changed

6 files changed

+31
-16
lines changed

examples/ISR_8_PWMs_Array/ISR_8_PWMs_Array.ino

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@
1717
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1818
#endif
1919

20-
// These define's must be placed at the beginning before #include "ESP32_PWM.h"
20+
// These define's must be placed at the beginning before #include "Teensy_Slow_PWM.h"
2121
// _PWM_LOGLEVEL_ from 0 to 4
2222
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
2323
#define _PWM_LOGLEVEL_ 3
2424

2525
#define USING_MICROS_RESOLUTION true //false
2626

27+
// Default is true, uncomment to false
28+
//#define CHANGING_PWM_END_OF_CYCLE false
29+
2730
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
2831
#include "Teensy_Slow_PWM.h"
2932

examples/ISR_8_PWMs_Array_Complex/ISR_8_PWMs_Array_Complex.ino

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@
1717
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1818
#endif
1919

20-
// These define's must be placed at the beginning before #include "ESP32_PWM.h"
20+
// These define's must be placed at the beginning before #include "Teensy_Slow_PWM.h"
2121
// _PWM_LOGLEVEL_ from 0 to 4
2222
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
2323
#define _PWM_LOGLEVEL_ 3
2424

2525
#define USING_MICROS_RESOLUTION true //false
2626

27+
// Default is true, uncomment to false
28+
//#define CHANGING_PWM_END_OF_CYCLE false
29+
2730
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
2831
#include "Teensy_Slow_PWM.h"
2932

examples/ISR_8_PWMs_Array_Simple/ISR_8_PWMs_Array_Simple.ino

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@
1717
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1818
#endif
1919

20-
// These define's must be placed at the beginning before #include "ESP32_PWM.h"
20+
// These define's must be placed at the beginning before #include "Teensy_Slow_PWM.h"
2121
// _PWM_LOGLEVEL_ from 0 to 4
2222
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
2323
#define _PWM_LOGLEVEL_ 3
2424

25-
#define USING_MICROS_RESOLUTION true //false
25+
#define USING_MICROS_RESOLUTION true //false
26+
27+
// Default is true, uncomment to false
28+
//#define CHANGING_PWM_END_OF_CYCLE false
2629

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

examples/ISR_Changing_PWM/ISR_Changing_PWM.ino

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@
1717
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1818
#endif
1919

20-
// These define's must be placed at the beginning before #include "ESP32_PWM.h"
20+
// These define's must be placed at the beginning before #include "Teensy_Slow_PWM.h"
2121
// _PWM_LOGLEVEL_ from 0 to 4
2222
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
2323
#define _PWM_LOGLEVEL_ 3
2424

25-
#define USING_MICROS_RESOLUTION true //false
25+
#define USING_MICROS_RESOLUTION true //false
26+
27+
// Default is true, uncomment to false
28+
//#define CHANGING_PWM_END_OF_CYCLE false
2629

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

examples/ISR_Modify_PWM/ISR_Modify_PWM.ino

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@
1717
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1818
#endif
1919

20-
// These define's must be placed at the beginning before #include "ESP32_PWM.h"
20+
// These define's must be placed at the beginning before #include "Teensy_Slow_PWM.h"
2121
// _PWM_LOGLEVEL_ from 0 to 4
2222
// Don't define _PWM_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
2323
#define _PWM_LOGLEVEL_ 3
2424

25-
#define USING_MICROS_RESOLUTION true //false
25+
#define USING_MICROS_RESOLUTION true //false
26+
27+
// Default is true, uncomment to false
28+
//#define CHANGING_PWM_END_OF_CYCLE false
2629

2730
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
2831
#include "Teensy_Slow_PWM.h"
@@ -87,19 +90,19 @@ void TimerHandler()
8790
uint32_t PWM_Pin = LED_BUILTIN;
8891

8992
// You can assign any interval for any timer here, in Hz
90-
float PWM_Freq1 = 1.0f;
93+
float PWM_Freq1 = 200.0f; //1.0f;
9194
// You can assign any interval for any timer here, in Hz
92-
float PWM_Freq2 = 2.0f;
95+
float PWM_Freq2 = 100.0f; //2.0f;
9396

9497
// You can assign any interval for any timer here, in microseconds
9598
uint32_t PWM_Period1 = 1000000 / PWM_Freq1;
9699
// You can assign any interval for any timer here, in microseconds
97100
uint32_t PWM_Period2 = 1000000 / PWM_Freq2;
98101

99102
// You can assign any duty_cycle for any PWM here, from 0-100
100-
float PWM_DutyCycle1 = 50.0;
103+
float PWM_DutyCycle1 = 1.0f; //50.0f;
101104
// You can assign any duty_cycle for any PWM here, from 0-100
102-
float PWM_DutyCycle2 = 90.0;
105+
float PWM_DutyCycle2 = 5.55f; //90.0f;
103106

104107
// Channel number used to identify associated channel
105108
int channelNum;
@@ -168,8 +171,8 @@ void changePWM()
168171
{
169172
static uint8_t count = 1;
170173

171-
double PWM_Freq;
172-
uint32_t PWM_DutyCycle;
174+
float PWM_Freq;
175+
float PWM_DutyCycle;
173176

174177
if (count++ % 2)
175178
{

examples/multiFileProject/multiFileProject.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
#error This code is designed to run on Teensy platform! Please check your Tools->Board setting.
1515
#endif
1616

17-
#define TEENSY_SLOW_PWM_VERSION_MIN_TARGET F("Teensy_Slow_PWM v1.2.0")
18-
#define TEENSY_SLOW_PWM_VERSION_MIN 1002000
17+
#define TEENSY_SLOW_PWM_VERSION_MIN_TARGET F("Teensy_Slow_PWM v1.2.1")
18+
#define TEENSY_SLOW_PWM_VERSION_MIN 1002001
1919

2020
#include "multiFileProject.h"
2121

0 commit comments

Comments
 (0)