Rationalize board header pin defines, and add partner board headers (#192)
* Board definition header files for the iniital set of SparkFun rp2040 boards * Add default PICO_DEFAULT_I2C*, allow no PICO_DEFAULT_LED_PIN, no PICO_DEFAULT_UART* (instead of -1) Fixup SparkFun headers * Pimoroni board headers * Add LED related board defines PICO_CONFIGs (to pico_stdlib for now) * more board config changes * add Adafruit feather, itsybitsy, qtpy board headers * add PICO_DEFAULT_WS2812_POWER_PIN define * MOSI/MISO -> TX/RX, some UART cleanup.. make vgaboard.h defines take preference over pico.h ones * local change to tinyusb to cope with no default LED or UART * fix review issues Co-authored-by: Kirk Benell <github-stuff@accvec.com> Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com> Co-authored-by: hathach <thach@tinyusb.org>
This commit is contained in:
parent
839224c2a3
commit
7ee36e3328
88
src/boards/include/boards/adafruit_feather_rp2040.h
Normal file
88
src/boards/include/boards/adafruit_feather_rp2040.h
Normal file
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_ADAFRUIT_FEATHER_RP2040_H
|
||||
#define _BOARDS_ADAFRUIT_FEATHER_RP2040_H
|
||||
|
||||
// For board detection
|
||||
#define ADAFRUIT_FEATHER_RP2040
|
||||
|
||||
//------------- UART -------------//
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
//------------- LED -------------//
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 13
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||
#define PICO_DEFAULT_WS2812_PIN 16
|
||||
#endif
|
||||
|
||||
//------------- I2C -------------//
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 3
|
||||
#endif
|
||||
|
||||
//------------- SPI -------------//
|
||||
#ifndef PICO_DEFAULT_SPI
|
||||
#define PICO_DEFAULT_SPI 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_TX_PIN
|
||||
#define PICO_DEFAULT_SPI_TX_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_RX_PIN
|
||||
#define PICO_DEFAULT_SPI_RX_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||
#define PICO_DEFAULT_SPI_SCK_PIN 18
|
||||
#endif
|
||||
|
||||
//------------- FLASH -------------//
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
92
src/boards/include/boards/adafruit_itsybitsy_rp2040.h
Normal file
92
src/boards/include/boards/adafruit_itsybitsy_rp2040.h
Normal file
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_ADAFRUIT_ITSYBITSY_RP2040_H
|
||||
#define _BOARDS_ADAFRUIT_ITSYBITSY_RP2040_H
|
||||
|
||||
// For board detection
|
||||
#define ADAFRUIT_ITSYBITSY_RP2040
|
||||
|
||||
//------------- UART -------------//
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
//------------- LED -------------//
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 11
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||
#define PICO_DEFAULT_WS2812_PIN 17
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_WS2812_POWER_PIN
|
||||
#define PICO_DEFAULT_WS2812_POWER_PIN 16
|
||||
#endif
|
||||
|
||||
//------------- I2C -------------//
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 3
|
||||
#endif
|
||||
|
||||
//------------- SPI -------------//
|
||||
#ifndef PICO_DEFAULT_SPI
|
||||
#define PICO_DEFAULT_SPI 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_TX_PIN
|
||||
#define PICO_DEFAULT_SPI_TX_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_RX_PIN
|
||||
#define PICO_DEFAULT_SPI_RX_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||
#define PICO_DEFAULT_SPI_SCK_PIN 18
|
||||
#endif
|
||||
|
||||
//------------- FLASH -------------//
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
91
src/boards/include/boards/adafruit_qtpy_rp2040.h
Normal file
91
src/boards/include/boards/adafruit_qtpy_rp2040.h
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_ADAFRUIT_QTPY_RP2040_H
|
||||
#define _BOARDS_ADAFRUIT_QTPY_RP2040_H
|
||||
|
||||
// For board detection
|
||||
#define ADAFRUIT_QTPY_RP2040
|
||||
|
||||
//------------- UART -------------//
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 9
|
||||
#endif
|
||||
|
||||
//------------- LED -------------//
|
||||
// No normal LED
|
||||
// #define PICO_DEFAULT_LED_PIN 13
|
||||
|
||||
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||
#define PICO_DEFAULT_WS2812_PIN 12
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_WS2812_POWER_PIN
|
||||
#define PICO_DEFAULT_WS2812_POWER_PIN 11
|
||||
#endif
|
||||
|
||||
//------------- I2C -------------//
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 24
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 25
|
||||
#endif
|
||||
|
||||
//------------- SPI -------------//
|
||||
#ifndef PICO_DEFAULT_SPI
|
||||
#define PICO_DEFAULT_SPI 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_TX_PIN
|
||||
#define PICO_DEFAULT_SPI_TX_PIN 3
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_RX_PIN
|
||||
#define PICO_DEFAULT_SPI_RX_PIN 4
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||
#define PICO_DEFAULT_SPI_SCK_PIN 6
|
||||
#endif
|
||||
|
||||
//------------- FLASH -------------//
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
@ -14,21 +14,35 @@
|
||||
#ifndef _BOARDS_PICO_H
|
||||
#define _BOARDS_PICO_H
|
||||
|
||||
// --- UART ---
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
// --- LED ---
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 25
|
||||
#endif
|
||||
// no PICO_DEFAULT_WS2812_PIN
|
||||
|
||||
// --- I2C ---
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 4
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 5
|
||||
#endif
|
||||
|
||||
// --- FLASH ---
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
|
132
src/boards/include/boards/pimoroni_keybow2040.h
Normal file
132
src/boards/include/boards/pimoroni_keybow2040.h
Normal file
@ -0,0 +1,132 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_PIMORONI_KEYBOW2040_H
|
||||
#define _BOARDS_PIMORONI_KEYBOW2040_H
|
||||
|
||||
// For board detection
|
||||
#define PIMORONI_KEYBOW2040
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_I2C_SDA_PIN
|
||||
#define KEYBOW2040_I2C_SDA_PIN 4
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_I2C_SCL_PIN
|
||||
#define KEYBOW2040_I2C_SCL_PIN 5
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_I2C_INT_PIN
|
||||
#define KEYBOW2040_I2C_INT_PIN 3
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_USER_SW_PIN
|
||||
#define KEYBOW2040_USER_SW_PIN 23
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW0_PIN
|
||||
#define KEYBOW2040_SW0_PIN 21
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW1_PIN
|
||||
#define KEYBOW2040_SW1_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW2_PIN
|
||||
#define KEYBOW2040_SW2_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW3_PIN
|
||||
#define KEYBOW2040_SW3_PIN 18
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW4_PIN
|
||||
#define KEYBOW2040_SW4_PIN 17
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW5_PIN
|
||||
#define KEYBOW2040_SW5_PIN 16
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW6_PIN
|
||||
#define KEYBOW2040_SW6_PIN 15
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW7_PIN
|
||||
#define KEYBOW2040_SW7_PIN 14
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW8_PIN
|
||||
#define KEYBOW2040_SW8_PIN 13
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW9_PIN
|
||||
#define KEYBOW2040_SW9_PIN 12
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW10_PIN
|
||||
#define KEYBOW2040_SW10_PIN 11
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW11_PIN
|
||||
#define KEYBOW2040_SW11_PIN 10
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW12_PIN
|
||||
#define KEYBOW2040_SW12_PIN 9
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW13_PIN
|
||||
#define KEYBOW2040_SW13_PIN 8
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW14_PIN
|
||||
#define KEYBOW2040_SW14_PIN 7
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_SW15_PIN
|
||||
#define KEYBOW2040_SW15_PIN 6
|
||||
#endif
|
||||
|
||||
#ifndef KEYBOW2040_NUM_SWITCHES
|
||||
#define KEYBOW2040_NUM_SWITCHES_PINS 16
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (2 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
145
src/boards/include/boards/pimoroni_picosystem.h
Normal file
145
src/boards/include/boards/pimoroni_picosystem.h
Normal file
@ -0,0 +1,145 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_PIMORONI_PICOSYSTEM_H
|
||||
#define _BOARDS_PIMORONI_PICOSYSTEM_H
|
||||
|
||||
// For board detection
|
||||
#define PIMORONI_PICOSYSTEM
|
||||
|
||||
#ifndef PICOSYSTEM_VBUS_DETECT_PIN
|
||||
#define PICOSYSTEM_VBUS_DETECT_PIN 2
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_RESET_PIN
|
||||
#define PICOSYSTEM_LCD_RESET_PIN 4
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_CS_PIN
|
||||
#define PICOSYSTEM_LCD_CS_PIN 5
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_SCLK_PIN
|
||||
#define PICOSYSTEM_LCD_SCLK_PIN 6
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_MOSI_PIN
|
||||
#define PICOSYSTEM_LCD_MOSI_PIN 7
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_VSYNC_PIN
|
||||
#define PICOSYSTEM_LCD_VSYNC_PIN 8
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LCD_DC_PIN
|
||||
#define PICOSYSTEM_LCD_DC_PIN 9
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_AUDIO_PIN
|
||||
#define PICOSYSTEM_AUDIO_PIN 11
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_BACKLIGHT_PIN
|
||||
#define PICOSYSTEM_BACKLIGHT_PIN 12
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LED_G_PIN
|
||||
#define PICOSYSTEM_LED_G_PIN 13
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LED_R_PIN
|
||||
#define PICOSYSTEM_LED_R_PIN 14
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_LED_B_PIN
|
||||
#define PICOSYSTEM_LED_B_PIN 15
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_Y_PIN
|
||||
#define PICOSYSTEM_SW_Y_PIN 16
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_X_PIN
|
||||
#define PICOSYSTEM_SW_X_PIN 17
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_A_PIN
|
||||
#define PICOSYSTEM_SW_A_PIN 18
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_B_PIN
|
||||
#define PICOSYSTEM_SW_B_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_DOWN_PIN
|
||||
#define PICOSYSTEM_SW_DOWN_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_RIGHT_PIN
|
||||
#define PICOSYSTEM_SW_RIGHT_PIN 21
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_LEFT_PIN
|
||||
#define PICOSYSTEM_SW_LEFT_PIN 22
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_SW_UP_PIN
|
||||
#define PICOSYSTEM_SW_UP_PIN 23
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_CHARGE_STAT_PIN
|
||||
#define PICOSYSTEM_CHARGE_STAT_PIN 24
|
||||
#endif
|
||||
|
||||
#ifndef PICOSYSTEM_BAT_SENSE_PIN
|
||||
#define PICOSYSTEM_BAT_SENSE_PIN 26
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
// Included so basic examples will work, and set it to the green LED
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN PICOSYSTEM_LED_G_PIN
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN_INVERTED
|
||||
#define PICO_DEFAULT_LED_PIN_INVERTED 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
96
src/boards/include/boards/pimoroni_tiny2040.h
Normal file
96
src/boards/include/boards/pimoroni_tiny2040.h
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
|
||||
#ifndef _BOARDS_PIMORONI_TINY2040_H
|
||||
#define _BOARDS_PIMORONI_TINY2040_H
|
||||
|
||||
// For board detection
|
||||
#define PIMORONI_TINY2040
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_LED_R_PIN
|
||||
#define TINY2040_LED_R_PIN 18
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_LED_G_PIN
|
||||
#define TINY2040_LED_G_PIN 19
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_LED_B_PIN
|
||||
#define TINY2040_LED_B_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_USER_SW_PIN
|
||||
#define TINY2040_USER_SW_PIN 23
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_A0_PIN
|
||||
#define TINY2040_A0_PIN 26
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_A1_PIN
|
||||
#define TINY2040_A1_PIN 27
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_A2_PIN
|
||||
#define TINY2040_A2_PIN 28
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_A3_PIN
|
||||
#define TINY2040_A3_PIN 29
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_NUM_IO_PINS
|
||||
#define TINY2040_NUM_IO_PINS 8
|
||||
#endif
|
||||
|
||||
#ifndef TINY2040_NUM_ADC_PINS
|
||||
#define TINY2040_NUM_ADC_PINS 4
|
||||
#endif
|
||||
|
||||
// Included so basic examples will work, and set it to the green LED
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN TINY2040_LED_G_PIN
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN_INVERTED
|
||||
#define PICO_DEFAULT_LED_PIN_INVERTED 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
68
src/boards/include/boards/sparkfun_micromod.h
Normal file
68
src/boards/include/boards/sparkfun_micromod.h
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
//
|
||||
//------------------------------------------------------------------------------------------
|
||||
// Board definition for the SparkFun RP2040 MicroMod processor board
|
||||
//
|
||||
// This header may be included by other board headers as "boards/sparkfun_micromod.h"
|
||||
|
||||
#ifndef _BOARDS_SPARKFUN_MICROMOD_H
|
||||
#define _BOARDS_SPARKFUN_MICROMOD_H
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#define
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 25
|
||||
#endif
|
||||
|
||||
// Default I2C - for qwiic connector
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 4
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 5
|
||||
#endif
|
||||
|
||||
// spi flash
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
68
src/boards/include/boards/sparkfun_promicro.h
Normal file
68
src/boards/include/boards/sparkfun_promicro.h
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
//
|
||||
//------------------------------------------------------------------------------------------
|
||||
// Board definition for the SparkFun RP2040 ProMicro
|
||||
//
|
||||
// This header may be included by other board headers as "boards/sparkfun_promicro.h"
|
||||
|
||||
#ifndef _BOARDS_SPARKFUN_PROMICRO_H
|
||||
#define _BOARDS_SPARKFUN_PROMICRO_H
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
// The PRO Micro doesnt have a plain LED, but a WS2812
|
||||
//#ifndef PICO_DEFAULT_LED_PIN
|
||||
//#define PICO_DEFAULT_LED_PIN 25
|
||||
//#endif
|
||||
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||
#define PICO_DEFAULT_WS2812_PIN 25
|
||||
#endif
|
||||
|
||||
// Default I2C - for the onboard qwiic connector
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 16
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 17
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
// board has 16M onboard flash
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
75
src/boards/include/boards/sparkfun_thingplus.h
Normal file
75
src/boards/include/boards/sparkfun_thingplus.h
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
// -----------------------------------------------------
|
||||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||
// -----------------------------------------------------
|
||||
//
|
||||
//------------------------------------------------------------------------------------------
|
||||
// Board definition for the SparkFun RP2040 Thing Plus
|
||||
//
|
||||
// This header may be included by other board headers as "boards/sparkfun_thingplus.h"
|
||||
|
||||
#ifndef _BOARDS_SPARKFUN_THINGPLUS_H
|
||||
#define _BOARDS_SPARKFUN_THINGPLUS_H
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 25
|
||||
#endif
|
||||
|
||||
// Default I2C - for qwiic connector
|
||||
#ifndef PICO_DEFAULT_I2C
|
||||
#define PICO_DEFAULT_I2C 1
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||
#define PICO_DEFAULT_I2C_SDA_PIN 6
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||
#define PICO_DEFAULT_I2C_SCL_PIN 7
|
||||
#endif
|
||||
|
||||
// spi flash
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// The thing plus has a SD Card.
|
||||
#define PICO_SD_CLK_PIN 14
|
||||
#define PICO_SD_CMD_PIN 15
|
||||
#define PICO_SD_DAT0_PIN 12
|
||||
// DAT pins count down
|
||||
#define PICO_SD_DAT_PIN_INCREMENT -1
|
||||
|
||||
#ifndef PICO_SD_DAT_PIN_COUNT
|
||||
#define PICO_SD_DAT_PIN_COUNT 4
|
||||
#endif
|
||||
|
||||
// All boards have B1 RP2040
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
|
||||
#endif
|
||||
|
||||
#endif
|
@ -12,22 +12,6 @@
|
||||
#ifndef _BOARDS_VGABOARD_H
|
||||
#define _BOARDS_VGABOARD_H
|
||||
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 21
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#define PICO_DEFAULT_LED_PIN 25 // same as Pico
|
||||
#endif
|
||||
|
||||
// Audio pins. I2S BCK, LRCK are on the same pins as PWM L/R.
|
||||
// - When outputting I2S, PWM sees BCK and LRCK, which should sound silent as
|
||||
// they are constant duty cycle, and above the filter cutoff
|
||||
@ -54,25 +38,30 @@
|
||||
#define VGABOARD_BUTTON_B_PIN 6
|
||||
#define VGABOARD_BUTTON_C_PIN 11
|
||||
|
||||
#ifndef PICO_SCANVIDEO_COLOR_PIN_BASE
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 20
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 21
|
||||
#endif
|
||||
|
||||
#define PICO_SCANVIDEO_COLOR_PIN_BASE VGABOARD_VGA_COLOR_PIN_BASE
|
||||
#endif
|
||||
|
||||
#ifndef PICO_SCANVIDEO_SYMC_PIN_BASE
|
||||
#define PICO_SCANVIDEO_SYNC_PIN_BASE VGABOARD_VGA_SYNC_PIN_BASE
|
||||
#endif
|
||||
|
||||
#ifndef PICO_SD_CLK_PIN
|
||||
#define PICO_SD_CLK_PIN VGABOARD_SD_CLK_PIN
|
||||
#endif
|
||||
|
||||
#ifndef PICO_SD_CMD_PIN
|
||||
#define PICO_SD_CMD_PIN VGABOARD_SD_CMD_PIN
|
||||
#define PICO_SD_DAT0_PIN VGABOARD_SD_DAT0_PIN
|
||||
|
||||
#ifndef PICO_SD_DAT_PIN_COUNT
|
||||
#define PICO_SD_DAT_PIN_COUNT 4
|
||||
#endif
|
||||
|
||||
#ifndef PICO_SD_DAT0_PIN
|
||||
#define PICO_SD_DAT0_PIN VGABOARD_SD_DAT0_PIN
|
||||
#endif
|
||||
#define PICO_SD_DAT_PIN_INCREMENT 1
|
||||
|
||||
#define PICO_AUDIO_I2S_DATA_PIN VGABOARD_I2S_DIN_PIN
|
||||
#define PICO_AUDIO_I2S_CLOCK_PIN_BASE VGABOARD_I2S_BCK_PIN
|
||||
@ -80,25 +69,12 @@
|
||||
#define PICO_AUDIO_PWM_L_PIN VGABOARD_PWM_L_PIN
|
||||
#define PICO_AUDIO_PWM_R_PIN VGABOARD_PWM_R_PIN
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (2 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads)
|
||||
#define PICO_SMPS_MODE_PIN 23
|
||||
|
||||
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
|
||||
#define PICO_FLOAT_SUPPORT_ROM_V1 1
|
||||
#endif
|
||||
|
||||
#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
|
||||
#define PICO_DOUBLE_SUPPORT_ROM_V1 1
|
||||
#endif
|
||||
|
||||
#define PICO_VGA_BOARD
|
||||
|
||||
// vgaboard has a Pico on it, so default anything we haven't set above
|
||||
#include "boards/pico.h"
|
||||
|
||||
#endif
|
||||
|
@ -56,6 +56,16 @@ extern "C" {
|
||||
#include "pico/stdio_semihosting.h"
|
||||
#endif
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_LED_PIN, Optionally defined a pin that drives a regular LED on the board, default=undefined, group=pico_stdlib
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_LED_PIN_INVERTED, 1 if LED is inverted, 0 otherwise, type=int, default=0, group=pico_stdlib
|
||||
#ifndef PICO_DEFAULT_LED_PIN_INVERTED
|
||||
#define PICO_DEFAULT_LED_PIN_INVERTED 0
|
||||
#endif
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_WS2812_PIN, Optionally defined a pin that controls data to a WS2812 compatible LED on the board, default=undefined, group=pico_stdlib
|
||||
// PICO_CONFIG: PICO_DEFAULT_WS2812_POWER_PIN, Optionally defined a pin that controls power to a WS2812 compatible LED on the board, default=undefined, group=pico_stdlib
|
||||
|
||||
/*! \brief Set up the default UART and assign it to the default GPIO's
|
||||
* \ingroup pico_stdlib
|
||||
*
|
||||
|
@ -48,6 +48,10 @@ extern "C" {
|
||||
|
||||
typedef struct i2c_inst i2c_inst_t;
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_I2C, Define the default I2C for a board, default=undefined, group=hardware_i2c
|
||||
// PICO_CONFIG: PICO_DEFAULT_I2C_SDA_PIN, Define the default I2C SDA, min=0, max=29, default=undefined, group=hardware_i2c
|
||||
// PICO_CONFIG: PICO_DEFAULT_I2C_SCL_PIN, Define the default I2C SCL pin, min=0, max=29, default=undefined, group=hardware_i2c
|
||||
|
||||
/** The I2C identifiers for use in I2C functions.
|
||||
*
|
||||
* e.g. i2c_init(i2c0, 48000)
|
||||
@ -61,6 +65,14 @@ extern i2c_inst_t i2c1_inst;
|
||||
#define i2c0 (&i2c0_inst) ///< Identifier for I2C HW Block 0
|
||||
#define i2c1 (&i2c1_inst) ///< Identifier for I2C HW Block 1
|
||||
|
||||
#if !defined(PICO_DEFAULT_I2C_INSTANCE) && defined(PICO_DEFAULT_I2C)
|
||||
#define PICO_DEFAULT_I2C_INSTANCE (__CONCAT(i2c,PICO_DEFAULT_I2C))
|
||||
#endif
|
||||
|
||||
#ifdef PICO_DEFAULT_I2C_INSTANCE
|
||||
#define i2c_default PICO_DEFAULT_I2C_INSTANCE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -126,7 +138,7 @@ struct i2c_inst {
|
||||
* \ingroup hardware_i2c
|
||||
*
|
||||
* \param i2c I2C instance
|
||||
* \return Number of UART, 0 or 1.
|
||||
* \return Number of I2C, 0 or 1.
|
||||
*/
|
||||
static inline uint i2c_hw_index(i2c_inst_t *i2c) {
|
||||
invalid_params_if(I2C, i2c != i2c0 && i2c != i2c1);
|
||||
|
@ -341,7 +341,7 @@ static inline void sm_config_set_out_special(pio_sm_config *c, bool sticky, bool
|
||||
* \param status_n parameter for the mov status operation (currently a bit count)
|
||||
*/
|
||||
static inline void sm_config_set_mov_status(pio_sm_config *c, enum pio_mov_status_type status_sel, uint status_n) {
|
||||
valid_params_if(PIO, join >= STATUS_TX_LESSTHAN && join <= STATUS_RX_LESSTHAN);
|
||||
valid_params_if(PIO, status_sel >= STATUS_TX_LESSTHAN && status_sel <= STATUS_RX_LESSTHAN);
|
||||
c->execctrl = (c->execctrl
|
||||
& ~(PIO_SM0_EXECCTRL_STATUS_SEL_BITS | PIO_SM0_EXECCTRL_STATUS_N_BITS))
|
||||
| ((((uint)status_sel) << PIO_SM0_EXECCTRL_STATUS_SEL_LSB) & PIO_SM0_EXECCTRL_STATUS_SEL_BITS)
|
||||
|
@ -35,6 +35,12 @@ extern "C" {
|
||||
* Each controller can be connected to a number of GPIO pins, see the datasheet GPIO function selection table for more information.
|
||||
*/
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_SPI, Define the default SPI for a board, default=undefined, group=hardware_spi
|
||||
// PICO_CONFIG: PICO_DEFAULT_SPI_SCK_PIN, Define the default SPI SCK pin, min=0, max=29, default=undefined, group=hardware_spi
|
||||
// PICO_CONFIG: PICO_DEFAULT_SPI_TX_PIN, Define the default SPI TX pin, min=0, max=29, default=undefined, group=hardware_spi
|
||||
// PICO_CONFIG: PICO_DEFAULT_SPI_RX_PIN, Define the default SPI RX pin, min=0, max=29, default=undefined, group=hardware_spi
|
||||
// PICO_CONFIG: PICO_DEFAULT_SPI_CSN_PIN, Define the default SPI CSN pin, min=0, max=29, default=undefined, group=hardware_spi
|
||||
|
||||
/**
|
||||
* Opaque type representing an SPI instance.
|
||||
*/
|
||||
@ -56,6 +62,14 @@ typedef struct spi_inst spi_inst_t;
|
||||
*/
|
||||
#define spi1 ((spi_inst_t * const)spi1_hw)
|
||||
|
||||
#if !defined(PICO_DEFAULT_SPI_INSTANCE) && defined(PICO_DEFAULT_SPI)
|
||||
#define PICO_DEFAULT_SPI_INSTANCE (__CONCAT(spi,PICO_DEFAULT_SPI))
|
||||
#endif
|
||||
|
||||
#ifdef PICO_DEFAULT_SPI_INSTANCE
|
||||
#define spi_default PICO_DEFAULT_SPI_INSTANCE
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
SPI_CPHA_0 = 0,
|
||||
SPI_CPHA_1 = 1
|
||||
|
@ -29,26 +29,15 @@ extern "C" {
|
||||
#define PICO_UART_DEFAULT_CRLF 0
|
||||
#endif
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART, Define the default UART used for printf etc, default=0, group=hardware_uart
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0 ///< Default UART instance
|
||||
#endif
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART, Define the default UART used for printf etc, default=undefined, group=hardware_uart
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART_TX_PIN, Define the default UART TX pin, min=0, max=29, default=undefined, group=hardware_uart
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART_RX_PIN, Define the default UART RX pin, min=0, max=29, default=undefined, group=hardware_uart
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART_BAUD_RATE, Define the default UART baudrate, max=921600, default=115200, group=hardware_uart
|
||||
#ifndef PICO_DEFAULT_UART_BAUD_RATE
|
||||
#define PICO_DEFAULT_UART_BAUD_RATE 115200 ///< Default baud rate
|
||||
#endif
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART_TX_PIN, Define the default UART TX pin, min=0, max=29, default=0, group=hardware_uart
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 0 ///< Default TX pin
|
||||
#endif
|
||||
|
||||
// PICO_CONFIG: PICO_DEFAULT_UART_RX_PIN, Define the default UART RX pin, min=0, max=29, default=1, group=hardware_uart
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 1 ///< Default RX pin
|
||||
#endif
|
||||
|
||||
/** \file hardware/uart.h
|
||||
* \defgroup hardware_uart hardware_uart
|
||||
*
|
||||
@ -93,11 +82,13 @@ typedef struct uart_inst uart_inst_t;
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifndef PICO_DEFAULT_UART_INSTANCE
|
||||
#if !defined(PICO_DEFAULT_UART_INSTANCE) && defined(PICO_DEFAULT_UART)
|
||||
#define PICO_DEFAULT_UART_INSTANCE (__CONCAT(uart,PICO_DEFAULT_UART))
|
||||
#endif
|
||||
|
||||
#ifdef PICO_DEFAULT_UART_INSTANCE
|
||||
#define uart_default PICO_DEFAULT_UART_INSTANCE
|
||||
#endif
|
||||
|
||||
/*! \brief Convert UART instance to hardware instance number
|
||||
* \ingroup hardware_uart
|
||||
@ -414,7 +405,11 @@ void uart_set_translate_crlf(uart_inst_t *uart, bool translate);
|
||||
* \ingroup hardware_uart
|
||||
*/
|
||||
static inline void uart_default_tx_wait_blocking(void) {
|
||||
#ifdef uart_default
|
||||
uart_tx_wait_blocking(uart_default);
|
||||
#else
|
||||
assert(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*! \brief Wait for up to a certain number of microseconds for the RX FIFO to be non empty
|
||||
|
@ -18,11 +18,12 @@ static uart_inst_t *uart_instance;
|
||||
#endif
|
||||
|
||||
void stdio_uart_init() {
|
||||
#ifdef uart_default
|
||||
int tx_pin = -1;
|
||||
int rx_pin = -1;
|
||||
#if defined(PICO_DEFAULT_UART_TX_PIN) && PICO_DEFAULT_UART_TX_PIN != -1
|
||||
#ifdef PICO_DEFAULT_UART_TX_PIN
|
||||
tx_pin = PICO_DEFAULT_UART_TX_PIN;
|
||||
#if defined(PICO_DEFAULT_UART_RX_PIN) && PICO_DEFAULT_UART_RX_PIN != -1
|
||||
#ifdef PICO_DEFAULT_UART_RX_PIN
|
||||
rx_pin = PICO_DEFAULT_UART_RX_PIN;
|
||||
stdio_bi_decl_if_func_used(bi_program_feature("UART stdin / stdout"));
|
||||
bi_decl_if_func_used(bi_2pins_with_func(PICO_DEFAULT_UART_RX_PIN, PICO_DEFAULT_UART_TX_PIN, GPIO_FUNC_UART));
|
||||
@ -30,22 +31,23 @@ void stdio_uart_init() {
|
||||
stdio_bi_decl_if_func_used(bi_program_feature("UART stdout"));
|
||||
bi_decl_if_func_used(bi_1pin_with_func(PICO_DEFAULT_UART_TX_PIN, GPIO_FUNC_UART));
|
||||
#endif
|
||||
#elif defined(PICO_DEFAULT_UART_RX_PIN) && PICO_DEFAULT_UART_RX_PIN != -1
|
||||
#elif defined(PICO_DEFAULT_UART_RX_PIN)
|
||||
rx_pin = PICO_DEFAULT_UART_RX_PIN;
|
||||
stdio_bi_decl_if_func_used(bi_program_feature("UART stdin"));
|
||||
bi_decl_if_func_used(bi_1pin_with_func(PICO_DEFAULT_UART_RX_PIN, GPIO_FUNC_UART));
|
||||
#endif
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE) || !defined(uart_default)
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE)
|
||||
panic("UART baud rate undefined");
|
||||
#else
|
||||
stdio_uart_init_full(uart_default, PICO_DEFAULT_UART_BAUD_RATE, tx_pin, rx_pin);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void stdout_uart_init() {
|
||||
#ifdef PICO_DEFAULT_UART_TX_PIN
|
||||
#if defined(uart_default) && defined(PICO_DEFAULT_UART_TX_PIN)
|
||||
bi_decl_if_func_used(bi_1pin_with_func(PICO_DEFAULT_UART_TX_PIN, GPIO_FUNC_UART));
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE) || !defined(uart_default)
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE)
|
||||
panic("UART baud rate undefined");
|
||||
#else
|
||||
stdio_bi_decl_if_func_used(bi_program_feature("UART stdout"));
|
||||
@ -55,9 +57,9 @@ void stdout_uart_init() {
|
||||
}
|
||||
|
||||
void stdin_uart_init() {
|
||||
#ifdef PICO_DEFAULT_UART_RX_PIN
|
||||
#if defined(uart_default) && defined(PICO_DEFAULT_UART_RX_PIN)
|
||||
bi_decl_if_func_used(bi_1pin_with_func(PICO_DEFAULT_UART_RX_PIN, GPIO_FUNC_UART));
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE) || !defined(uart_default)
|
||||
#if !defined(PICO_DEFAULT_UART_BAUD_RATE)
|
||||
panic("UART baud rate undefined");
|
||||
#else
|
||||
stdio_bi_decl_if_func_used(bi_program_feature("UART stdin"));
|
||||
@ -76,14 +78,14 @@ void stdio_uart_init_full(struct uart_inst *uart, uint baud_rate, int tx_pin, in
|
||||
|
||||
static void stdio_uart_out_chars(const char *buf, int length) {
|
||||
for (int i = 0; i <length; i++) {
|
||||
uart_putc(uart_default, buf[i]);
|
||||
uart_putc(uart_instance, buf[i]);
|
||||
}
|
||||
}
|
||||
|
||||
int stdio_uart_in_chars(char *buf, int length) {
|
||||
int i=0;
|
||||
while (i<length && uart_is_readable(uart_default)) {
|
||||
buf[i++] = uart_getc(uart_default);
|
||||
while (i<length && uart_is_readable(uart_instance)) {
|
||||
buf[i++] = uart_getc(uart_instance);
|
||||
}
|
||||
return i ? i : PICO_ERROR_NO_DATA;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user