diff --git a/README.md b/README.md index 5da1c2d3..19fa0915 100644 --- a/README.md +++ b/README.md @@ -1,185 +1,10 @@ # Arduino Core for Nordic Semiconductor nRF5 based boards -[![Build Status](https://travis-ci.org/sandeepmistry/arduino-nRF5.svg?branch=master)](https://travis-ci.org/sandeepmistry/arduino-nRF5) [![OpenCollective](https://opencollective.com/arduino-nRF5/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/arduino-nRF5/sponsors/badge.svg)](#sponsors) - - -Program your [Nordic Semiconductor](https://www.nordicsemi.com) nRF51 or nRF52 board using the [Arduino](https://www.arduino.cc) IDE. - -Does not require a custom bootloader on the device. - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/arduino-nRF5#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/arduino-nRF5#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Supported boards - -### nRF52 - * [Plain nRF52 MCU](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832) - * [Nordic Semiconductor nRF52 DK](https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK) - * For boards prior to ```2016.9``` (see sticker), the lastest JLink bootloader is required to upload sketches. To upgrade, press the boot/reset button while powering on the board and copy over the latest [bootloader](https://www.nordicsemi.com/eng/nordic/Products/nRF52-DK/nRF5x-OB-JLink-IF/52275). - * [Shenzhen Taida Century Technology nRF52 low cost development board](https://www.aliexpress.com/item/NRF52832-high-cost-development-board-gold-core-board/32725601299.html) - * [RedBear Blend 2](https://github.com/redbear/nRF5x#blend-2) - * [RedBear Nano 2](https://github.com/redbear/nRF5x#ble-nano-2) - * [Bluey](https://github.com/electronut/ElectronutLabs-bluey) - * [hackaBLE](https://github.com/electronut/ElectronutLabs-hackaBLE) - -### nRF51 - * [Plain nRF51 MCU](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822) - * [BBC micro:bit](https://microbit.org) - * [Calliope mini](https://calliope.cc/en) - * [Bluz DK](http://bluz.io) - * Nordic Semiconductor [nRF51822 Development Kit](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822-Development-Kit) + [nRF51422 Development Kit](https://www.nordicsemi.com/eng/Products/ANT/nRF51422-Development-Kit) - * Nordic SemiconductornRF51x22 Development Kits (PCA1000x) - * [Nordic Semiconductor NRF51 Smart Beacon Kit](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822-Bluetooth-Smart-Beacon-Kit) - * [Nordic Semiconductor NRF51 Dongle](http://www.nordicsemi.com/eng/Products/nRF51-Dongle) - * [OSHChip](http://www.oshchip.org/) - * [RedBearLab BLE Nano](http://redbearlab.com/blenano/) - * [RedBearLab nRF51822](http://redbearlab.com/redbearlab-nrf51822/) - * [Waveshare BLE400](http://www.waveshare.com/wiki/BLE400) - * [ng-beacon](https://github.com/urish/ng-beacon) - * [TinyBLE](https://www.seeedstudio.com/Seeed-Tiny-BLE-BLE-%2B-6DOF-Mbed-Platform-p-2268.html) - * [Sino:bit](http://sinobit.org) +This is a fork from [sandeepmistry/arduino-nRF5](https://github.com/sandeepmistry/arduino-nRF5). This fork adds support for +the ID115 fitness bracelet board, which packs a nRF51822 IC. For more information, check out [this blog](https://rbaron.net/blog). ## Installing -### Board Manager - - 1. [Download and install the Arduino IDE](https://www.arduino.cc/en/Main/Software) (At least v1.6.12) - 2. Start the Arduino IDE - 3. Go into Preferences - 4. Add ```https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json``` as an "Additional Board Manager URL" - 5. Open the Boards Manager from the Tools -> Board menu and install "Nordic Semiconductor nRF5 Boards" - 6. Select your nRF5 board from the Tools -> Board menu - -__NOTE:__ During installation it takes the Arduino IDE a few minutes to extract the tools after they have been downloaded, please be patient. - -#### OS Specific Setup - -##### OS X - -No additional setup required. - -##### Linux - -For 64-bit Linux users, ```libc6:i386```, ```libstdc++6:i386```, ```libncurses5:i386``` and ```libudev1:i386``` need to be installed : - * ```sudo dpkg --add-architecture i386``` - * ```sudo apt-get update``` - * ```sudo apt-get -y install libc6:i386 libstdc++6:i386 libncurses5:i386 libudev1:i386``` - -##### Windows - -###### Driver Setup for mbed devices - Download [mbed Windows Serial driver](https://developer.mbed.org/handbook/Windows-serial-configuration#1-download-the-mbed-windows-serial-port) - -###### Driver Setup for Segger J-Link - - 1. Download [Zadig](http://zadig.akeo.ie) - 2. Plugin Segger J-Link or DK board - 3. Start ```Zadig``` - 4. Select ```Options -> List All Devices``` - 5. Plug and unplug your device to find what changes, and select the ```Interface 2``` from the device dropdown - 6. Click ```Replace Driver``` - -__NOTE__: To roll back to the original driver go to: Device Manager -> Right click on device -> Check box for "Delete the driver software for this device" and click Uninstall - -###### Driver Setup for Black Magic Probe -1. Download .inf file drivers from [blacksphere github](https://github.com/blacksphere/blackmagic/tree/master/driver) -2. Plugin Black Magic Probe -3. Point the installer to the folder containing blackmagic.inf - -__NOTE__: If using Windows 10 or Linux then two UART COM ports will be visible without requiring additional drivers - -### Selecting a SoftDevice -SoftDevices contain the BLE stack and housekeeping, and must be downloaded once before a sketch using BLE can be loaded. -The SD consumes ~5k of Ram + some extra based on actual BLE configuration. -* SoftDevice S110 v8.0.0 supports [Revision](http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fcompatibility_matrix%2FnRF51822_ic_revision_overview.html&cp=3_0_1) 2 and 3 of nRF51 in peripheral role. It is 96k in size. -* SoftDevice S130 v2.0.1 supports Revision 3 of nRF51 in peripheral and central role. It is 108k in size. -* SoftDevice S132 v2.0.1 supports nRF52 in peripheral and central role. It is 112k in size. - -### Flashing a SoftDevice - - 1. ```cd ```, where `````` is your Arduino Sketch folder: - * OS X: ```~/Documents/Arduino``` - * Linux: ```~/Arduino``` - * Windows: ```~/Documents/Arduino``` - 2. Create the following directories: ```tools/nRF5FlashSoftDevice/tool/``` - 3. Download [nRF5FlashSoftDevice.jar](https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar) to ```/tools/nRF5FlashSoftDevice/tool/``` - 4. Restart the Arduino IDE - 5. Select your nRF board from the Tools -> Board menu - 6. Select a SoftDevice from the Tools -> "SoftDevice: " menu - 7. Select a Programmer (J-Link, ST-Link V2, or CMSIS-DAP) from the Tools -> "Programmer: " menu - 8. Select Tools -> nRF5 Flash SoftDevice - 9. Read license agreement - 10. Click "Accept" to accept license and continue, or "Decline" to decline and abort - 11. If accepted, SoftDevice binary will be flashed to the board - ### From git (for core development) 1. Follow steps from Board Manager section above @@ -188,25 +13,9 @@ The SD consumes ~5k of Ram + some extra based on actual BLE configuration. * Linux: ```~/Arduino``` * Windows: ```~/Documents/Arduino``` 3. Create a folder named ```hardware```, if it does not exist, and change directories to it - 4. Clone this repo: ```git clone https://github.com/sandeepmistry/arduino-nRF5.git sandeepmistry/nRF5``` + 4. Clone this repo: ```git clone https://github.com/rbaron/arduino-nRF5.git rbaron/nRF5``` 5. Restart the Arduino IDE -## BLE - -This Arduino Core does **not** contain any Arduino style API's for BLE functionality. All the relevant Nordic SoftDevice (S110, S130, S132) header files are included build path when a SoftDevice is selected via the `Tools` menu. - -### Recommend BLE Libraries - - * [BLEPeripheral](https://github.com/sandeepmistry/arduino-BLEPeripheral) - * v0.3.0 and greater, available via the Arduino IDE's library manager. - * Supports peripheral mode only. - -## Low Frequency Clock Source (LFCLKSRC) - -If the selected board has an external 32 kHz crystal connected, it will be used as the source for the low frequency clock. Otherwise the internal 32 kHz RC oscillator will be used. The low frequency clock is used by the `delay(ms)` and `millis()` Arduino API's. - -The Generic nRF51 and nRF52 board options have an additional menu item under `Tools -> Low Frequency Clock` that allows you to select the low frequency clock source. However, Nordic does not recommend the Synthesized clock, which also has a significant power impact. - ## Credits This core is based on the [Arduino SAMD Core](https://github.com/arduino/ArduinoCore-samd) and licensed under the same [LGPL License](LICENSE) diff --git a/boards.txt b/boards.txt index 7d5b4e7e..6a1da0f6 100644 --- a/boards.txt +++ b/boards.txt @@ -21,274 +21,6 @@ menu.version=Version menu.lfclk=Low Frequency Clock menu.board_variant=Board Variant -# nRF52832 variants -################### - -Generic_nRF52832.name=Generic nRF52 - -Generic_nRF52832.upload.tool=sandeepmistry:openocd -Generic_nRF52832.upload.target=nrf52 -Generic_nRF52832.upload.maximum_size=524288 - -Generic_nRF52832.bootloader.tool=sandeepmistry:openocd - -Generic_nRF52832.build.mcu=cortex-m4 -Generic_nRF52832.build.f_cpu=16000000 -Generic_nRF52832.build.board=GENERIC -Generic_nRF52832.build.core=nRF5 -Generic_nRF52832.build.variant=Generic -Generic_nRF52832.build.variant_system_lib= -Generic_nRF52832.build.extra_flags=-DNRF52 -Generic_nRF52832.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -Generic_nRF52832.build.ldscript=nrf52_xxaa.ld - -Generic_nRF52832.menu.softdevice.none=None -Generic_nRF52832.menu.softdevice.none.softdevice=none -Generic_nRF52832.menu.softdevice.none.softdeviceversion= - -Generic_nRF52832.menu.softdevice.s132=S132 -Generic_nRF52832.menu.softdevice.s132.softdevice=s132 -Generic_nRF52832.menu.softdevice.s132.softdeviceversion=2.0.1 -Generic_nRF52832.menu.softdevice.s132.upload.maximum_size=409600 -Generic_nRF52832.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -Generic_nRF52832.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - -Generic_nRF52832.menu.lfclk.lfxo=Crystal Oscillator -Generic_nRF52832.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO -Generic_nRF52832.menu.lfclk.lfrc=RC Oscillator -Generic_nRF52832.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC -Generic_nRF52832.menu.lfclk.lfsynt=Synthesized -Generic_nRF52832.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT - - - -bluey.name=Electronut labs bluey - -bluey.upload.tool=sandeepmistry:openocd -bluey.upload.target=nrf52 -bluey.upload.maximum_size=524288 - -bluey.bootloader.tool=sandeepmistry:openocd - -bluey.build.mcu=cortex-m4 -bluey.build.f_cpu=16000000 -bluey.build.board=ELECTRONUT_BLUEY -bluey.build.core=nRF5 -bluey.build.variant=bluey -bluey.build.variant_system_lib= -bluey.build.extra_flags=-DNRF52 -bluey.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -bluey.build.ldscript=nrf52_xxaa.ld - -bluey.menu.softdevice.none=None -bluey.menu.softdevice.none.softdevice=none -bluey.menu.softdevice.none.softdeviceversion= - -bluey.menu.softdevice.s132=S132 -bluey.menu.softdevice.s132.softdevice=s132 -bluey.menu.softdevice.s132.softdeviceversion=2.0.1 -bluey.menu.softdevice.s132.upload.maximum_size=409600 -bluey.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -bluey.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - -bluey.menu.lfclk.lfxo=Crystal Oscillator -bluey.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO -bluey.menu.lfclk.lfrc=RC Oscillator -bluey.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC -bluey.menu.lfclk.lfsynt=Synthesized -bluey.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT - - - -hackaBLE.name=Electronut labs hackaBLE - -hackaBLE.upload.tool=sandeepmistry:openocd -hackaBLE.upload.target=nrf52 -hackaBLE.upload.maximum_size=524288 - -hackaBLE.bootloader.tool=sandeepmistry:openocd - -hackaBLE.build.mcu=cortex-m4 -hackaBLE.build.f_cpu=16000000 -hackaBLE.build.board=ELECTRONUT_HACKABLE -hackaBLE.build.core=nRF5 -hackaBLE.build.variant=hackaBLE -hackaBLE.build.variant_system_lib= -hackaBLE.build.extra_flags=-DNRF52 -hackaBLE.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -hackaBLE.build.ldscript=nrf52_xxaa.ld - -hackaBLE.menu.softdevice.none=None -hackaBLE.menu.softdevice.none.softdevice=none -hackaBLE.menu.softdevice.none.softdeviceversion= - -hackaBLE.menu.softdevice.s132=S132 -hackaBLE.menu.softdevice.s132.softdevice=s132 -hackaBLE.menu.softdevice.s132.softdeviceversion=2.0.1 -hackaBLE.menu.softdevice.s132.upload.maximum_size=409600 -hackaBLE.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -hackaBLE.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - -hackaBLE.menu.lfclk.lfxo=Crystal Oscillator -hackaBLE.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO -hackaBLE.menu.lfclk.lfrc=RC Oscillator -hackaBLE.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC -hackaBLE.menu.lfclk.lfsynt=Synthesized -hackaBLE.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT - - -Blend2.name=RedBear Blend 2 - -Blend2.vid.0=0x0204 -Blend2.pid.0=0x0d28 - -Blend2.upload.tool=sandeepmistry:openocd -Blend2.upload.protocol=cmsis-dap -Blend2.upload.target=nrf52 -Blend2.upload.maximum_size=524288 -Blend2.upload.setup_command=transport select swd; -Blend2.upload.use_1200bps_touch=false -Blend2.upload.wait_for_upload_port=false -Blend2.upload.native_usb=false - -Blend2.bootloader.tool=sandeepmistry:openocd - -Blend2.build.mcu=cortex-m4 -Blend2.build.f_cpu=16000000 -Blend2.build.board=RB_BLEND_2 -Blend2.build.core=nRF5 -Blend2.build.variant=RedBear_Blend2 -Blend2.build.variant_system_lib= -Blend2.build.extra_flags=-DNRF52 -Blend2.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -Blend2.build.ldscript=nrf52_xxaa.ld - -Blend2.build.lfclk_flags=-DUSE_LFXO - -Blend2.menu.softdevice.none=None -Blend2.menu.softdevice.none.softdevice=none -Blend2.menu.softdevice.none.softdeviceversion= - -Blend2.menu.softdevice.s132=S132 -Blend2.menu.softdevice.s132.softdevice=s132 -Blend2.menu.softdevice.s132.softdeviceversion=2.0.1 -Blend2.menu.softdevice.s132.upload.maximum_size=409600 -Blend2.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -Blend2.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - - -BLENano2.name=RedBear BLE Nano 2 - -BLENano2.vid.0=0x0204 -BLENano2.pid.0=0x0d28 - -BLENano2.upload.tool=sandeepmistry:openocd -BLENano2.upload.protocol=cmsis-dap -BLENano2.upload.target=nrf52 -BLENano2.upload.maximum_size=524288 -BLENano2.upload.setup_command=transport select swd; -BLENano2.upload.use_1200bps_touch=false -BLENano2.upload.wait_for_upload_port=false -BLENano2.upload.native_usb=false - -BLENano2.bootloader.tool=sandeepmistry:openocd - -BLENano2.build.mcu=cortex-m4 -BLENano2.build.f_cpu=16000000 -BLENano2.build.board=RB_BLE_NANO_2 -BLENano2.build.core=nRF5 -BLENano2.build.variant=RedBear_BLENano2 -BLENano2.build.variant_system_lib= -BLENano2.build.extra_flags=-DNRF52 -BLENano2.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -BLENano2.build.ldscript=nrf52_xxaa.ld - -BLENano2.build.lfclk_flags=-DUSE_LFXO - -BLENano2.menu.softdevice.none=None -BLENano2.menu.softdevice.none.softdevice=none -BLENano2.menu.softdevice.none.softdeviceversion= - -BLENano2.menu.softdevice.s132=S132 -BLENano2.menu.softdevice.s132.softdevice=s132 -BLENano2.menu.softdevice.s132.softdeviceversion=2.0.1 -BLENano2.menu.softdevice.s132.upload.maximum_size=409600 -BLENano2.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -BLENano2.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - - -nRF52DK.name=Nordic Semiconductor nRF52 DK - -nRF52DK.vid.0=0x1366 -nRF52DK.pid.0=0x1015 - -nRF52DK.upload.tool=sandeepmistry:openocd -nRF52DK.upload.protocol=jlink -nRF52DK.upload.target=nrf52 -nRF52DK.upload.maximum_size=524288 -nRF52DK.upload.setup_command=transport select swd; -nRF52DK.upload.use_1200bps_touch=false -nRF52DK.upload.wait_for_upload_port=false -nRF52DK.upload.native_usb=false - -nRF52DK.bootloader.tool=sandeepmistry:openocd - -nRF52DK.build.mcu=cortex-m4 -nRF52DK.build.f_cpu=16000000 -nRF52DK.build.board=NRF52_DK -nRF52DK.build.core=nRF5 -nRF52DK.build.variant=nRF52DK -nRF52DK.build.variant_system_lib= -nRF52DK.build.extra_flags=-DNRF52 -nRF52DK.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -nRF52DK.build.ldscript=nrf52_xxaa.ld - -nRF52DK.build.lfclk_flags=-DUSE_LFXO - -nRF52DK.menu.softdevice.none=None -nRF52DK.menu.softdevice.none.softdevice=none -nRF52DK.menu.softdevice.none.softdeviceversion= - -nRF52DK.menu.softdevice.s132=S132 -nRF52DK.menu.softdevice.s132.softdevice=s132 -nRF52DK.menu.softdevice.s132.softdeviceversion=2.0.1 -nRF52DK.menu.softdevice.s132.upload.maximum_size=409600 -nRF52DK.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -nRF52DK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - - -STCT_nRF52_minidev.name=Taida Century nRF52 mini board - -STCT_nRF52_minidev.upload.tool=sandeepmistry:openocd -STCT_nRF52_minidev.upload.target=nrf52 -STCT_nRF52_minidev.upload.maximum_size=524288 - -STCT_nRF52_minidev.bootloader.tool=sandeepmistry:openocd - -STCT_nRF52_minidev.build.mcu=cortex-m4 -STCT_nRF52_minidev.build.f_cpu=16000000 -STCT_nRF52_minidev.build.board=STCT_NRF52_minidev -STCT_nRF52_minidev.build.core=nRF5 -STCT_nRF52_minidev.build.variant=Taida_Century_nRF52_minidev -STCT_nRF52_minidev.build.variant_system_lib= -STCT_nRF52_minidev.build.extra_flags=-DNRF52 -STCT_nRF52_minidev.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -STCT_nRF52_minidev.build.ldscript=nrf52_xxaa.ld - -STCT_nRF52_minidev.build.lfclk_flags=-DUSE_LFXO - -STCT_nRF52_minidev.menu.softdevice.none=None -STCT_nRF52_minidev.menu.softdevice.none.softdevice=none -STCT_nRF52_minidev.menu.softdevice.none.softdeviceversion= - -STCT_nRF52_minidev.menu.softdevice.s132=S132 -STCT_nRF52_minidev.menu.softdevice.s132.softdevice=s132 -STCT_nRF52_minidev.menu.softdevice.s132.softdeviceversion=2.0.1 -STCT_nRF52_minidev.menu.softdevice.s132.upload.maximum_size=409600 -STCT_nRF52_minidev.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -STCT_nRF52_minidev.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - - # nRF51 variants ################### @@ -340,575 +72,50 @@ Generic_nRF51822.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC Generic_nRF51822.menu.lfclk.lfsynt=Synthesized Generic_nRF51822.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT -BBCmicrobit.name=BBC micro:bit - -BBCmicrobit.vid.0=0x0d28 -BBCmicrobit.pid.0=0x0204 - -BBCmicrobit.upload.tool=sandeepmistry:openocd -BBCmicrobit.upload.protocol=cmsis-dap -BBCmicrobit.upload.target=nrf51 -BBCmicrobit.upload.maximum_size=262144 -BBCmicrobit.upload.setup_command=transport select swd; -BBCmicrobit.upload.use_1200bps_touch=false -BBCmicrobit.upload.wait_for_upload_port=false -BBCmicrobit.upload.native_usb=false - -BBCmicrobit.bootloader.tool=sandeepmistry:openocd - -BBCmicrobit.build.mcu=cortex-m0 -BBCmicrobit.build.f_cpu=16000000 -BBCmicrobit.build.board=BBC_MICROBIT -BBCmicrobit.build.core=nRF5 -BBCmicrobit.build.variant=BBCmicrobit -BBCmicrobit.build.variant_system_lib= -BBCmicrobit.build.extra_flags=-DNRF51 -BBCmicrobit.build.float_flags= -BBCmicrobit.build.ldscript=nrf51_xxaa.ld - -BBCmicrobit.build.lfclk_flags=-DUSE_LFRC - -BBCmicrobit.menu.softdevice.none=None -BBCmicrobit.menu.softdevice.none.softdevice=none -BBCmicrobit.menu.softdevice.none.softdeviceversion= - -BBCmicrobit.menu.softdevice.s110=S110 -BBCmicrobit.menu.softdevice.s110.softdevice=s110 -BBCmicrobit.menu.softdevice.s110.softdeviceversion=8.0.0 -BBCmicrobit.menu.softdevice.s110.upload.maximum_size=151552 -BBCmicrobit.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -BBCmicrobit.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -BBCmicrobit.menu.softdevice.s130=S130 -BBCmicrobit.menu.softdevice.s130.softdevice=s130 -BBCmicrobit.menu.softdevice.s130.softdeviceversion=2.0.1 -BBCmicrobit.menu.softdevice.s130.upload.maximum_size=151552 -BBCmicrobit.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -BBCmicrobit.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - -CalliopeMini.name=Calliope mini - -CalliopeMini.vid.0=0x0d28 -CalliopeMini.pid.0=0x0204 - -CalliopeMini.upload.tool=sandeepmistry:openocd -CalliopeMini.upload.protocol=cmsis-dap -CalliopeMini.upload.target=nrf51 -CalliopeMini.upload.maximum_size=262144 -CalliopeMini.upload.setup_command=transport select swd; -CalliopeMini.upload.use_1200bps_touch=false -CalliopeMini.upload.wait_for_upload_port=false -CalliopeMini.upload.native_usb=false - -CalliopeMini.bootloader.tool=sandeepmistry:openocd - -CalliopeMini.build.mcu=cortex-m0 -CalliopeMini.build.f_cpu=16000000 -CalliopeMini.build.board=CALLIOPE_MINI -CalliopeMini.build.core=nRF5 -CalliopeMini.build.variant=CalliopeMini -CalliopeMini.build.variant_system_lib= -CalliopeMini.build.extra_flags=-DNRF51 -CalliopeMini.build.float_flags= -CalliopeMini.build.ldscript=nrf51_xxaa.ld - -CalliopeMini.build.lfclk_flags=-DUSE_LFRC - -CalliopeMini.menu.softdevice.none=None -CalliopeMini.menu.softdevice.none.softdevice=none -CalliopeMini.menu.softdevice.none.softdeviceversion= - -CalliopeMini.menu.softdevice.s110=S110 -CalliopeMini.menu.softdevice.s110.softdevice=s110 -CalliopeMini.menu.softdevice.s110.softdeviceversion=8.0.0 -CalliopeMini.menu.softdevice.s110.upload.maximum_size=151552 -CalliopeMini.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -CalliopeMini.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -CalliopeMini.menu.softdevice.s130=S130 -CalliopeMini.menu.softdevice.s130.softdevice=s130 -CalliopeMini.menu.softdevice.s130.softdeviceversion=2.0.1 -CalliopeMini.menu.softdevice.s130.upload.maximum_size=151552 -CalliopeMini.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -CalliopeMini.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - -BluzDK.name=Bluz DK - -BluzDK.upload.tool=sandeepmistry:openocd -BluzDK.upload.target=nrf51 -BluzDK.upload.maximum_size=262144 - -BluzDK.bootloader.tool=sandeepmistry:openocd - -BluzDK.build.mcu=cortex-m0 -BluzDK.build.f_cpu=16000000 -BluzDK.build.board=BLUZ_DK -BluzDK.build.core=nRF5 -BluzDK.build.variant=BluzDK -BluzDK.build.variant_system_lib= -BluzDK.build.extra_flags=-DNRF51 -BluzDK.build.float_flags= -BluzDK.build.ldscript=nrf51_xxac.ld - -BluzDK.build.lfclk_flags=-DUSE_LFXO - -BluzDK.menu.softdevice.none=None -BluzDK.menu.softdevice.none.softdevice=none -BluzDK.menu.softdevice.none.softdeviceversion= - -BluzDK.menu.softdevice.s110=S110 -BluzDK.menu.softdevice.s110.softdevice=s110 -BluzDK.menu.softdevice.s110.softdeviceversion=8.0.0 -BluzDK.menu.softdevice.s110.upload.maximum_size=151552 -BluzDK.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -BluzDK.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxac.ld - -BluzDK.menu.softdevice.s130=S130 -BluzDK.menu.softdevice.s130.softdevice=s130 -BluzDK.menu.softdevice.s130.softdeviceversion=2.0.1 -BluzDK.menu.softdevice.s130.upload.maximum_size=151552 -BluzDK.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -BluzDK.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxac.ld - - -PCA1000X.name=Nordic nRF51X22 Development Kit(PCA1000X) - -PCA1000X.upload.tool=sandeepmistry:openocd -PCA1000X.upload.target=nrf51 -PCA1000X.upload.maximum_size=262144 - -PCA1000X.bootloader.tool=sandeepmistry:openocd - -PCA1000X.build.mcu=cortex-m0 -PCA1000X.build.f_cpu=16000000 -PCA1000X.build.board=PCA1000X -PCA1000X.build.core=nRF5 -PCA1000X.build.variant=PCA1000X -PCA1000X.build.variant_system_lib= -PCA1000X.build.extra_flags=-DNRF51 -D{board.variant} -PCA1000X.build.float_flags= -PCA1000X.build.ldscript=nrf51_xxaa.ld - -PCA1000X.build.lfclk_flags=-DUSE_LFXO - -PCA1000X.upload.tool=sandeepmistry:openocd -PCA1000X.upload.protocol=jlink -PCA1000X.upload.target=nrf51 -PCA1000X.upload.maximum_size=262144 -PCA1000X.upload.setup_command=transport select swd; set WORKAREASIZE 0; - -PCA1000X.menu.board_variant.pca10000=PCA10000 -PCA1000X.menu.board_variant.pca10000.board.variant=PCA10000 -PCA1000X.menu.board_variant.pca10001=PCA10001 -PCA1000X.menu.board_variant.pca10001.board.variant=PCA10001 -PCA1000X.menu.board_variant.nrf6310=PCA1000X (via nRF6310) -PCA1000X.menu.board_variant.nrf6310.board.variant=NRF6310 - -PCA1000X.menu.softdevice.none=None -PCA1000X.menu.softdevice.none.softdevice=none -PCA1000X.menu.softdevice.none.softdeviceversion= - -PCA1000X.menu.softdevice.s110=S110 -PCA1000X.menu.softdevice.s110.softdevice=s110 -PCA1000X.menu.softdevice.s110.softdeviceversion=8.0.0 -PCA1000X.menu.softdevice.s110.upload.maximum_size=151552 -PCA1000X.menu.softdevice.s110.build.extra_flags=-DNRF51 -D{board.variant} -DS110 -DNRF51_S110 -PCA1000X.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -PCA1000X.menu.softdevice.s130=S130 -PCA1000X.menu.softdevice.s130.softdevice=s130 -PCA1000X.menu.softdevice.s130.softdeviceversion=2.0.1 -PCA1000X.menu.softdevice.s130.upload.maximum_size=151552 -PCA1000X.menu.softdevice.s130.build.extra_flags=-DNRF51 -D{board.variant} -DS130 -DNRF51_S130 -PCA1000X.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - -PCA1000X.menu.lfclk.lfxo=Crystal Oscillator -PCA1000X.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO -PCA1000X.menu.lfclk.lfrc=RC Oscillator -PCA1000X.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC -PCA1000X.menu.lfclk.lfsynt=Synthesized -PCA1000X.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT - - -nRF51Dongle.name= Nordic nRF51 Dongle (PCA10031) - -nRF51Dongle.upload.tool=sandeepmistry:openocd -nRF51Dongle.upload.protocol=cmsis-dap -nRF51Dongle.upload.target=nrf51 -nRF51Dongle.upload.maximum_size=262144 -nRF51Dongle.upload.setup_command=transport select swd; - -nRF51Dongle.bootloader.tool=sandeepmistry:openocd - -nRF51Dongle.build.mcu=cortex-m0 -nRF51Dongle.build.f_cpu=16000000 -nRF51Dongle.build.board=GENERIC -nRF51Dongle.build.core=nRF5 -nRF51Dongle.build.variant=nRF51Dongle -nRF51Dongle.build.variant_system_lib= -nRF51Dongle.build.extra_flags=-DNRF51 -nRF51Dongle.build.float_flags= -nRF51Dongle.build.ldscript=nrf51_{build.chip}.ld - -nRF51Dongle.build.lfclk_flags=-DUSE_LFXO - -nRF51Dongle.menu.version.1_1_0=1.1.0 -nRF51Dongle.menu.version.1_1_0.build.chip=xxac - -nRF51Dongle.menu.softdevice.none=None -nRF51Dongle.menu.softdevice.none.softdevice=none -nRF51Dongle.menu.softdevice.none.softdeviceversion= - -nRF51Dongle.menu.softdevice.s110=S110 -nRF51Dongle.menu.softdevice.s110.softdevice=s110 -nRF51Dongle.menu.softdevice.s110.softdeviceversion=8.0.0 -nRF51Dongle.menu.softdevice.s110.upload.maximum_size=151552 -nRF51Dongle.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -nRF51Dongle.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_{build.chip}.ld - -nRF51Dongle.menu.softdevice.s130=S130 -nRF51Dongle.menu.softdevice.s130.softdevice=s130 -nRF51Dongle.menu.softdevice.s130.softdeviceversion=2.0.1 -nRF51Dongle.menu.softdevice.s130.upload.maximum_size=151552 -nRF51Dongle.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -nRF51Dongle.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip}.ld - -Beacon_PCA20006.name=Nordic Beacon Kit (PCA20006) - -Beacon_PCA20006.upload.tool=sandeepmistry:openocd -Beacon_PCA20006.upload.target=nrf51 -Beacon_PCA20006.upload.maximum_size=262144 - -Beacon_PCA20006.bootloader.tool=sandeepmistry:openocd - -Beacon_PCA20006.build.mcu=cortex-m0 -Beacon_PCA20006.build.f_cpu=16000000 -Beacon_PCA20006.build.board=BOARD_PCA20006 -Beacon_PCA20006.build.core=nRF5 -Beacon_PCA20006.build.variant=PCA20006 -Beacon_PCA20006.build.variant_system_lib= -Beacon_PCA20006.build.extra_flags=-DNRF51 -Beacon_PCA20006.build.float_flags= -Beacon_PCA20006.build.ldscript=nrf51_xxaa.ld - -Beacon_PCA20006.build.lfclk_flags=-DUSE_LFXO - -Beacon_PCA20006.menu.softdevice.none=None -Beacon_PCA20006.menu.softdevice.none.softdevice=none -Beacon_PCA20006.menu.softdevice.none.softdeviceversion= - -Beacon_PCA20006.menu.softdevice.s110=S110 -Beacon_PCA20006.menu.softdevice.s110.softdevice=s110 -Beacon_PCA20006.menu.softdevice.s110.softdeviceversion=8.0.0 -Beacon_PCA20006.menu.softdevice.s110.upload.maximum_size=151552 -Beacon_PCA20006.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -Beacon_PCA20006.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -Beacon_PCA20006.menu.softdevice.s130=S130 -Beacon_PCA20006.menu.softdevice.s130.softdevice=s130 -Beacon_PCA20006.menu.softdevice.s130.softdeviceversion=2.0.1 -Beacon_PCA20006.menu.softdevice.s130.upload.maximum_size=151552 -Beacon_PCA20006.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -Beacon_PCA20006.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - -TinyBLE.name= TinyBLE - -TinyBLE.upload.tool=sandeepmistry:openocd -TinyBLE.upload.protocol=cmsis-dap - -TinyBLE.upload.target=nrf51 -TinyBLE.upload.maximum_size=262144 -TinyBLE.upload.setup_command=transport select swd; - -TinyBLE.bootloader.tool=sandeepmistry:openocd - -TinyBLE.build.mcu=cortex-m0 -TinyBLE.build.f_cpu=16000000 -TinyBLE.build.board=TINYBLE -TinyBLE.build.core=nRF5 -TinyBLE.build.variant=TinyBLE -TinyBLE.build.variant_system_lib= -TinyBLE.build.extra_flags=-DNRF51 -TinyBLE.build.float_flags= -TinyBLE.build.ldscript=nrf51_xxaa.ld - -TinyBLE.build.lfclk_flags=-DUSE_LFXO - -TinyBLE.menu.softdevice.none=None -TinyBLE.menu.softdevice.none.softdevice=none -TinyBLE.menu.softdevice.none.softdeviceversion= - -TinyBLE.menu.softdevice.s110=S110 -TinyBLE.menu.softdevice.s110.softdevice=s110 -TinyBLE.menu.softdevice.s110.softdeviceversion=8.0.0 -TinyBLE.menu.softdevice.s110.upload.maximum_size=151552 -TinyBLE.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -TinyBLE.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -TinyBLE.menu.softdevice.s130=S130 -TinyBLE.menu.softdevice.s130.softdevice=s130 -TinyBLE.menu.softdevice.s130.softdeviceversion=2.0.1 -TinyBLE.menu.softdevice.s130.upload.maximum_size=151552 -TinyBLE.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -TinyBLE.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - - -OSHChip.name=OSHChip - -OSHChip.upload.tool=sandeepmistry:openocd -OSHChip.upload.target=nrf51 -OSHChip.upload.maximum_size=262144 - -OSHChip.bootloader.tool=sandeepmistry:openocd - -OSHChip.build.mcu=cortex-m0 -OSHChip.build.f_cpu=16000000 -OSHChip.build.board=BLUZ_DK -OSHChip.build.core=nRF5 -OSHChip.build.variant=OSHChip -OSHChip.build.variant_system_lib= -OSHChip.build.extra_flags=-DNRF51 -OSHChip.build.float_flags= -OSHChip.build.ldscript=nrf51_xxac.ld - -OSHChip.build.lfclk_flags=-DUSE_LFRC - -OSHChip.menu.softdevice.none=None -OSHChip.menu.softdevice.none.softdevice=none -OSHChip.menu.softdevice.none.softdeviceversion= - -OSHChip.menu.softdevice.s110=S110 -OSHChip.menu.softdevice.s110.softdevice=s110 -OSHChip.menu.softdevice.s110.softdeviceversion=8.0.0 -OSHChip.menu.softdevice.s110.upload.maximum_size=151552 -OSHChip.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -OSHChip.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxac.ld - -OSHChip.menu.softdevice.s130=S130 -OSHChip.menu.softdevice.s130.softdevice=s130 -OSHChip.menu.softdevice.s130.softdeviceversion=2.0.1 -OSHChip.menu.softdevice.s130.upload.maximum_size=151552 -OSHChip.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -OSHChip.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxac.ld - - -BLENano.name=RedBearLab BLE Nano - -BLENano.upload.tool=sandeepmistry:openocd -BLENano.upload.protocol=cmsis-dap -BLENano.upload.target=nrf51 -BLENano.upload.maximum_size=262144 -BLENano.upload.setup_command=transport select swd; - -BLENano.bootloader.tool=sandeepmistry:openocd - -BLENano.build.mcu=cortex-m0 -BLENano.build.f_cpu=16000000 -BLENano.build.board=BLE_NANO -BLENano.build.core=nRF5 -BLENano.build.variant=BLENano -BLENano.build.variant_system_lib= -BLENano.build.extra_flags=-DNRF51 -BLENano.build.float_flags= -BLENano.build.ldscript=nrf51_{build.chip}.ld - -BLENano.build.lfclk_flags=-DUSE_LFXO - -BLENano.menu.version.1_0=1.0 -BLENano.menu.version.1_0.build.chip=xxaa -BLENano.menu.version.1_5=1.5 -BLENano.menu.version.1_5.build.chip=xxac - -BLENano.menu.softdevice.none=None -BLENano.menu.softdevice.none.softdevice=none -BLENano.menu.softdevice.none.softdeviceversion= - -BLENano.menu.softdevice.s110=S110 -BLENano.menu.softdevice.s110.softdevice=s110 -BLENano.menu.softdevice.s110.softdeviceversion=8.0.0 -BLENano.menu.softdevice.s110.upload.maximum_size=151552 -BLENano.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -BLENano.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_{build.chip}.ld - -BLENano.menu.softdevice.s130=S130 -BLENano.menu.softdevice.s130.softdevice=s130 -BLENano.menu.softdevice.s130.softdeviceversion=2.0.1 -BLENano.menu.softdevice.s130.upload.maximum_size=151552 -BLENano.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -BLENano.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip}.ld - - -RedBearLab_nRF51822.name=RedBearLab nRF51822 - -RedBearLab_nRF51822.upload.tool=sandeepmistry:openocd -RedBearLab_nRF51822.upload.protocol=cmsis-dap -RedBearLab_nRF51822.upload.target=nrf51 -RedBearLab_nRF51822.upload.maximum_size=262144 -RedBearLab_nRF51822.upload.setup_command=transport select swd; - -RedBearLab_nRF51822.bootloader.tool=sandeepmistry:openocd - -RedBearLab_nRF51822.build.mcu=cortex-m0 -RedBearLab_nRF51822.build.f_cpu=16000000 -RedBearLab_nRF51822.build.board=REDBEARLAB_NRF51822 -RedBearLab_nRF51822.build.core=nRF5 -RedBearLab_nRF51822.build.variant=RedBearLab_nRF51822 -RedBearLab_nRF51822.build.variant_system_lib= -RedBearLab_nRF51822.build.extra_flags=-DNRF51 -RedBearLab_nRF51822.build.float_flags= -RedBearLab_nRF51822.build.ldscript=nrf51_{build.chip}.ld - -RedBearLab_nRF51822.build.lfclk_flags=-DUSE_LFXO - -RedBearLab_nRF51822.menu.version.1_0=1.0 -RedBearLab_nRF51822.menu.version.1_0.build.chip=xxaa -RedBearLab_nRF51822.menu.version.1_5=1.5 -RedBearLab_nRF51822.menu.version.1_5.build.chip=xxac - -RedBearLab_nRF51822.menu.softdevice.none=None -RedBearLab_nRF51822.menu.softdevice.none.softdevice=none -RedBearLab_nRF51822.menu.softdevice.none.softdeviceversion= - -RedBearLab_nRF51822.menu.softdevice.s110=S110 -RedBearLab_nRF51822.menu.softdevice.s110.softdevice=s110 -RedBearLab_nRF51822.menu.softdevice.s110.softdeviceversion=8.0.0 -RedBearLab_nRF51822.menu.softdevice.s110.upload.maximum_size=151552 -RedBearLab_nRF51822.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -RedBearLab_nRF51822.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_{build.chip}.ld - -RedBearLab_nRF51822.menu.softdevice.s130=S130 -RedBearLab_nRF51822.menu.softdevice.s130.softdevice=s130 -RedBearLab_nRF51822.menu.softdevice.s130.softdeviceversion=2.0.1 -RedBearLab_nRF51822.menu.softdevice.s130.upload.maximum_size=151552 -RedBearLab_nRF51822.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -RedBearLab_nRF51822.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip}.ld - - -Waveshare_BLE400.name=Waveshare BLE400 - -Waveshare_BLE400.upload.tool=sandeepmistry:openocd -Waveshare_BLE400.upload.target=nrf51 -Waveshare_BLE400.upload.maximum_size=262144 - -Waveshare_BLE400.bootloader.tool=sandeepmistry:openocd - -Waveshare_BLE400.build.mcu=cortex-m0 -Waveshare_BLE400.build.f_cpu=16000000 -Waveshare_BLE400.build.board=WAVESHARE_BLE400 -Waveshare_BLE400.build.core=nRF5 -Waveshare_BLE400.build.variant=Waveshare_BLE400 -Waveshare_BLE400.build.variant_system_lib= -Waveshare_BLE400.build.extra_flags=-DNRF51 -Waveshare_BLE400.build.float_flags= -Waveshare_BLE400.build.ldscript=nrf51_{build.chip}.ld - -Waveshare_BLE400.build.lfclk_flags=-DUSE_LFXO - -Waveshare_BLE400.menu.chip.xxaa=16 kB RAM, 256 kB flash (xxaa) -Waveshare_BLE400.menu.chip.xxaa.build.chip=xxaa -Waveshare_BLE400.menu.chip.xxac=32 kB RAM, 256 kB flash (xxac) -Waveshare_BLE400.menu.chip.xxac.build.chip=xxac - -Waveshare_BLE400.menu.softdevice.none=None -Waveshare_BLE400.menu.softdevice.none.softdevice=none -Waveshare_BLE400.menu.softdevice.none.softdeviceversion= - -Waveshare_BLE400.menu.softdevice.s110=S110 -Waveshare_BLE400.menu.softdevice.s110.softdevice=s110 -Waveshare_BLE400.menu.softdevice.s110.softdeviceversion=8.0.0 -Waveshare_BLE400.menu.softdevice.s110.upload.maximum_size=151552 -Waveshare_BLE400.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -Waveshare_BLE400.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_{build.chip}.ld - -Waveshare_BLE400.menu.softdevice.s130=S130 -Waveshare_BLE400.menu.softdevice.s130.softdevice=s130 -Waveshare_BLE400.menu.softdevice.s130.softdeviceversion=2.0.1 -Waveshare_BLE400.menu.softdevice.s130.upload.maximum_size=151552 -Waveshare_BLE400.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -Waveshare_BLE400.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip}.ld - - -ng_beacon.name=ng-beacon - -ng_beacon.upload.tool=sandeepmistry:openocd -ng_beacon.upload.target=nrf51 -ng_beacon.upload.maximum_size=262144 - -ng_beacon.bootloader.tool=sandeepmistry:openocd - -ng_beacon.build.mcu=cortex-m0 -ng_beacon.build.f_cpu=16000000 -ng_beacon.build.board=NG_BEACON -ng_beacon.build.core=nRF5 -ng_beacon.build.variant=ng-beacon -ng_beacon.build.variant_system_lib= -ng_beacon.build.extra_flags=-DNRF51 -ng_beacon.build.float_flags= -ng_beacon.build.ldscript=nrf51_xxaa.ld - -ng_beacon.build.lfclk_flags=-DUSE_LFRC - -ng_beacon.menu.softdevice.none=None -ng_beacon.menu.softdevice.none.softdevice=none -ng_beacon.menu.softdevice.none.softdeviceversion= - -ng_beacon.menu.softdevice.s110=S110 -ng_beacon.menu.softdevice.s110.softdevice=s110 -ng_beacon.menu.softdevice.s110.softdeviceversion=8.0.0 -ng_beacon.menu.softdevice.s110.upload.maximum_size=151552 -ng_beacon.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -ng_beacon.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -ng_beacon.menu.softdevice.s130=S130 -ng_beacon.menu.softdevice.s130.softdevice=s130 -ng_beacon.menu.softdevice.s130.softdeviceversion=2.0.1 -ng_beacon.menu.softdevice.s130.upload.maximum_size=151552 -ng_beacon.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -ng_beacon.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld - - -Sinobit.name=Sino:bit - -Sinobit.vid.0=0x0d28 -Sinobit.pid.0=0x0204 - -Sinobit.upload.tool=sandeepmistry:openocd -Sinobit.upload.protocol=cmsis-dap -Sinobit.upload.target=nrf51 -Sinobit.upload.maximum_size=262144 -Sinobit.upload.setup_command=transport select swd; -Sinobit.upload.use_1200bps_touch=false -Sinobit.upload.wait_for_upload_port=false -Sinobit.upload.native_usb=false - -Sinobit.bootloader.tool=sandeepmistry:openocd - -Sinobit.build.mcu=cortex-m0 -Sinobit.build.f_cpu=16000000 -Sinobit.build.board=SINOBIT -Sinobit.build.core=nRF5 -Sinobit.build.variant=Sinobit -Sinobit.build.variant_system_lib= -Sinobit.build.extra_flags=-DNRF51 -Sinobit.build.float_flags= -Sinobit.build.ldscript=nrf51_xxaa.ld - -Sinobit.build.lfclk_flags=-DUSE_LFRC - -Sinobit.menu.softdevice.none=None -Sinobit.menu.softdevice.none.softdevice=none -Sinobit.menu.softdevice.none.softdeviceversion= - -Sinobit.menu.softdevice.s110=S110 -Sinobit.menu.softdevice.s110.softdevice=s110 -Sinobit.menu.softdevice.s110.softdeviceversion=8.0.0 -Sinobit.menu.softdevice.s110.upload.maximum_size=151552 -Sinobit.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 -Sinobit.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_xxaa.ld - -Sinobit.menu.softdevice.s130=S130 -Sinobit.menu.softdevice.s130.softdevice=s130 -Sinobit.menu.softdevice.s130.softdeviceversion=2.0.1 -Sinobit.menu.softdevice.s130.upload.maximum_size=151552 -Sinobit.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 -Sinobit.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld +# ID115 nrf51822 fitness tracker bracelet + +ID115_nRF51822.name=ID115 Fitness Bracelet (nRF51822) + +ID115_nRF51822.upload.tool=sandeepmistry:openocd +ID115_nRF51822.upload.target=nrf51 +ID115_nRF51822.upload.maximum_size=262144 + +ID115_nRF51822.bootloader.tool=sandeepmistry:openocd + +ID115_nRF51822.build.mcu=cortex-m0 +ID115_nRF51822.build.f_cpu=16000000 +ID115_nRF51822.build.board=GENERIC +ID115_nRF51822.build.core=nRF5 +ID115_nRF51822.build.variant=ID115 +ID115_nRF51822.build.variant_system_lib= +ID115_nRF51822.build.extra_flags=-DNRF51 +ID115_nRF51822.build.float_flags= +ID115_nRF51822.build.ldscript=nrf51_{build.chip}.ld + +ID115_nRF51822.menu.chip.xxaa=16 kB RAM, 256 kB flash (xxaa) +ID115_nRF51822.menu.chip.xxaa.build.chip=xxaa + +ID115_nRF51822.menu.softdevice.none=None +ID115_nRF51822.menu.softdevice.none.softdevice=none +ID115_nRF51822.menu.softdevice.none.softdeviceversion= + +ID115_nRF51822.menu.softdevice.s110=S110 +ID115_nRF51822.menu.softdevice.s110.softdevice=s110 +ID115_nRF51822.menu.softdevice.s110.softdeviceversion=8.0.0 +ID115_nRF51822.menu.softdevice.s110.upload.maximum_size=151552 +ID115_nRF51822.menu.softdevice.s110.build.extra_flags=-DNRF51 -DS110 -DNRF51_S110 +ID115_nRF51822.menu.softdevice.s110.build.ldscript=armgcc_s110_nrf51822_{build.chip}.ld + +ID115_nRF51822.menu.softdevice.s130=S130 +ID115_nRF51822.menu.softdevice.s130.softdevice=s130 +ID115_nRF51822.menu.softdevice.s130.softdeviceversion=2.0.1 +ID115_nRF51822.menu.softdevice.s130.upload.maximum_size=151552 +ID115_nRF51822.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 +ID115_nRF51822.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip}.ld + +ID115_nRF51822.menu.lfclk.lfxo=Crystal Oscillator +ID115_nRF51822.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO +ID115_nRF51822.menu.lfclk.lfrc=RC Oscillator +ID115_nRF51822.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC +ID115_nRF51822.menu.lfclk.lfsynt=Synthesized +ID115_nRF51822.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT diff --git a/docs/package_nRF5_boards_index.json b/docs/package_nRF5_boards_index.json index e06bfb97..286a2ae2 100644 --- a/docs/package_nRF5_boards_index.json +++ b/docs/package_nRF5_boards_index.json @@ -1,196 +1,29 @@ { "packages": [ { - "name": "sandeepmistry", - "maintainer": "Sandeep Mistry", - "websiteURL": "https://github.com/sandeepmistry/arduino-nRF5", - "email": "sandeep.mistry@gmail.com", + "name": "rbaron", + "maintainer": "Raphael Baron", + "websiteURL": "https://github.com/rbaron/arduino-nRF5", + "email": "rbaron@rbaron.net", "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" + "online": "https://github.com/rbaron/arduino-nRF5/issues" }, "platforms": [ { - "name": "Nordic Semiconductor nRF5 Boards", + "name": "ID115 fitness bracelet", "architecture": "nRF5", - "version": "0.1.0", + "version": "0.5.0-ID115", "category": "Contributed", "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" + "online": "https://github.com/rbaron/arduino-nRF5/issues" }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.1.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.1.0.tar.gz", - "checksum": "MD5:1825f6420104225f5fee11b467923b7d", - "size": "591297", - "boards": [ - {"name": "nRF52 DK"}, - {"name": "Bluz DK"} - ], - "toolsDependencies": [ - { - "packager": "sandeepmistry", - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4" - }, - { - "packager": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.2.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.2.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.2.0.tar.gz", - "checksum": "MD5:1ed95ee9030e4ca1371665258a3cdee4", - "size": "562847", - "boards": [ - {"name": "nRF52 DK"}, - {"name": "Bluz DK"}, - {"name": "RedBearLab BLE Nano"}, - {"name": "RedBearLab nRF51822"}, - {"name": "BBC micro:bit"}, - {"name": "OSHChip"}, - {"name": "Generic nRF51822"} - ], - "toolsDependencies": [ - { - "packager": "sandeepmistry", - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4" - }, - { - "packager": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.3.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.3.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.3.0.tar.gz", - "checksum": "MD5:3308f42e982e96a7f4329524ef46f5f8", - "size": "569306", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "Bluz DK"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "OSHChip"}, - {"name": "ng-beacon"}, - {"name": "nRF51 Dongle"}, - {"name": "nRF51822 Development Kit"}, - {"name": "nRF52 DK"}, - {"name": "RedBear BLE Nano 2"}, - {"name": "RedBear Blend 2"}, - {"name": "RedBearLab BLE Nano"}, - {"name": "RedBearLab nRF51822"}, - {"name": "Waveshare BLE400"} - ], - "toolsDependencies": [ - { - "packager": "sandeepmistry", - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4" - }, - { - "packager": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.4.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.4.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.4.0.tar.gz", - "checksum": "MD5:E82DA39642AB48492A9FEDE8159871F5", - "size": "573440", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "Bluz DK"}, - {"name": "Electronut labs bluey"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "OSHChip"}, - {"name": "ng-beacon"}, - {"name": "nRF51 Dongle"}, - {"name": "nRF51822 Development Kit"}, - {"name": "nRF52 DK"}, - {"name": "Nordic Beacon Kit"}, - {"name": "RedBear BLE Nano 2"}, - {"name": "RedBear Blend 2"}, - {"name": "RedBearLab BLE Nano"}, - {"name": "RedBearLab nRF51822"}, - {"name": "Taida Century nRF52 mini board"}, - {"name": "TinyBLE"}, - {"name": "Waveshare BLE400"} - ], - "toolsDependencies": [ - { - "packager": "sandeepmistry", - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4" - }, - { - "packager": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.5.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.5.0.tar.gz", + "url": "https://github.com/rbaron/arduino-nRF5/archive/0.5.0.tar.gz", "archiveFileName": "arduino-nRF52-0.5.0.tar.gz", "checksum": "MD5:BC732D8377244913AA7556083965FAA0", "size": "575959", "boards": [ - {"name": "BBC micro:bit"}, - {"name": "Bluz DK"}, - {"name": "Electronut labs bluey"}, - {"name": "Electronut labs hackaBLE"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "OSHChip"}, - {"name": "ng-beacon"}, - {"name": "nRF51 Dongle"}, - {"name": "nRF51822 Development Kit"}, - {"name": "nRF52 DK"}, - {"name": "Nordic Beacon Kit"}, - {"name": "RedBear BLE Nano 2"}, - {"name": "RedBear Blend 2"}, - {"name": "RedBearLab BLE Nano"}, - {"name": "RedBearLab nRF51822"}, - {"name": "Sino:bit"}, - {"name": "Taida Century nRF52 mini board"}, - {"name": "TinyBLE"}, - {"name": "Waveshare BLE400"} + {"name": "ID115 fitness bracelet"}, + {"name": "Generic nRF51822"} ], "toolsDependencies": [ { @@ -199,51 +32,9 @@ "version": "5_2-2015q4" }, { - "packager": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.5.1", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.5.1.tar.gz", - "archiveFileName": "arduino-nRF52-0.5.1.tar.gz", - "checksum": "MD5:02F963846158BBB4B3B69C78801D5FCB", - "size": "576878", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "Bluz DK"}, - {"name": "Electronut labs bluey"}, - {"name": "Electronut labs hackaBLE"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "OSHChip"}, - {"name": "ng-beacon"}, - {"name": "nRF51 Dongle"}, - {"name": "nRF51822 Development Kit"}, - {"name": "nRF52 DK"}, - {"name": "Nordic Beacon Kit"}, - {"name": "RedBear BLE Nano 2"}, - {"name": "RedBear Blend 2"}, - {"name": "RedBearLab BLE Nano"}, - {"name": "RedBearLab nRF51822"}, - {"name": "Sino:bit"}, - {"name": "Taida Century nRF52 mini board"}, - {"name": "TinyBLE"}, - {"name": "Waveshare BLE400"} - ], - "toolsDependencies": [ - { - "packager": "sandeepmistry", - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4" + "packager": "rbaron", + "name": "flasher", + "version": "0.1" }, { "packager": "sandeepmistry", diff --git a/variants/ID115/pins_arduino.h b/variants/ID115/pins_arduino.h new file mode 100644 index 00000000..3ef4d4a9 --- /dev/null +++ b/variants/ID115/pins_arduino.h @@ -0,0 +1,17 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +// API compatibility +#include "variant.h" diff --git a/variants/ID115/variant.cpp b/variants/ID115/variant.cpp new file mode 100644 index 00000000..02d405b6 --- /dev/null +++ b/variants/ID115/variant.cpp @@ -0,0 +1,55 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + Copyright (c) 2016 Sandeep Mistry All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "variant.h" + +const uint32_t g_ADigitalPinMap[] = { + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 +}; diff --git a/variants/ID115/variant.h b/variants/ID115/variant.h new file mode 100644 index 00000000..4c07567a --- /dev/null +++ b/variants/ID115/variant.h @@ -0,0 +1,113 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + Copyright (c) 2016 Sandeep Mistry All right reserved. + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _VARIANT_GENERIC_ +#define _VARIANT_GENERIC_ + +/** Master clock frequency */ +#ifdef NRF52 +#define VARIANT_MCK (64000000ul) +#else +#define VARIANT_MCK (16000000ul) +#endif + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "WVariant.h" + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + +// Number of pins defined in PinDescription array +#define PINS_COUNT (32u) +#define NUM_DIGITAL_PINS (32u) +#define NUM_ANALOG_INPUTS (6u) +#define NUM_ANALOG_OUTPUTS (0u) + +// LEDs + +// TX pad on the ID115 board. The board doesn't have a built-in LED, +// so it's just a good place to put one +#define PIN_LED (0) // P0.0 +#define LED_BUILTIN PIN_LED + +#define BUTTON_BUILTIN (10) // P0.10 + +/* + * Analog pins + */ +#define PIN_A0 (1) // P0.01 +#define PIN_A1 (2) // P0.02 +#define PIN_A2 (3) // P0.03 +#define PIN_A3 (4) // P0.04 +#define PIN_A4 (5) // P0.05 +#define PIN_A5 (6) // P0.06 + +static const uint8_t A0 = PIN_A0 ; +static const uint8_t A1 = PIN_A1 ; +static const uint8_t A2 = PIN_A2 ; +static const uint8_t A3 = PIN_A3 ; +static const uint8_t A4 = PIN_A4 ; +static const uint8_t A5 = PIN_A5 ; +#ifdef NRF52 +#define ADC_RESOLUTION 14 +#else +#define ADC_RESOLUTION 10 +#endif + +/* + * Serial interfaces + */ +// Serial +#define PIN_SERIAL_RX (30) // P0.30 +#define PIN_SERIAL_TX (0) // P0.00 + +/* + * SPI Interfaces + */ +#define SPI_INTERFACES_COUNT 1 + +#define PIN_SPI_MISO (22) // P0.22 +#define PIN_SPI_MOSI (23) // P0.23 +#define PIN_SPI_SCK (24) // P0.24 + +static const uint8_t SS = 25 ; // P0.25 +static const uint8_t MOSI = PIN_SPI_MOSI ; +static const uint8_t MISO = PIN_SPI_MISO ; +static const uint8_t SCK = PIN_SPI_SCK ; + +/* + * Wire Interfaces + */ +#define WIRE_INTERFACES_COUNT 1 + +#define PIN_WIRE_SDA (21u) // P0.21 +#define PIN_WIRE_SCL (22u) // P0.22 +#define PIN_WIRE_RST (24u) // P0.22 + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; +static const uint8_t RST = PIN_WIRE_RST; + +#ifdef __cplusplus +} +#endif + +#endif