This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
s340:arduino_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/03/15 23:53] orrmany [Third major step: add S340 to the BSP] |
s340:arduino_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/03/29 20:07] orrmany [Introduction] |
||
---|---|---|---|
Line 18: | Line 18: | ||
- the Core bundles the S340 SD with the sketch instead of the original S140 SD | - the Core bundles the S340 SD with the sketch instead of the original S140 SD | ||
- and that the memory-layout settings are adapted to the different softdevice | - and that the memory-layout settings are adapted to the different softdevice | ||
+ | ===== Credits ===== | ||
+ | This work is based on [[https://github.com/rtgree01|rtgree01]]'s PlatformIO adaptation. See also the [[http://orrmany.hu/wiki/doku.php?id=arduino:s340_softdevice_adafruit_nrf52840_feather_express#credits|Credits]] section with the page [[arduino:s340_softdevice_adafruit_nrf52840_feather_express|S340 SoftDevice & Adafruit nRF52840 Express Feather]] | ||
===== Prerequisites ===== | ===== Prerequisites ===== | ||
This HOWTO assumes that | This HOWTO assumes that | ||
Line 72: | Line 73: | ||
> 4. Create a folder named hardware/Adafruit, if it does not exist, and change directories into it. | > 4. Create a folder named hardware/Adafruit, if it does not exist, and change directories into it. | ||
> 5. Clone the Adafruit_nRF52_Arduino repo in the folder described in step 2: | > 5. Clone the Adafruit_nRF52_Arduino repo in the folder described in step 2: | ||
- | >> <del>''git clone git@github.com:adafruit/Adafruit_nRF52_Arduino.git''</del> | + | >> <code>git clone git@github.com:adafruit/Adafruit_nRF52_Arduino.git |
+ | cd Adafruit_nRF52_Arduino | ||
+ | git submodule update --init --recursive | ||
+ | </code> | ||
Instead of cloning the the original Adafruit bootloader, if you are lazy you can clone my modified one: | Instead of cloning the the original Adafruit bootloader, if you are lazy you can clone my modified one: | ||
<code bash> | <code bash> | ||
git clone -b adding-S340-to-nrf52840-Feather --single-branch https://github.com/orrmany/Adafruit_nRF52_Arduino.git | git clone -b adding-S340-to-nrf52840-Feather --single-branch https://github.com/orrmany/Adafruit_nRF52_Arduino.git | ||
+ | cd Adafruit_nRF52_Arduino | ||
+ | git submodule update --init --recursive | ||
</code> | </code> | ||
If you **//do use my repo//**, the do **not** forget that you will still need to download the [[https://www.thisisant.com/developer/components/nrf52832#tab_protocol_stacks_tab|S340 softdevice from thisisant.com]] and install it into the proper place, as redistribution of the said SoftDevice by individuals is not permited. You //must// sign the ANT license and respect its conditions. The way you can get the S340 is described at the [[https://www.nordicsemi.com/Software-and-tools/Software/S340-ANT|Nordic Semiconductor page]]. | If you **//do use my repo//**, the do **not** forget that you will still need to download the [[https://www.thisisant.com/developer/components/nrf52832#tab_protocol_stacks_tab|S340 softdevice from thisisant.com]] and install it into the proper place, as redistribution of the said SoftDevice by individuals is not permited. You //must// sign the ANT license and respect its conditions. The way you can get the S340 is described at the [[https://www.nordicsemi.com/Software-and-tools/Software/S340-ANT|Nordic Semiconductor page]]. | ||
Line 232: | Line 238: | ||
└── feather_nrf52840_express_bootloader-0.3.0_s340_6.1.1.zip | └── feather_nrf52840_express_bootloader-0.3.0_s340_6.1.1.zip | ||
</code> | </code> | ||
- | - //(Already done in my modified repo on Github.)// Go to ''libraries/Bluefruit52Lib/src/'' and modify ''bluefruit.cpp'' as follows <code diff>diff --git a/libraries/Bluefruit52Lib/src/bluefruit.cpp b/libraries/Bluefruit52Lib/src/bluefruit.cpp | + | - //(Already done in my modified repo on Github.)// Go to ''libraries/Bluefruit52Lib/src/'' and modify ''bluefruit.cpp'' as follows: <code diff>diff --git a/libraries/Bluefruit52Lib/src/bluefruit.cpp b/libraries/Bluefruit52Lib/src/bluefruit.cpp |
index d17f66e4..1fe53626 100644 | index d17f66e4..1fe53626 100644 | ||
--- a/libraries/Bluefruit52Lib/src/bluefruit.cpp | --- a/libraries/Bluefruit52Lib/src/bluefruit.cpp | ||
Line 250: | Line 256: | ||
( | ( | ||
</code> | </code> | ||
- | * **Do not forget** that you shall obtain the [[https://www.thisisant.com/developer/ant-plus/ant-plus-basics/network-keys|ANT License Key]] from ThisIsAnt.com and ''#define'' said ANT_LICENSE_KEY in you sketch! | + | * **Do not forget** that you shall obtain the [[https://www.thisisant.com/developer/ant-plus/ant-plus-basics/network-keys|ANT License Key]] from ThisIsAnt.com and ''#define'' said ANT_LICENSE_KEY in your sketch! |
- Start the Arduino IDE | - Start the Arduino IDE | ||
Now you can build and upload sketches from the Arduino IDE by using ''Adafruit Bluefruit Feather nRF52840 Express w.ANT'' as board type | Now you can build and upload sketches from the Arduino IDE by using ''Adafruit Bluefruit Feather nRF52840 Express w.ANT'' as board type | ||
+ | ===== Caveats ===== | ||
+ | * Please note, that the above changes just mean that you have replaced the bootloader and the softdevice with an ANT+ capable one. //Developing ANT+ application needs additional software, which you need to develop yourself, or obtain and adapt from thisisant.org, for example// | ||
+ | * All the regular Arduino sketches and all the Bluefruit52 SW is supposed to run as-is with the modified bootloader | ||
+ | * **NOTE** that CircuitPython compatibility will be lost with this modification. The CircuitPython interpreter is distributed as UF2 binary firmware-update and that is bundled with the S140 BLE softdevice. Trying to "update" an S340 equipped nRF52804 Feather with the CircuitPython interpreter formware will most likely "brick" your Feather and you will need a Segger J-Link firmware-updater to "unbrick" your Feather | ||
+ |