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

Commit f6d96bc

Browse files
authored
v1.2.1 to add support to Seeeduino nRF52
### Releases v1.2.1 1. Add support to Seeeduino nRF52840-based boards such as **Seeed_XIAO_NRF52840 and Seeed_XIAO_NRF52840_SENSE**, etc. using Seeeduino `nRF52` core 2. Add astyle using `allman` style. Restyle the library 3. Update `Packages' Patches` to add Seeeduino `nRF52` core
1 parent b954f20 commit f6d96bc

File tree

1 file changed

+45
-20
lines changed

1 file changed

+45
-20
lines changed

README.md

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,19 @@ This library enables you to use `1 Hardware PWM module` on an nRF52-based board
7979

8080
### Currently supported Boards
8181

82-
- **AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox etc.**
83-
- **Sparkfun Pro nRF52840 Mini**
82+
1. **AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox etc.**
83+
2. **Sparkfun Pro nRF52840 Mini**
84+
3. **Seeeduino nRF52840-based boards such as SEEED_XIAO_NRF52840 and SEEED_XIAO_NRF52840_SENSE**, etc. using Seeeduino `nRF%2` core
8485

8586

8687
---
8788
---
8889

8990
## Prerequisites
9091

91-
1. [`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [![GitHub release](https://img.shields.io/github/release/arduino/Arduino.svg)](https://github.com/arduino/Arduino/releases/latest)
92-
2. [`Adafruit nRF52 v1.3.0+`](https://github.com/adafruit/Adafruit_nRF52_Arduino) for nRF52 boards such as Adafruit NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, **NINA_B302_ublox**, etc. [![GitHub release](https://img.shields.io/github/release/adafruit/Adafruit_nRF52_Arduino.svg)](https://github.com/adafruit/Adafruit_nRF52_Arduino/releases/latest)
92+
1. [`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [![GitHub release](https://img.shields.io/github/release/arduino/Arduino.svg)](https://github.com/arduino/Arduino/releases/latest)
93+
2. [`Adafruit nRF52 v1.3.0+`](https://github.com/adafruit/Adafruit_nRF52_Arduino) for nRF52 boards such as Adafruit NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, **NINA_B302_ublox**, etc. [![GitHub release](https://img.shields.io/github/release/adafruit/Adafruit_nRF52_Arduino.svg)](https://github.com/adafruit/Adafruit_nRF52_Arduino/releases/latest)
94+
3. [`Seeeduino nRF52 core 1.0.0+`](https://github.com/Seeed-Studio/Adafruit_nRF52_Arduino) for Seeeduino nRF52840-based boards such as **Seeed_XIAO_NRF52840 and Seeed_XIAO_NRF52840_SENSE**. [![GitHub release](https://img.shields.io/github/release/Seeed-Studio/Adafruit_nRF52_Arduino.svg)](https://github.com/Seeed-Studio/Adafruit_nRF52_Arduino/releases/latest)
9395

9496
---
9597
---
@@ -148,9 +150,28 @@ These files must be copied into the directory:
148150

149151
---
150152

151-
To use `Sparkfun Pro nRF52840 Mini`, you must install `Packages_Patches` and use Adafruit nrf52 core v1.0.0+
153+
#### 2. For Seeeduino nRF52840 boards
154+
155+
**To be able to compile and run on Xiao nRF52840 boards**, you have to copy the whole [nRF52 1.0.0](Packages_Patches/Seeeduino/hardware/nrf52/1.0.0) directory into Seeeduino nRF52 directory (~/.arduino15/packages/Seeeduino/hardware/nrf52/1.0.0).
156+
157+
Supposing the Seeeduino nRF52 version is 1.0.0. These files must be copied into the directory:
158+
159+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/1.0.0/cores/nRF5/Print.h`**
160+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/1.0.0/cores/nRF5/Print.cpp`**
161+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/1.0.0/cores/nRF5/Udp.h`**
162+
163+
Whenever a new version is installed, remember to copy these files into the new version directory. For example, new version is x.yy.z
164+
These files must be copied into the directory:
165+
166+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/x.yy.z/cores/nRF5/Print.h`**
167+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/x.yy.z/cores/nRF5/Print.cpp`**
168+
- **`~/.arduino15/packages/Seeeduino/hardware/nrf52/x.yy.z/cores/nRF5/Udp.h`**
152169

153170

171+
---
172+
173+
To use `Sparkfun Pro nRF52840 Mini`, you must install `Packages_Patches` and use Adafruit nrf52 core v1.0.0+
174+
154175
---
155176
---
156177

@@ -160,14 +181,14 @@ The current library implementation, using `xyz-Impl.h` instead of standard `xyz.
160181

161182
You can include this `.hpp` file
162183

163-
```
184+
```cpp
164185
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
165186
#include "NRF52_ISR_Servo.hpp" //https://github.com/khoih-prog/NRF52_ISR_Servo
166187
```
167188

168189
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
169190

170-
```
191+
```cpp
171192
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
172193
#include "NRF52_ISR_Servo.h" //https://github.com/khoih-prog/NRF52_ISR_Servo
173194
```
@@ -202,7 +223,7 @@ This non-being-blocked important feature is absolutely necessary for mission-cri
202223

203224
How to use:
204225

205-
https://github.com/khoih-prog/NRF52_ISR_Servo/blob/4260125278f38956f8fdeaca58249ecd80b5b437/examples/nRF52_MultipleRandomServos/nRF52_MultipleRandomServos.ino#L45-L175
226+
https://github.com/khoih-prog/NRF52_ISR_Servo/blob/b954f20cb0826762417909906c3467bc0d7cc603/examples/nRF52_MultipleRandomServos/nRF52_MultipleRandomServos.ino#L45-L171
206227

207228
---
208229
---
@@ -220,7 +241,7 @@ https://github.com/khoih-prog/NRF52_ISR_Servo/blob/4260125278f38956f8fdeaca58249
220241

221242
#### 1. File [nRF52_MultipleServos.ino](examples/nRF52_MultipleServos/nRF52_MultipleServos.ino)
222243

223-
https://github.com/khoih-prog/NRF52_ISR_Servo/blob/4260125278f38956f8fdeaca58249ecd80b5b437/examples/nRF52_MultipleServos/nRF52_MultipleServos.ino#L45-L126
244+
https://github.com/khoih-prog/NRF52_ISR_Servo/blob/b954f20cb0826762417909906c3467bc0d7cc603/examples/nRF52_MultipleServos/nRF52_MultipleServos.ino#L45-L126
224245

225246
---
226247
---
@@ -232,7 +253,7 @@ https://github.com/khoih-prog/NRF52_ISR_Servo/blob/4260125278f38956f8fdeaca58249
232253

233254
```
234255
Starting NRF52_MultipleRandomServos on NRF52840_FEATHER
235-
NRF52_ISR_Servo v1.2.0
256+
NRF52_ISR_Servo v1.2.1
236257
Setup OK Servo index = 0
237258
Setup OK Servo index = 1
238259
Setup OK Servo index = 2
@@ -305,7 +326,7 @@ Servos sweeps from 0-180 degree
305326

306327
```
307328
Starting NRF52_MultipleRandomServos on NRF52840_ITSYBITSY
308-
NRF52_ISR_Servo v1.2.0
329+
NRF52_ISR_Servo v1.2.1
309330
Setup OK Servo index = 0
310331
Setup OK Servo index = 1
311332
Setup OK Servo index = 2
@@ -414,15 +435,19 @@ Submit issues to: [NRF52_ISR_Servo issues](https://github.com/khoih-prog/NRF52_I
414435

415436
## DONE
416437

417-
1. Similar features for Arduino (UNO, Mega, etc...), ESP32, ESP8266, STM32, RP2040, SAMD21/SAMD51
418-
2. Add functions `getPosition()` and `getPulseWidth()`
419-
3. Optimize the code
420-
4. Add complicated examples
421-
5. Convert to `h-only` style.
422-
6. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project
423-
7. Optimize code by using passing by `reference` instead of by `value`
424-
8. Add support to `Sparkfun Pro nRF52840 Mini`
425-
9. Permit using servos with different pulse ranges simultaneously
438+
1. Similar features for Arduino (UNO, Mega, etc...), ESP32, ESP8266, STM32, RP2040, SAMD21/SAMD51
439+
2. Add functions `getPosition()` and `getPulseWidth()`
440+
3. Optimize the code
441+
4. Add complicated examples
442+
5. Convert to `h-only` style.
443+
6. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project
444+
7. Optimize code by using passing by `reference` instead of by `value`
445+
8. Add support to `Sparkfun Pro nRF52840 Mini`
446+
9. Permit using servos with different pulse ranges simultaneously
447+
10. Add support to Seeeduino nRF52840-based boards such as **Seeed_XIAO_NRF52840 and Seeed_XIAO_NRF52840_SENSE**, etc. using Seeeduino `nRF52` core
448+
11. Add astyle using `allman` style. Restyle the library
449+
12. Add `Packages' Patches` to add Seeeduino `nRF52` core
450+
426451

427452
---
428453
---

0 commit comments

Comments
 (0)