Skip to content

Commit 4ab347c

Browse files
authored
Merge pull request #14381 from ARMmbed/feature-std-pin-name
Standard Pin Names
2 parents c734138 + 21194f5 commit 4ab347c

File tree

359 files changed

+3795
-133210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

359 files changed

+3795
-133210
lines changed

.codecheckignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
^hal/storage_abstraction
2020
^hal/tests/TESTS/mbed_hal/trng/pithy
2121
^hal/tests/TESTS/mbed_hal/trng/pithy
22+
^hal/tests/pinvalidate
2223
^platform/cxxsupport
2324
^platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_MBED_PSA_SRV
2425
^platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM

.travis.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,3 +321,25 @@ matrix:
321321
CFLAGS+="-DLFS_NO_ASSERT -DLFS_NO_DEBUG -DLFS_NO_WARN -DLFS_NO_ERROR"
322322
| tee sizes
323323
- ccache -s
324+
- <<: extended-pinvalidate
325+
stage: "Extended"
326+
name: "pinvalidate"
327+
env: NAME=pinvalidate
328+
language: python
329+
python: 3.7
330+
install:
331+
# Install python modules
332+
- python -m pip install --upgrade pip==18.1
333+
- python -m pip install --upgrade setuptools==40.4.3
334+
- pip install tabulate argparse
335+
- pip list --verbose
336+
# Fetch remaining information needed for branch comparison
337+
- git fetch --all --unshallow --tags
338+
- git fetch origin "${TRAVIS_BRANCH}"
339+
script:
340+
- >-
341+
git diff --name-only --diff-filter=d FETCH_HEAD..HEAD \
342+
| ( grep '.*[\\|\/]PinNames.h$' || true ) \
343+
| while read file; do python ./hal/tests/pinvalidate/pinvalidate.py -vfp "${file}"; done
344+
- git diff --exit-code --diff-filter=d --color
345+

TESTS/integration/COMMON/target_extended.json

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"target_overrides": {
33
"NUCLEO_F412ZG": {
44
"target.components_add" : ["SD", "WIFI_WIZFI310"],
5-
"sd.SPI_MOSI" : "D11",
6-
"sd.SPI_MISO" : "D12",
7-
"sd.SPI_CLK" : "D13",
8-
"sd.SPI_CS" : "D10",
5+
"sd.SPI_MOSI" : "ARDUINO_UNO_SPI_MOSI",
6+
"sd.SPI_MISO" : "ARDUINO_UNO_SPI_MISO",
7+
"sd.SPI_CLK" : "ARDUINO_UNO_SPI_SCK",
8+
"sd.SPI_CS" : "ARDUINO_UNO_SPI_CS",
99
"target.network-default-interface-type" : "WIFI",
1010
"wizfi310.tx" : "PD_5",
1111
"wizfi310.rx" : "PD_6",
@@ -47,15 +47,15 @@
4747
"NUCLEO_L476RG": {
4848
"target.macros_remove" : ["MBED_TICKLESS"],
4949
"target.components_add" : ["SD", "WIFI_WIZFI310"],
50-
"sd.SPI_MOSI" : "D11",
51-
"sd.SPI_MISO" : "D12",
52-
"sd.SPI_CLK" : "D13",
53-
"sd.SPI_CS" : "D10",
50+
"sd.SPI_MOSI" : "ARDUINO_UNO_SPI_MOSI",
51+
"sd.SPI_MISO" : "ARDUINO_UNO_SPI_MIS0",
52+
"sd.SPI_CLK" : "ARDUINO_UNO_SPI_SCK",
53+
"sd.SPI_CS" : "ARDUINO_UNO_SPI_CS",
5454
"target.network-default-interface-type" : "WIFI",
55-
"wizfi310.tx" : "D8",
56-
"wizfi310.rx" : "D2",
57-
"wizfi310.rts" : "D3",
58-
"wizfi310.cts" : "D5",
55+
"wizfi310.tx" : "ARDUINO_UNO_D8",
56+
"wizfi310.rx" : "ARDUINO_UNO_D2",
57+
"wizfi310.rts" : "ARDUINO_UNO_D3",
58+
"wizfi310.cts" : "ARDUINO_UNO_D5",
5959
"wizfi310.rx-buffer-size" : 64,
6060
"wizfi310.stacksize" : 1536,
6161
"wizfi310.event-queue-size" : 256,
@@ -65,13 +65,13 @@
6565
"NUCLEO_L4R5ZI": {
6666
"target.macros_remove" : ["MBED_TICKLESS"],
6767
"target.components_add" : ["SD", "WIFI_WIZFI310"],
68-
"sd.SPI_MOSI" : "D11",
69-
"sd.SPI_MISO" : "D12",
70-
"sd.SPI_CLK" : "D13",
71-
"sd.SPI_CS" : "D10",
68+
"sd.SPI_MOSI" : "ARDUINO_UNO_SPI_MOSI",
69+
"sd.SPI_MISO" : "ARDUINO_UNO_SPI_MIS0",
70+
"sd.SPI_CLK" : "ARDUINO_UNO_SPI_SCK",
71+
"sd.SPI_CS" : "ARDUINO_UNO_SPI_CS",
7272
"target.network-default-interface-type" : "WIFI",
73-
"wizfi310.tx" : "D1",
74-
"wizfi310.rx" : "D0",
73+
"wizfi310.tx" : "ARDUINO_UNO_UART_TX",
74+
"wizfi310.rx" : "ARDUINO_UNO_UART_RX",
7575
"wizfi310.rts" : "PB_1",
7676
"wizfi310.cts" : "PB_13",
7777
"wizfi310.rx-buffer-size" : 512,
@@ -82,13 +82,13 @@
8282
"NUCLEO_L496ZG": {
8383
"target.macros_remove" : ["MBED_TICKLESS"],
8484
"target.components_add" : ["SD", "WIFI_WIZFI310"],
85-
"sd.SPI_MOSI" : "D11",
86-
"sd.SPI_MISO" : "D12",
87-
"sd.SPI_CLK" : "D13",
88-
"sd.SPI_CS" : "D10",
85+
"sd.SPI_MOSI" : "ARDUINO_UNO_SPI_MOSI",
86+
"sd.SPI_MISO" : "ARDUINO_UNO_SPI_MIS0",
87+
"sd.SPI_CLK" : "ARDUINO_UNO_SPI_SCK",
88+
"sd.SPI_CS" : "ARDUINO_UNO_SPI_CS",
8989
"target.network-default-interface-type" : "WIFI",
90-
"wizfi310.tx" : "D1",
91-
"wizfi310.rx" : "D0",
90+
"wizfi310.tx" : "ARDUINO_UNO_UART_TX",
91+
"wizfi310.rx" : "ARDUINO_UNO_UART_RX",
9292
"wizfi310.rts" : "PB_1",
9393
"wizfi310.cts" : "PB_13",
9494
"wizfi310.rx-buffer-size" : 512,
@@ -121,10 +121,10 @@
121121
"DISCO_F469NI": {
122122
"target.components_add" : ["WIFI_WIZFI310"],
123123
"target.network-default-interface-type" : "WIFI",
124-
"wizfi310.tx" : "D1",
125-
"wizfi310.rx" : "D0",
126-
"wizfi310.rts" : "D4",
127-
"wizfi310.cts" : "D2",
124+
"wizfi310.tx" : "ARDUINO_UNO_UART_TX",
125+
"wizfi310.rx" : "ARDUINO_UNO_UART_RX",
126+
"wizfi310.rts" : "ARDUINO_UNO_D4",
127+
"wizfi310.cts" : "ARDUINO_UNO_D2",
128128
"wizfi310.rx-buffer-size" : 512,
129129
"wizfi310.stacksize" : 1536,
130130
"wizfi310.event-queue-size" : 1024,

connectivity/drivers/ble/FEATURE_BLE/COMPONENT_BlueNRG_MS/mbed_lib.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
22
"name": "bluenrg_ms",
33
"config": {
4-
"SPI_MOSI": "D11",
5-
"SPI_MISO": "D12",
6-
"SPI_nCS": "A1",
7-
"SPI_RESET": "D7",
8-
"SPI_IRQ": "A0",
9-
"SPI_SCK": "D3",
4+
"SPI_MOSI": "ARDUINO_UNO_SPI_MOSI",
5+
"SPI_MISO": "ARDUINO_UNO_SPI_MISO",
6+
"SPI_nCS": "ARDUINO_UNO_A1",
7+
"SPI_RESET": "ARDUINO_UNO_D7",
8+
"SPI_IRQ": "ARDUINO_UNO_A0",
9+
"SPI_SCK": "ARDUINO_UNO_D3",
1010
"valid-public-bd-address": {
1111
"help": "Read the BD public address at startup",
1212
"value": false
1313
}
1414
},
1515
"target_overrides": {
1616
"K64F": {
17-
"SPI_SCK": "D13"
17+
"SPI_SCK": "ARDUINO_UNO_SPI_SCK"
1818
},
1919
"DISCO_L475VG_IOT01A": {
2020
"SPI_MOSI": "PC_12",

hal/include/hal/PinNameAliases.h

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
2+
/** \addtogroup hal */
3+
/** @{*/
4+
/* mbed Microcontroller Library
5+
* Copyright (c) 2020 ARM Limited
6+
* SPDX-License-Identifier: Apache-2.0
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License");
9+
* you may not use this file except in compliance with the License.
10+
* You may obtain a copy of the License at
11+
*
12+
* http://www.apache.org/licenses/LICENSE-2.0
13+
*
14+
* Unless required by applicable law or agreed to in writing, software
15+
* distributed under the License is distributed on an "AS IS" BASIS,
16+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17+
* See the License for the specific language governing permissions and
18+
* limitations under the License.
19+
*/
20+
#ifndef MBED_PIN_NAME_ALIASES_H
21+
#define MBED_PIN_NAME_ALIASES_H
22+
23+
/* Aliases for legacy reasons. To be removed in the next Mbed OS version */
24+
#if defined (CONSOLE_TX) && (CONSOLE_RX)
25+
#define USBTX CONSOLE_TX
26+
#define USBRX CONSOLE_RX
27+
#else
28+
#define CONSOLE_TX USBTX
29+
#define CONSOLE_RX USBRX
30+
#endif
31+
32+
#if defined (TARGET_FF_ARDUINO) || (TARGET_FF_ARDUINO_UNO)
33+
34+
#ifdef TARGET_FF_ARDUINO_UNO
35+
36+
#define A0 ARDUINO_UNO_A0
37+
#define A1 ARDUINO_UNO_A1
38+
#define A2 ARDUINO_UNO_A2
39+
#define A3 ARDUINO_UNO_A3
40+
#define A4 ARDUINO_UNO_A4
41+
#define A5 ARDUINO_UNO_A5
42+
#define D0 ARDUINO_UNO_D0
43+
#define D1 ARDUINO_UNO_D1
44+
#define D2 ARDUINO_UNO_D2
45+
#define D3 ARDUINO_UNO_D3
46+
#define D4 ARDUINO_UNO_D4
47+
#define D5 ARDUINO_UNO_D5
48+
#define D6 ARDUINO_UNO_D6
49+
#define D7 ARDUINO_UNO_D7
50+
#define D8 ARDUINO_UNO_D8
51+
#define D9 ARDUINO_UNO_D9
52+
#define D10 ARDUINO_UNO_D10
53+
#define D11 ARDUINO_UNO_D11
54+
#define D12 ARDUINO_UNO_D12
55+
#define D13 ARDUINO_UNO_D13
56+
#define D14 ARDUINO_UNO_D14
57+
#define D15 ARDUINO_UNO_D15
58+
59+
#endif // TARGET_FF_ARDUINO_UNO
60+
61+
#ifdef TARGET_FF_ARDUINO
62+
63+
#warning ARDUINO form factor should not be used any more => use ARDUINO_UNO
64+
65+
#define ARDUINO_UNO_A0 A0
66+
#define ARDUINO_UNO_A1 A1
67+
#define ARDUINO_UNO_A2 A2
68+
#define ARDUINO_UNO_A3 A3
69+
#define ARDUINO_UNO_A4 A4
70+
#define ARDUINO_UNO_A5 A5
71+
#define ARDUINO_UNO_D0 D0
72+
#define ARDUINO_UNO_D1 D1
73+
#define ARDUINO_UNO_D2 D2
74+
#define ARDUINO_UNO_D3 D3
75+
#define ARDUINO_UNO_D4 D4
76+
#define ARDUINO_UNO_D5 D5
77+
#define ARDUINO_UNO_D6 D6
78+
#define ARDUINO_UNO_D7 D7
79+
#define ARDUINO_UNO_D8 D8
80+
#define ARDUINO_UNO_D9 D9
81+
#define ARDUINO_UNO_D10 D10
82+
#define ARDUINO_UNO_D11 D11
83+
#define ARDUINO_UNO_D12 D12
84+
#define ARDUINO_UNO_D13 D13
85+
#define ARDUINO_UNO_D14 D14
86+
#define ARDUINO_UNO_D15 D15
87+
88+
#endif // TARGET_FF_ARDUINO
89+
90+
// Arduino Uno I2C signals aliases
91+
#define ARDUINO_UNO_I2C_SDA ARDUINO_UNO_D14
92+
#define ARDUINO_UNO_I2C_SCL ARDUINO_UNO_D15
93+
94+
// Arduino Uno SPI signals aliases
95+
#define ARDUINO_UNO_SPI_CS ARDUINO_UNO_D10
96+
#define ARDUINO_UNO_SPI_MOSI ARDUINO_UNO_D11
97+
#define ARDUINO_UNO_SPI_MISO ARDUINO_UNO_D12
98+
#define ARDUINO_UNO_SPI_SCK ARDUINO_UNO_D13
99+
100+
// Arduino Uno UART signals aliases
101+
#define ARDUINO_UNO_UART_TX ARDUINO_UNO_D1
102+
#define ARDUINO_UNO_UART_RX ARDUINO_UNO_D0
103+
104+
#endif // (TARGET_FF_ARDUINO) || (TARGET_FF_ARDUINO_UNO)
105+
106+
#endif // MBED_PIN_NAME_ALIASES_H
107+
108+
/** @}*/

hal/include/hal/pinmap.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,26 +195,26 @@ const PeripheralList *pinmap_uart_restricted_peripherals(void);
195195
*/
196196
const PinList *pinmap_gpio_restricted_pins(void);
197197

198-
#ifdef TARGET_FF_ARDUINO
198+
#if defined (TARGET_FF_ARDUINO) || (TARGET_FF_ARDUINO_UNO)
199199

200200
/**
201201
* Get the pin list of the Arduino form factor
202202
*
203203
* @return Pointer to the Arduino pin list
204204
*/
205-
const PinList *pinmap_ff_arduino_pins(void);
205+
const PinList *pinmap_ff_arduino_uno_pins(void);
206206

207207
/**
208208
* Get the string representation of a form factor pin
209209
*
210210
* @param pin Pin to get a string for
211211
* @return String representing the form factor pin
212212
*/
213-
const char *pinmap_ff_arduino_pin_to_string(PinName pin);
213+
const char *pinmap_ff_arduino_uno_pin_to_string(PinName pin);
214214

215215
/* Default to arduino form factor if unspecified */
216216
#ifndef MBED_CONF_TARGET_DEFAULT_FORM_FACTOR
217-
#define MBED_CONF_TARGET_DEFAULT_FORM_FACTOR arduino
217+
#define MBED_CONF_TARGET_DEFAULT_FORM_FACTOR arduino_uno
218218
#endif
219219

220220
#endif

hal/include/hal/static_pinmap.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#ifndef STATIC_PINMAP_H
1818
#define STATIC_PINMAP_H
1919

20+
#include "hal/PinNameAliases.h"
2021
#include "PinNames.h"
2122
#include "spi_api.h"
2223
#include "pwmout_api.h"
@@ -128,7 +129,7 @@ MSTD_CONSTEXPR_FN_14 serial_pinmap_t get_uart_pinmap(const PinName tx, const Pin
128129
return {(int) NC, NC, (int) NC, NC, (int) NC, false};
129130
}
130131

131-
if (tx_map->pin == STDIO_UART_TX && rx_map->pin == STDIO_UART_RX) {
132+
if (tx_map->pin == CONSOLE_TX && rx_map->pin == CONSOLE_RX) {
132133
return {tx_map->peripheral, tx_map->pin, tx_map->function, rx_map->pin, rx_map->function, true};
133134
} else {
134135
return {tx_map->peripheral, tx_map->pin, tx_map->function, rx_map->pin, rx_map->function, false};

hal/source/mbed_gpio.c

Lines changed: 25 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
#include "hal/gpio_api.h"
1818
#include "platform/mbed_toolchain.h"
19+
#include "hal/PinNameAliases.h"
1920

2021
static inline void _gpio_init_in(gpio_t *gpio, PinName pin, PinMode mode)
2122
{
@@ -77,8 +78,6 @@ MBED_WEAK void gpio_get_capabilities(gpio_t *gpio, gpio_capabilities_t *cap)
7778
cap->pull_up = 1;
7879
}
7980

80-
#ifdef TARGET_FF_ARDUINO
81-
8281
typedef enum {
8382
DEFAULT_GPIO = 0,
8483
} DefaultGPIOPeripheralName;
@@ -87,42 +86,31 @@ MBED_WEAK const PinMap *gpio_pinmap()
8786
{
8887
// Targets should override this weak implementation to provide correct data.
8988
static const PinMap empty_gpio_pinmap[] = {
90-
{D0, DEFAULT_GPIO, 0},
91-
{D1, DEFAULT_GPIO, 0},
92-
{D2, DEFAULT_GPIO, 0},
93-
{D3, DEFAULT_GPIO, 0},
94-
{D4, DEFAULT_GPIO, 0},
95-
{D5, DEFAULT_GPIO, 0},
96-
{D6, DEFAULT_GPIO, 0},
97-
{D7, DEFAULT_GPIO, 0},
98-
{D8, DEFAULT_GPIO, 0},
99-
{D9, DEFAULT_GPIO, 0},
100-
{D10, DEFAULT_GPIO, 0},
101-
{D11, DEFAULT_GPIO, 0},
102-
{D12, DEFAULT_GPIO, 0},
103-
{D13, DEFAULT_GPIO, 0},
104-
{D14, DEFAULT_GPIO, 0},
105-
{D15, DEFAULT_GPIO, 0},
106-
{A0, DEFAULT_GPIO, 0},
107-
{A1, DEFAULT_GPIO, 0},
108-
{A2, DEFAULT_GPIO, 0},
109-
{A3, DEFAULT_GPIO, 0},
110-
{A4, DEFAULT_GPIO, 0},
111-
{A5, DEFAULT_GPIO, 0},
112-
113-
{NC, NC, 0},
114-
};
115-
return empty_gpio_pinmap;
116-
}
117-
118-
#else
119-
120-
MBED_WEAK const PinMap *gpio_pinmap()
121-
{
122-
static const PinMap empty_gpio_pinmap[] = {
89+
#if defined (TARGET_FF_ARDUINO) || (TARGET_FF_ARDUINO_UNO)
90+
{ARDUINO_UNO_D0, DEFAULT_GPIO, 0},
91+
{ARDUINO_UNO_D1, DEFAULT_GPIO, 0},
92+
{ARDUINO_UNO_D2, DEFAULT_GPIO, 0},
93+
{ARDUINO_UNO_D3, DEFAULT_GPIO, 0},
94+
{ARDUINO_UNO_D4, DEFAULT_GPIO, 0},
95+
{ARDUINO_UNO_D5, DEFAULT_GPIO, 0},
96+
{ARDUINO_UNO_D6, DEFAULT_GPIO, 0},
97+
{ARDUINO_UNO_D7, DEFAULT_GPIO, 0},
98+
{ARDUINO_UNO_D8, DEFAULT_GPIO, 0},
99+
{ARDUINO_UNO_D9, DEFAULT_GPIO, 0},
100+
{ARDUINO_UNO_D10, DEFAULT_GPIO, 0},
101+
{ARDUINO_UNO_D11, DEFAULT_GPIO, 0},
102+
{ARDUINO_UNO_D12, DEFAULT_GPIO, 0},
103+
{ARDUINO_UNO_D13, DEFAULT_GPIO, 0},
104+
{ARDUINO_UNO_D14, DEFAULT_GPIO, 0},
105+
{ARDUINO_UNO_D15, DEFAULT_GPIO, 0},
106+
{ARDUINO_UNO_A0, DEFAULT_GPIO, 0},
107+
{ARDUINO_UNO_A1, DEFAULT_GPIO, 0},
108+
{ARDUINO_UNO_A2, DEFAULT_GPIO, 0},
109+
{ARDUINO_UNO_A3, DEFAULT_GPIO, 0},
110+
{ARDUINO_UNO_A4, DEFAULT_GPIO, 0},
111+
{ARDUINO_UNO_A5, DEFAULT_GPIO, 0},
112+
#endif
123113
{NC, NC, 0},
124114
};
125115
return empty_gpio_pinmap;
126116
}
127-
128-
#endif

0 commit comments

Comments
 (0)