From 125a9a18b2aadded4a46877a8b8600507c53085f Mon Sep 17 00:00:00 2001 From: quentin Date: Wed, 11 Sep 2019 14:33:49 +0200 Subject: [PATCH 01/23] Changes peripheral used for "Wire" object so that it can be used at the same time as SPI. --- libraries/Wire/Wire_nRF52.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 libraries/Wire/Wire_nRF52.cpp diff --git a/libraries/Wire/Wire_nRF52.cpp b/libraries/Wire/Wire_nRF52.cpp old mode 100755 new mode 100644 index 08347f49..abea5788 --- a/libraries/Wire/Wire_nRF52.cpp +++ b/libraries/Wire/Wire_nRF52.cpp @@ -394,7 +394,7 @@ void TwoWire::onService(void) } } -TwoWire Wire(NRF_TWIM1, NRF_TWIS1, SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn, PIN_WIRE_SDA, PIN_WIRE_SCL); +TwoWire Wire(NRF_TWIM0, NRF_TWIS0, SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn, PIN_WIRE_SDA, PIN_WIRE_SCL); #if WIRE_INTERFACES_COUNT > 0 extern "C" From db74182de81506a2bf5f7492dea1b2e529f6933b Mon Sep 17 00:00:00 2001 From: quentin Date: Fri, 20 Sep 2019 15:29:09 +0200 Subject: [PATCH 02/23] Changed peripheral so that BOTH SPI interfaces and TWI can be used at the same time. --- libraries/SPI/SPI.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index 5c3add1b..9ac8f228 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -252,9 +252,8 @@ void SPIClass::attachInterrupt() { void SPIClass::detachInterrupt() { // Should be disableInterrupt() } - #if SPI_INTERFACES_COUNT > 0 -SPIClass SPI (NRF_SPI0, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_MOSI); +SPIClass SPI (NRF_SPI2, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_MOSI); #endif #if SPI_INTERFACES_COUNT > 1 SPIClass SPI1(NRF_SPI1, PIN_SPI1_MISO, PIN_SPI1_SCK, PIN_SPI1_MOSI); From 9be1512e23d999d63ae0d30cc6cd839881567379 Mon Sep 17 00:00:00 2001 From: Adrien van den Bossche Date: Wed, 8 Jan 2020 15:05:08 +0100 Subject: [PATCH 03/23] Work on DWM1001 based development boards - split DWM1001-DEV and DWM1001 (module) - add variant for Yahu development board --- boards.txt | 49 +++++++++++++++- variants/DWM1001-DEV/variant.h | 61 +------------------ variants/DWM1001/variant.h | 104 +++++++++++++++++++++++++++++++++ variants/Yahu/pins_arduino.h | 17 ++++++ variants/Yahu/variant.cpp | 65 +++++++++++++++++++++ variants/Yahu/variant.h | 68 +++++++++++++++++++++ 6 files changed, 303 insertions(+), 61 deletions(-) create mode 100644 variants/DWM1001/variant.h create mode 100644 variants/Yahu/pins_arduino.h create mode 100644 variants/Yahu/variant.cpp create mode 100644 variants/Yahu/variant.h diff --git a/boards.txt b/boards.txt index ff72204c..656f2970 100644 --- a/boards.txt +++ b/boards.txt @@ -949,7 +949,54 @@ 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 -DWM1001-DEV.name=decaWave DWM1001 Module Development Board + + +Yahu.name=Yahu + +Yahu.upload.tool=sandeepmistry:openocd +Yahu.upload.protocol=jlink +Yahu.upload.target=nrf52 +Yahu.upload.maximum_size=524288 +Yahu.upload.setup_command=transport select swd; +Yahu.upload.use_1200bps_touch=false +Yahu.upload.wait_for_upload_port=false +Yahu.upload.native_usb=false + +Yahu.bootloader.tool=sandeepmistry:openocd + +Yahu.build.mcu=cortex-m4 +Yahu.build.f_cpu=16000000 +Yahu.build.board=YAHU +Yahu.build.core=nRF5 +Yahu.build.variant=Yahu +Yahu.build.variant_system_lib= +Yahu.build.extra_flags=-DNRF52 +Yahu.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 +Yahu.build.ldscript=nrf52_xxaa.ld + +Yahu.build.lfclk_flags=-DUSE_LFXO + +Yahu.menu.softdevice.none=None +Yahu.menu.softdevice.none.softdevice=none +Yahu.menu.softdevice.none.softdeviceversion= + +Yahu.menu.softdevice.s132=S132 +Yahu.menu.softdevice.s132.softdevice=s132 +Yahu.menu.softdevice.s132.softdeviceversion=2.0.1 +Yahu.menu.softdevice.s132.upload.maximum_size=409600 +Yahu.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 +Yahu.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld + + + + + + + + + + +DWM1001-DEV.name=DecaWave DWM1001 Module Development Board DWM1001-DEV.upload.tool=sandeepmistry:openocd DWM1001-DEV.upload.protocol=jlink diff --git a/variants/DWM1001-DEV/variant.h b/variants/DWM1001-DEV/variant.h index 78a8d3d1..038a1b04 100644 --- a/variants/DWM1001-DEV/variant.h +++ b/variants/DWM1001-DEV/variant.h @@ -16,6 +16,7 @@ #ifndef _VARIANT_DWM1001_DEV_ #define _VARIANT_DWM1001_DEV_ +#include "../DWM1001/variant.h" /** Master clock frequency */ #define VARIANT_MCK (64000000ul) @@ -63,66 +64,6 @@ static const uint8_t A0 = PIN_A0 ; // AIN2 static const uint8_t A1 = PIN_A1 ; // AIN1 #define ADC_RESOLUTION 14 -/* - * Serial interfaces - */ -// Serial -#define PIN_SERIAL_RX (13) -#define PIN_SERIAL_TX (14) - -/* - * SPI Interfaces - */ -#define SPI_INTERFACES_COUNT 2 - -#define PIN_SPI_MISO (8) -#define PIN_SPI_MOSI (7) -#define PIN_SPI_SCK (PIN_A0) - -static const uint8_t SS = PIN_A1 ; -static const uint8_t MOSI = PIN_SPI_MOSI ; -static const uint8_t MISO = PIN_SPI_MISO ; -static const uint8_t SCK = PIN_SPI_SCK ; - -#define PIN_SPI1_SS (15) -#define PIN_SPI1_MISO (16) -#define PIN_SPI1_MOSI (17) -#define PIN_SPI1_SCK (18) - -static const uint8_t SS1 = PIN_SPI1_SS ; -static const uint8_t MOSI1 = PIN_SPI1_MOSI ; -static const uint8_t MISO1 = PIN_SPI1_MISO ; -static const uint8_t SCK1 = PIN_SPI1_SCK ; - -/* - * Wire Interfaces - */ -#define WIRE_INTERFACES_COUNT 1 - -#define PIN_WIRE_SDA (11) -#define PIN_WIRE_SCL (12) - -static const uint8_t SDA = PIN_WIRE_SDA; -static const uint8_t SCL = PIN_WIRE_SCL; - -/* - * Reset Button at P0.21 - */ -#define RESET_PIN 21 - -/* - * Other DWM1001 internal IOs - */ -#define PIN_DW_RST (19) -#define PIN_DW_IRQ (20) - -static const uint8_t DW_RST = PIN_DW_RST; -static const uint8_t DW_IRQ = PIN_DW_IRQ; - -#define PIN_ACC_IRQ (21) - -static const uint8_t ACC_IRQ = PIN_ACC_IRQ; - #ifdef __cplusplus } #endif diff --git a/variants/DWM1001/variant.h b/variants/DWM1001/variant.h new file mode 100644 index 00000000..e4695ef4 --- /dev/null +++ b/variants/DWM1001/variant.h @@ -0,0 +1,104 @@ +/* + 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_DWM1001_ +#define _VARIANT_DWM1001_ +#define UWB_MODULE_DWM1001 + +/** Master clock frequency */ +#define VARIANT_MCK (64000000ul) + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "WVariant.h" + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + +/* + * Serial interfaces + */ +// Serial +#define PIN_SERIAL_RX (13) +#define PIN_SERIAL_TX (14) + +/* + * SPI Interfaces + */ +#define SPI_INTERFACES_COUNT 2 + +#define PIN_SPI_MISO (8) +#define PIN_SPI_MOSI (7) +#define PIN_SPI_SCK (9) +#define PIN_SPI_SS (10) + +static const uint8_t SS = PIN_SPI_SS ; +static const uint8_t MOSI = PIN_SPI_MOSI ; +static const uint8_t MISO = PIN_SPI_MISO ; +static const uint8_t SCK = PIN_SPI_SCK ; + +#define PIN_SPI1_SS (15) +#define PIN_SPI1_MISO (16) +#define PIN_SPI1_MOSI (17) +#define PIN_SPI1_SCK (18) + +static const uint8_t SS1 = PIN_SPI1_SS ; +static const uint8_t MOSI1 = PIN_SPI1_MOSI ; +static const uint8_t MISO1 = PIN_SPI1_MISO ; +static const uint8_t SCK1 = PIN_SPI1_SCK ; + +/* + * Wire Interfaces + */ +#define WIRE_INTERFACES_COUNT 1 + +#define PIN_WIRE_SDA (11) +#define PIN_WIRE_SCL (12) + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; + +/* + * Reset Button at P0.21 + */ +#define RESET_PIN 21 + +/* + * Other DWM1001 internal IOs + */ +#define PIN_DW_RST (19) +#define PIN_DW_IRQ (20) + +static const uint8_t DW_RST = PIN_DW_RST; +static const uint8_t DW_IRQ = PIN_DW_IRQ; + +#define PIN_ACC_IRQ (21) + +static const uint8_t ACC_IRQ = PIN_ACC_IRQ; + +#ifdef __cplusplus +} +#endif + +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#endif diff --git a/variants/Yahu/pins_arduino.h b/variants/Yahu/pins_arduino.h new file mode 100644 index 00000000..3ef4d4a9 --- /dev/null +++ b/variants/Yahu/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/Yahu/variant.cpp b/variants/Yahu/variant.cpp new file mode 100644 index 00000000..a323a287 --- /dev/null +++ b/variants/Yahu/variant.cpp @@ -0,0 +1,65 @@ +/* + 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[] = { + // D0 - D8 + 12, //0 + 27, + 23, + 13, + 15, // Arduino: 4, DWM1001: pin 23 (à tester) + 8, // Arduino: 5, DWM1001: pin 25, Yahu!: LED_RED + 26, + 6, //6 + 7, //7 + + // A0, A1 + 4, //9 + 3, //10 + + // SDA, SCL + 29, //11 + 28, //12 + + // RX, TX + 11, //13 + 5, //14 + + // DWM1000 + // SPI SS1, MISO1, MOSI1, SCK1 + 17, + 18, + 20, + 16, + // RST, IRQ + 24, + 19, + + // ACC IRQ + 25, + + // LEDS + 9, + 10, + + // BTN + 2 +}; diff --git a/variants/Yahu/variant.h b/variants/Yahu/variant.h new file mode 100644 index 00000000..939dfbe9 --- /dev/null +++ b/variants/Yahu/variant.h @@ -0,0 +1,68 @@ +/* + 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_YAHU_ +#define _VARIANT_YAHU_ +#include "../DWM1001/variant.h" + +/** Master clock frequency */ +#define VARIANT_MCK (64000000ul) + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "WVariant.h" + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + +// Number of pins defined in PinDescription array +#define PINS_COUNT (27u) +#define NUM_DIGITAL_PINS (11u) +#define NUM_ANALOG_INPUTS (2u) +#define NUM_ANALOG_OUTPUTS (0u) + +// LEDs +#define PIN_LEDR (5) +#define PIN_LEDG (0) +#define PIN_LEDB (3) +#define LED_BUILTIN PIN_LEDB +static const uint8_t LED_RED = PIN_LEDR ; +static const uint8_t LED_GREEN = PIN_LEDG ; +static const uint8_t LED_BLUE = PIN_LEDB ; + +/* + * Analog pins + */ +#define PIN_A0 (9) +#define PIN_A1 (10) + +static const uint8_t A0 = PIN_A0 ; // AIN2 +static const uint8_t A1 = PIN_A1 ; // AIN1 +#define ADC_RESOLUTION 14 + +#ifdef __cplusplus +} +#endif + +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#endif From c86d9aec1206f8cba606cfc5636202cbfde61c13 Mon Sep 17 00:00:00 2001 From: Adrien van den Bossche Date: Fri, 6 Mar 2020 09:37:58 +0100 Subject: [PATCH 04/23] Update variant for Yahu --- variants/Yahu/variant.cpp | 66 +++++++++++++++------------------------ 1 file changed, 25 insertions(+), 41 deletions(-) diff --git a/variants/Yahu/variant.cpp b/variants/Yahu/variant.cpp index a323a287..eb501573 100644 --- a/variants/Yahu/variant.cpp +++ b/variants/Yahu/variant.cpp @@ -21,45 +21,29 @@ const uint32_t g_ADigitalPinMap[] = { // D0 - D8 - 12, //0 - 27, - 23, - 13, - 15, // Arduino: 4, DWM1001: pin 23 (à tester) - 8, // Arduino: 5, DWM1001: pin 25, Yahu!: LED_RED - 26, - 6, //6 - 7, //7 - - // A0, A1 - 4, //9 - 3, //10 - - // SDA, SCL - 29, //11 - 28, //12 - - // RX, TX - 11, //13 - 5, //14 - - // DWM1000 - // SPI SS1, MISO1, MOSI1, SCK1 - 17, - 18, - 20, - 16, - // RST, IRQ - 24, - 19, - - // ACC IRQ - 25, - - // LEDS - 9, - 10, - - // BTN - 2 + 12, // Arduino pin #0 LED_GREEN + 27, // Arduino pin #1 + 23, // Arduino pin #2 + 13, // Arduino pin #3 LED_BLUE + 15, // Arduino pin #4 (LoRa shield IRQ) + 8, // Arduino pin #5 LED_RED + 26, // Arduino pin #6 + 6, // Arduino pin #7 EXTERNAL SPI MOSI + 7, // Arduino pin #8 EXTERNAL SPI MISO + 4, // Arduino pin #9 EXTERNAL SPI SCK, A0, AIN2, + 3, // Arduino pin #10 EXTERNAL SPI SS, A1, AIN1, + 29, // Arduino pin #11 I2C SDA + 28, // Arduino pin #12 I2C SCL + 11, // Arduino pin #13 Serial RX + 5, // Arduino pin #14 Serial TX + 17, // Arduino pin #15 DWM1000 SPI SS1 + 18, // Arduino pin #16 DWM1000 SPI MISO1 + 20, // Arduino pin #17 DWM1000 SPI MOSI1 + 16, // Arduino pin #18 DWM1000 SPI SCK1 + 24, // Arduino pin #19 DWM1000 RESET + 19, // Arduino pin #20 DWM1000 IRQ + 25, // Arduino pin #21 ACCEL IRQ + 9, // Arduino pin #22 + 10, // Arduino pin #23 + 2 // Arduino pin #24 }; From fe95f110e1f9526799647d2dd6cf1bda3586bd51 Mon Sep 17 00:00:00 2001 From: Adrien van den Bossche Date: Thu, 19 Mar 2020 23:11:41 +0100 Subject: [PATCH 05/23] Add missing pins on yahu --- variants/Yahu/variant.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/variants/Yahu/variant.cpp b/variants/Yahu/variant.cpp index eb501573..0e52e388 100644 --- a/variants/Yahu/variant.cpp +++ b/variants/Yahu/variant.cpp @@ -45,5 +45,9 @@ const uint32_t g_ADigitalPinMap[] = { 25, // Arduino pin #21 ACCEL IRQ 9, // Arduino pin #22 10, // Arduino pin #23 - 2 // Arduino pin #24 + 2, // Arduino pin #24 + 14, // Arduino pin #25 + 31, // Arduino pin #26 + 30, // Arduino pin #27 + 22 // Arduino pin #28 }; From 83c82487581cf984cfb003941e38ca89f11ee6fa Mon Sep 17 00:00:00 2001 From: quentin Date: Thu, 5 Nov 2020 11:21:13 +0100 Subject: [PATCH 06/23] Adds defines for DWM1003 i2c peripherals. --- variants/DWM1001-DEV/variant.cpp | 8 ++++---- variants/DWM1001-DEV/variant.h | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/variants/DWM1001-DEV/variant.cpp b/variants/DWM1001-DEV/variant.cpp index c5790a28..fe2db199 100644 --- a/variants/DWM1001-DEV/variant.cpp +++ b/variants/DWM1001-DEV/variant.cpp @@ -21,8 +21,8 @@ const uint32_t g_ADigitalPinMap[] = { // D0 - D8 - 12, - 27, + 12, // I2C address LSB for accelerometer and barometer in DWM1003 + 27, // CS/I2C enable for magnetometer in DWM1003 23, 13, 15, @@ -59,8 +59,8 @@ const uint32_t g_ADigitalPinMap[] = { // LEDS 14, 22, - 30, - 31, + 30, // accelerometer CS/I2C enable in dwm1003 + 31, // barometer CS/I2C enable in dwm1003 // BTN 2 diff --git a/variants/DWM1001-DEV/variant.h b/variants/DWM1001-DEV/variant.h index 038a1b04..bc19cf7c 100644 --- a/variants/DWM1001-DEV/variant.h +++ b/variants/DWM1001-DEV/variant.h @@ -54,6 +54,12 @@ static const uint8_t LED_BLUE = PIN_LEDB ; static const uint8_t BTN = PIN_BUTTON ; +// DWM1003 peripherals +#define PIN_DWM1003_I2C_LSB_ACC_BAR (0) +#define PIN_DWM1003_I2C_ENABLE_MAG (1) +#define PIN_DWM1003_I2C_ENABLE_ACC (24) +#define PIN_DWM1003_I2C_ENABLE_BAR (25) + /* * Analog pins */ From 0006528a3e8252764055a295e6ef575fa625f1b9 Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Tue, 22 Mar 2022 12:48:59 +0100 Subject: [PATCH 07/23] Add nRF52840 and DWM3001CDK support --- boards.txt | 102 ++++++++++ .../toolchain/gcc/nrf52833_xxaa_dwt.ld | 14 ++ .../toolchain/gcc/nrf52840_xxaa_dwt.ld | 15 ++ .../toolchain/gcc/nrf52_common_dwt.ld | 178 +++++++++++++++++ .../toolchain/gcc/nrf_common_dwt.ld | 176 +++++++++++++++++ platform.txt | 6 +- variants/DWM3001CDK/pins_arduino.h | 17 ++ variants/DWM3001CDK/variant.cpp | 32 ++++ variants/DWM3001CDK/variant.h | 92 +++++++++ variants/nRF52840DK/pins_arduino.h | 17 ++ variants/nRF52840DK/variant.cpp | 87 +++++++++ variants/nRF52840DK/variant.h | 180 ++++++++++++++++++ 12 files changed, 915 insertions(+), 1 deletion(-) create mode 100644 cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld create mode 100644 cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld create mode 100755 cores/nRF5/SDK/components/toolchain/gcc/nrf52_common_dwt.ld create mode 100644 cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld create mode 100644 variants/DWM3001CDK/pins_arduino.h create mode 100644 variants/DWM3001CDK/variant.cpp create mode 100644 variants/DWM3001CDK/variant.h create mode 100644 variants/nRF52840DK/pins_arduino.h create mode 100644 variants/nRF52840DK/variant.cpp create mode 100644 variants/nRF52840DK/variant.h diff --git a/boards.txt b/boards.txt index 18b27e99..9f2a9d2f 100644 --- a/boards.txt +++ b/boards.txt @@ -1137,3 +1137,105 @@ SeeedArchLink.menu.softdevice.s130.upload.maximum_size=151552 SeeedArchLink.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 SeeedArchLink.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld +#### NORDIC SEMICONDUCTOR nRF52840DK + +nRF52840DK.name=nRF52840 DK + +nRF52840DK.vid.0=0x1366 +nRF52840DK.pid.0=0x1015 + +nRF52840DK.upload.tool=sandeepmistry:openocd +nRF52840DK.upload.protocol=jlink +nRF52840DK.upload.interface=jlink +nRF52840DK.upload.target=nrf52 +nRF52840DK.upload.maximum_size=524288 +nRF52840DK.upload.setup_command=transport select swd; +nRF52840DK.upload.use_1200bps_touch=false +nRF52840DK.upload.wait_for_upload_port=false +nRF52840DK.upload.native_usb=false + +nRF52840DK.bootloader.tool=sandeepmistry:openocd + +nRF52840DK.build.mcu=cortex-m4 +nRF52840DK.build.f_cpu=16000000 +nRF52840DK.build.board=NRF52840_DK +nRF52840DK.build.core=nRF5 +nRF52840DK.build.variant=nRF52840DK +nRF52840DK.build.variant_system_lib= +nRF52840DK.build.extra_flags=-DNRF52840 -DNRF52840_XXAA -DARDUINO_GENERIC +nRF52840DK.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 +#nRF52840DK.build.ldscript=nrf52_xxaa.ld + +nRF52840DK.menu.softdevice.none=None +nRF52840DK.menu.softdevice.none.softdevice=none + +nRF52840DK.menu.softdevice.s132=S132 +nRF52840DK.menu.softdevice.s132.softdevice=s132 +nRF52840DK.menu.softdevice.s132.softdeviceversion=2.0.1 +nRF52840DK.menu.softdevice.s132.upload.maximum_size=409600 +nRF52840DK.menu.softdevice.s132.build.extra_flags=-DS132 -DNRF51_S132 -DNRF52840 -DNRF52840_XXAA +nRF52840DK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld + +nRF52840DK.menu.lfclk.lfxo=Crystal Oscillator +nRF52840DK.menu.lfclk.lfxo.build.lfclk_flags=-DUSE_LFXO +nRF52840DK.menu.lfclk.lfrc=RC Oscillator +nRF52840DK.menu.lfclk.lfrc.build.lfclk_flags=-DUSE_LFRC +nRF52840DK.menu.lfclk.lfsynt=Synthesized +nRF52840DK.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT + +nRF52840DK.menu.board_variant.standard=Original nRF52840DK +nRF52840DK.menu.board_variant.standard.compiler.libraries.ldflags_start= +nRF52840DK.menu.board_variant.standard.compiler.libraries.ldflags_end= +nRF52840DK.menu.board_variant.standard.build.ldscript=nrf52840_xxaa.ld + +nRF52840DK.menu.board_variant.uwbdwt=Qorvo UWB support +nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_start=-Wl,--whole-archive +nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_end=-Wl,--no-whole-archive +nRF52840DK.menu.board_variant.uwbdwt.build.ldscript=nrf52840_xxaa_dwt.ld + + + +### DWM3001CDK Qorvo + +DWM3001-CDK.name=Qorvo DWM3001 CDK + +DWM3001-CDK.vid.0=0x1366 +DWM3001-CDK.pid.0=0x1015 + +DWM3001-CDK.upload.tool=sandeepmistry:openocd +DWM3001-CDK.upload.protocol=jlink +DWM3001-CDK.upload.target=nrf52 +DWM3001-CDK.upload.maximum_size=524288 +DWM3001-CDK.upload.setup_command=transport select swd; +DWM3001-CDK.upload.use_1200bps_touch=false +DWM3001-CDK.upload.wait_for_upload_port=false +DWM3001-CDK.upload.native_usb=false + +DWM3001-CDK.bootloader.tool=sandeepmistry:openocd + +DWM3001-CDK.build.mcu=cortex-m4 +DWM3001-CDK.build.f_cpu=64000000 +DWM3001-CDK.build.board=DWM3001_CDK +DWM3001-CDK.build.core=nRF5 +DWM3001-CDK.build.variant=DWM3001CDK +DWM3001-CDK.build.variant_system_lib= +DWM3001-CDK.build.extra_flags=-DNRF52833_XXAA -DARDUINO_GENERIC -DDWM3001_CDK +DWM3001-CDK.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 + +DWM3001-CDK.compiler.libraries.ldflags_start=-Wl,--whole-archive +DWM3001-CDK.compiler.libraries.ldflags_end=-Wl,--no-whole-archive +DWM3001-CDK.build.ldscript=nrf52833_xxaa_dwt.ld + +DWM3001-CDK.build.lfclk_flags=-DUSE_LFXO + +DWM3001-CDK.menu.softdevice.none=None +DWM3001-CDK.menu.softdevice.none.softdevice=none +DWM3001-CDK.menu.softdevice.none.softdeviceversion= + +DWM3001-CDK.menu.softdevice.s132=S132 +DWM3001-CDK.menu.softdevice.s132.softdevice=s132 +DWM3001-CDK.menu.softdevice.s132.softdeviceversion=2.0.1 +DWM3001-CDK.menu.softdevice.s132.upload.maximum_size=409600 +DWM3001-CDK.menu.softdevice.s132.build.extra_flags=-DNRF52833_XXAA -DS132 -DNRF51_S132 -DDWM3001_CDK +DWM3001-CDK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld + diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld new file mode 100644 index 00000000..0fb6cc8f --- /dev/null +++ b/cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld @@ -0,0 +1,14 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000 + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x20000 + CODE_RAM (rwx) : ORIGIN = 0x800000, LENGTH = 0x20000 +} + + +INCLUDE "nrf52_common_dwt.ld" diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld new file mode 100644 index 00000000..1a52d00d --- /dev/null +++ b/cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld @@ -0,0 +1,15 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x100000 + EXTFLASH (rx) : ORIGIN = 0x12000000, LENGTH = 0x8000000 + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x40000 + CODE_RAM (rwx) : ORIGIN = 0x800000, LENGTH = 0x40000 +} + + +INCLUDE "nrf52_common_dwt.ld" diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf52_common_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf52_common_dwt.ld new file mode 100755 index 00000000..e4fd2ab1 --- /dev/null +++ b/cores/nRF5/SDK/components/toolchain/gcc/nrf52_common_dwt.ld @@ -0,0 +1,178 @@ +/* Deprecated linker script for Nordic Semiconductor nRF52 devices, + * please use nrfx_common.ld. This version exists for backwards + * compatibility. + * + * Version: Sourcery G++ 4.5-1 + * Support: https://support.codesourcery.com/GNUToolchain/ + * + * Copyright (c) 2007, 2008, 2009, 2010 CodeSourcery, Inc. + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ +OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapBase + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + */ +ENTRY(Reset_Handler) + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /*** Qorvo UWB driver memory section ***/ + . = ALIGN(4); + __dw_drivers_start = .; + KEEP(*(.dw_drivers)) + __dw_drivers_end = .; + /*** END of Qorvo UWB driver memory section ***/ + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + . = ALIGN(4); + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + KEEP(*(.jcr*)) + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss : + { + . = ALIGN(4); + __bss_start__ = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (COPY): + { + __HeapBase = .; + __end__ = .; + PROVIDE(end = .); + KEEP(*(.heap*)) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (COPY): + { + KEEP(*(.stack*)) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") + + /* Check if text sections + data exceeds FLASH limit */ + DataInitFlashUsed = __bss_start__ - __data_start__; + CodeFlashUsed = __etext - ORIGIN(FLASH); + TotalFlashUsed = CodeFlashUsed + DataInitFlashUsed; + ASSERT(TotalFlashUsed <= LENGTH(FLASH), "region FLASH overflowed with .data and user data") + +} diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld new file mode 100644 index 00000000..4b9038dc --- /dev/null +++ b/cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld @@ -0,0 +1,176 @@ +/* Linker script for Nordic Semiconductor nRF devices + * + * Version: Sourcery G++ 4.5-1 + * Support: https://support.codesourcery.com/GNUToolchain/ + * + * Copyright (c) 2007, 2008, 2009, 2010 CodeSourcery, Inc. + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ +OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapBase + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + */ +ENTRY(Reset_Handler) + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /*** Qorvo UWB driver memory section ***/ + . = ALIGN(4); + __dw_drivers_start = .; + KEEP(*(.dw_drivers)) + __dw_drivers_end = .; + /*** END of Qorvo UWB driver memory section ***/ + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + . = ALIGN(4); + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + KEEP(*(.jcr*)) + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss : + { + . = ALIGN(4); + __bss_start__ = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (COPY): + { + __HeapBase = .; + __end__ = .; + PROVIDE(end = .); + KEEP(*(.heap*)) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (COPY): + { + KEEP(*(.stack*)) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") + + /* Check if text sections + data exceeds FLASH limit */ + DataInitFlashUsed = __bss_start__ - __data_start__; + CodeFlashUsed = __etext - ORIGIN(FLASH); + TotalFlashUsed = CodeFlashUsed + DataInitFlashUsed; + ASSERT(TotalFlashUsed <= LENGTH(FLASH), "region FLASH overflowed with .data and user data") + +} diff --git a/platform.txt b/platform.txt index be9cb6a4..0fb220ea 100644 --- a/platform.txt +++ b/platform.txt @@ -65,6 +65,10 @@ compiler.ar.extra_flags= compiler.elf2bin.extra_flags= compiler.elf2hex.extra_flags= +# Add support of precompiled Archives (Can be overriden) +compiler.libraries.ldflags= +compiler.libraries.ldflags_start= +compiler.libraries.ldflags_end= # Compile patterns # ---------------- @@ -82,7 +86,7 @@ recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} -DF_CPU= recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" ## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} "-L{nrf.sdk.path}/components/toolchain/gcc/" "-L{nrf.sdk.path}/components/softdevice/{softdevice}/toolchain/armgcc/" "-T{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nano.specs --specs=nosys.specs {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} -Wl,--start-group -lm "{build.path}/{archive_file}" -Wl,--end-group +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} "-L{nrf.sdk.path}/components/toolchain/gcc/" "-L{nrf.sdk.path}/components/softdevice/{softdevice}/toolchain/armgcc/" "-T{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nano.specs --specs=nosys.specs {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} -Wl,--start-group {compiler.libraries.ldflags_start} {compiler.libraries.ldflags} {compiler.libraries.ldflags_end} -lm "{build.path}/{archive_file}" -Wl,--end-group ## Create output (bin file) recipe.objcopy.bin.pattern="{compiler.path}{compiler.elf2bin.cmd}" {compiler.elf2bin.flags} {compiler.elf2bin.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin" diff --git a/variants/DWM3001CDK/pins_arduino.h b/variants/DWM3001CDK/pins_arduino.h new file mode 100644 index 00000000..3ef4d4a9 --- /dev/null +++ b/variants/DWM3001CDK/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/DWM3001CDK/variant.cpp b/variants/DWM3001CDK/variant.cpp new file mode 100644 index 00000000..5da32141 --- /dev/null +++ b/variants/DWM3001CDK/variant.cpp @@ -0,0 +1,32 @@ + + +#include "variant.h" + +#define NRF_GPIO_PIN_MAP(port, pin) ((port << 5) | (pin & 0x1F)) + +const uint32_t g_ADigitalPinMap[] = { + // D9 - D12 (LEDS) + NRF_GPIO_PIN_MAP(0,4), // D9 + NRF_GPIO_PIN_MAP(0,5), // D10 + NRF_GPIO_PIN_MAP(0,22), // D11 + NRF_GPIO_PIN_MAP(0,14), // D12 + + // User button + NRF_GPIO_PIN_MAP(0,2), // Button 2 + + // RX TX + NRF_GPIO_PIN_MAP(0,15), // RX + NRF_GPIO_PIN_MAP(0,19), // TX + + // SPI + NRF_GPIO_PIN_MAP(1,6), // CS + NRF_GPIO_PIN_MAP(0,3), // CLK + NRF_GPIO_PIN_MAP(0,8), // MOSI + NRF_GPIO_PIN_MAP(0,29), // MISO + + // Others + NRF_GPIO_PIN_MAP(0,25), // DW RESET + NRF_GPIO_PIN_MAP(1,2), // DW IRQ + NRF_GPIO_PIN_MAP(1,19), // DW WAKEUP + +}; diff --git a/variants/DWM3001CDK/variant.h b/variants/DWM3001CDK/variant.h new file mode 100644 index 00000000..a910d56d --- /dev/null +++ b/variants/DWM3001CDK/variant.h @@ -0,0 +1,92 @@ +/* + 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_DWM3001CDK_ +#define _VARIANT_DWM3001CDK_ + +/** Master clock frequency */ +#define VARIANT_MCK (64000000ul) + + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "WVariant.h" + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + + +// Number of pins defined in PinDescription array +#define PINS_COUNT (14u) +#define NUM_DIGITAL_PINS (14u) +#define NUM_ANALOG_INPUTS (0u) +#define NUM_ANALOG_OUTPUTS (0u) + +// LEDs +#define PIN_LED_GREEN (0) +#define PIN_LED_BLUE (1) +#define PIN_LED_RED_TOP (2) +#define PIN_LED_RED_BOT (3) + +static const uint8_t GREEN_LED = PIN_LED_GREEN; +static const uint8_t BLUE_LED = PIN_LED_BLUE; +static const uint8_t RED_LED_BOT = PIN_LED_RED_TOP; +static const uint8_t RED_LED_TOP = PIN_LED_RED_TOP; + +#define LED_BUILTIN PIN_LED_GREEN + + +// User buttons +#define PIN_BUTTON (4) + +static const uint8_t USER_BUTTON = PIN_BUTTON ; + + +// Serial UART +#define PIN_SERIAL_RX (5) +#define PIN_SERIAL_TX (6) + + + +// SPI interface +#define SPI_INTERFACES_COUNT 1 + +// SPI to DW +#define PIN_SPI_MISO (10) +#define PIN_SPI_MOSI (9) +#define PIN_SPI_SCK (8) +#define PIN_SPI_CS (7) + +static const uint8_t SS = PIN_SPI_CS ; +static const uint8_t MOSI = PIN_SPI_MOSI ; +static const uint8_t MISO = PIN_SPI_MISO ; +static const uint8_t SCK = PIN_SPI_SCK ; + +// Other (DW module I/O) +#define PIN_DWM_RESET (11) +#define PIN_DWM_IRQ (12) +#define PIN_DWM_WAKEUP (13) + + +#ifdef __cplusplus +} +#endif + +#endif // _VARIANT_NRF52840DK_ diff --git a/variants/nRF52840DK/pins_arduino.h b/variants/nRF52840DK/pins_arduino.h new file mode 100644 index 00000000..3ef4d4a9 --- /dev/null +++ b/variants/nRF52840DK/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/nRF52840DK/variant.cpp b/variants/nRF52840DK/variant.cpp new file mode 100644 index 00000000..1fb6f48f --- /dev/null +++ b/variants/nRF52840DK/variant.cpp @@ -0,0 +1,87 @@ + + +#include "variant.h" + +#define NRF_GPIO_PIN_MAP(port, pin) ((port << 5) | (pin & 0x1F)) + +const uint32_t g_ADigitalPinMap[] = { + // D0 - D7 (P3) + NRF_GPIO_PIN_MAP(1,1), // D0 + NRF_GPIO_PIN_MAP(1,2), // D1 + NRF_GPIO_PIN_MAP(1,3), // D2 + NRF_GPIO_PIN_MAP(1,4), // D3 + NRF_GPIO_PIN_MAP(1,5), // D4 + NRF_GPIO_PIN_MAP(1,6), // D5 + NRF_GPIO_PIN_MAP(1,7), // D6 + NRF_GPIO_PIN_MAP(1,8), // D7 + + // D8 - D13 (P4) + NRF_GPIO_PIN_MAP(1,10), // D8 + NRF_GPIO_PIN_MAP(1,11), // D9 + NRF_GPIO_PIN_MAP(1,12), // D10 + NRF_GPIO_PIN_MAP(1,13), // D11 + NRF_GPIO_PIN_MAP(1,14), // D12 + NRF_GPIO_PIN_MAP(1,15), // D13 + + // SDA - SCL (P4) + NRF_GPIO_PIN_MAP(0,26), // SDA + NRF_GPIO_PIN_MAP(0,27), // SCL + + // AREF (P4) + NRF_GPIO_PIN_MAP(0,2), // AREF + + // A0 - A5 (P2) + NRF_GPIO_PIN_MAP(0,3), // A0 + NRF_GPIO_PIN_MAP(0,4), // A1 + NRF_GPIO_PIN_MAP(0,28), // A2 + NRF_GPIO_PIN_MAP(0,29), // A3 + NRF_GPIO_PIN_MAP(0,30), // A4 + NRF_GPIO_PIN_MAP(0,31), // A5 + + // NFC Ports (P6) + NRF_GPIO_PIN_MAP(0,9), // NFC1 + NRF_GPIO_PIN_MAP(0,10), // NFC2 + + // UART Ports (P6) + NRF_GPIO_PIN_MAP(0,8), // RXD + NRF_GPIO_PIN_MAP(0,7), // CTS + NRF_GPIO_PIN_MAP(0,6), // TXD + NRF_GPIO_PIN_MAP(0,5), // RTS + + // 37.768kHz crystal oscillator (NOT AVAILABLE ON CONNECTORS just FYI) (P6) + //NRF_GPIO_PIN_MAP(0,0), + //NRF_GPIO_PIN_MAP(0,1), + + // LEDS port (P24) + NRF_GPIO_PIN_MAP(0,13), // LED1 + NRF_GPIO_PIN_MAP(0,14), // LED2 + NRF_GPIO_PIN_MAP(0,15), // LED3 + NRF_GPIO_PIN_MAP(0,16), // LED4 + + // External memory (P24) + NRF_GPIO_PIN_MAP(0,17), // QSPI_CS + NRF_GPIO_PIN_MAP(0,19), // QSPI_CLK + NRF_GPIO_PIN_MAP(0,20), // QSPI_DIO0 + NRF_GPIO_PIN_MAP(0,21), // QSPI_DIO1 + NRF_GPIO_PIN_MAP(0,22), // QSPI_DIO2 + NRF_GPIO_PIN_MAP(0,23), // QSPI_DIO3 + + // Buttons (P24) + NRF_GPIO_PIN_MAP(0,11), // Button 1 | TRACE DATA 2 + NRF_GPIO_PIN_MAP(0,12), // Button 2 | TRACE DATA 1 + NRF_GPIO_PIN_MAP(0,24), // Button 3 + NRF_GPIO_PIN_MAP(0,25), // Button 4 + + // Misc Pins (P24) + NRF_GPIO_PIN_MAP(0,18), // RESET + NRF_GPIO_PIN_MAP(1,0), // TRACE DATA 0 + NRF_GPIO_PIN_MAP(1,9), // TRACE DATA 3 + + // Misc Pins (P5) + NRF_GPIO_PIN_MAP(1,14), // PIN 1 + NRF_GPIO_PIN_MAP(1,15), // PIN 3 + NRF_GPIO_PIN_MAP(1,13) // PIN 4 + + +// 49 usable pins +}; diff --git a/variants/nRF52840DK/variant.h b/variants/nRF52840DK/variant.h new file mode 100644 index 00000000..8aca7a88 --- /dev/null +++ b/variants/nRF52840DK/variant.h @@ -0,0 +1,180 @@ +/* + 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_NRF52840DK_ +#define _VARIANT_NRF52840DK_ + +/** 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 (49u) +#define NUM_DIGITAL_PINS (49u) +#define NUM_ANALOG_INPUTS (6u) +#define NUM_ANALOG_OUTPUTS (0u) + +// LEDs +#define PIN_LED_1 (29) +#define PIN_LED_2 (30) +#define PIN_LED_3 (31) +#define PIN_LED_4 (32) + +static const uint8_t LED_1 = PIN_LED_1; +static const uint8_t LED_2 = PIN_LED_2; +static const uint8_t LED_3 = PIN_LED_3; +static const uint8_t LED_4 = PIN_LED_4; +#define LED_BUILTIN PIN_LED_1 + + + // Analog pins +#define PIN_ANALOG_0 (17) +#define PIN_ANALOG_1 (18) +#define PIN_ANALOG_2 (19) +#define PIN_ANALOG_3 (20) +#define PIN_ANALOG_4 (21) +#define PIN_ANALOG_5 (22) + +static const uint8_t A0 = PIN_ANALOG_0 ; +static const uint8_t A1 = PIN_ANALOG_1 ; +static const uint8_t A2 = PIN_ANALOG_2 ; +static const uint8_t A3 = PIN_ANALOG_3 ; +static const uint8_t A4 = PIN_ANALOG_4 ; +static const uint8_t A5 = PIN_ANALOG_5 ; + +#ifdef NRF52 +#define ADC_RESOLUTION 14 +#else +#define ADC_RESOLUTION 10 +#endif + + +// Digital pins +#define PIN_DIGITAL_0 (0) +#define PIN_DIGITAL_1 (1) +#define PIN_DIGITAL_2 (2) +#define PIN_DIGITAL_3 (3) +#define PIN_DIGITAL_4 (4) +#define PIN_DIGITAL_5 (5) +#define PIN_DIGITAL_6 (6) +#define PIN_DIGITAL_7 (7) +#define PIN_DIGITAL_8 (8) +#define PIN_DIGITAL_9 (9) +#define PIN_DIGITAL_10 (10) +#define PIN_DIGITAL_11 (11) +#define PIN_DIGITAL_12 (12) +#define PIN_DIGITAL_13 (13) + +static const uint8_t D0 = PIN_DIGITAL_0 ; +static const uint8_t D1 = PIN_DIGITAL_1 ; +static const uint8_t D2 = PIN_DIGITAL_2 ; +static const uint8_t D3 = PIN_DIGITAL_3 ; +static const uint8_t D4 = PIN_DIGITAL_4 ; +static const uint8_t D5 = PIN_DIGITAL_5 ; +static const uint8_t D6 = PIN_DIGITAL_6 ; +static const uint8_t D7 = PIN_DIGITAL_7 ; +static const uint8_t D8 = PIN_DIGITAL_8 ; +static const uint8_t D9 = PIN_DIGITAL_9 ; +static const uint8_t D10 = PIN_DIGITAL_10 ; +static const uint8_t D11 = PIN_DIGITAL_11 ; +static const uint8_t D12 = PIN_DIGITAL_12 ; +static const uint8_t D13 = PIN_DIGITAL_13 ; + +// User buttons +#define PIN_BUTTON_1 (39) +#define PIN_BUTTON_2 (40) +#define PIN_BUTTON_3 (41) +#define PIN_BUTTON_4 (42) + +static const uint8_t BUTTON_1 = PIN_BUTTON_1 ; +static const uint8_t BUTTON_2 = PIN_BUTTON_2 ; +static const uint8_t BUTTON_3 = PIN_BUTTON_3 ; +static const uint8_t BUTTON_4 = PIN_BUTTON_4 ; + + +// Serial UART +#define PIN_SERIAL_RX (25) +#define PIN_SERIAL_TX (27) +#define PIN_SERIAL_CTS (26) +#define PIN_SERIAL_RTS (28) + + +// SPI interface +#define SPI_INTERFACES_COUNT 1 + +// Fist standard SPI (Arduino compatible) +#define PIN_SPI_MISO (12) // P1.14 +#define PIN_SPI_MOSI (11) // P1.13 +#define PIN_SPI_SCK (13) // P1.15 +#define PIN_SPI_CS (10) // P1.12 + +static const uint8_t SS = PIN_SPI_CS ; +static const uint8_t MOSI = PIN_SPI_MOSI ; +static const uint8_t MISO = PIN_SPI_MISO ; +static const uint8_t SCK = PIN_SPI_SCK ; + +// Second SPI interface for external memory (Quad SPI) +#define PIN_QSPI_SCK (34) // P0.19 +#define PIN_QSPI_CS (33) // P0.17 +#define PIN_QSPI_DIO0 (35) // P0.20 +#define PIN_QSPI_DIO1 (36) // P0.21 +#define PIN_QSPI_DIO2 (37) // P0.22 +#define PIN_QSPI_DIO3 (38) // P0.23 + +static const uint8_t QSS = PIN_QSPI_CS ; +static const uint8_t QSCK = PIN_QSPI_SCK ; +static const uint8_t QDI0 = PIN_QSPI_DIO0 ; +static const uint8_t QDI1 = PIN_QSPI_DIO1 ; +static const uint8_t QDI2 = PIN_QSPI_DIO2 ; +static const uint8_t QDI3 = PIN_QSPI_DIO3 ; + +// Wires interface +#define WIRE_INTERFACES_COUNT 1 + +#define PIN_WIRE_SDA (14) // P0.20 +#define PIN_WIRE_SCL (15) // P0.21 + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; + +// NFC intefaces +#define PIN_NFC_1 (23) +#define PIN_NFC_2 (24) + +static const uint8_t NFC1 = PIN_NFC_1; +static const uint8_t NFC2 = PIN_NFC_2; + + +#ifdef __cplusplus +} +#endif + +#endif // _VARIANT_NRF52840DK_ From 1c30f5e33f5ad9e11da06b43aac2010ed3c71710 Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Tue, 22 Mar 2022 17:11:19 +0100 Subject: [PATCH 08/23] Fix red led bot definition error --- variants/DWM3001CDK/variant.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/DWM3001CDK/variant.h b/variants/DWM3001CDK/variant.h index a910d56d..e14fc36f 100644 --- a/variants/DWM3001CDK/variant.h +++ b/variants/DWM3001CDK/variant.h @@ -48,7 +48,7 @@ extern "C" static const uint8_t GREEN_LED = PIN_LED_GREEN; static const uint8_t BLUE_LED = PIN_LED_BLUE; static const uint8_t RED_LED_BOT = PIN_LED_RED_TOP; -static const uint8_t RED_LED_TOP = PIN_LED_RED_TOP; +static const uint8_t RED_LED_TOP = PIN_LED_RED_BOT; #define LED_BUILTIN PIN_LED_GREEN From 3d57bc08d027a8ec845af15f63e58ad42dae0f62 Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Fri, 17 Jun 2022 15:14:03 +0200 Subject: [PATCH 09/23] Fix interuption error on nrf52833 / nrf52840DK --- cores/nRF5/Arduino.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cores/nRF5/Arduino.h b/cores/nRF5/Arduino.h index 154a2ea4..87bbcdac 100644 --- a/cores/nRF5/Arduino.h +++ b/cores/nRF5/Arduino.h @@ -109,9 +109,9 @@ void loop( void ) ; #error "Unsupported GPIO_COUNT" #endif -#define portOutputRegister(port) ( &(port->OUTSET) ) +#define portOutputRegister(port) ( &(port->OUT) ) #define portInputRegister(port) ( &(port->IN) ) -#define portModeRegister(port) ( &(port->DIRSET) ) +#define portModeRegister(port) ( &(port->DIR) ) #define digitalPinHasPWM(P) ( true ) /* From 69b957b49cdb442c329783be80100e186ef63cac Mon Sep 17 00:00:00 2001 From: quentin Date: Wed, 6 Dec 2023 13:56:12 +0100 Subject: [PATCH 10/23] Replaces sandeep with RMESS to try to adress upload issues. --- boards.txt | 118 +++++++++++----------- extras/ide-tools/nRF5FlashSoftDevice.java | 4 +- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/boards.txt b/boards.txt index 9f2a9d2f..aed067e7 100644 --- a/boards.txt +++ b/boards.txt @@ -26,11 +26,11 @@ menu.board_variant=Board Variant Generic_nRF52833.name=Generic nRF52833 -Generic_nRF52833.upload.tool=sandeepmistry:openocd +Generic_nRF52833.upload.tool=RMESS:openocd Generic_nRF52833.upload.target=nrf52 Generic_nRF52833.upload.maximum_size=524288 -Generic_nRF52833.bootloader.tool=sandeepmistry:openocd +Generic_nRF52833.bootloader.tool=RMESS:openocd Generic_nRF52833.build.mcu=cortex-m4 Generic_nRF52833.build.f_cpu=64000000 @@ -59,7 +59,7 @@ BBCmicrobitV2.name=BBC micro:bit V2 BBCmicrobitV2.vid.0=0x0d28 BBCmicrobitV2.pid.0=0x0204 -BBCmicrobitV2.upload.tool=sandeepmistry:openocd +BBCmicrobitV2.upload.tool=RMESS:openocd BBCmicrobitV2.upload.protocol=cmsis-dap BBCmicrobitV2.upload.target=nrf52 BBCmicrobitV2.upload.maximum_size=524288 @@ -68,7 +68,7 @@ BBCmicrobitV2.upload.use_1200bps_touch=false BBCmicrobitV2.upload.wait_for_upload_port=false BBCmicrobitV2.upload.native_usb=false -BBCmicrobitV2.bootloader.tool=sandeepmistry:openocd +BBCmicrobitV2.bootloader.tool=RMESS:openocd BBCmicrobitV2.build.mcu=cortex-m4 BBCmicrobitV2.build.f_cpu=64000000 @@ -92,11 +92,11 @@ BBCmicrobitV2.menu.softdevice.none.softdeviceversion= Generic_nRF52832.name=Generic nRF52 -Generic_nRF52832.upload.tool=sandeepmistry:openocd +Generic_nRF52832.upload.tool=RMESS:openocd Generic_nRF52832.upload.target=nrf52 Generic_nRF52832.upload.maximum_size=524288 -Generic_nRF52832.bootloader.tool=sandeepmistry:openocd +Generic_nRF52832.bootloader.tool=RMESS:openocd Generic_nRF52832.build.mcu=cortex-m4 Generic_nRF52832.build.f_cpu=16000000 @@ -130,11 +130,11 @@ Generic_nRF52832.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT bluey.name=Electronut labs bluey -bluey.upload.tool=sandeepmistry:openocd +bluey.upload.tool=RMESS:openocd bluey.upload.target=nrf52 bluey.upload.maximum_size=524288 -bluey.bootloader.tool=sandeepmistry:openocd +bluey.bootloader.tool=RMESS:openocd bluey.build.mcu=cortex-m4 bluey.build.f_cpu=16000000 @@ -168,11 +168,11 @@ bluey.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT hackaBLE.name=Electronut labs hackaBLE -hackaBLE.upload.tool=sandeepmistry:openocd +hackaBLE.upload.tool=RMESS:openocd hackaBLE.upload.target=nrf52 hackaBLE.upload.maximum_size=524288 -hackaBLE.bootloader.tool=sandeepmistry:openocd +hackaBLE.bootloader.tool=RMESS:openocd hackaBLE.build.mcu=cortex-m4 hackaBLE.build.f_cpu=16000000 @@ -205,11 +205,11 @@ hackaBLE.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT hackaBLE_v2.name=Electronut labs hackaBLE_v2 -hackaBLE_v2.upload.tool=sandeepmistry:openocd +hackaBLE_v2.upload.tool=RMESS:openocd hackaBLE_v2.upload.target=nrf52 hackaBLE_v2.upload.maximum_size=524288 -hackaBLE_v2.bootloader.tool=sandeepmistry:openocd +hackaBLE_v2.bootloader.tool=RMESS:openocd hackaBLE_v2.build.mcu=cortex-m4 hackaBLE_v2.build.f_cpu=16000000 @@ -244,7 +244,7 @@ Blend2.name=RedBear Blend 2 Blend2.vid.0=0x0204 Blend2.pid.0=0x0d28 -Blend2.upload.tool=sandeepmistry:openocd +Blend2.upload.tool=RMESS:openocd Blend2.upload.protocol=cmsis-dap Blend2.upload.target=nrf52 Blend2.upload.maximum_size=524288 @@ -253,7 +253,7 @@ Blend2.upload.use_1200bps_touch=false Blend2.upload.wait_for_upload_port=false Blend2.upload.native_usb=false -Blend2.bootloader.tool=sandeepmistry:openocd +Blend2.bootloader.tool=RMESS:openocd Blend2.build.mcu=cortex-m4 Blend2.build.f_cpu=16000000 @@ -284,7 +284,7 @@ BLENano2.name=RedBear BLE Nano 2 BLENano2.vid.0=0x0204 BLENano2.pid.0=0x0d28 -BLENano2.upload.tool=sandeepmistry:openocd +BLENano2.upload.tool=RMESS:openocd BLENano2.upload.protocol=cmsis-dap BLENano2.upload.target=nrf52 BLENano2.upload.maximum_size=524288 @@ -293,7 +293,7 @@ BLENano2.upload.use_1200bps_touch=false BLENano2.upload.wait_for_upload_port=false BLENano2.upload.native_usb=false -BLENano2.bootloader.tool=sandeepmistry:openocd +BLENano2.bootloader.tool=RMESS:openocd BLENano2.build.mcu=cortex-m4 BLENano2.build.f_cpu=16000000 @@ -324,7 +324,7 @@ nRF52DK.name=Nordic Semiconductor nRF52 DK nRF52DK.vid.0=0x1366 nRF52DK.pid.0=0x1015 -nRF52DK.upload.tool=sandeepmistry:openocd +nRF52DK.upload.tool=RMESS:openocd nRF52DK.upload.protocol=jlink nRF52DK.upload.target=nrf52 nRF52DK.upload.maximum_size=524288 @@ -333,7 +333,7 @@ nRF52DK.upload.use_1200bps_touch=false nRF52DK.upload.wait_for_upload_port=false nRF52DK.upload.native_usb=false -nRF52DK.bootloader.tool=sandeepmistry:openocd +nRF52DK.bootloader.tool=RMESS:openocd nRF52DK.build.mcu=cortex-m4 nRF52DK.build.f_cpu=16000000 @@ -361,11 +361,11 @@ 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.tool=RMESS:openocd STCT_nRF52_minidev.upload.target=nrf52 STCT_nRF52_minidev.upload.maximum_size=524288 -STCT_nRF52_minidev.bootloader.tool=sandeepmistry:openocd +STCT_nRF52_minidev.bootloader.tool=RMESS:openocd STCT_nRF52_minidev.build.mcu=cortex-m4 STCT_nRF52_minidev.build.f_cpu=16000000 @@ -396,11 +396,11 @@ STCT_nRF52_minidev.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa Generic_nRF51822.name=Generic nRF51 -Generic_nRF51822.upload.tool=sandeepmistry:openocd +Generic_nRF51822.upload.tool=RMESS:openocd Generic_nRF51822.upload.target=nrf51 Generic_nRF51822.upload.maximum_size=262144 -Generic_nRF51822.bootloader.tool=sandeepmistry:openocd +Generic_nRF51822.bootloader.tool=RMESS:openocd Generic_nRF51822.build.mcu=cortex-m0 Generic_nRF51822.build.f_cpu=16000000 @@ -447,7 +447,7 @@ BBCmicrobit.name=BBC micro:bit BBCmicrobit.vid.0=0x0d28 BBCmicrobit.pid.0=0x0204 -BBCmicrobit.upload.tool=sandeepmistry:openocd +BBCmicrobit.upload.tool=RMESS:openocd BBCmicrobit.upload.protocol=cmsis-dap BBCmicrobit.upload.target=nrf51 BBCmicrobit.upload.maximum_size=262144 @@ -456,7 +456,7 @@ BBCmicrobit.upload.use_1200bps_touch=false BBCmicrobit.upload.wait_for_upload_port=false BBCmicrobit.upload.native_usb=false -BBCmicrobit.bootloader.tool=sandeepmistry:openocd +BBCmicrobit.bootloader.tool=RMESS:openocd BBCmicrobit.build.mcu=cortex-m0 BBCmicrobit.build.f_cpu=16000000 @@ -493,7 +493,7 @@ CalliopeMini.name=Calliope mini CalliopeMini.vid.0=0x0d28 CalliopeMini.pid.0=0x0204 -CalliopeMini.upload.tool=sandeepmistry:openocd +CalliopeMini.upload.tool=RMESS:openocd CalliopeMini.upload.protocol=cmsis-dap CalliopeMini.upload.target=nrf51 CalliopeMini.upload.maximum_size=262144 @@ -502,7 +502,7 @@ CalliopeMini.upload.use_1200bps_touch=false CalliopeMini.upload.wait_for_upload_port=false CalliopeMini.upload.native_usb=false -CalliopeMini.bootloader.tool=sandeepmistry:openocd +CalliopeMini.bootloader.tool=RMESS:openocd CalliopeMini.build.mcu=cortex-m0 CalliopeMini.build.f_cpu=16000000 @@ -536,11 +536,11 @@ CalliopeMini.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld BluzDK.name=Bluz DK -BluzDK.upload.tool=sandeepmistry:openocd +BluzDK.upload.tool=RMESS:openocd BluzDK.upload.target=nrf51 BluzDK.upload.maximum_size=262144 -BluzDK.bootloader.tool=sandeepmistry:openocd +BluzDK.bootloader.tool=RMESS:openocd BluzDK.build.mcu=cortex-m0 BluzDK.build.f_cpu=16000000 @@ -575,11 +575,11 @@ 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.tool=RMESS:openocd PCA1000X.upload.target=nrf51 PCA1000X.upload.maximum_size=262144 -PCA1000X.bootloader.tool=sandeepmistry:openocd +PCA1000X.bootloader.tool=RMESS:openocd PCA1000X.build.mcu=cortex-m0 PCA1000X.build.f_cpu=16000000 @@ -593,7 +593,7 @@ PCA1000X.build.ldscript=nrf51_xxaa.ld PCA1000X.build.lfclk_flags=-DUSE_LFXO -PCA1000X.upload.tool=sandeepmistry:openocd +PCA1000X.upload.tool=RMESS:openocd PCA1000X.upload.protocol=jlink PCA1000X.upload.target=nrf51 PCA1000X.upload.maximum_size=262144 @@ -634,13 +634,13 @@ PCA1000X.menu.lfclk.lfsynt.build.lfclk_flags=-DUSE_LFSYNT nRF51Dongle.name= Nordic nRF51 Dongle (PCA10031) -nRF51Dongle.upload.tool=sandeepmistry:openocd +nRF51Dongle.upload.tool=RMESS: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.bootloader.tool=RMESS:openocd nRF51Dongle.build.mcu=cortex-m0 nRF51Dongle.build.f_cpu=16000000 @@ -677,11 +677,11 @@ nRF51Dongle.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build.chip Beacon_PCA20006.name=Nordic Beacon Kit (PCA20006) -Beacon_PCA20006.upload.tool=sandeepmistry:openocd +Beacon_PCA20006.upload.tool=RMESS:openocd Beacon_PCA20006.upload.target=nrf51 Beacon_PCA20006.upload.maximum_size=262144 -Beacon_PCA20006.bootloader.tool=sandeepmistry:openocd +Beacon_PCA20006.bootloader.tool=RMESS:openocd Beacon_PCA20006.build.mcu=cortex-m0 Beacon_PCA20006.build.f_cpu=16000000 @@ -715,14 +715,14 @@ Beacon_PCA20006.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld TinyBLE.name= TinyBLE -TinyBLE.upload.tool=sandeepmistry:openocd +TinyBLE.upload.tool=RMESS: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.bootloader.tool=RMESS:openocd TinyBLE.build.mcu=cortex-m0 TinyBLE.build.f_cpu=16000000 @@ -757,11 +757,11 @@ TinyBLE.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld OSHChip.name=OSHChip -OSHChip.upload.tool=sandeepmistry:openocd +OSHChip.upload.tool=RMESS:openocd OSHChip.upload.target=nrf51 OSHChip.upload.maximum_size=262144 -OSHChip.bootloader.tool=sandeepmistry:openocd +OSHChip.bootloader.tool=RMESS:openocd OSHChip.build.mcu=cortex-m0 OSHChip.build.f_cpu=16000000 @@ -796,13 +796,13 @@ OSHChip.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxac.ld BLENano.name=RedBearLab BLE Nano -BLENano.upload.tool=sandeepmistry:openocd +BLENano.upload.tool=RMESS: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.bootloader.tool=RMESS:openocd BLENano.build.mcu=cortex-m0 BLENano.build.f_cpu=16000000 @@ -842,13 +842,13 @@ 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.tool=RMESS: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.bootloader.tool=RMESS:openocd RedBearLab_nRF51822.build.mcu=cortex-m0 RedBearLab_nRF51822.build.f_cpu=16000000 @@ -888,11 +888,11 @@ RedBearLab_nRF51822.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{bu Waveshare_BLE400.name=Waveshare BLE400 -Waveshare_BLE400.upload.tool=sandeepmistry:openocd +Waveshare_BLE400.upload.tool=RMESS:openocd Waveshare_BLE400.upload.target=nrf51 Waveshare_BLE400.upload.maximum_size=262144 -Waveshare_BLE400.bootloader.tool=sandeepmistry:openocd +Waveshare_BLE400.bootloader.tool=RMESS:openocd Waveshare_BLE400.build.mcu=cortex-m0 Waveshare_BLE400.build.f_cpu=16000000 @@ -932,11 +932,11 @@ Waveshare_BLE400.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_{build ng_beacon.name=ng-beacon -ng_beacon.upload.tool=sandeepmistry:openocd +ng_beacon.upload.tool=RMESS:openocd ng_beacon.upload.target=nrf51 ng_beacon.upload.maximum_size=262144 -ng_beacon.bootloader.tool=sandeepmistry:openocd +ng_beacon.bootloader.tool=RMESS:openocd ng_beacon.build.mcu=cortex-m0 ng_beacon.build.f_cpu=16000000 @@ -974,7 +974,7 @@ Sinobit.name=Sino:bit Sinobit.vid.0=0x0d28 Sinobit.pid.0=0x0204 -Sinobit.upload.tool=sandeepmistry:openocd +Sinobit.upload.tool=RMESS:openocd Sinobit.upload.protocol=cmsis-dap Sinobit.upload.target=nrf51 Sinobit.upload.maximum_size=262144 @@ -983,7 +983,7 @@ Sinobit.upload.use_1200bps_touch=false Sinobit.upload.wait_for_upload_port=false Sinobit.upload.native_usb=false -Sinobit.bootloader.tool=sandeepmistry:openocd +Sinobit.bootloader.tool=RMESS:openocd Sinobit.build.mcu=cortex-m0 Sinobit.build.f_cpu=16000000 @@ -1019,7 +1019,7 @@ Sinobit.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld Yahu.name=Yahu -Yahu.upload.tool=sandeepmistry:openocd +Yahu.upload.tool=RMESS:openocd Yahu.upload.protocol=jlink Yahu.upload.target=nrf52 Yahu.upload.maximum_size=524288 @@ -1028,7 +1028,7 @@ Yahu.upload.use_1200bps_touch=false Yahu.upload.wait_for_upload_port=false Yahu.upload.native_usb=false -Yahu.bootloader.tool=sandeepmistry:openocd +Yahu.bootloader.tool=RMESS:openocd Yahu.build.mcu=cortex-m4 Yahu.build.f_cpu=16000000 @@ -1064,7 +1064,7 @@ Yahu.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld DWM1001-DEV.name=DecaWave DWM1001 Module Development Board -DWM1001-DEV.upload.tool=sandeepmistry:openocd +DWM1001-DEV.upload.tool=RMESS:openocd DWM1001-DEV.upload.protocol=jlink DWM1001-DEV.upload.target=nrf52 DWM1001-DEV.upload.maximum_size=524288 @@ -1073,7 +1073,7 @@ DWM1001-DEV.upload.use_1200bps_touch=false DWM1001-DEV.upload.wait_for_upload_port=false DWM1001-DEV.upload.native_usb=false -DWM1001-DEV.bootloader.tool=sandeepmistry:openocd +DWM1001-DEV.bootloader.tool=RMESS:openocd DWM1001-DEV.build.mcu=cortex-m4 DWM1001-DEV.build.f_cpu=16000000 @@ -1100,12 +1100,12 @@ DWM1001-DEV.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld SeeedArchLink.name=Seeed Arch Link -SeeedArchLink.upload.tool=sandeepmistry:openocd +SeeedArchLink.upload.tool=RMESS:openocd SeeedArchLink.upload.target=nrf51 SeeedArchLink.upload.protocol=cmsis-dap SeeedArchLink.upload.maximum_size=262144 -SeeedArchLink.bootloader.tool=sandeepmistry:openocd +SeeedArchLink.bootloader.tool=RMESS:openocd SeeedArchLink.build.mcu=cortex-m0 SeeedArchLink.build.f_cpu=16000000 @@ -1144,7 +1144,7 @@ nRF52840DK.name=nRF52840 DK nRF52840DK.vid.0=0x1366 nRF52840DK.pid.0=0x1015 -nRF52840DK.upload.tool=sandeepmistry:openocd +nRF52840DK.upload.tool=RMESS:openocd nRF52840DK.upload.protocol=jlink nRF52840DK.upload.interface=jlink nRF52840DK.upload.target=nrf52 @@ -1154,7 +1154,7 @@ nRF52840DK.upload.use_1200bps_touch=false nRF52840DK.upload.wait_for_upload_port=false nRF52840DK.upload.native_usb=false -nRF52840DK.bootloader.tool=sandeepmistry:openocd +nRF52840DK.bootloader.tool=RMESS:openocd nRF52840DK.build.mcu=cortex-m4 nRF52840DK.build.f_cpu=16000000 @@ -1202,7 +1202,7 @@ DWM3001-CDK.name=Qorvo DWM3001 CDK DWM3001-CDK.vid.0=0x1366 DWM3001-CDK.pid.0=0x1015 -DWM3001-CDK.upload.tool=sandeepmistry:openocd +DWM3001-CDK.upload.tool=RMESS:openocd DWM3001-CDK.upload.protocol=jlink DWM3001-CDK.upload.target=nrf52 DWM3001-CDK.upload.maximum_size=524288 @@ -1211,7 +1211,7 @@ DWM3001-CDK.upload.use_1200bps_touch=false DWM3001-CDK.upload.wait_for_upload_port=false DWM3001-CDK.upload.native_usb=false -DWM3001-CDK.bootloader.tool=sandeepmistry:openocd +DWM3001-CDK.bootloader.tool=RMESS:openocd DWM3001-CDK.build.mcu=cortex-m4 DWM3001-CDK.build.f_cpu=64000000 diff --git a/extras/ide-tools/nRF5FlashSoftDevice.java b/extras/ide-tools/nRF5FlashSoftDevice.java index c8377fd8..b574f719 100644 --- a/extras/ide-tools/nRF5FlashSoftDevice.java +++ b/extras/ide-tools/nRF5FlashSoftDevice.java @@ -1,4 +1,4 @@ -package com.github.sandeepmistry.arduino.nRF5; +package com.github.RMESS.arduino.nRF5; import cc.arduino.packages.Uploader; import cc.arduino.packages.uploaders.SerialUploader; @@ -82,7 +82,7 @@ public void run() { } String programmer = PreferencesData.get("programmer"); - if (programmer == null || !programmer.startsWith("sandeepmistry:")) { + if (programmer == null || !programmer.startsWith("RMESS:")) { editor.statusError("Unsupported programmer!"); return; } From a09055e8aab03255df6933f54fd3ad4cb53a888d Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Wed, 19 Jun 2024 00:01:50 +0200 Subject: [PATCH 11/23] Update interupt handler for multiple port GPIO --- cores/nRF5/WInterrupts.c | 4 ++-- cores/nRF5/WInterrupts.h | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cores/nRF5/WInterrupts.c b/cores/nRF5/WInterrupts.c index 3ea3f1a9..7344b7ca 100644 --- a/cores/nRF5/WInterrupts.c +++ b/cores/nRF5/WInterrupts.c @@ -87,8 +87,8 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode) channelMap[ch] = pin; callbacksInt[ch] = callback; - NRF_GPIOTE->CONFIG[ch] &= ~(GPIOTE_CONFIG_PSEL_Msk | GPIOTE_CONFIG_POLARITY_Msk); - NRF_GPIOTE->CONFIG[ch] |= ((pin << GPIOTE_CONFIG_PSEL_Pos) & GPIOTE_CONFIG_PSEL_Msk) | + NRF_GPIOTE->CONFIG[ch] &= ~(GPIOTE_CONFIG_PORT_PIN_Msk | GPIOTE_CONFIG_POLARITY_Msk); + NRF_GPIOTE->CONFIG[ch] |= ((pin << GPIOTE_CONFIG_PSEL_Pos) & GPIOTE_CONFIG_PORT_PIN_Msk) | ((polarity << GPIOTE_CONFIG_POLARITY_Pos) & GPIOTE_CONFIG_POLARITY_Msk); NRF_GPIOTE->CONFIG[ch] |= GPIOTE_CONFIG_MODE_Event; diff --git a/cores/nRF5/WInterrupts.h b/cores/nRF5/WInterrupts.h index 5d2b24a0..c39f8aa4 100644 --- a/cores/nRF5/WInterrupts.h +++ b/cores/nRF5/WInterrupts.h @@ -34,6 +34,14 @@ extern "C" { #define DEFAULT 1 #define EXTERNAL 0 +#if defined(GPIOTE_CONFIG_PORT_Msk) || defined(__NRFX_DOXYGEN__) +/** @brief Mask for covering port and pin bits in registers. */ +#define GPIOTE_CONFIG_PORT_PIN_Msk (GPIOTE_CONFIG_PORT_Msk | GPIOTE_CONFIG_PSEL_Msk) +#else +#define GPIOTE_CONFIG_PORT_PIN_Msk GPIOTE_CONFIG_PSEL_Msk +#endif + + typedef void (*voidFuncPtr)(void); /* From fe7e2b0ea17e632ae2ef57ca98fa6774f235a33d Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Wed, 19 Jun 2024 00:02:12 +0200 Subject: [PATCH 12/23] Add ldscripts for DW devices --- cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld | 0 cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld | 0 cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld mode change 100644 => 100755 cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld mode change 100644 => 100755 cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf52833_xxaa_dwt.ld old mode 100644 new mode 100755 diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf52840_xxaa_dwt.ld old mode 100644 new mode 100755 diff --git a/cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld b/cores/nRF5/SDK/components/toolchain/gcc/nrf_common_dwt.ld old mode 100644 new mode 100755 From 6206114fb5c98834b47740b97f3660e43f4dfc0a Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Wed, 19 Jun 2024 00:02:34 +0200 Subject: [PATCH 13/23] Fix boards registry --- boards.txt | 94 +++++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 51 deletions(-) diff --git a/boards.txt b/boards.txt index aed067e7..4a272563 100644 --- a/boards.txt +++ b/boards.txt @@ -1053,51 +1053,6 @@ Yahu.menu.softdevice.s132.upload.maximum_size=409600 Yahu.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 Yahu.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - - - - - - - - - -DWM1001-DEV.name=DecaWave DWM1001 Module Development Board - -DWM1001-DEV.upload.tool=RMESS:openocd -DWM1001-DEV.upload.protocol=jlink -DWM1001-DEV.upload.target=nrf52 -DWM1001-DEV.upload.maximum_size=524288 -DWM1001-DEV.upload.setup_command=transport select swd; -DWM1001-DEV.upload.use_1200bps_touch=false -DWM1001-DEV.upload.wait_for_upload_port=false -DWM1001-DEV.upload.native_usb=false - -DWM1001-DEV.bootloader.tool=RMESS:openocd - -DWM1001-DEV.build.mcu=cortex-m4 -DWM1001-DEV.build.f_cpu=16000000 -DWM1001-DEV.build.board=DWM1001_DEV -DWM1001-DEV.build.core=nRF5 -DWM1001-DEV.build.variant=DWM1001-DEV -DWM1001-DEV.build.variant_system_lib= -DWM1001-DEV.build.extra_flags=-DNRF52 -DWM1001-DEV.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 -DWM1001-DEV.build.ldscript=nrf52_xxaa.ld - -DWM1001-DEV.build.lfclk_flags=-DUSE_LFXO - -DWM1001-DEV.menu.softdevice.none=None -DWM1001-DEV.menu.softdevice.none.softdevice=none -DWM1001-DEV.menu.softdevice.none.softdeviceversion= - -DWM1001-DEV.menu.softdevice.s132=S132 -DWM1001-DEV.menu.softdevice.s132.softdevice=s132 -DWM1001-DEV.menu.softdevice.s132.softdeviceversion=2.0.1 -DWM1001-DEV.menu.softdevice.s132.upload.maximum_size=409600 -DWM1001-DEV.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 -DWM1001-DEV.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - SeeedArchLink.name=Seeed Arch Link SeeedArchLink.upload.tool=RMESS:openocd @@ -1137,14 +1092,14 @@ SeeedArchLink.menu.softdevice.s130.upload.maximum_size=151552 SeeedArchLink.menu.softdevice.s130.build.extra_flags=-DNRF51 -DS130 -DNRF51_S130 SeeedArchLink.menu.softdevice.s130.build.ldscript=armgcc_s130_nrf51822_xxaa.ld -#### NORDIC SEMICONDUCTOR nRF52840DK + nRF52840DK.name=nRF52840 DK nRF52840DK.vid.0=0x1366 nRF52840DK.pid.0=0x1015 -nRF52840DK.upload.tool=RMESS:openocd +nRF52840DK.upload.tool=sandeepmistry:openocd nRF52840DK.upload.protocol=jlink nRF52840DK.upload.interface=jlink nRF52840DK.upload.target=nrf52 @@ -1154,7 +1109,7 @@ nRF52840DK.upload.use_1200bps_touch=false nRF52840DK.upload.wait_for_upload_port=false nRF52840DK.upload.native_usb=false -nRF52840DK.bootloader.tool=RMESS:openocd +nRF52840DK.bootloader.tool=sandeepmistry:openocd nRF52840DK.build.mcu=cortex-m4 nRF52840DK.build.f_cpu=16000000 @@ -1173,7 +1128,7 @@ nRF52840DK.menu.softdevice.s132=S132 nRF52840DK.menu.softdevice.s132.softdevice=s132 nRF52840DK.menu.softdevice.s132.softdeviceversion=2.0.1 nRF52840DK.menu.softdevice.s132.upload.maximum_size=409600 -nRF52840DK.menu.softdevice.s132.build.extra_flags=-DS132 -DNRF51_S132 -DNRF52840 -DNRF52840_XXAA +nRF52840DK.menu.softdevice.s132.build.extra_flags=-DS132 -DNRF51_S132 -DNRF52840 -DNRF52840_XXAA -DARDUINO_GENERIC nRF52840DK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld nRF52840DK.menu.lfclk.lfxo=Crystal Oscillator @@ -1189,13 +1144,50 @@ nRF52840DK.menu.board_variant.standard.compiler.libraries.ldflags_end= nRF52840DK.menu.board_variant.standard.build.ldscript=nrf52840_xxaa.ld nRF52840DK.menu.board_variant.uwbdwt=Qorvo UWB support +nRF52840DK.menu.board_variant.uwbdwt.build.extra_flags=-DNRF52840 -DNRF52840_XXAA -DARDUINO_GENERIC -DDWT_UWB_ARDUINO nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_start=-Wl,--whole-archive nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_end=-Wl,--no-whole-archive nRF52840DK.menu.board_variant.uwbdwt.build.ldscript=nrf52840_xxaa_dwt.ld -### DWM3001CDK Qorvo +DWM1001-DEV.name=Qorvo DWM1001-DEV + +DWM1001-DEV.upload.tool=RMESS:openocd +DWM1001-DEV.upload.protocol=jlink +DWM1001-DEV.upload.target=nrf52 +DWM1001-DEV.upload.maximum_size=524288 +DWM1001-DEV.upload.setup_command=transport select swd; +DWM1001-DEV.upload.use_1200bps_touch=false +DWM1001-DEV.upload.wait_for_upload_port=false +DWM1001-DEV.upload.native_usb=false + +DWM1001-DEV.bootloader.tool=RMESS:openocd + +DWM1001-DEV.build.mcu=cortex-m4 +DWM1001-DEV.build.f_cpu=16000000 +DWM1001-DEV.build.board=DWM1001_DEV +DWM1001-DEV.build.core=nRF5 +DWM1001-DEV.build.variant=DWM1001-DEV +DWM1001-DEV.build.variant_system_lib= +DWM1001-DEV.build.extra_flags=-DNRF52 +DWM1001-DEV.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 +DWM1001-DEV.build.ldscript=nrf52_xxaa.ld + +DWM1001-DEV.build.lfclk_flags=-DUSE_LFXO + +DWM1001-DEV.menu.softdevice.none=None +DWM1001-DEV.menu.softdevice.none.softdevice=none +DWM1001-DEV.menu.softdevice.none.softdeviceversion= + +DWM1001-DEV.menu.softdevice.s132=S132 +DWM1001-DEV.menu.softdevice.s132.softdevice=s132 +DWM1001-DEV.menu.softdevice.s132.softdeviceversion=2.0.1 +DWM1001-DEV.menu.softdevice.s132.upload.maximum_size=409600 +DWM1001-DEV.menu.softdevice.s132.build.extra_flags=-DNRF52 -DS132 -DNRF51_S132 +DWM1001-DEV.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld + + DWM3001-CDK.name=Qorvo DWM3001 CDK @@ -1219,7 +1211,7 @@ DWM3001-CDK.build.board=DWM3001_CDK DWM3001-CDK.build.core=nRF5 DWM3001-CDK.build.variant=DWM3001CDK DWM3001-CDK.build.variant_system_lib= -DWM3001-CDK.build.extra_flags=-DNRF52833_XXAA -DARDUINO_GENERIC -DDWM3001_CDK +DWM3001-CDK.build.extra_flags=-DNRF52833_XXAA -DARDUINO_GENERIC -DDWM3001_CDK -DDWT_UWB_ARDUINO DWM3001-CDK.build.float_flags=-mfloat-abi=hard -mfpu=fpv4-sp-d16 DWM3001-CDK.compiler.libraries.ldflags_start=-Wl,--whole-archive From 7605db0611a50bb3cba3f109c94b2724bb167565 Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Wed, 19 Jun 2024 00:02:56 +0200 Subject: [PATCH 14/23] Small fix in Qorvo DW variants --- variants/DWM3001CDK/variant.h | 1 + variants/nRF52840DK/variant.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/variants/DWM3001CDK/variant.h b/variants/DWM3001CDK/variant.h index e14fc36f..a17dc6b7 100644 --- a/variants/DWM3001CDK/variant.h +++ b/variants/DWM3001CDK/variant.h @@ -49,6 +49,7 @@ static const uint8_t GREEN_LED = PIN_LED_GREEN; static const uint8_t BLUE_LED = PIN_LED_BLUE; static const uint8_t RED_LED_BOT = PIN_LED_RED_TOP; static const uint8_t RED_LED_TOP = PIN_LED_RED_BOT; +static const uint8_t RED_LED = PIN_LED_RED_BOT; #define LED_BUILTIN PIN_LED_GREEN diff --git a/variants/nRF52840DK/variant.cpp b/variants/nRF52840DK/variant.cpp index 1fb6f48f..8b22293b 100644 --- a/variants/nRF52840DK/variant.cpp +++ b/variants/nRF52840DK/variant.cpp @@ -78,8 +78,8 @@ const uint32_t g_ADigitalPinMap[] = { NRF_GPIO_PIN_MAP(1,9), // TRACE DATA 3 // Misc Pins (P5) - NRF_GPIO_PIN_MAP(1,14), // PIN 1 - NRF_GPIO_PIN_MAP(1,15), // PIN 3 + NRF_GPIO_PIN_MAP(1,14), // PIN 1 + NRF_GPIO_PIN_MAP(1,15), // PIN 3 NRF_GPIO_PIN_MAP(1,13) // PIN 4 From 3283fb64623e325fd7ecb29a90ae3d29abe1619b Mon Sep 17 00:00:00 2001 From: Julien SCHRIVE Date: Wed, 19 Jun 2024 09:19:20 +0000 Subject: [PATCH 15/23] Fix headers --- LICENSE | 1 + boards.txt | 6 +++--- platform.txt | 1 + variants/DWM3001CDK/variant.cpp | 20 +++++++++++++++++++- variants/DWM3001CDK/variant.h | 1 + variants/nRF52840DK/variant.cpp | 20 +++++++++++++++++++- variants/nRF52840DK/variant.h | 1 + 7 files changed, 45 insertions(+), 5 deletions(-) diff --git a/LICENSE b/LICENSE index 776cdc00..2366eebd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,6 @@ Copyright (c) 2015 Arduino LLC. All right reserved. Copyright (c) 2016 Sandeep Mistry All right reserved. +Copyright (c) 2023 IRIT RMESS 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 diff --git a/boards.txt b/boards.txt index 4a272563..8f1eba59 100644 --- a/boards.txt +++ b/boards.txt @@ -1,5 +1,6 @@ # Copyright (c) 2014-2015 Arduino LLC. All right reserved. # Copyright (c) 2016 Sandeep Mistry All right reserved. +# Copyright (c) 2023 IRIT RMESS 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 @@ -1143,7 +1144,7 @@ nRF52840DK.menu.board_variant.standard.compiler.libraries.ldflags_start= nRF52840DK.menu.board_variant.standard.compiler.libraries.ldflags_end= nRF52840DK.menu.board_variant.standard.build.ldscript=nrf52840_xxaa.ld -nRF52840DK.menu.board_variant.uwbdwt=Qorvo UWB support +nRF52840DK.menu.board_variant.uwbdwt=Qorvo UWB drivers support nRF52840DK.menu.board_variant.uwbdwt.build.extra_flags=-DNRF52840 -DNRF52840_XXAA -DARDUINO_GENERIC -DDWT_UWB_ARDUINO nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_start=-Wl,--whole-archive nRF52840DK.menu.board_variant.uwbdwt.compiler.libraries.ldflags_end=-Wl,--no-whole-archive @@ -1229,5 +1230,4 @@ DWM3001-CDK.menu.softdevice.s132.softdevice=s132 DWM3001-CDK.menu.softdevice.s132.softdeviceversion=2.0.1 DWM3001-CDK.menu.softdevice.s132.upload.maximum_size=409600 DWM3001-CDK.menu.softdevice.s132.build.extra_flags=-DNRF52833_XXAA -DS132 -DNRF51_S132 -DDWM3001_CDK -DWM3001-CDK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld - +DWM3001-CDK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld \ No newline at end of file diff --git a/platform.txt b/platform.txt index 0fb220ea..195290f0 100644 --- a/platform.txt +++ b/platform.txt @@ -1,5 +1,6 @@ # Copyright (c) 2014-2015 Arduino LLC. All right reserved. # Copyright (c) 2016 Sandeep Mistry All right reserved. +# Copyright (c) 2023 IRIT RMESS 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 diff --git a/variants/DWM3001CDK/variant.cpp b/variants/DWM3001CDK/variant.cpp index 5da32141..3e4a052e 100644 --- a/variants/DWM3001CDK/variant.cpp +++ b/variants/DWM3001CDK/variant.cpp @@ -1,4 +1,22 @@ - +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + Copyright (c) 2016 Sandeep Mistry All right reserved. + Copyright (c) 2023 IRIT RMESS 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" diff --git a/variants/DWM3001CDK/variant.h b/variants/DWM3001CDK/variant.h index a17dc6b7..7130643d 100644 --- a/variants/DWM3001CDK/variant.h +++ b/variants/DWM3001CDK/variant.h @@ -1,6 +1,7 @@ /* Copyright (c) 2014-2015 Arduino LLC. All right reserved. Copyright (c) 2016 Sandeep Mistry All right reserved. + Copyright (c) 2023 IRIT RMESS 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 diff --git a/variants/nRF52840DK/variant.cpp b/variants/nRF52840DK/variant.cpp index 8b22293b..417d0a37 100644 --- a/variants/nRF52840DK/variant.cpp +++ b/variants/nRF52840DK/variant.cpp @@ -1,4 +1,22 @@ - +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + Copyright (c) 2016 Sandeep Mistry All right reserved. + Copyright (c) 2023 IRIT RMESS 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" diff --git a/variants/nRF52840DK/variant.h b/variants/nRF52840DK/variant.h index 8aca7a88..31622cb2 100644 --- a/variants/nRF52840DK/variant.h +++ b/variants/nRF52840DK/variant.h @@ -1,6 +1,7 @@ /* Copyright (c) 2014-2015 Arduino LLC. All right reserved. Copyright (c) 2016 Sandeep Mistry All right reserved. + Copyright (c) 2023 IRIT RMESS 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 From 54f60640f6c0660cf066e3dbe1d1864ecf6816fd Mon Sep 17 00:00:00 2001 From: cassandre Date: Wed, 4 Sep 2024 16:11:53 +0200 Subject: [PATCH 16/23] Fixes references to sandeep. --- .github/FUNDING.yml | 3 - boards.txt | 10 +- docs/package_nRF5_boards_index.json | 483 ---------------------------- 3 files changed, 5 insertions(+), 491 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 docs/package_nRF5_boards_index.json diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 66126073..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: [sandeepmistry] diff --git a/boards.txt b/boards.txt index bde84138..96a0de76 100644 --- a/boards.txt +++ b/boards.txt @@ -540,7 +540,7 @@ CalliopeminiV3.name=Calliope mini V3 CalliopeminiV3.vid.0=0x0d28 CalliopeminiV3.pid.0=0x0204 -CalliopeminiV3.upload.tool=sandeepmistry:openocd +CalliopeminiV3.upload.tool=RMESS:openocd CalliopeminiV3.upload.protocol=cmsis-dap CalliopeminiV3.upload.target=nrf52 CalliopeminiV3.upload.maximum_size=524288 @@ -549,7 +549,7 @@ CalliopeminiV3.upload.use_1200bps_touch=false CalliopeminiV3.upload.wait_for_upload_port=false CalliopeminiV3.upload.native_usb=false -CalliopeminiV3.bootloader.tool=sandeepmistry:openocd +CalliopeminiV3.bootloader.tool=RMESS:openocd CalliopeminiV3.build.mcu=cortex-m4 CalliopeminiV3.build.f_cpu=64000000 @@ -1132,7 +1132,7 @@ nRF52840DK.name=nRF52840 DK nRF52840DK.vid.0=0x1366 nRF52840DK.pid.0=0x1015 -nRF52840DK.upload.tool=sandeepmistry:openocd +nRF52840DK.upload.tool=RMESS:openocd nRF52840DK.upload.protocol=jlink nRF52840DK.upload.interface=jlink nRF52840DK.upload.target=nrf52 @@ -1142,7 +1142,7 @@ nRF52840DK.upload.use_1200bps_touch=false nRF52840DK.upload.wait_for_upload_port=false nRF52840DK.upload.native_usb=false -nRF52840DK.bootloader.tool=sandeepmistry:openocd +nRF52840DK.bootloader.tool=RMESS:openocd nRF52840DK.build.mcu=cortex-m4 nRF52840DK.build.f_cpu=16000000 @@ -1262,4 +1262,4 @@ DWM3001-CDK.menu.softdevice.s132.softdevice=s132 DWM3001-CDK.menu.softdevice.s132.softdeviceversion=2.0.1 DWM3001-CDK.menu.softdevice.s132.upload.maximum_size=409600 DWM3001-CDK.menu.softdevice.s132.build.extra_flags=-DNRF52833_XXAA -DS132 -DNRF51_S132 -DDWM3001_CDK -DWM3001-CDK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld \ No newline at end of file +DWM3001-CDK.menu.softdevice.s132.build.ldscript=armgcc_s132_nrf52832_xxaa.ld diff --git a/docs/package_nRF5_boards_index.json b/docs/package_nRF5_boards_index.json deleted file mode 100644 index dc400b62..00000000 --- a/docs/package_nRF5_boards_index.json +++ /dev/null @@ -1,483 +0,0 @@ -{ - "packages": [ - { - "name": "sandeepmistry", - "maintainer": "Sandeep Mistry", - "websiteURL": "https://github.com/sandeepmistry/arduino-nRF5", - "email": "sandeep.mistry@gmail.com", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "platforms": [ - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.1.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/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", - "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"} - ], - "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.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": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.6.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.6.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.6.0.tar.gz", - "checksum": "MD5:edee8046e7f58bb06c466bb1c67ac02f", - "size": "577994", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "Bluz DK"}, - {"name": "Calliope mini"}, - {"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": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.7.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.7.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.7.0.tar.gz", - "checksum": "MD5:7316605161783e2b944e08fc44c7b6f8", - "size": "1487463", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "BBC micro:bit v2"}, - {"name": "Bluz DK"}, - {"name": "Calliope mini"}, - {"name": "decaWave DWM1001 Module Development Board"}, - {"name": "Electronut labs bluey"}, - {"name": "Electronut labs hackaBLE"}, - {"name": "Electronut labs hackaBLE v2"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "Generic nRF52833"}, - {"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": "Seeed Arch Link"}, - {"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": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - }, - { - "name": "Nordic Semiconductor nRF5 Boards", - "architecture": "nRF5", - "version": "0.8.0", - "category": "Contributed", - "help": { - "online": "https://github.com/sandeepmistry/arduino-nRF5/issues" - }, - "url": "https://github.com/sandeepmistry/arduino-nRF5/archive/0.8.0.tar.gz", - "archiveFileName": "arduino-nRF52-0.8.0.tar.gz", - "checksum": "MD5:84da4097f5518bcaa0752ff31927504f", - "size": "1488561", - "boards": [ - {"name": "BBC micro:bit"}, - {"name": "BBC micro:bit v2"}, - {"name": "Bluz DK"}, - {"name": "Calliope mini"}, - {"name": "Calliope mini V3"}, - {"name": "decaWave DWM1001 Module Development Board"}, - {"name": "Electronut labs bluey"}, - {"name": "Electronut labs hackaBLE"}, - {"name": "Electronut labs hackaBLE v2"}, - {"name": "Generic nRF51822"}, - {"name": "Generic nRF52823"}, - {"name": "Generic nRF52833"}, - {"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": "Seeed Arch Link"}, - {"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": "sandeepmistry", - "name": "openocd", - "version": "0.10.0-dev.nrf5" - } - ] - } - ], - "tools":[ - { - "name": "gcc-arm-none-eabi", - "version": "5_2-2015q4", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2", - "size": "96372129", - "checksum": "MD5:603bcce8e59683ac27054b3197a53254" - }, - { - "host": "i686-linux-gnu", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", - "size": "92811866", - "checksum": "MD5:f88caac80b4444a17344f57ccb760b90" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", - "size": "92811866", - "checksum": "MD5:f88caac80b4444a17344f57ccb760b90" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2", - "size": "102981732", - "checksum": "MD5:32d950225b6c7c886f6225c1fc578934" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-dev.nrf5", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-osx-0.10.0-dev-nrf5.tar.gz", - "archiveFileName": "openocd-osx-0.10.0-dev-nrf5.tar.gz", - "size": "1345243", - "checksum": "MD5:3ffaa4e7cd4b96770eec65002c5959e3" - }, - { - "host": "i686-linux-gnu", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz", - "archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz", - "size": "3585042", - "checksum": "MD5:02b3f4a3004cae86631bf13837c84504" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz", - "archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz", - "size": "3585042", - "checksum": "MD5:02b3f4a3004cae86631bf13837c84504" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-win32-0.10.0-dev-nrf5.tar.gz", - "archiveFileName": "openocd-win32-0.10.0-dev-nrf5.tar.gz", - "size": "5498373", - "checksum": "MD5:3acd3b08afda2bb09e75a0de5ac7c3cd" - } - ] - } - ] - } - ] -} From 4ff151dd116e5b935fc6ddd649bc8f3a0e629a08 Mon Sep 17 00:00:00 2001 From: cassandre Date: Wed, 4 Sep 2024 16:43:19 +0200 Subject: [PATCH 17/23] Attempts to use the compile workflow. --- .github/workflows/compile.yml | 10 +- docs/package_RMESS_nRF5boards_index.json | 238 +++++++++++++++++++++++ 2 files changed, 244 insertions(+), 4 deletions(-) create mode 100644 docs/package_RMESS_nRF5boards_index.json diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 9efea657..2280345d 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -22,6 +22,7 @@ jobs: - Generic_nRF51822:chip=xxac - Generic_nRF52832 - Generic_nRF52833 + - nRF52840DK - OSHChip - STCT_nRF52_minidev - PCA1000X:board_variant=pca10000 @@ -37,6 +38,7 @@ jobs: - hackaBLE_v2 - Sinobit - DWM1001-DEV + - DWM3001CDK - SeeedArchLink - Beacon_PCA20006 - Waveshare_BLE400 @@ -67,11 +69,11 @@ jobs: enable-deltas-report: true platforms: | # First we have to install this core so that the tooling is installed - - name: "sandeepmistry:nRF5" - source-url: "https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json" + - name: "RMESS:nRF5" + source-url: "https://locura4iot.irit.fr/decaduino_files/package_RMESS_nRF5boards_index.json" version: latest # Now, this will overwrite the core source to use the local version - - name: "sandeepmistry:nRF5" + - name: "RMESS:nRF5" source-path: . - fqbn: "sandeepmistry:nRF5:${{ matrix.variant }}" + fqbn: "RMESS:nRF5:${{ matrix.variant }}" sketch-paths: blinky diff --git a/docs/package_RMESS_nRF5boards_index.json b/docs/package_RMESS_nRF5boards_index.json new file mode 100644 index 00000000..c8965fda --- /dev/null +++ b/docs/package_RMESS_nRF5boards_index.json @@ -0,0 +1,238 @@ +{ + "packages": [ + { + "name": "RMESS", + "maintainer": "Cassandre Vey", + "websiteURL": "https://github.com/irit-rmess/arduino-nRF5", + "email": "cassandre.vey@irit.fr", + "platforms": [ + { + "name": "Nordic Semiconductor nRF5 Boards", + "architecture": "nRF5", + "version": "0.7.0-RMESS", + "category": "Contributed", + "url": "https://github.com/irit-rmess/arduino-nRF5/archive/refs/tags/0.7.0-RMESS.tar.gz", + "archiveFileName": "arduino-nRF52-0.7.0-RMESS.tar.gz", + "checksum": "MD5:6f7da7d2490d77cb631fa151ca4a8250", + "size": "1492072", + "boards": [ + {"name": "BBC micro:bit"}, + {"name": "BBC micro:bit v2"}, + {"name": "Bluz DK"}, + {"name": "Calliope mini"}, + {"name": "decaWave DWM1001 Module Development Board"}, + {"name": "Electronut labs bluey"}, + {"name": "Electronut labs hackaBLE"}, + {"name": "Electronut labs hackaBLE v2"}, + {"name": "Generic nRF51822"}, + {"name": "Generic nRF52823"}, + {"name": "Generic nRF52833"}, + {"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": "Seeed Arch Link"}, + {"name": "Sino:bit"}, + {"name": "Taida Century nRF52 mini board"}, + {"name": "TinyBLE"}, + {"name": "Waveshare BLE400"}, + {"name": "Yahu"} + ], + "toolsDependencies": [ + { + "packager": "RMESS", + "name": "gcc-arm-none-eabi", + "version": "5_2-2015q4" + }, + { + "packager": "RMESS", + "name": "openocd", + "version": "0.10.0-dev.nrf5" + } + ] + }, + { + "name": "Nordic Semiconductor nRF5 Boards", + "architecture": "nRF5", + "version": "0.7.1-RMESS", + "category": "Contributed", + "url": "https://github.com/irit-rmess/arduino-nRF5/archive/refs/tags/0.7.1-RMESS.tar.gz", + "archiveFileName": "arduino-nRF52-0.7.1-RMESS.tar.gz", + "checksum": "MD5:50921d7bf46d630f28ca5a2b17b62782", + "size": "1492129", + "boards": [ + {"name": "BBC micro:bit"}, + {"name": "BBC micro:bit v2"}, + {"name": "Bluz DK"}, + {"name": "Calliope mini"}, + {"name": "decaWave DWM1001 Module Development Board"}, + {"name": "Electronut labs bluey"}, + {"name": "Electronut labs hackaBLE"}, + {"name": "Electronut labs hackaBLE v2"}, + {"name": "Generic nRF51822"}, + {"name": "Generic nRF52823"}, + {"name": "Generic nRF52833"}, + {"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": "Seeed Arch Link"}, + {"name": "Sino:bit"}, + {"name": "Taida Century nRF52 mini board"}, + {"name": "TinyBLE"}, + {"name": "Waveshare BLE400"}, + {"name": "Yahu"} + ], + "toolsDependencies": [ + { + "packager": "RMESS", + "name": "gcc-arm-none-eabi", + "version": "5_2-2015q4" + }, + { + "packager": "RMESS", + "name": "openocd", + "version": "0.10.0-dev.nrf5" + } + ] + }, + { + "name": "Nordic Semiconductor nRF5 Boards", + "architecture": "nRF5", + "version": "0.8.0-RMESS", + "category": "Contributed", + "url": "https://github.com/irit-rmess/arduino-nRF5/archive/refs/tags/0.8.0-RMESS.tar.gz", + "archiveFileName": "arduino-nRF52-0.8.0-RMESS.tar.gz", + "checksum": "MD5:edfc2d60c5680c350ab96a4a7b497296", + "size": "1491189", + "boards": [ + {"name": "BBC micro:bit"}, + {"name": "BBC micro:bit v2"}, + {"name": "Bluz DK"}, + {"name": "Calliope mini"}, + {"name": "Calliope mini V3"}, + {"name": "Electronut labs bluey"}, + {"name": "Electronut labs hackaBLE"}, + {"name": "Electronut labs hackaBLE v2"}, + {"name": "Generic nRF51822"}, + {"name": "Generic nRF52823"}, + {"name": "Generic nRF52833"}, + {"name": "Generic nRF52840DK"}, + {"name": "OSHChip"}, + {"name": "ng-beacon"}, + {"name": "Qorvo DWM1001-DEV"}, + {"name": "Qorvo DWM3001 CDK"}, + {"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": "Seeed Arch Link"}, + {"name": "Sino:bit"}, + {"name": "Taida Century nRF52 mini board"}, + {"name": "TinyBLE"}, + {"name": "Waveshare BLE400"}, + {"name": "Yahu"} + ], + "toolsDependencies": [ + { + "packager": "RMESS", + "name": "gcc-arm-none-eabi", + "version": "5_2-2015q4" + }, + { + "packager": "RMESS", + "name": "openocd", + "version": "0.10.0-dev.nrf5" + } + ] + } + ], + "tools":[ + { + "name": "gcc-arm-none-eabi", + "version": "5_2-2015q4", + "systems": [ + { + "host": "i386-apple-darwin11", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2", + "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2", + "size": "96372129", + "checksum": "MD5:603bcce8e59683ac27054b3197a53254" + }, + { + "host": "i686-linux-gnu", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", + "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", + "size": "92811866", + "checksum": "MD5:f88caac80b4444a17344f57ccb760b90" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", + "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2", + "size": "92811866", + "checksum": "MD5:f88caac80b4444a17344f57ccb760b90" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2", + "archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2", + "size": "102981732", + "checksum": "MD5:32d950225b6c7c886f6225c1fc578934" + } + ] + }, + { + "name": "openocd", + "version": "0.10.0-dev.nrf5", + "systems": [ + { + "host": "i386-apple-darwin11", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-osx-0.10.0-dev-nrf5.tar.gz", + "archiveFileName": "openocd-osx-0.10.0-dev-nrf5.tar.gz", + "size": "1345243", + "checksum": "MD5:3ffaa4e7cd4b96770eec65002c5959e3" + }, + { + "host": "i686-linux-gnu", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz", + "archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz", + "size": "3585042", + "checksum": "MD5:02b3f4a3004cae86631bf13837c84504" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz", + "archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz", + "size": "3585042", + "checksum": "MD5:02b3f4a3004cae86631bf13837c84504" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-win32-0.10.0-dev-nrf5.tar.gz", + "archiveFileName": "openocd-win32-0.10.0-dev-nrf5.tar.gz", + "size": "5498373", + "checksum": "MD5:3acd3b08afda2bb09e75a0de5ac7c3cd" + } + ] + } + ] + } + ] +} From 642a1a8ccc0fb2a5333f55df1892115c59038f1a Mon Sep 17 00:00:00 2001 From: cassandre Date: Thu, 5 Sep 2024 15:27:23 +0200 Subject: [PATCH 18/23] Updates address. --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 2280345d..79161563 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -70,7 +70,7 @@ jobs: platforms: | # First we have to install this core so that the tooling is installed - name: "RMESS:nRF5" - source-url: "https://locura4iot.irit.fr/decaduino_files/package_RMESS_nRF5boards_index.json" + source-url: "https://irit-rmess.github.io/arduino-nRF5/package_RMESS_nRF5boards_index.json" version: latest # Now, this will overwrite the core source to use the local version - name: "RMESS:nRF5" From 082068d13cb424cbb0671ba9c17cbe6150632a0f Mon Sep 17 00:00:00 2001 From: cassandre Date: Thu, 5 Sep 2024 15:28:42 +0200 Subject: [PATCH 19/23] ranslate the page --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index f1afed9a..f6950616 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -My Page +Teneur de place From 0567b1e47bbfd123cab67e91862424423a2a321d Mon Sep 17 00:00:00 2001 From: cassandre Date: Thu, 5 Sep 2024 15:47:34 +0200 Subject: [PATCH 20/23] fixes compile action --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 79161563..c1a19b1c 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -38,7 +38,7 @@ jobs: - hackaBLE_v2 - Sinobit - DWM1001-DEV - - DWM3001CDK + - DWM3001-CDK - SeeedArchLink - Beacon_PCA20006 - Waveshare_BLE400 From 16161a7e3d27013b557537cff476faf7d5045d41 Mon Sep 17 00:00:00 2001 From: cassandre Date: Thu, 19 Sep 2024 17:07:52 +0200 Subject: [PATCH 21/23] Adds jlink file + clears readme. --- README.md | 73 --------- docs/99-jlink.rules | 367 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 367 insertions(+), 73 deletions(-) create mode 100644 docs/99-jlink.rules diff --git a/README.md b/README.md index 0595d25f..d1adf600 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,9 @@ # Arduino Core for Nordic Semiconductor nRF5 based boards -[![Build Status](https://github.com/sandeepmistry/arduino-nRF5/actions/workflows/compile.yml/badge.svg)](https://github.com/sandeepmistry/arduino-nRF5/actions/workflows/compile.yml) [![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 diff --git a/docs/99-jlink.rules b/docs/99-jlink.rules new file mode 100644 index 00000000..b9507495 --- /dev/null +++ b/docs/99-jlink.rules @@ -0,0 +1,367 @@ +# +# This file is going to be stored at /etc/udev/rules.d on installation of the J-Link package +# It makes sure that non-superuser have access to the connected J-Links, so JLinkExe etc. can be executed as non-superuser and can work with J-Link +# +# +# Matches are AND combined, meaning: a==b,c==d,do stuff +# results in: if (a == b) && (c == d) -> do stuff +# +ACTION!="add", SUBSYSTEM!="usb_device", GOTO="jlink_rules_end" +# +# Give all users read and write access. +# Note: NOT all combinations are supported by J-Link right now. Some are reserved for future use, but already added here +# +# ATTR{filename} +# Match sysfs attribute values of the event device. Trailing +# whitespace in the attribute values is ignored unless the specified +# match value itself contains trailing whitespace. +# +# ATTRS{filename} +# Search the devpath upwards for a device with matching sysfs +# attribute values. If multiple ATTRS matches are specified, all of +# them must match on the same device. Trailing whitespace in the +# attribute values is ignored unless the specified match value itself +# contains trailing whitespace. +# +# How to find out about udev attributes of device: +# Connect J-Link to PC +# Terminal: cat /var/log/syslog +# Find path to where J-Link device has been "mounted" +# sudo udevadm info --query=all --attribute-walk --path= +# sudo udevadm info --attribute-walk /dev/bus/usb// (extract and from "lsusb") +# Reload udev rules after rules file change: +# sudo udevadm control --reload-rules +# sudo udevadm trigger +# +# [old format] +# 0x0101 - J-Link (default) | Flasher STM8 | Flasher ARM | Flasher 5 PRO +# 0x0102 - J-Link USBAddr = 1 (obsolete) +# 0x0103 - J-Link USBAddr = 2 (obsolete) +# 0x0104 - J-Link USBAddr = 3 (obsolete) +# 0x0105 - CDC + J-Link +# 0x0106 - CDC +# 0x0107 - RNDIS + J-Link +# 0x0108 - J-Link + MSD +# +ATTR{idProduct}=="0101", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0102", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0103", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0104", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0105", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0107", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="0108", ATTR{idVendor}=="1366", MODE="666" +# +# Make sure that J-Links are not captured by modem manager service +# as this service would try detect J-Link as a modem and send AT commands via the VCOM component which might not be liked by the target... +# +ATTR{idProduct}=="0101", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0102", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0103", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0104", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0105", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0107", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0108", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +# +# J-Link Product-Id assignment: +# 0x1000 + +# Bit 0: MSD +# Bit 1: RNDIS +# Bit 2: CDC +# Bit 3: HID +# Bit 4: J-Link (BULK via SEGGER host driver) +# Bit 5: J-Link (BULK via WinUSB driver. Needs to be enabled in J-Link config area) +# +# [new format] +# 0x1001: MSD +# 0x1002: RNDIS +# 0x1003: RNDIS + MSD +# 0x1004: CDC +# 0x1005: CDC + MSD +# 0x1006: RNDIS + CDC +# 0x1007: RNDIS + CDC + MSD +# 0x1008: HID +# 0x1009: MSD + HID +# 0x100a: RNDIS + HID +# 0x100b: RNDIS + MSD + HID +# 0x100c: CDC + HID +# 0x100d: CDC + MSD + HID +# 0x100e: RNDIS + CDC + HID +# 0x100f: RNDIS + CDC + MSD + HID +# 0x1010: J_LINK_SEGGER_DRV +# 0x1011: J_LINK_SEGGER_DRV + MSD +# 0x1012: J_LINK_SEGGER_DRV + RNDIS +# 0x1013: J_LINK_SEGGER_DRV + RNDIS + MSD +# 0x1014: J_LINK_SEGGER_DRV + CDC +# 0x1015: J_LINK_SEGGER_DRV + CDC + MSD +# 0x1016: J_LINK_SEGGER_DRV + CDC + RNDIS +# 0x1017: J_LINK_SEGGER_DRV + CDC + RNDIS + MSD +# 0x1018: J_LINK_SEGGER_DRV + HID +# 0x1019: J_LINK_SEGGER_DRV + HID + MSD +# 0x101a: J_LINK_SEGGER_DRV + HID + RNDIS +# 0x101b: J_LINK_SEGGER_DRV + HID + RNDIS + MSD +# 0x101c: J_LINK_SEGGER_DRV + HID + CDC +# 0x101d: J_LINK_SEGGER_DRV + HID + CDC + MSD +# 0x101e: J_LINK_SEGGER_DRV + HID + CDC + RNDIS +# 0x101f: J_LINK_SEGGER_DRV + HID + CDC + RNDIS + MSD +# 0x1020: J_LINK_WINUSB_DRV +# 0x1021: J_LINK_WINUSB_DRV + MSD +# 0x1022: J_LINK_WINUSB_DRV + RNDIS +# 0x1023: J_LINK_WINUSB_DRV + RNDIS + MSD +# 0x1024: J_LINK_WINUSB_DRV + CDC +# 0x1025: J_LINK_WINUSB_DRV + CDC + MSD +# 0x1026: J_LINK_WINUSB_DRV + CDC + RNDIS +# 0x1027: J_LINK_WINUSB_DRV + CDC + RNDIS + MSD +# 0x1028: J_LINK_WINUSB_DRV + HID +# 0x1029: J_LINK_WINUSB_DRV + HID + MSD +# 0x102a: J_LINK_WINUSB_DRV + HID + RNDIS +# 0x102b: J_LINK_WINUSB_DRV + HID + RNDIS + MSD +# 0x102c: J_LINK_WINUSB_DRV + HID + CDC +# 0x102d: J_LINK_WINUSB_DRV + HID + CDC + MSD +# 0x102e: J_LINK_WINUSB_DRV + HID + CDC + RNDIS +# 0x102f: J_LINK_WINUSB_DRV + HID + CDC + RNDIS + MSD +# 0x103x: J_LINK_SEGGER_DRV + J_LINK_WINUSB_DRV does not make any sense, therefore skipped +# 0x1050: J_LINK_SEGGER_DRV + 2x CDC +# 0x1051: J_LINK_SEGGER_DRV + 2x CDC + MSD +# 0x1052: J_LINK_SEGGER_DRV + 2x CDC + RNDIS +# 0x1053: J_LINK_SEGGER_DRV + 2x CDC + RNDIS + MSD +# 0x1054: J_LINK_SEGGER_DRV + 3x CDC +# 0x1055: J_LINK_SEGGER_DRV + 3x CDC + MSD +# 0x1056: J_LINK_SEGGER_DRV + 3x CDC + RNDIS +# 0x1057: J_LINK_SEGGER_DRV + 3x CDC + RNDIS + MSD +# 0x1058: J_LINK_SEGGER_DRV + HID + 2x CDC +# 0x1059: J_LINK_SEGGER_DRV + HID + 2x CDC + MSD +# 0x105a: J_LINK_SEGGER_DRV + HID + 2x CDC + RNDIS +# 0x105b: J_LINK_SEGGER_DRV + HID + 2x CDC + RNDIS + MSD +# 0x105c: J_LINK_SEGGER_DRV + HID + 3x CDC +# 0x105d: J_LINK_SEGGER_DRV + HID + 3x CDC + MSD +# 0x105e: J_LINK_SEGGER_DRV + HID + 3x CDC + RNDIS +# 0x105f: J_LINK_SEGGER_DRV + HID + 3x CDC + RNDIS + MSD +# 0x1060: J_LINK_WINUSB_DRV + 2x CDC +# 0x1061: J_LINK_WINUSB_DRV + 2x CDC + MSD +# 0x1062: J_LINK_WINUSB_DRV + 2x CDC + RNDIS +# 0x1063: J_LINK_WINUSB_DRV + 2x CDC + RNDIS + MSD +# 0x1064: J_LINK_WINUSB_DRV + 3x CDC +# 0x1065: J_LINK_WINUSB_DRV + 3x CDC + MSD +# 0x1066: J_LINK_WINUSB_DRV + 3x CDC + RNDIS +# 0x1067: J_LINK_WINUSB_DRV + 3x CDC + RNDIS + MSD +# 0x1068: J_LINK_WINUSB_DRV + HID + 2x CDC +# 0x1069: J_LINK_WINUSB_DRV + HID + 2x CDC + MSD +# 0x106a: J_LINK_WINUSB_DRV + HID + 2x CDC + RNDIS +# 0x106b: J_LINK_WINUSB_DRV + HID + 2x CDC + RNDIS + MSD +# 0x106c: J_LINK_WINUSB_DRV + HID + 3x CDC +# 0x106d: J_LINK_WINUSB_DRV + HID + 3x CDC + MSD +# 0x106e: J_LINK_WINUSB_DRV + HID + 3x CDC + RNDIS +# 0x106f: J_LINK_WINUSB_DRV + HID + 3x CDC + RNDIS + MSD +# +ATTR{idProduct}=="1001", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1002", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1003", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1004", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1005", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1006", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1007", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1008", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1009", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1010", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1011", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1012", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1013", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1014", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1015", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1016", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1017", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1018", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1019", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1020", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1021", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1022", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1023", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1024", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1025", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1026", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1027", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1028", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1029", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1050", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1051", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1052", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1053", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1054", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1055", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1056", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1057", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1058", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1059", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="105f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1060", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1061", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1062", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1063", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1064", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1065", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1066", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1067", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1068", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1069", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="106f", ATTR{idVendor}=="1366", MODE="666" +# +# Handle known CMSIS-DAP probes (taken from mbed website and OpenOCD): +# VID 0x1366 (SEGGER) +# PID 0x1008-100f, 0x1018-101f, 0x1028-102f, 0x1058-105f, 0x1068-106f (SEGGER J-Link) +# We cover all of them via idProduct=10* and idVendor=1366 +# +# VID 0xC251 (Keil) +# PID 0xF001: (LPC-Link-II CMSIS_DAP) +# PID 0xF002: (OpenSDA CMSIS_DAP Freedom Board) +# PID 0x2722: (Keil ULINK2 CMSIS-DAP) +# VID 0x0D28 (mbed) +# PID 0x0204: MBED CMSIS-DAP +# +KERNEL=="hidraw*", ATTRS{idProduct}=="10*", ATTRS{idVendor}=="1366", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="f001", ATTRS{idVendor}=="c251", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="f002", ATTRS{idVendor}=="c251", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="2722", ATTRS{idVendor}=="c251", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="0204", ATTRS{idVendor}=="c251", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="f001", ATTRS{idVendor}=="0d28", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="f002", ATTRS{idVendor}=="0d28", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="2722", ATTRS{idVendor}=="0d28", MODE="666" +KERNEL=="hidraw*", ATTRS{idProduct}=="0204", ATTRS{idVendor}=="0d28", MODE="666" +# +# Make sure that J-Links are not captured by modem manager service +# as this service would try detect J-Link as a modem and send AT commands via the VCOM component which might not be liked by the target... +# +ATTR{idProduct}=="1001", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1002", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1003", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1004", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1005", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1006", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1007", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1008", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1009", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100a", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100b", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100c", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100d", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100e", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="100f", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1010", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1011", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1012", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1013", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1014", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1015", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1016", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1017", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1018", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1019", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101a", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101b", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101c", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101d", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101e", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="101f", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1020", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1021", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1022", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1023", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1024", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1025", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1026", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1027", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1028", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1029", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102a", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102b", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102c", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102d", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102e", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="102f", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1050", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1051", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1052", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1053", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1054", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1055", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1056", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1057", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1058", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1059", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105a", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105b", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105c", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105d", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105e", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="105f", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1060", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1061", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1062", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1063", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1064", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1065", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1066", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1067", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1068", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="1069", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106a", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106b", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106c", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106d", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106e", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="106f", ATTR{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1" +# +# Handle known CMSIS-DAP probes (taken from mbed website and OpenOCD): +# VID 0xC251 (Keil) +# PID 0xF001: (LPC-Link-II CMSIS_DAP) +# PID 0xF002: (OpenSDA CMSIS_DAP Freedom Board) +# PID 0x2722: (Keil ULINK2 CMSIS-DAP) +# VID 0x0D28 (mbed) +# PID 0x0204: MBED CMSIS-DAP +# +ATTR{idProduct}=="f001", ATTR{idVendor}=="c251", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="f002", ATTR{idVendor}=="c251", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="2722", ATTR{idVendor}=="c251", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0204", ATTR{idVendor}=="c251", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="f001", ATTR{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="f002", ATTR{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="2722", ATTR{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTR{idProduct}=="0204", ATTR{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1" +# +# Make sure that VCOM ports of J-Links can be opened with user rights +# We simply say that all devices from SEGGER which are in the "tty" domain are enumerated with normal user == R/W +# +SUBSYSTEM=="tty", ATTRS{idVendor}=="1366", MODE="0666", GROUP="dialout" +SUBSYSTEM=="tty", ATTRS{idVendor}=="c251", MODE="0666", GROUP="dialout" +SUBSYSTEM=="tty", ATTRS{idVendor}=="0d28", MODE="0666", GROUP="dialout" +# +# End of list +# +LABEL="jlink_rules_end" From bc924de4b914dc8d18e4858935cfe34df996cd2e Mon Sep 17 00:00:00 2001 From: cassandre Date: Mon, 7 Oct 2024 16:22:26 +0200 Subject: [PATCH 22/23] Adds missing common define --- variants/DWM1001-DEV/variant.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/variants/DWM1001-DEV/variant.h b/variants/DWM1001-DEV/variant.h index bc19cf7c..d4058170 100644 --- a/variants/DWM1001-DEV/variant.h +++ b/variants/DWM1001-DEV/variant.h @@ -40,11 +40,13 @@ extern "C" // LEDs #define PIN_LEDRT (22) +#define PIN_LEDR (22) #define PIN_LEDRB (23) #define PIN_LEDG (24) #define PIN_LEDB (25) #define LED_BUILTIN PIN_LEDRT static const uint8_t LED_RED_TOP = PIN_LEDRT ; +static const uint8_t LED_RED = PIN_LEDR ; static const uint8_t LED_RED_BOT = PIN_LEDRB ; static const uint8_t LED_GREEN = PIN_LEDG ; static const uint8_t LED_BLUE = PIN_LEDB ; From b756c18a9842177ec2fd70c1153048b08bd7bff2 Mon Sep 17 00:00:00 2001 From: cassandre Date: Mon, 7 Oct 2024 16:31:07 +0200 Subject: [PATCH 23/23] Publishes updated package json --- docs/package_RMESS_nRF5boards_index.json | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/package_RMESS_nRF5boards_index.json b/docs/package_RMESS_nRF5boards_index.json index c8965fda..9eefe4b1 100644 --- a/docs/package_RMESS_nRF5boards_index.json +++ b/docs/package_RMESS_nRF5boards_index.json @@ -161,6 +161,60 @@ "version": "0.10.0-dev.nrf5" } ] + }, + { + "name": "Nordic Semiconductor nRF5 Boards", + "architecture": "nRF5", + "version": "0.8.1-RMESS", + "category": "Contributed", + "url": "https://github.com/irit-rmess/arduino-nRF5/archive/refs/tags/0.8.1-RMESS.tar.gz", + "archiveFileName": "arduino-nRF52-0.8.1-RMESS.tar.gz", + "checksum": "MD5:d36fedfa7cdc1c8f14e524e3f020fab2", + "size": "1495017", + "boards": [ + {"name": "BBC micro:bit"}, + {"name": "BBC micro:bit v2"}, + {"name": "Bluz DK"}, + {"name": "Calliope mini"}, + {"name": "Calliope mini V3"}, + {"name": "Electronut labs bluey"}, + {"name": "Electronut labs hackaBLE"}, + {"name": "Electronut labs hackaBLE v2"}, + {"name": "Generic nRF51822"}, + {"name": "Generic nRF52823"}, + {"name": "Generic nRF52833"}, + {"name": "Generic nRF52840DK"}, + {"name": "OSHChip"}, + {"name": "ng-beacon"}, + {"name": "Qorvo DWM1001-DEV"}, + {"name": "Qorvo DWM3001 CDK"}, + {"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": "Seeed Arch Link"}, + {"name": "Sino:bit"}, + {"name": "Taida Century nRF52 mini board"}, + {"name": "TinyBLE"}, + {"name": "Waveshare BLE400"}, + {"name": "Yahu"} + ], + "toolsDependencies": [ + { + "packager": "RMESS", + "name": "gcc-arm-none-eabi", + "version": "5_2-2015q4" + }, + { + "packager": "RMESS", + "name": "openocd", + "version": "0.10.0-dev.nrf5" + } + ] } ], "tools":[