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.3.0
1. Fix `multiple-definitions` linker error.
2. Add support to many more boards, such as `SAMD21E1xA`, `SAMD21G1xA` and`SAMD21J1xA`
3. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project.
4. Fix bug
5. Update `Packages' Patches`
Please have a look at [HOWTO Fix `Multiple Definitions` Linker Error](#howto-fix-multiple-definitions-linker-error)
84
+
85
+
---
86
+
---
87
+
88
+
78
89
### Why do we need this [FlashStorage_SAMD library](https://github.com/khoih-prog/FlashStorage_SAMD)
79
90
80
91
### Features
@@ -101,9 +112,9 @@ The flash memory, generally used to store the firmware code, can also be used to
101
112
102
113
## Prerequisites
103
114
104
-
1.[`Arduino IDE v1.8.16+` for Arduino](https://www.arduino.cc/en/Main/Software)
105
-
2.[`Arduino SAMD core 1.8.11+`](https://github.com/arduino/ArduinoCore-samd) for SAMD ARM Cortex-M0+ boards. [](https://github.com/arduino/ArduinoCore-samd/releases/latest)
106
-
3.[`Adafruit SAMD core 1.7.5+`](https://github.com/adafruit/ArduinoCore-samd) for SAMD ARM Cortex-M0+ and M4 boards (Nano 33 IoT, etc.). [](https://github.com/adafruit/ArduinoCore-samd/releases/latest)
115
+
1.[`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [](https://github.com/arduino/Arduino/releases/latest)
116
+
2.[`Arduino SAMD core 1.8.12+`](https://github.com/arduino/ArduinoCore-samd) for SAMD ARM Cortex-M0+ boards. [](https://github.com/arduino/ArduinoCore-samd/releases/latest)
117
+
3.[`Adafruit SAMD core 1.7.7+`](https://github.com/adafruit/ArduinoCore-samd) for SAMD ARM Cortex-M0+ and M4 boards (Nano 33 IoT, etc.). [](https://github.com/adafruit/ArduinoCore-samd/releases/latest)
5.[`IndustruinoSAMD core 1.0.3+`](https://github.com/Industruino/IndustruinoSAMD) for SAMD21 boards (Industruino DG21, etc.).
109
120
6.[`IndustruinoSAML core 1.0.0+`](https://github.com/Industruino/IndustruinoSAMx) for SAML21 boards (Industruino 420MAKER, etc.).
@@ -141,13 +152,13 @@ Another way to install is to:
141
152
142
153
#### 1. For Arduino SAMD boards
143
154
144
-
***To be able to compile, run and automatically detect and display BOARD_NAME on Arduino SAMD (Nano-33-IoT, etc) boards***, you have to copy the whole [Arduino SAMD Packages_Patches](Packages_Patches/arduino/hardware/samd/1.8.11) directory into Arduino SAMD directory (~/.arduino15/packages/arduino/hardware/samd/1.8.11).
155
+
***To be able to compile, run and automatically detect and display BOARD_NAME on Arduino SAMD (Nano-33-IoT, etc) boards***, you have to copy the whole [Arduino SAMD Packages_Patches](Packages_Patches/arduino/hardware/samd/1.8.12) directory into Arduino SAMD directory (~/.arduino15/packages/arduino/hardware/samd/1.8.12).
145
156
146
157
#### For core version v1.8.10+
147
158
148
-
Supposing the Arduino SAMD version is 1.8.11. Now only one file must be copied into the directory:
159
+
Supposing the Arduino SAMD version is 1.8.12. Now only one file must be copied into the directory:
Whenever a new version is installed, remember to copy this files into the new version directory. For example, new version is x.yy.zz
153
164
@@ -180,13 +191,13 @@ Whenever the above-mentioned compiler error issue is fixed with the new Arduino
180
191
181
192
#### 2. For Adafruit SAMD boards
182
193
183
-
***To be able to compile, run and automatically detect and display BOARD_NAME on Adafruit SAMD (Itsy-Bitsy M4, etc) boards***, you have to copy the whole [Adafruit SAMD Packages_Patches](Packages_Patches/adafruit/hardware/samd/1.7.5) directory into Adafruit samd directory (~/.arduino15/packages/adafruit/hardware/samd/1.7.5).
194
+
***To be able to compile, run and automatically detect and display BOARD_NAME on Adafruit SAMD (Itsy-Bitsy M4, etc) boards***, you have to copy the whole [Adafruit SAMD Packages_Patches](Packages_Patches/adafruit/hardware/samd/1.7.7) directory into Adafruit samd directory (~/.arduino15/packages/adafruit/hardware/samd/1.7.7).
184
195
185
-
Supposing the Adafruit SAMD core version is 1.7.5. This file must be copied into the directory:
196
+
Supposing the Adafruit SAMD core version is 1.7.7. This file must be copied into the directory:
The current library implementation, using `xyz-Impl.h` instead of standard `xyz.cpp`, possibly creates certain `Multiple Definitions` Linker error in certain use cases.
234
+
235
+
You can include this `.hpp` file
236
+
237
+
```
238
+
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
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
243
+
244
+
```
245
+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
Check the new [**multiFileProject** example](examples/multiFileProject) for a `HOWTO` demo.
250
+
251
+
Have a look at the discussion in [Different behaviour using the src_cpp or src_h lib #80](https://github.com/khoih-prog/ESPAsync_WiFiManager/discussions/80)
217
252
218
253
---
219
254
---
@@ -290,6 +325,7 @@ The API is very similar to the well-known [Arduino EEPROM library API](https://w
0 commit comments