Skip to content

Commit 68400a7

Browse files
authored
Merge pull request #249 from adafruit/develop
Multiple peripheral connection support
2 parents 69f1802 + 1572504 commit 68400a7

File tree

107 files changed

+7129
-6252
lines changed

Some content is hidden

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

107 files changed

+7129
-6252
lines changed

README.md

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,6 @@ There are two methods that you can use to install this BSP. We highly recommend
5151
5252
- [SiLabs CP2104 driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx) is required for USB to Serial when using with Feather nRF52832
5353
54-
## Arduino BLE Application Support
55-
56-
This Arduino core contains basic BLE peripheral mode helper classes and an initial peripheral mode
57-
API. These helper classes and APIs aim to make it easier to work with the Nordic SoftDevice that
58-
contains Nordic's official Bluetooth Low Energy stack. You are also free to use the Nordic SDK to
59-
generate your own example code, since all of the SoftDevice header files are included in your
60-
projects by default.
61-
62-
To see a list of example sketches that make use of these helper classes, select the appropriate
63-
board from the `Tools > Board` menu item, and then in the `Examples` menu look for the list of
64-
examples sketched for the selected board.
65-
6654
## Bootloader Support
6755
6856
### Upgrade existing Bootloader
@@ -74,7 +62,7 @@ Bluefruit's Bootloader is self-upgradable, you could upgrade to the latest Bootl
7462
- Select `Tools > Burn Bootloader`
7563
- **WAIT** until the process complete ~30 seconds
7664
77-
Note: close the Serial Monitor before you click "Burn Bootloader". Afterwards, you shouldn't close the Arduino IDE, unplug the Feather, launch Serial Monitor etc ... to abort the process. There is a high chance it will brick your device! Do this with care and caution.
65+
**Note: close the Serial Monitor before you click "Burn Bootloader". Afterwards, you shouldn't close the Arduino IDE, unplug the Feather, launch Serial Monitor etc ... to abort the process. There is a high chance it will brick your device! Do this with care and caution.**
7866
7967
### Burning new Bootloader
8068
@@ -111,36 +99,6 @@ $ nrfjprog --program feather_nrf52832_bootloader.hex -f nrf52
11199
$ nrfjprog --reset -f nrf52
112100
```
113101
114-
## Misc Notes
115-
116-
#### nRF52DK Jlink Issue on macOS
117-
118-
If developing with the nRF52DK on macOS, there is a bug where only 64 bytes can be sent
119-
over the USB CDC interface, which will prevent you from using the serial bootloader from
120-
the Arduino IDE with an error like this:
121-
122-
```
123-
Upgrading target on /dev/cu.usbmodem1421 with DFU package /private/var/folders/86/hb2vp14n5_5_yvdz_z8w9x_c0000gn/T/arduino_build_267869/nRF51Blinky.ino.zip. Flow control is disabled.
124-
125-
126-
Timed out waiting for acknowledgement from device.
127-
128-
Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.
129-
130-
Possible causes:
131-
- bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
132-
- baud rate or flow control is not the same as in the target bootloader.
133-
- target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
134-
```
135-
136-
To resolve this and enable 512 byte packets over USB serial, you must disable the
137-
Mass Storage Device interface on the JLink-OB, which will free up two of the 512 byte
138-
USB end points. (For details see [this article](https://wiki.segger.com/index.php?title=J-Link-OB_SAM3U).)
139-
140-
You can do so by running `JLinkExe` from the command line, and then entering the
141-
`MSDDisable` command, and power cycling your nRF52DK. To re-enable MSD support, do the same
142-
but enter the `MSDEnable` command.
143-
144102
## Credits
145103
146104
This core is based on [Arduino-nRF5](https://github.com/sandeepmistry/arduino-nRF5) by Sandeep Mistry,
@@ -154,4 +112,3 @@ The following libraries are used:
154112
- [nrfx](https://github.com/NordicSemiconductor/nrfx) for peripherals driver
155113
- [littlefs](https://github.com/ARMmbed/littlefs) for internal file system
156114
- [fatfs by elm-chan](http://elm-chan.org/fsw/ff/00index_e.html) for external file system
157-
- Segger Sysview for debugging.

boards.txt

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ feather52832.build.extra_flags=-DNRF52832_XXAA -DNRF52 -DARDUINO_NRF52_FEATHER
4343
# SofDevice Menu
4444
# Ram & ROM size varies depending on SoftDevice (check linker script)
4545

46-
feather52832.menu.softdevice.s132v6=0.2.7 (s132 6.1.1)
46+
feather52832.menu.softdevice.s132v6=0.2.9 (s132 6.1.1)
4747
feather52832.menu.softdevice.s132v6.build.sd_flags=-DS132
4848
feather52832.menu.softdevice.s132v6.build.sd_name=s132
4949
feather52832.menu.softdevice.s132v6.build.sd_version=6.1.1
@@ -103,7 +103,7 @@ feather52840.build.extra_flags=-DNRF52840_XXAA -DARDUINO_NRF52_FEATHER
103103
# SofDevice Menu
104104
# Ram & ROM size varies depending on SoftDevice (check linker script)
105105

106-
feather52840.menu.softdevice.s140v6=0.2.7 (s140 6.1.1)
106+
feather52840.menu.softdevice.s140v6=0.2.9 (s140 6.1.1)
107107
feather52840.menu.softdevice.s140v6.build.sd_flags=-DS140
108108
feather52840.menu.softdevice.s140v6.build.sd_name=s140
109109
feather52840.menu.softdevice.s140v6.build.sd_version=6.1.1
@@ -125,44 +125,44 @@ feather52840.menu.debug.l3.build.debug_flags=-DCFG_DEBUG=3 -Os
125125
#**********************************************
126126
# Bluefruit Metro nRF52840 Express Board
127127
#**********************************************
128-
metro52840.name=Adafruit Bluefruit nRF52840 Metro Express
129-
metro52840.bootloader.tool=bootburn
128+
#metro52840.name=Adafruit Bluefruit nRF52840 Metro Express
129+
#metro52840.bootloader.tool=bootburn
130130

131131
# Upload
132-
metro52840.upload.tool=nrfutil
133-
metro52840.upload.protocol=nrfutil
134-
metro52840.upload.use_1200bps_touch=true
135-
metro52840.upload.wait_for_upload_port=true
132+
#metro52840.upload.tool=nrfutil
133+
#metro52840.upload.protocol=nrfutil
134+
#metro52840.upload.use_1200bps_touch=true
135+
#metro52840.upload.wait_for_upload_port=true
136136

137137
# Build
138-
metro52840.build.mcu=cortex-m4
139-
metro52840.build.f_cpu=64000000
140-
metro52840.build.board=NRF52840_METRO
141-
metro52840.build.core=nRF5
142-
metro52840.build.variant=metro_nrf52840_express
143-
metro52840.build.extra_flags=-DNRF52840_XXAA
138+
#metro52840.build.mcu=cortex-m4
139+
#metro52840.build.f_cpu=64000000
140+
#metro52840.build.board=NRF52840_METRO
141+
#metro52840.build.core=nRF5
142+
#metro52840.build.variant=metro_nrf52840_express
143+
#metro52840.build.extra_flags=-DNRF52840_XXAA
144144

145145
# SofDevice Menu
146146
# Ram & ROM size varies depending on SoftDevice (check linker script)
147147

148-
metro52840.menu.softdevice.s140v6=0.2.7 (s140 6.1.1)
149-
metro52840.menu.softdevice.s140v6.build.sd_flags=-DS140
150-
metro52840.menu.softdevice.s140v6.build.sd_name=s140
151-
metro52840.menu.softdevice.s140v6.build.sd_version=6.1.1
152-
metro52840.menu.softdevice.s140v6.build.sd_fwid=0x00B6
153-
metro52840.menu.softdevice.s140v6.build.ldscript=nrf52840_s140_v6.ld
154-
metro52840.menu.softdevice.s140v6.upload.maximum_size=815104
155-
metro52840.menu.softdevice.s140v6.upload.maximum_data_size=248832
148+
#metro52840.menu.softdevice.s140v6=0.2.9 (s140 6.1.1)
149+
#metro52840.menu.softdevice.s140v6.build.sd_flags=-DS140
150+
#metro52840.menu.softdevice.s140v6.build.sd_name=s140
151+
#metro52840.menu.softdevice.s140v6.build.sd_version=6.1.1
152+
#metro52840.menu.softdevice.s140v6.build.sd_fwid=0x00B6
153+
#metro52840.menu.softdevice.s140v6.build.ldscript=nrf52840_s140_v6.ld
154+
#metro52840.menu.softdevice.s140v6.upload.maximum_size=815104
155+
#metro52840.menu.softdevice.s140v6.upload.maximum_data_size=248832
156156

157157
# Debug Menu
158-
metro52840.menu.debug.l0=Level 0 (Release)
159-
metro52840.menu.debug.l0.build.debug_flags=-DCFG_DEBUG=0 -Os
160-
metro52840.menu.debug.l1=Level 1 (Error Message)
161-
metro52840.menu.debug.l1.build.debug_flags=-DCFG_DEBUG=1 -Os
162-
metro52840.menu.debug.l2=Level 2 (Full Debug)
163-
metro52840.menu.debug.l2.build.debug_flags=-DCFG_DEBUG=2 -Os
164-
metro52840.menu.debug.l3=Level 3 (Segger SystemView)
165-
metro52840.menu.debug.l3.build.debug_flags=-DCFG_DEBUG=3 -Os
158+
#metro52840.menu.debug.l0=Level 0 (Release)
159+
#metro52840.menu.debug.l0.build.debug_flags=-DCFG_DEBUG=0 -Os
160+
#metro52840.menu.debug.l1=Level 1 (Error Message)
161+
#metro52840.menu.debug.l1.build.debug_flags=-DCFG_DEBUG=1 -Os
162+
#metro52840.menu.debug.l2=Level 2 (Full Debug)
163+
#metro52840.menu.debug.l2.build.debug_flags=-DCFG_DEBUG=2 -Os
164+
#metro52840.menu.debug.l3=Level 3 (Segger SystemView)
165+
#metro52840.menu.debug.l3.build.debug_flags=-DCFG_DEBUG=3 -Os
166166

167167
#**********************************************
168168
# Nordic nRF52840DK (PCA10056)
@@ -187,7 +187,7 @@ pca10056.build.extra_flags=-DNRF52840_XXAA
187187
# SofDevice Menu
188188
# Ram & ROM size varies depending on SoftDevice (check linker script)
189189

190-
pca10056.menu.softdevice.s140v6=0.2.7 (s140 6.1.1)
190+
pca10056.menu.softdevice.s140v6=0.2.9 (s140 6.1.1)
191191
pca10056.menu.softdevice.s140v6.build.sd_flags=-DS140
192192
pca10056.menu.softdevice.s140v6.build.sd_name=s140
193193
pca10056.menu.softdevice.s140v6.build.sd_version=6.1.1

0 commit comments

Comments
 (0)