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.1.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 RaspberryPi Pico](#1-isr_timers_array_simple-on-raspberrypi-pico)
@@ -62,6 +65,10 @@
62
65
---
63
66
---
64
67
68
+
### Important Change from v1.1.0
69
+
70
+
Please have a look at [HOWTO Fix `Multiple Definitions` Linker Error](#howto-fix-multiple-definitions-linker-error)
71
+
65
72
### Why do we need this [MBED_RPI_PICO_TimerInterrupt library](https://github.com/khoih-prog/MBED_RPI_PICO_TimerInterrupt)
66
73
67
74
## Features
@@ -123,9 +130,12 @@ The catch is **your function is now part of an ISR (Interrupt Service Routine),
123
130
124
131
## Prerequisites
125
132
126
-
1.[`Arduino IDE 1.8.16+` for Arduino](https://www.arduino.cc/en/Main/Software)
127
-
2.[`Arduino mbed_rp2040 core 2.5.2+`](https://github.com/arduino/ArduinoCore-mbed) for Arduino (Use Arduino Board Manager) RP2040-based boards, such as **Arduino Nano RP2040 Connect, RASPBERRY_PI_PICO, etc.**. [](https://github.com/arduino/ArduinoCore-mbed/releases/latest)
128
-
133
+
1.[`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [](https://github.com/arduino/Arduino/releases/latest)
134
+
2.[`Arduino mbed_rp2040 core 2.6.1+`](https://github.com/arduino/ArduinoCore-mbed) for Arduino (Use Arduino Board Manager) RP2040-based boards, such as **Arduino Nano RP2040 Connect, RASPBERRY_PI_PICO, etc.**. [](https://github.com/arduino/ArduinoCore-mbed/releases/latest)
135
+
3. To use with certain example
136
+
-[`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.
137
+
138
+
129
139
---
130
140
---
131
141
@@ -159,24 +169,29 @@ Another way to install is to:
159
169
160
170
### HOWTO Fix `Multiple Definitions` Linker Error
161
171
162
-
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
172
+
The current library implementation, using `xyz-Impl.h` instead of standard `xyz.cpp`, possibly creates certain `Multiple Definitions` Linker error in certain use cases.
163
173
164
-
1.**scr_h** for new h-only files
165
-
2.**src_cpp** for standard h/cpp files
174
+
You can include these `.hpp` files
175
+
176
+
```
177
+
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
To use the **old standard cpp** way, locate this library' directory, then just
184
+
in many files. But be sure to use the following `.h` files **in just 1 `.h`, `.cpp` or `.ino` file**, which must **not be included in any other file**, to avoid `Multiple Definitions` Linker Error
170
185
171
-
1.**Delete the all the files in src directory.**
172
-
2.**Copy all the files in src_cpp directory into src.**
173
-
3. Close then reopen the application code in Arduino IDE, etc. to recompile from scratch.
186
+
```
187
+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
0 commit comments