You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 29, 2023. It is now read-only.
### Releases v1.2.0
1. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories
2. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project.
3. Optimize library code by using `reference-passing` instead of `value-passing`
4. Update all examples
*[1. ISR_Timers_Array_Simple on RASPBERRY_PI_PICO](#1-isr_timers_array_simple-on-raspberry_pi_pico)
@@ -68,6 +70,10 @@
68
70
---
69
71
---
70
72
73
+
### Important Change from v1.2.0
74
+
75
+
Please have a look at [HOWTO Fix `Multiple Definitions` Linker Error](#howto-fix-multiple-definitions-linker-error)
76
+
71
77
### Why do we need this [RPI_PICO_TimerInterrupt library](https://github.com/khoih-prog/RPI_PICO_TimerInterrupt)
72
78
73
79
## Features
@@ -111,7 +117,7 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
111
117
112
118
### Currently supported Boards
113
119
114
-
1. RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc.
120
+
1. RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040, Nano_RP2040_Connect, GENERIC_RP2040**, etc.
115
121
116
122
---
117
123
@@ -128,9 +134,12 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
128
134
129
135
## Prerequisites
130
136
131
-
1.[`Arduino IDE 1.8.16+` for Arduino](https://www.arduino.cc/en/Main/Software)
132
-
2.[`Earle Philhower's arduino-pico core v1.9.5+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [](https://github.com/earlephilhower/arduino-pico/releases/latest)
133
-
137
+
1.[`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [](https://github.com/arduino/Arduino/releases/latest)
138
+
2.[`Earle Philhower's arduino-pico core v1.9.14+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [](https://github.com/earlephilhower/arduino-pico/releases/latest)
139
+
3. To use with certain example
140
+
-[`SimpleTimer library`](https://github.com/jfturcot/SimpleTimer) for [ISR_Timers_Array_Simple](examples/ISR_Timers_Array_Simple) and [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) examples.
141
+
142
+
134
143
---
135
144
---
136
145
@@ -202,24 +211,26 @@ With core after v1.4.0, this step is not necessary anymore thanks to the PR [Add
202
211
203
212
### HOWTO Fix `Multiple Definitions` Linker Error
204
213
205
-
The current library implementation, using **xyz-Impl.h instead of standard xyz.cpp**, possibly creates certain `Multiple Definitions` Linker error in certain use cases. Although it's simple to just modify several lines of code, either in the library or in the application, the library is adding 2 more source directories
214
+
The current library implementation, using `xyz-Impl.h` instead of standard `xyz.cpp`, possibly creates certain `Multiple Definitions` Linker error in certain use cases.
206
215
207
-
1.**scr_h** for new h-only files
208
-
2.**src_cpp** for standard h/cpp files
216
+
You can include these `.hpp` or `.h` files
209
217
210
-
besides the standard **src** directory.
218
+
```
219
+
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
2.**Copy all the files in src_cpp directory into src.**
216
-
3. Close then reopen the application code in Arduino IDE, etc. to recompile from scratch.
226
+
in many files. But be sure to use the following `.h` file **in just 1 `.h`, `.cpp` or `.ino` file**, which must **not be included in any other file**, to avoid `Multiple Definitions` Linker Error
217
227
218
-
To re-use the **new h-only** way, just
228
+
```
229
+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
@@ -764,12 +777,11 @@ SW Pressed total time ms = 1181
764
777
The following is the sample terminal output when running example [ISR_Timers_Array_Simple](examples/ISR_Timers_Array_Simple) on ADAFRUIT_FEATHER_RP2040
765
778
766
779
```
767
-
768
-
Starting ISR_Timers_Array_Simple on ADAFRUIT_FEATHER_RP2040
769
-
RPi_Pico_TimerInterrupt v1.1.1
780
+
Starting ISR_Timers_Array_Simple on RASPBERRY_PI_PICO
SimpleTimer : programmed 2000ms, current time ms : 11707, Delta ms : 11707
@@ -788,12 +800,11 @@ Timer5s actual : 5000
788
800
The following is the sample terminal output when running example [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex) on ADAFRUIT_ITSYBITSY_RP2040
789
801
790
802
```
791
-
792
-
Starting ISR_16_Timers_Array_Complex on ADAFRUIT_ITSYBITSY_RP2040
793
-
RPi_Pico_TimerInterrupt v1.1.1
803
+
Starting ISR_16_Timers_Array_Complex on RASPBERRY_PI_PICO
@@ -983,7 +994,10 @@ Submit issues to: [RPI_PICO_TimerInterrupt issues](https://github.com/khoih-prog
983
994
3. Longer time interval
984
995
4. Add Version String
985
996
5. Add Table of Contents
986
-
6. Add support to new boards (**ADAFRUIT_ITSYBITSY_RP2040, ADAFRUIT_QTPY_RP2040, ADAFRUIT_STEMMAFRIEND_RP2040, ADAFRUIT_TRINKEYQT_RP2040, ADAFRUIT_MACROPAD_RP2040, SPARKFUN_PROMICRO_RP2040, etc.**) using the arduino-pico core
997
+
6. Add support to new boards (**ADAFRUIT_ITSYBITSY_RP2040, ADAFRUIT_QTPY_RP2040, ADAFRUIT_STEMMAFRIEND_RP2040, ADAFRUIT_TRINKEYQT_RP2040, ADAFRUIT_MACROPAD_RP2040, SPARKFUN_PROMICRO_RP2040, Nano_RP2040_Connect, etc.**) using the arduino-pico core
998
+
7. Fix `multiple-definitions` linker error
999
+
8. Optimize library code by using `reference-passing` instead of `value-passing`
0 commit comments