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

Commit b8471a3

Browse files
authored
v1.13.0 to update to use latest versions
### Major Releases v1.13.0 1. Update to use latest versions of the following libraries - [ESP32_New_TimerInterrupt](https://github.com/khoih-prog/ESP32_New_TimerInterrupt) - [MBED_RPI_PICO_TimerInterrupt](https://github.com/khoih-prog/MBED_RPI_PICO_TimerInterrupt) - [megaAVR_TimerInterrupt](https://github.com/khoih-prog/megaAVR_TimerInterrupt) - [NRF52_TimerInterrupt](https://github.com/khoih-prog/NRF52_TimerInterrupt) - [NRF52_MBED_TimerInterrupt](https://github.com/khoih-prog/NRF52_MBED_TimerInterrupt) 2. Modify ESP32 examples to avoid using `LED_BUILTIN` / `GPIO2` as it can cause crash in some boards, such as `ESP32_C3` 3. Use `allman astyle` and add `utils` 4. Update `Packages_Patches`
1 parent afeb93a commit b8471a3

File tree

78 files changed

+8000
-7118
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+8000
-7118
lines changed

examples/AVR/Argument_Complex/Argument_Complex.ino

Lines changed: 71 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -35,100 +35,111 @@
3535
defined(ARDUINO_AVR_NG) || defined(ARDUINO_AVR_UNO_WIFI_DEV_ED) || defined(ARDUINO_AVR_DUEMILANOVE) || defined(ARDUINO_AVR_FEATHER328P) || \
3636
defined(ARDUINO_AVR_METRO) || defined(ARDUINO_AVR_PROTRINKET5) || defined(ARDUINO_AVR_PROTRINKET3) || defined(ARDUINO_AVR_PROTRINKET5FTDI) || \
3737
defined(ARDUINO_AVR_PROTRINKET3FTDI) )
38-
#define USE_TIMER_1 true
39-
#warning Using Timer1
40-
#else
41-
#define USE_TIMER_3 true
42-
#warning Using Timer3
38+
#define USE_TIMER_1 true
39+
#warning Using Timer1
40+
#else
41+
#define USE_TIMER_3 true
42+
#warning Using Timer3
4343
#endif
4444

4545
#include "TimerInterrupt_Generic.h"
4646

4747
#if !defined(LED_BUILTIN)
48-
#define LED_BUILTIN 13
48+
#define LED_BUILTIN 13
4949
#endif
5050

5151
struct pinStruct
5252
{
53-
unsigned int Pin1;
54-
unsigned int Pin2;
55-
unsigned int Pin3;
53+
unsigned int Pin1;
54+
unsigned int Pin2;
55+
unsigned int Pin3;
5656
};
5757

5858
volatile pinStruct myOutputPins = { LED_BUILTIN, A0, A1 };
5959

6060
void TimerHandler(unsigned int outputPinsAddress)
6161
{
62-
static bool toggle = false;
62+
static bool toggle = false;
6363

64-
//timer interrupt toggles pins
64+
//timer interrupt toggles pins
6565
#if (TIMER_INTERRUPT_DEBUG > 1)
66-
Serial.print("Toggle pin1 = "); Serial.println( ((pinStruct *) outputPinsAddress)->Pin1 );
66+
Serial.print("Toggle pin1 = ");
67+
Serial.println( ((pinStruct *) outputPinsAddress)->Pin1 );
6768
#endif
68-
69-
digitalWrite(((pinStruct *) outputPinsAddress)->Pin1, toggle);
7069

71-
#if (TIMER_INTERRUPT_DEBUG > 1)
72-
Serial.print("Read pin2 A0 ("); Serial.print(((pinStruct *) outputPinsAddress)->Pin2 );
73-
Serial.print(") = ");
74-
Serial.println(digitalRead(((pinStruct *) outputPinsAddress)->Pin2) ? "HIGH" : "LOW" );
70+
digitalWrite(((pinStruct *) outputPinsAddress)->Pin1, toggle);
7571

76-
Serial.print("Read pin3 A1 ("); Serial.print(((pinStruct *) outputPinsAddress)->Pin3 );
77-
Serial.print(") = ");
78-
Serial.println(digitalRead(((pinStruct *) outputPinsAddress)->Pin3) ? "HIGH" : "LOW" );
72+
#if (TIMER_INTERRUPT_DEBUG > 1)
73+
Serial.print("Read pin2 A0 (");
74+
Serial.print(((pinStruct *) outputPinsAddress)->Pin2 );
75+
Serial.print(") = ");
76+
Serial.println(digitalRead(((pinStruct *) outputPinsAddress)->Pin2) ? "HIGH" : "LOW" );
77+
78+
Serial.print("Read pin3 A1 (");
79+
Serial.print(((pinStruct *) outputPinsAddress)->Pin3 );
80+
Serial.print(") = ");
81+
Serial.println(digitalRead(((pinStruct *) outputPinsAddress)->Pin3) ? "HIGH" : "LOW" );
7982
#endif
80-
81-
toggle = !toggle;
83+
84+
toggle = !toggle;
8285
}
8386

8487
#define TIMER_INTERVAL_MS 1000
8588

8689
void setup()
8790
{
88-
pinMode(myOutputPins.Pin1, OUTPUT);
89-
pinMode(myOutputPins.Pin2, OUTPUT);
90-
pinMode(myOutputPins.Pin3, OUTPUT);
91-
92-
Serial.begin(115200);
93-
while (!Serial);
94-
95-
Serial.print(F("\nStarting Argument_Complex on ")); Serial.println(BOARD_TYPE);
96-
Serial.println(TIMER_INTERRUPT_VERSION);
97-
Serial.println(TIMER_INTERRUPT_GENERIC_VERSION);
98-
Serial.print(F("CPU Frequency = ")); Serial.print(F_CPU / 1000000); Serial.println(F(" MHz"));
99-
100-
// Timer0 is used for micros(), millis(), delay(), etc and can't be used
101-
// Select Timer 1-2 for UNO, 1-5 for MEGA, 1,3,4 for 16u4/32u4
102-
// Timer 2 is 8-bit timer, only for higher frequency
103-
// Timer 4 of 16u4 and 32u4 is 8/10-bit timer, only for higher frequency
104-
105-
// Using ATmega328 used in UNO => 16MHz CPU clock ,
106-
// For 16-bit timer 1, 3, 4 and 5, set frequency from 0.2385 to some KHz
107-
// For 8-bit timer 2 (prescaler up to 1024, set frequency from 61.5Hz to some KHz
108-
91+
pinMode(myOutputPins.Pin1, OUTPUT);
92+
pinMode(myOutputPins.Pin2, OUTPUT);
93+
pinMode(myOutputPins.Pin3, OUTPUT);
94+
95+
Serial.begin(115200);
96+
97+
while (!Serial && millis() < 5000);
98+
99+
delay(500);
100+
101+
Serial.print(F("\nStarting Argument_Complex on "));
102+
Serial.println(BOARD_TYPE);
103+
Serial.println(TIMER_INTERRUPT_VERSION);
104+
Serial.println(TIMER_INTERRUPT_GENERIC_VERSION);
105+
Serial.print(F("CPU Frequency = "));
106+
Serial.print(F_CPU / 1000000);
107+
Serial.println(F(" MHz"));
108+
109+
// Timer0 is used for micros(), millis(), delay(), etc and can't be used
110+
// Select Timer 1-2 for UNO, 1-5 for MEGA, 1,3,4 for 16u4/32u4
111+
// Timer 2 is 8-bit timer, only for higher frequency
112+
// Timer 4 of 16u4 and 32u4 is 8/10-bit timer, only for higher frequency
113+
114+
// Using ATmega328 used in UNO => 16MHz CPU clock ,
115+
// For 16-bit timer 1, 3, 4 and 5, set frequency from 0.2385 to some KHz
116+
// For 8-bit timer 2 (prescaler up to 1024, set frequency from 61.5Hz to some KHz
117+
109118
#if USE_TIMER_1
110119

111-
ITimer1.init();
120+
ITimer1.init();
121+
122+
// Using ATmega328 used in UNO => 16MHz CPU clock ,
112123

113-
// Using ATmega328 used in UNO => 16MHz CPU clock ,
124+
if (ITimer1.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler, (unsigned int) &myOutputPins))
125+
{
126+
Serial.print(F("Starting ITimer1 OK, millis() = "));
127+
Serial.println(millis());
128+
}
129+
else
130+
Serial.println(F("Can't set ITimer1. Select another freq. or timer"));
114131

115-
if (ITimer1.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler, (unsigned int) &myOutputPins))
116-
{
117-
Serial.print(F("Starting ITimer1 OK, millis() = ")); Serial.println(millis());
118-
}
119-
else
120-
Serial.println(F("Can't set ITimer1. Select another freq. or timer"));
121-
122132
#elif USE_TIMER_3
123133

124-
ITimer3.init();
134+
ITimer3.init();
125135

126-
if (ITimer3.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler, (unsigned int) &myOutputPins))
127-
{
128-
Serial.print(F("Starting ITimer3 OK, millis() = ")); Serial.println(millis());
129-
}
130-
else
131-
Serial.println(F("Can't set ITimer3. Select another freq. or timer"));
136+
if (ITimer3.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler, (unsigned int) &myOutputPins))
137+
{
138+
Serial.print(F("Starting ITimer3 OK, millis() = "));
139+
Serial.println(millis());
140+
}
141+
else
142+
Serial.println(F("Can't set ITimer3. Select another freq. or timer"));
132143

133144
#endif
134145
}

examples/AVR/Argument_None/Argument_None.ino

Lines changed: 74 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@
3737
defined(ARDUINO_AVR_NG) || defined(ARDUINO_AVR_UNO_WIFI_DEV_ED) || defined(ARDUINO_AVR_DUEMILANOVE) || defined(ARDUINO_AVR_FEATHER328P) || \
3838
defined(ARDUINO_AVR_METRO) || defined(ARDUINO_AVR_PROTRINKET5) || defined(ARDUINO_AVR_PROTRINKET3) || defined(ARDUINO_AVR_PROTRINKET5FTDI) || \
3939
defined(ARDUINO_AVR_PROTRINKET3FTDI) )
40-
#define USE_TIMER_2 true
41-
#warning Using Timer1, Timer2
42-
#else
43-
#define USE_TIMER_3 true
44-
#warning Using Timer1, Timer3
40+
#define USE_TIMER_2 true
41+
#warning Using Timer1, Timer2
42+
#else
43+
#define USE_TIMER_3 true
44+
#warning Using Timer1, Timer3
4545
#endif
4646

4747
#include "TimerInterrupt_Generic.h"
@@ -50,84 +50,93 @@
5050
#define TIMER_INTERVAL_MS 2000
5151

5252
#ifndef LED_BUILTIN
53-
#define LED_BUILTIN 13
53+
#define LED_BUILTIN 13
5454
#endif
5555

5656
void TimerHandler1(void)
5757
{
58-
static bool toggle1 = false;
58+
static bool toggle1 = false;
5959

60-
//timer interrupt toggles pin LED_BUILTIN
61-
digitalWrite(LED_BUILTIN, toggle1);
62-
toggle1 = !toggle1;
60+
//timer interrupt toggles pin LED_BUILTIN
61+
digitalWrite(LED_BUILTIN, toggle1);
62+
toggle1 = !toggle1;
6363
}
6464

6565
void TimerHandler(void)
6666
{
67-
static bool toggle = false;
68-
69-
//timer interrupt toggles outputPin
70-
digitalWrite(A0, toggle);
71-
toggle = !toggle;
67+
static bool toggle = false;
68+
69+
//timer interrupt toggles outputPin
70+
digitalWrite(A0, toggle);
71+
toggle = !toggle;
7272
}
7373

7474
void setup()
7575
{
76-
pinMode(LED_BUILTIN, OUTPUT);
77-
pinMode(A0, OUTPUT);
78-
79-
Serial.begin(115200);
80-
while (!Serial);
81-
82-
Serial.print(F("\nStarting Argument_None on ")); Serial.println(BOARD_TYPE);
83-
Serial.println(TIMER_INTERRUPT_VERSION);
84-
Serial.println(TIMER_INTERRUPT_GENERIC_VERSION);
85-
Serial.print(F("CPU Frequency = ")); Serial.print(F_CPU / 1000000); Serial.println(F(" MHz"));
86-
87-
// Timer0 is used for micros(), millis(), delay(), etc and can't be used
88-
// Select Timer 1-2 for UNO, 1-5 for MEGA, 1,3,4 for 16u4/32u4
89-
// Timer 2 is 8-bit timer, only for higher frequency
90-
// Timer 4 of 16u4 and 32u4 is 8/10-bit timer, only for higher frequency
91-
92-
ITimer1.init();
93-
94-
// Using ATmega328 used in UNO => 16MHz CPU clock ,
95-
// For 16-bit timer 1, 3, 4 and 5, set frequency from 0.2385 to some KHz
96-
// For 8-bit timer 2 (prescaler up to 1024, set frequency from 61.5Hz to some KHz
97-
98-
if (ITimer1.attachInterruptInterval(TIMER1_INTERVAL_MS, TimerHandler1))
99-
{
100-
Serial.print(F("Starting ITimer1 OK, millis() = ")); Serial.println(millis());
101-
}
102-
else
103-
Serial.println(F("Can't set ITimer1. Select another freq. or timer"));
76+
pinMode(LED_BUILTIN, OUTPUT);
77+
pinMode(A0, OUTPUT);
78+
79+
Serial.begin(115200);
80+
81+
while (!Serial && millis() < 5000);
82+
83+
delay(500);
84+
85+
Serial.print(F("\nStarting Argument_None on "));
86+
Serial.println(BOARD_TYPE);
87+
Serial.println(TIMER_INTERRUPT_VERSION);
88+
Serial.println(TIMER_INTERRUPT_GENERIC_VERSION);
89+
Serial.print(F("CPU Frequency = "));
90+
Serial.print(F_CPU / 1000000);
91+
Serial.println(F(" MHz"));
92+
93+
// Timer0 is used for micros(), millis(), delay(), etc and can't be used
94+
// Select Timer 1-2 for UNO, 1-5 for MEGA, 1,3,4 for 16u4/32u4
95+
// Timer 2 is 8-bit timer, only for higher frequency
96+
// Timer 4 of 16u4 and 32u4 is 8/10-bit timer, only for higher frequency
97+
98+
ITimer1.init();
99+
100+
// Using ATmega328 used in UNO => 16MHz CPU clock ,
101+
// For 16-bit timer 1, 3, 4 and 5, set frequency from 0.2385 to some KHz
102+
// For 8-bit timer 2 (prescaler up to 1024, set frequency from 61.5Hz to some KHz
103+
104+
if (ITimer1.attachInterruptInterval(TIMER1_INTERVAL_MS, TimerHandler1))
105+
{
106+
Serial.print(F("Starting ITimer1 OK, millis() = "));
107+
Serial.println(millis());
108+
}
109+
else
110+
Serial.println(F("Can't set ITimer1. Select another freq. or timer"));
104111

105112
#if USE_TIMER_2
106-
107-
// Select Timer 1-2 for UNO, 0-5 for MEGA, 1,3,4 for 32u4
108-
// Timer 2 is 8-bit timer, only for higher frequency
109-
ITimer2.init();
110-
111-
if (ITimer2.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler))
112-
{
113-
Serial.print(F("Starting ITimer2 OK, millis() = ")); Serial.println(millis());
114-
}
115-
else
116-
Serial.println(F("Can't set ITimer2. Select another freq. or timer"));
113+
114+
// Select Timer 1-2 for UNO, 0-5 for MEGA, 1,3,4 for 32u4
115+
// Timer 2 is 8-bit timer, only for higher frequency
116+
ITimer2.init();
117+
118+
if (ITimer2.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler))
119+
{
120+
Serial.print(F("Starting ITimer2 OK, millis() = "));
121+
Serial.println(millis());
122+
}
123+
else
124+
Serial.println(F("Can't set ITimer2. Select another freq. or timer"));
117125

118126
#elif USE_TIMER_3
119127

120-
// Select Timer 1-2 for UNO, 0-5 for MEGA, 1,3,4 for 32u4
121-
// Timer 3 is 16-bit timer
122-
ITimer3.init();
123-
124-
if (ITimer3.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler))
125-
{
126-
Serial.print(F("Starting ITimer3 OK, millis() = ")); Serial.println(millis());
127-
}
128-
else
129-
Serial.println(F("Can't set ITimer3. Select another freq. or timer"));
130-
128+
// Select Timer 1-2 for UNO, 0-5 for MEGA, 1,3,4 for 32u4
129+
// Timer 3 is 16-bit timer
130+
ITimer3.init();
131+
132+
if (ITimer3.attachInterruptInterval(TIMER_INTERVAL_MS, TimerHandler))
133+
{
134+
Serial.print(F("Starting ITimer3 OK, millis() = "));
135+
Serial.println(millis());
136+
}
137+
else
138+
Serial.println(F("Can't set ITimer3. Select another freq. or timer"));
139+
131140
#endif
132141
}
133142

0 commit comments

Comments
 (0)