mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #12379 from mprse/STDIO_UART_restricted_all
Add STDIO UART as restricted for FPGA testing for all targets and support for restricting GPIOpull/12417/head
commit
d3078a39b1
|
|
@ -20,6 +20,17 @@
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
|
#define UART_NAME "UART"
|
||||||
|
#define UARTNOFC_NAME "UART-no-FC"
|
||||||
|
#define ANALOGOUT_NAME "DAC"
|
||||||
|
#define ANALOGIN_NAME "ADC"
|
||||||
|
#define PWM_NAME "PWM"
|
||||||
|
#define I2C_NAME "I2C"
|
||||||
|
#define SPI_NAME "SPI"
|
||||||
|
#define SPISLAVE_NAME "SPISlave"
|
||||||
|
#define GPIO_NAME "GPIO"
|
||||||
|
#define GPIO_IRQ_NAME "GPIO_IRQ"
|
||||||
|
|
||||||
// test function prototypes
|
// test function prototypes
|
||||||
typedef void (*TF1)(PinName p0);
|
typedef void (*TF1)(PinName p0);
|
||||||
typedef void (*TF2)(PinName p0, PinName p1);
|
typedef void (*TF2)(PinName p0, PinName p1);
|
||||||
|
|
@ -115,11 +126,26 @@ void find_ports(std::list<PortType> &matched_ports, std::list<PortType> ¬_mat
|
||||||
FormFactorType::pin_to_string(port.pins[i]), port.pins[i]);
|
FormFactorType::pin_to_string(port.pins[i]), port.pins[i]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (pinmap_list_has_peripheral(pinmap_restricted_peripherals(), port.peripheral)) {
|
|
||||||
|
if (!strcmp(PortType::PinMap::name, GPIO_IRQ_NAME) || !strcmp(PortType::PinMap::name, GPIO_NAME)) {
|
||||||
|
// Don't test restricted gpio pins
|
||||||
|
if (pinmap_list_has_pin(pinmap_gpio_restricted_pins(), port.pins[i])) {
|
||||||
|
utest_printf("Skipping %s pin %s (%i)\r\n", pin_type,
|
||||||
|
FormFactorType::pin_to_string(port.pins[i]), port.pins[i]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if DEVICE_SERIAL
|
||||||
|
if (!strcmp(PortType::PinMap::name, UART_NAME) || !strcmp(PortType::PinMap::name, UARTNOFC_NAME)) {
|
||||||
|
if (pinmap_list_has_peripheral(pinmap_uart_restricted_peripherals(), port.peripheral)) {
|
||||||
utest_printf("Skipping %s peripheral %i with pin %s (%i)\r\n", pin_type,
|
utest_printf("Skipping %s peripheral %i with pin %s (%i)\r\n", pin_type,
|
||||||
port.peripheral, FormFactorType::pin_to_string(port.pins[i]), port.pins[i]);
|
port.peripheral, FormFactorType::pin_to_string(port.pins[i]), port.pins[i]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// skipp pin searching if single pin port type
|
// skipp pin searching if single pin port type
|
||||||
if (PortType::pin_count > 1) {
|
if (PortType::pin_count > 1) {
|
||||||
find_port_pins<PortType, FormFactorType>(port);
|
find_port_pins<PortType, FormFactorType>(port);
|
||||||
|
|
@ -442,7 +468,7 @@ struct GPIOMaps {
|
||||||
};
|
};
|
||||||
const PinMap *GPIOMaps::maps[] = { gpio_pinmap() };
|
const PinMap *GPIOMaps::maps[] = { gpio_pinmap() };
|
||||||
const char *const GPIOMaps::pin_type_names[] = { "IO" };
|
const char *const GPIOMaps::pin_type_names[] = { "IO" };
|
||||||
const char *const GPIOMaps::name = "GPIO";
|
const char *const GPIOMaps::name = GPIO_NAME;
|
||||||
typedef Port<1, GPIOMaps, DefaultFormFactor, TF1> GPIOPort;
|
typedef Port<1, GPIOMaps, DefaultFormFactor, TF1> GPIOPort;
|
||||||
|
|
||||||
#if DEVICE_INTERRUPTIN
|
#if DEVICE_INTERRUPTIN
|
||||||
|
|
@ -454,7 +480,7 @@ struct GPIOIRQMaps {
|
||||||
};
|
};
|
||||||
const PinMap *GPIOIRQMaps::maps[] = { gpio_irq_pinmap() };
|
const PinMap *GPIOIRQMaps::maps[] = { gpio_irq_pinmap() };
|
||||||
const char *const GPIOIRQMaps::pin_type_names[] = { "IRQ_IN" };
|
const char *const GPIOIRQMaps::pin_type_names[] = { "IRQ_IN" };
|
||||||
const char *const GPIOIRQMaps::name = "GPIO_IRQ";
|
const char *const GPIOIRQMaps::name = GPIO_IRQ_NAME;
|
||||||
typedef Port<1, GPIOIRQMaps, DefaultFormFactor, TF1> GPIOIRQPort;
|
typedef Port<1, GPIOIRQMaps, DefaultFormFactor, TF1> GPIOIRQPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -467,7 +493,7 @@ struct SPIMaps {
|
||||||
};
|
};
|
||||||
const PinMap *SPIMaps::maps[] = { spi_master_mosi_pinmap(), spi_master_miso_pinmap(), spi_master_clk_pinmap(), spi_master_cs_pinmap() };
|
const PinMap *SPIMaps::maps[] = { spi_master_mosi_pinmap(), spi_master_miso_pinmap(), spi_master_clk_pinmap(), spi_master_cs_pinmap() };
|
||||||
const char *const SPIMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK", "SSEL" };
|
const char *const SPIMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK", "SSEL" };
|
||||||
const char *const SPIMaps::name = "SPI";
|
const char *const SPIMaps::name = SPI_NAME;
|
||||||
typedef Port<4, SPIMaps, DefaultFormFactor, TF4> SPIPort;
|
typedef Port<4, SPIMaps, DefaultFormFactor, TF4> SPIPort;
|
||||||
|
|
||||||
struct SPINoCSMaps {
|
struct SPINoCSMaps {
|
||||||
|
|
@ -477,7 +503,7 @@ struct SPINoCSMaps {
|
||||||
};
|
};
|
||||||
const PinMap *SPINoCSMaps::maps[] = { spi_master_mosi_pinmap(), spi_master_miso_pinmap(), spi_master_clk_pinmap()};
|
const PinMap *SPINoCSMaps::maps[] = { spi_master_mosi_pinmap(), spi_master_miso_pinmap(), spi_master_clk_pinmap()};
|
||||||
const char *const SPINoCSMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK" };
|
const char *const SPINoCSMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK" };
|
||||||
const char *const SPINoCSMaps::name = "SPI";
|
const char *const SPINoCSMaps::name = SPI_NAME;
|
||||||
typedef Port<3, SPINoCSMaps, DefaultFormFactor, TF3> SPINoCSPort;
|
typedef Port<3, SPINoCSMaps, DefaultFormFactor, TF3> SPINoCSPort;
|
||||||
|
|
||||||
struct SPISlaveMaps {
|
struct SPISlaveMaps {
|
||||||
|
|
@ -487,7 +513,7 @@ struct SPISlaveMaps {
|
||||||
};
|
};
|
||||||
const PinMap *SPISlaveMaps::maps[] = { spi_slave_mosi_pinmap(), spi_slave_miso_pinmap(), spi_slave_clk_pinmap(), spi_slave_cs_pinmap() };
|
const PinMap *SPISlaveMaps::maps[] = { spi_slave_mosi_pinmap(), spi_slave_miso_pinmap(), spi_slave_clk_pinmap(), spi_slave_cs_pinmap() };
|
||||||
const char *const SPISlaveMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK", "SSEL" };
|
const char *const SPISlaveMaps::pin_type_names[] = { "MOSI", "MISO", "SCLK", "SSEL" };
|
||||||
const char *const SPISlaveMaps::name = "SPISlave";
|
const char *const SPISlaveMaps::name = SPISLAVE_NAME;
|
||||||
typedef Port<4, SPISlaveMaps, DefaultFormFactor, TF4> SPISlavePort;
|
typedef Port<4, SPISlaveMaps, DefaultFormFactor, TF4> SPISlavePort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -500,7 +526,7 @@ struct I2CMaps {
|
||||||
};
|
};
|
||||||
const PinMap *I2CMaps::maps[] = { i2c_master_sda_pinmap(), i2c_master_scl_pinmap() };
|
const PinMap *I2CMaps::maps[] = { i2c_master_sda_pinmap(), i2c_master_scl_pinmap() };
|
||||||
const char *const I2CMaps::pin_type_names[] = { "SDA", "SCL" };
|
const char *const I2CMaps::pin_type_names[] = { "SDA", "SCL" };
|
||||||
const char *const I2CMaps::name = "I2C";
|
const char *const I2CMaps::name = I2C_NAME;
|
||||||
typedef Port<2, I2CMaps, DefaultFormFactor, TF2> I2CPort;
|
typedef Port<2, I2CMaps, DefaultFormFactor, TF2> I2CPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -513,7 +539,7 @@ struct PWMMaps {
|
||||||
};
|
};
|
||||||
const PinMap *PWMMaps::maps[] = { pwmout_pinmap() };
|
const PinMap *PWMMaps::maps[] = { pwmout_pinmap() };
|
||||||
const char *const PWMMaps::pin_type_names[] = { "PWM_OUT" };
|
const char *const PWMMaps::pin_type_names[] = { "PWM_OUT" };
|
||||||
const char *const PWMMaps::name = "PWM";
|
const char *const PWMMaps::name = PWM_NAME;
|
||||||
typedef Port<1, PWMMaps, DefaultFormFactor, TF1> PWMPort;
|
typedef Port<1, PWMMaps, DefaultFormFactor, TF1> PWMPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -526,7 +552,7 @@ struct AnaloginMaps {
|
||||||
};
|
};
|
||||||
const PinMap *AnaloginMaps::maps[] = { analogin_pinmap() };
|
const PinMap *AnaloginMaps::maps[] = { analogin_pinmap() };
|
||||||
const char *const AnaloginMaps::pin_type_names[] = { "ADC_IN" };
|
const char *const AnaloginMaps::pin_type_names[] = { "ADC_IN" };
|
||||||
const char *const AnaloginMaps::name = "ADC";
|
const char *const AnaloginMaps::name = ANALOGIN_NAME;
|
||||||
typedef Port<1, AnaloginMaps, DefaultFormFactor, TF1> AnaloginPort;
|
typedef Port<1, AnaloginMaps, DefaultFormFactor, TF1> AnaloginPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -539,7 +565,7 @@ struct AnalogoutMaps {
|
||||||
};
|
};
|
||||||
const PinMap *AnalogoutMaps::maps[] = { analogout_pinmap() };
|
const PinMap *AnalogoutMaps::maps[] = { analogout_pinmap() };
|
||||||
const char *const AnalogoutMaps::pin_type_names[] = { "DAC_OUT" };
|
const char *const AnalogoutMaps::pin_type_names[] = { "DAC_OUT" };
|
||||||
const char *const AnalogoutMaps::name = "DAC";
|
const char *const AnalogoutMaps::name = ANALOGOUT_NAME;
|
||||||
typedef Port<1, AnalogoutMaps, DefaultFormFactor, TF1> AnalogoutPort;
|
typedef Port<1, AnalogoutMaps, DefaultFormFactor, TF1> AnalogoutPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -553,7 +579,7 @@ struct UARTMaps {
|
||||||
};
|
};
|
||||||
const PinMap *UARTMaps::maps[] = { serial_tx_pinmap(), serial_rx_pinmap(), serial_cts_pinmap(), serial_rts_pinmap() };
|
const PinMap *UARTMaps::maps[] = { serial_tx_pinmap(), serial_rx_pinmap(), serial_cts_pinmap(), serial_rts_pinmap() };
|
||||||
const char *const UARTMaps::pin_type_names[] = { "TX", "RX", "CLS", "RTS" };
|
const char *const UARTMaps::pin_type_names[] = { "TX", "RX", "CLS", "RTS" };
|
||||||
const char *const UARTMaps::name = "UART";
|
const char *const UARTMaps::name = UART_NAME;
|
||||||
typedef Port<4, UARTMaps, DefaultFormFactor, TF4> UARTPort;
|
typedef Port<4, UARTMaps, DefaultFormFactor, TF4> UARTPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -564,8 +590,7 @@ struct UARTNoFCMaps {
|
||||||
};
|
};
|
||||||
const PinMap *UARTNoFCMaps::maps[] = { serial_tx_pinmap(), serial_rx_pinmap() };
|
const PinMap *UARTNoFCMaps::maps[] = { serial_tx_pinmap(), serial_rx_pinmap() };
|
||||||
const char *const UARTNoFCMaps::pin_type_names[] = { "TX", "RX" };
|
const char *const UARTNoFCMaps::pin_type_names[] = { "TX", "RX" };
|
||||||
const char *const UARTNoFCMaps::name = "UART-no-FC";
|
const char *const UARTNoFCMaps::name = UARTNOFC_NAME;
|
||||||
typedef Port<2, UARTNoFCMaps, DefaultFormFactor, TF2> UARTNoFCPort;
|
typedef Port<2, UARTNoFCMaps, DefaultFormFactor, TF2> UARTNoFCPort;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include "platform/mbed_toolchain.h"
|
#include "platform/mbed_toolchain.h"
|
||||||
#include "platform/mbed_assert.h"
|
#include "platform/mbed_assert.h"
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
|
#include "hal/serial_api.h"
|
||||||
|
|
||||||
//*** Common form factors ***
|
//*** Common form factors ***
|
||||||
#ifdef TARGET_FF_ARDUINO
|
#ifdef TARGET_FF_ARDUINO
|
||||||
|
|
@ -77,12 +78,31 @@ MBED_WEAK const PinList *pinmap_restricted_pins()
|
||||||
return &pin_list;
|
return &pin_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
//*** Default restricted peripherals ***
|
//*** Default restricted gpio pins ***
|
||||||
MBED_WEAK const PeripheralList *pinmap_restricted_peripherals()
|
// GPIO pins are special case because there are no pin-maps for GPIO
|
||||||
|
MBED_WEAK const PinList *pinmap_gpio_restricted_pins()
|
||||||
{
|
{
|
||||||
static const PeripheralList peripheral_list = {
|
static const PinList pin_list = {
|
||||||
0,
|
0,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
return &pin_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*** Default restricted peripherals ***
|
||||||
|
#if DEVICE_SERIAL
|
||||||
|
MBED_WEAK const PeripheralList *pinmap_uart_restricted_peripherals()
|
||||||
|
{
|
||||||
|
static const int stdio_uart = pinmap_peripheral(STDIO_UART_TX, serial_tx_pinmap());
|
||||||
|
|
||||||
|
static const int peripherals[] = {
|
||||||
|
stdio_uart
|
||||||
|
};
|
||||||
|
|
||||||
|
static const PeripheralList peripheral_list = {
|
||||||
|
sizeof peripherals / sizeof peripherals[0],
|
||||||
|
peripherals
|
||||||
|
};
|
||||||
return &peripheral_list;
|
return &peripheral_list;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
36
hal/pinmap.h
36
hal/pinmap.h
|
|
@ -155,7 +155,7 @@ bool pinmap_list_has_peripheral(const PeripheralList *list, int peripheral);
|
||||||
const PinList *pinmap_restricted_pins(void);
|
const PinList *pinmap_restricted_pins(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the pin list of peripherals to avoid during testing
|
* Get the pin list of peripherals per interface to avoid during testing
|
||||||
*
|
*
|
||||||
* The restricted peripheral list is used to indicate to testing
|
* The restricted peripheral list is used to indicate to testing
|
||||||
* that a peripheral should be skipped due to some caveat about it.
|
* that a peripheral should be skipped due to some caveat about it.
|
||||||
|
|
@ -166,18 +166,34 @@ const PinList *pinmap_restricted_pins(void);
|
||||||
* function if they have peripherals which should be
|
* function if they have peripherals which should be
|
||||||
* skipped during testing.
|
* skipped during testing.
|
||||||
*
|
*
|
||||||
* @note Some targets use the same value for multiple
|
* @note Restricting peripheral is at the moment available for UART
|
||||||
* different types of peripherals. For example SPI 0
|
* interface only as only STDIO UART must be skipped because it is
|
||||||
* and UART 0 may both be identified by the peripheral
|
* used by Mbed.
|
||||||
* value 0. If your target does this then do not
|
* Restricting peripherals for other interfaces should be added
|
||||||
* use this function to skip peripherals, as this will
|
* in the future if required.
|
||||||
* unintentionally cause all peripherals with that value
|
|
||||||
* to be skipped. Instead these entries should be removed
|
|
||||||
* from the peripheral PinMap itself.
|
|
||||||
*
|
*
|
||||||
* @return Pointer to a peripheral list of peripheral to avoid
|
* @return Pointer to a peripheral list of peripheral to avoid
|
||||||
*/
|
*/
|
||||||
const PeripheralList *pinmap_restricted_peripherals(void);
|
#if DEVICE_SERIAL
|
||||||
|
const PeripheralList *pinmap_uart_restricted_peripherals(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the pin list of pins to avoid during GPIO/GPIO_IRQ testing
|
||||||
|
*
|
||||||
|
* The GPIO restricted pin list is used to indicate to testing
|
||||||
|
* that a pin should be skipped due to some caveat about it.
|
||||||
|
*
|
||||||
|
* Targets should override the weak implementation of this
|
||||||
|
* function if they have peripherals which should be
|
||||||
|
* skipped during testing.
|
||||||
|
*
|
||||||
|
* @note This is special case only for GPIO/GPIO_IRQ tests because
|
||||||
|
* targets do not provide pin-maps for GPIO.
|
||||||
|
*
|
||||||
|
* @return Pointer to a peripheral list of peripheral to avoid
|
||||||
|
*/
|
||||||
|
const PinList *pinmap_gpio_restricted_pins(void);
|
||||||
|
|
||||||
#ifdef TARGET_FF_ARDUINO
|
#ifdef TARGET_FF_ARDUINO
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -81,21 +81,6 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
|
#if defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
|
||||||
|
|
||||||
static void pin_function_impl(int32_t pin, int32_t data, bool nonsecure_caller)
|
static void pin_function_impl(int32_t pin, int32_t data, bool nonsecure_caller)
|
||||||
|
|
|
||||||
|
|
@ -83,18 +83,3 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
* 2. PushPullOutput/PIN_INPUT
|
* 2. PushPullOutput/PIN_INPUT
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -83,18 +83,3 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
* 2. PushPullOutput/PIN_INPUT
|
* 2. PushPullOutput/PIN_INPUT
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -91,18 +91,3 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
* 2. PushPullOutput/PIN_INPUT
|
* 2. PushPullOutput/PIN_INPUT
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -97,18 +97,3 @@ const PinList *pinmap_restricted_pins()
|
||||||
};
|
};
|
||||||
return &pin_list;
|
return &pin_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -77,18 +77,3 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
* 2. PushPullOutput/PIN_INPUT
|
* 2. PushPullOutput/PIN_INPUT
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -91,18 +91,3 @@ void pin_mode(PinName pin, PinMode mode)
|
||||||
* 2. PushPullOutput/PIN_INPUT
|
* 2. PushPullOutput/PIN_INPUT
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* List of peripherals excluded from testing */
|
|
||||||
const PeripheralList *pinmap_restricted_peripherals()
|
|
||||||
{
|
|
||||||
static const int perifs[] = {
|
|
||||||
STDIO_UART // Dedicated to USB VCOM
|
|
||||||
};
|
|
||||||
|
|
||||||
static const PeripheralList peripheral_list = {
|
|
||||||
sizeof(perifs) / sizeof(perifs[0]),
|
|
||||||
perifs
|
|
||||||
};
|
|
||||||
|
|
||||||
return &peripheral_list;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue