From f1bcde8f45bfb95cf553502367824215dc9bcb97 Mon Sep 17 00:00:00 2001 From: Rida Jichi Date: Tue, 1 Nov 2016 08:57:38 +0000 Subject: [PATCH 1/3] Ensured all NORDIC platforms define P0_{0..30} to match existing p{0..30} in PinNames.h Change-Id: I8d7ff6fe5ff5377f7ec8d3bc790dde0b0627f072 --- .../TARGET_DELTA_DFCM_NNN40/PinNames.h | 37 +++++++++++++++++++ .../TARGET_NRF51_DONGLE/PinNames.h | 1 + 2 files changed, 38 insertions(+) diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_DELTA_DFCM_NNN40/PinNames.h b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_DELTA_DFCM_NNN40/PinNames.h index 9d05900d4a8..834b733338a 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_DELTA_DFCM_NNN40/PinNames.h +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_DELTA_DFCM_NNN40/PinNames.h @@ -64,6 +64,43 @@ typedef enum { p30 = 30, p31 = 31, + //NORMAL PINS... + P0_0 = p0, + P0_1 = p1, + P0_2 = p2, + P0_3 = p3, + P0_4 = p4, + P0_5 = p5, + P0_6 = p6, + P0_7 = p7, + + P0_8 = p8, + P0_9 = p9, + P0_10 = p10, + P0_11 = p11, + P0_12 = p12, + P0_13 = p13, + P0_14 = p14, + P0_15 = p15, + + P0_16 = p16, + P0_17 = p17, + P0_18 = p18, + P0_19 = p19, + P0_20 = p20, + P0_21 = p21, + P0_22 = p22, + P0_23 = p23, + + P0_24 = p24, + P0_25 = p25, + P0_26 = p26, + P0_27 = p27, + P0_28 = p28, + P0_29 = p29, + P0_30 = p30, + P0_31 = p31, + LED1 = p4, LED2 = p5, LED3 = p6, diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_DONGLE/PinNames.h b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_DONGLE/PinNames.h index b8187eba8c7..614e67a4435 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_DONGLE/PinNames.h +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_DONGLE/PinNames.h @@ -91,6 +91,7 @@ typedef enum { P0_25 = p25, P0_28 = p28, P0_29 = p29, + P0_30 = p30, LED1 = p21, LED2 = p22, From 3a1af14803a6a3038056f8ae921d2d3f9e030ba9 Mon Sep 17 00:00:00 2001 From: Rida Jichi Date: Tue, 1 Nov 2016 09:00:34 +0000 Subject: [PATCH 2/3] Replaced p{0..30} with P0_{0..30} in the NRF51822 api's Change-Id: I0e080a30717ee0bcfa2db3f134acb08be851d767 --- .../TARGET_MCU_NRF51822/analogin_api.c | 16 ++--- .../TARGET_MCU_NRF51822/pwmout_api.c | 58 +++++++++---------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/analogin_api.c b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/analogin_api.c index 77b1ddcd38a..2406bde5857 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/analogin_api.c +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/analogin_api.c @@ -23,15 +23,15 @@ #define ADC_RANGE ADC_10BIT_RANGE static const PinMap PinMap_ADC[] = { - {p1, ADC0_0, 4}, - {p2, ADC0_0, 8}, - {p3, ADC0_0, 16}, - {p4, ADC0_0, 32}, - {p5, ADC0_0, 64}, - {p6, ADC0_0, 128}, + {P0_1, ADC0_0, 4}, + {P0_2, ADC0_0, 8}, + {P0_3, ADC0_0, 16}, + {P0_4, ADC0_0, 32}, + {P0_5, ADC0_0, 64}, + {P0_6, ADC0_0, 128}, #ifndef TARGET_NRF51_DONGLE - {p26, ADC0_0, 1}, - {p27, ADC0_0, 2}, + {P0_26, ADC0_0, 1}, + {P0_27, ADC0_0, 2}, #endif {NC, NC, 0} }; diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/pwmout_api.c b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/pwmout_api.c index 1ebe182dd58..eb2c73103b0 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/pwmout_api.c +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/pwmout_api.c @@ -23,35 +23,35 @@ #define TIMER_PRECISION 4 //4us ticks #define TIMER_PRESCALER 6 //4us ticks = 16Mhz/(2**6) static const PinMap PinMap_PWM[] = { - {p0, PWM_1, 1}, - {p1, PWM_1, 1}, - {p2, PWM_1, 1}, - {p3, PWM_1, 1}, - {p4, PWM_1, 1}, - {p5, PWM_1, 1}, - {p6, PWM_1, 1}, - {p7, PWM_1, 1}, - {p8, PWM_1, 1}, - {p9, PWM_1, 1}, - {p10, PWM_1, 1}, - {p11, PWM_1, 1}, - {p12, PWM_1, 1}, - {p13, PWM_1, 1}, - {p14, PWM_1, 1}, - {p15, PWM_1, 1}, - {p16, PWM_1, 1}, - {p17, PWM_1, 1}, - {p18, PWM_1, 1}, - {p19, PWM_1, 1}, - {p20, PWM_1, 1}, - {p21, PWM_1, 1}, - {p22, PWM_1, 1}, - {p23, PWM_1, 1}, - {p24, PWM_1, 1}, - {p25, PWM_1, 1}, - {p28, PWM_1, 1}, - {p29, PWM_1, 1}, - {p30, PWM_1, 1}, + {P0_0, PWM_1, 1}, + {P0_1, PWM_1, 1}, + {P0_2, PWM_1, 1}, + {P0_3, PWM_1, 1}, + {P0_4, PWM_1, 1}, + {P0_5, PWM_1, 1}, + {P0_6, PWM_1, 1}, + {P0_7, PWM_1, 1}, + {P0_8, PWM_1, 1}, + {P0_9, PWM_1, 1}, + {P0_10, PWM_1, 1}, + {P0_11, PWM_1, 1}, + {P0_12, PWM_1, 1}, + {P0_13, PWM_1, 1}, + {P0_14, PWM_1, 1}, + {P0_15, PWM_1, 1}, + {P0_16, PWM_1, 1}, + {P0_17, PWM_1, 1}, + {P0_18, PWM_1, 1}, + {P0_19, PWM_1, 1}, + {P0_20, PWM_1, 1}, + {P0_21, PWM_1, 1}, + {P0_22, PWM_1, 1}, + {P0_23, PWM_1, 1}, + {P0_24, PWM_1, 1}, + {P0_25, PWM_1, 1}, + {P0_28, PWM_1, 1}, + {P0_29, PWM_1, 1}, + {P0_30, PWM_1, 1}, {NC, NC, 0} }; From ac17fb7cf8efa744b56bf98a075cac882d10a2f5 Mon Sep 17 00:00:00 2001 From: Rida Jichi Date: Tue, 1 Nov 2016 09:05:39 +0000 Subject: [PATCH 3/3] Modified micro:bit pin names to mirror micro:bit edge connector Resolved issue: https://github.com/ARMmbed/mbed-os/issues/2713 Removed pins p{0..30} definitions Defined pins P{0..20} as per micro:bit DAL's mappings: (https://github.com/lancaster-university/microbit-dal/blob/master/inc/drivers/MicroBitPin.h) Developers can now use the pin names as they appear on the mbed micro:bit pinout in https://developer.mbed.org/platforms/Microbit/#pinout Change-Id: I72b81dbe23b11d5ef215583adb211f364b4a5e91 --- .../TARGET_NRF51_MICROBIT/PinNames.h | 178 ++++++++---------- 1 file changed, 82 insertions(+), 96 deletions(-) diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT/PinNames.h b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT/PinNames.h index ac930c2ddd3..b2f1583cdbe 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT/PinNames.h +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT/PinNames.h @@ -30,134 +30,120 @@ typedef enum { #define PORT_SHIFT 3 typedef enum { - p0 = 0, - p1 = 1, - p2 = 2, - p3 = 3, - p4 = 4, - p5 = 5, - p6 = 6, - p7 = 7, - p8 = 8, - p9 = 9, - p10 = 10, - p11 = 11, - p12 = 12, - p13 = 13, - p14 = 14, - p15 = 15, - p16 = 16, - p17 = 17, - p18 = 18, - p19 = 19, - p20 = 20, - p21 = 21, - p22 = 22, - p23 = 23, - p24 = 24, - p25 = 25, - p26 = 26, - p27 = 27, - p28 = 28, - p29 = 29, - p30 = 30, - - //NORMAL PINS... - P0_0 = p0, - P0_1 = p1, - P0_2 = p2, - P0_3 = p3, - P0_4 = p4, - P0_5 = p5, - P0_6 = p6, - P0_7 = p7, - - P0_8 = p8, - P0_9 = p9, - P0_10 = p10, - P0_11 = p11, - P0_12 = p12, - P0_13 = p13, - P0_14 = p14, - P0_15 = p15, - - P0_16 = p16, - P0_17 = p17, - P0_18 = p18, - P0_19 = p19, - P0_20 = p20, - P0_21 = p21, - P0_22 = p22, - P0_23 = p23, - - P0_24 = p24, - P0_25 = p25, - P0_26 = p26, - P0_27 = p27, - P0_28 = p28, - P0_29 = p29, - P0_30 = p30, - + //MCU PINS + P0_0 = 0, + P0_1 = 1, + P0_2 = 2, + P0_3 = 3, + P0_4 = 4, + P0_5 = 5, + P0_6 = 6, + P0_7 = 7, + P0_8 = 8, + P0_9 = 9, + P0_10 = 10, + P0_11 = 11, + P0_12 = 12, + P0_13 = 13, + P0_14 = 14, + P0_15 = 15, + P0_16 = 16, + P0_17 = 17, + P0_18 = 18, + P0_19 = 19, + P0_20 = 20, + P0_21 = 21, + P0_22 = 22, + P0_23 = 23, + P0_24 = 24, + P0_25 = 25, + P0_26 = 26, + P0_27 = 27, + P0_28 = 28, + P0_29 = 29, + P0_30 = 30, + + //MICROBIT EDGE CONNECTOR PINS + P0 = P0_3, + P1 = P0_2, + P2 = P0_1, + P3 = P0_4, + P4 = P0_5, + P5 = P0_17, + P6 = P0_12, + P7 = P0_11, + P8 = P0_18, + P9 = P0_10, + P10 = P0_6, + P11 = P0_26, + P12 = P0_20, + P13 = P0_23, + P14 = P0_22, + P15 = P0_21, + P16 = P0_16, + P19 = P0_0, + P20 = P0_30, + //PADS - PAD3 = p1, - PAD2 = p2, - PAD1 = p3, + PAD3 = P0_1, + PAD2 = P0_2, + PAD1 = P0_3, //LED MATRIX COLS - COL1 = p4, - COL2 = p5, - COL3 = p6, - COL4 = p7, - COL5 = p8, - COL6 = p9, - COL7 = p10, - COL8 = p11, - COL9 = p12, + COL1 = P0_4, + COL2 = P0_5, + COL3 = P0_6, + COL4 = P0_7, + COL5 = P0_8, + COL6 = P0_9, + COL7 = P0_10, + COL8 = P0_11, + COL9 = P0_12, //LED MATRIX ROWS - ROW1 = p13, - ROW2 = p14, - ROW3 = p15, + ROW1 = P0_13, + ROW2 = P0_14, + ROW3 = P0_15, //NORMAL PIN (NO SPECIFIED FUNCTIONALITY) //PIN_16 // BUTTON A - BUTTON_A = p17, + BUTTON_A = P0_17, //NORMAL PIN (NO SPECIFIED FUNCTIONALITY) //PIN_18 //TARGET RESET - TGT_NRESET = p19, + TGT_NRESET = P0_19, //NORMAL PIN (NO SPECIFIED FUNCTIONALITY) //PIN_20 //MASTER OUT SLAVE IN - MOSI = p21, + MOSI = P0_21, //MASTER IN SLAVE OUT - MISO = p22, + MISO = P0_22, //SERIAL CLOCK - SCK = p23, + SCK = P0_23, // RX AND TX PINS - TGT_TX = p24, - TGT_RX = p25, + TGT_TX = P0_24, + TGT_RX = P0_25, //BUTTON B - BUTTON_B = p26, + BUTTON_B = P0_26, //ACCEL INTERRUPT PINS (MMA8653FC) - ACCEL_INT2 = p27, - ACCEL_INT1 = p28, + ACCEL_INT2 = P0_27, + ACCEL_INT1 = P0_28, //MAGENETOMETER INTERRUPT PIN (MAG3110) - MAG_INT1 = p29, + MAG_INT1 = P0_29, // Not connected NC = (int)0xFFFFFFFF, @@ -177,10 +163,10 @@ typedef enum { LED4 = P0_16, //SDA (SERIAL DATA LINE) - I2C_SDA0 = p30, + I2C_SDA0 = P0_30, //SCL (SERIAL CLOCK LINE) - I2C_SCL0 = p0 + I2C_SCL0 = P0_0 } PinName;