Skip to content

Commit 3c0a8b6

Browse files
author
Bogdan Marinescu
committed
Provide generic pinout defines
This commit adds generic peripheral names to various mbed enabled boards, to make it easier to write portable code amongst various mbed boards.
1 parent b2733e9 commit 3c0a8b6

File tree

9 files changed

+172
-2
lines changed

9 files changed

+172
-2
lines changed

libraries/mbed/api/SPI.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class SPI {
5959
* @param miso SPI Master In, Slave Out pin
6060
* @param sclk SPI Clock pin
6161
*/
62-
SPI(PinName mosi, PinName miso, PinName sclk);
62+
SPI(PinName mosi, PinName miso, PinName sclk, PinName _unused=NC);
6363

6464
/** Configure the data transmission format
6565
*

libraries/mbed/common/SPI.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
namespace mbed {
2121

22-
SPI::SPI(PinName mosi, PinName miso, PinName sclk) {
22+
SPI::SPI(PinName mosi, PinName miso, PinName sclk, PinName _unused) {
2323
spi_init(&_spi, mosi, miso, sclk, NC);
2424
_bits = 8;
2525
_mode = 0;

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL25Z/PeripheralNames.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,31 @@ typedef enum {
8282
SPI_1 = (int)SPI1_BASE,
8383
} SPIName;
8484

85+
// Default peripherals
86+
#define MBED_SPI0 PTD2, PTD3, PTD1, PTD0
87+
88+
#define MBED_UART0 PTC4, PTC3
89+
#define MBED_UART1 PTD3, PTD2
90+
#define MBED_UARTUSB PTA2, PTA1
91+
92+
#define MBED_I2C0 PTC9, PTC8
93+
#define MBED_I2C1 PTE1, PTE0
94+
95+
#define MBED_ANALOGOUT0 PTE30
96+
97+
#define MBED_ANALOGIN0 PTC2
98+
#define MBED_ANALOGIN1 PTB3
99+
#define MBED_ANALOGIN2 PTB2
100+
#define MBED_ANALOGIN3 PTB1
101+
#define MBED_ANALOGIN4 PTB0
102+
103+
#define MBED_PWMOUT0 PTD4
104+
#define MBED_PWMOUT1 PTA12
105+
#define MBED_PWMOUT2 PTA4
106+
#define MBED_PWMOUT3 PTA5
107+
#define MBED_PWMOUT4 PTC8
108+
#define MBED_PWMOUT5 PTC9
109+
85110
#ifdef __cplusplus
86111
}
87112
#endif

libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/PeripheralNames.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,22 @@ typedef enum {
6464
#define STDIO_UART_RX USBRX
6565
#define STDIO_UART UART_0
6666

67+
// Default peripherals
68+
#define MBED_SPI0 p5, p6, p7, p8
69+
#define MBED_SPI1 p11, p12, p13, p14
70+
71+
#define MBED_UART0 p9, p10
72+
#define MBED_UARTUSB USBTX, USBRX
73+
74+
#define MBED_I2C0 p28, p27
75+
76+
#define MBED_ANALOGIN0 p15
77+
#define MBED_ANALOGIN1 p16
78+
#define MBED_ANALOGIN2 p17
79+
#define MBED_ANALOGIN3 p18
80+
#define MBED_ANALOGIN4 p19
81+
#define MBED_ANALOGIN5 p20
82+
6783
#ifdef __cplusplus
6884
}
6985
#endif

libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/PeripheralNames.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#define MBED_PERIPHERALNAMES_H
1818

1919
#include "cmsis.h"
20+
#include "PinNames.h"
2021

2122
#ifdef __cplusplus
2223
extern "C" {
@@ -73,6 +74,36 @@ typedef enum {
7374
#define STDIO_UART_RX USBRX
7475
#define STDIO_UART UART_0
7576

77+
// Default peripherals
78+
#define MBED_SPI0 p5, p6, p7, p8
79+
#define MBED_SPI1 p11, p12, p13, p14
80+
81+
#define MBED_UART0 p9, p10
82+
#define MBED_UART1 p13, p14
83+
#define MBED_UART2 p28, p27
84+
#define MBED_UARTUSB USBTX, USBRX
85+
86+
#define MBED_I2C0 p28, p27
87+
#define MBED_I2C1 p9, p10
88+
89+
#define MBED_CAN0 p30, p29
90+
91+
#define MBED_ANALOGOUT0 p18
92+
93+
#define MBED_ANALOGIN0 p15
94+
#define MBED_ANALOGIN1 p16
95+
#define MBED_ANALOGIN2 p17
96+
#define MBED_ANALOGIN3 p18
97+
#define MBED_ANALOGIN4 p19
98+
#define MBED_ANALOGIN5 p20
99+
100+
#define MBED_PWMOUT0 p26
101+
#define MBED_PWMOUT1 p25
102+
#define MBED_PWMOUT2 p24
103+
#define MBED_PWMOUT3 p23
104+
#define MBED_PWMOUT4 p22
105+
#define MBED_PWMOUT5 p21
106+
76107
#ifdef __cplusplus
77108
}
78109
#endif

libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC23XX/PeripheralNames.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,36 @@ typedef enum {
7373
#define STDIO_UART_RX USBRX
7474
#define STDIO_UART UART_0
7575

76+
// Default peripherals
77+
#define MBED_SPI0 p5, p6, p7, p8
78+
#define MBED_SPI1 p11, p12, p13, p14
79+
80+
#define MBED_UART0 p9, p10
81+
#define MBED_UART1 p13, p14
82+
#define MBED_UART2 p28, p27
83+
#define MBED_UARTUSB USBTX, USBRX
84+
85+
#define MBED_I2C0 p28, p27
86+
#define MBED_I2C1 p9, p10
87+
88+
#define MBED_CAN0 p30, p29
89+
90+
#define MBED_ANALOGOUT0 p18
91+
92+
#define MBED_ANALOGIN0 p15
93+
#define MBED_ANALOGIN1 p16
94+
#define MBED_ANALOGIN2 p17
95+
#define MBED_ANALOGIN3 p18
96+
#define MBED_ANALOGIN4 p19
97+
#define MBED_ANALOGIN5 p20
98+
99+
#define MBED_PWMOUT0 p26
100+
#define MBED_PWMOUT1 p25
101+
#define MBED_PWMOUT2 p24
102+
#define MBED_PWMOUT3 p23
103+
#define MBED_PWMOUT4 p22
104+
#define MBED_PWMOUT5 p21
105+
76106
#ifdef __cplusplus
77107
}
78108
#endif

libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC408X/PeripheralNames.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,37 @@ typedef enum {
8181
#define STDIO_UART_RX USBRX
8282
#define STDIO_UART UART_0
8383

84+
// Default peripherals
85+
#define MBED_SPI0 p5, p6, p7
86+
#define MBED_SPI1 p11, p12, p13, p14
87+
#define MBED_SPI2 p39, p38, p32, p31
88+
89+
#define MBED_UART3 p9, p10
90+
#define MBED_UART4 p37, p31
91+
#define MBED_UARTUSB USBTX, USBRX
92+
93+
#define MBED_I2C0 p32, p31
94+
#define MBED_I2C1 p9, p10
95+
96+
#define MBED_CAN1 p9, p10
97+
#define MBED_CAN2 p34, p33
98+
99+
#define MBED_ANALOGOUT0 p18
100+
101+
#define MBED_ANALOGIN0 p15
102+
#define MBED_ANALOGIN1 p16
103+
#define MBED_ANALOGIN2 p17
104+
#define MBED_ANALOGIN3 p18
105+
#define MBED_ANALOGIN4 p19
106+
#define MBED_ANALOGIN5 p20
107+
108+
#define MBED_PWMOUT0 p30
109+
#define MBED_PWMOUT1 p29
110+
#define MBED_PWMOUT2 p28
111+
#define MBED_PWMOUT3 p27
112+
#define MBED_PWMOUT4 p26
113+
#define MBED_PWMOUT5 p25
114+
84115
#ifdef __cplusplus
85116
}
86117
#endif
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2006-2013 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
#ifndef MBED_PERIPHERALNAMES_H
17+
#define MBED_PERIPHERALNAMES_H
18+
19+
#include "cmsis.h"
20+
21+
#ifdef __cplusplus
22+
extern "C" {
23+
#endif
24+
25+
// Default peripherals
26+
#define MBED_SPI0 P0_14, P0_15, P0_12, P0_13
27+
28+
#define MBED_UART0 P0_4, P0_0
29+
#define MBED_UARTUSB USBTX, USBRX
30+
31+
#define MBED_I2C0 P0_10, P0_11
32+
33+
#ifdef __cplusplus
34+
}
35+
#endif
36+
37+
#endif

0 commit comments

Comments
 (0)