circuitpython/ports/nrf
Scott Shawcroft dc76306cfa
Enable a BLE workflow
nRF CircuitPython boards will now provide the file transfer
service defined here: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer

USB capable boards will only advertise if previously bonded to a
device or if the reset button is pressed during the fast blue
flashes on start up. When pressed, the board will restart again but
the blue period will not flash.

Boards without USB will always advertise.

When previously bonded, the advertisement is private so that no
other peers can connect. If advertising publicly, the tx power is
lowered to reduce the likelihood of bonding from a distance.

This PR also fixes issues with loading identities of bonded peers
so that our address can now be resolved and we can resolve others'
addresses when scanning.
2021-06-24 12:59:14 -07:00
..
bluetooth Enable a BLE workflow 2021-06-24 12:59:14 -07:00
boards remove micropython board 2021-06-18 10:59:52 -05:00
common-hal Enable a BLE workflow 2021-06-24 12:59:14 -07:00
device/nrf52 run code formatting script 2021-03-15 19:27:36 +05:30
examples run code formatting script 2021-03-15 19:27:36 +05:30
freeze run code formatting script 2021-03-15 19:27:36 +05:30
nrfx@3f55e49eb1 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
peripherals/nrf run code formatting script 2021-03-15 19:27:36 +05:30
supervisor Enable a BLE workflow 2021-06-24 12:59:14 -07:00
.gitignore gitignore: Put build-*/ pattern in top-level gitignore file. 2019-08-16 00:08:08 +10:00
background.c run code formatting script 2021-03-15 19:27:36 +05:30
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
fatfs_port.c run code formatting script 2021-03-15 19:27:36 +05:30
gccollect.c run code formatting script 2021-03-15 19:27:36 +05:30
ld_defines.c run code formatting script 2021-03-15 19:27:36 +05:30
Makefile nrf: Add more math sources to Makefile, and enable log2 implementation. 2021-06-08 16:39:47 +10:00
mpconfigport.h nrf: Add more math sources to Makefile, and enable log2 implementation. 2021-06-08 16:39:47 +10:00
mpconfigport.mk Enable a BLE workflow 2021-06-24 12:59:14 -07:00
mphalport.h run code formatting script 2021-03-15 19:27:36 +05:30
nrfx_config.h Merge remote-tracking branch 'upstream/main' into nrf52-sleep 2021-04-09 13:48:45 -04:00
nrfx_glue.h run code formatting script 2021-03-15 19:27:36 +05:30
nrfx_log.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
qstrdefsport.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
README.md nrf/README: Add use of "make submodules" in alternative build paragraph. 2021-01-30 14:32:55 +11:00
sd_mutex.c run code formatting script 2021-03-15 19:27:36 +05:30
sd_mutex.h run code formatting script 2021-03-15 19:27:36 +05:30

CircuitPython Port To The Nordic Semiconductor nRF52 Series

This is a port of CircuitPython to the Nordic Semiconductor nRF52 series of chips.

Note

: There are board-specific READMEs that may be more up to date than the generic board-neutral documentation below.

Flash

Some boards have UF2 bootloaders and can simply be flashed in the normal way, by copying firmware.uf2 to the BOOT drive.

For some boards, you can use the flash target:

make BOARD=pca10056 flash

Segger Targets

Install the necessary tools to flash and debug using Segger:

JLink Download

nrfjprog linux-32bit Download

nrfjprog linux-64bit Download

nrfjprog osx Download

nrfjprog win32 Download

note: On Linux it might be required to link SEGGER's libjlinkarm.so inside nrfjprog's folder.

DFU Targets

run follow command to install adafruit-nrfutil from PyPi

$ pip3 install --user adafruit-nrfutil

make flash and make sd will not work with DFU targets. Hence, dfu-gen and dfu-flash must be used instead.

  • dfu-gen: Generates a Firmware zip to be used by the DFU flash application.
  • dfu-flash: Triggers the DFU flash application to upload the firmware from the generated Firmware zip file.

When enabled you have different options to test it: