mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 01:40:14 +01:00
rp2/boards/SPARKFUN_XRP_CONTROLLER: Add SparkFun XRP Controller.
Signed-off-by: Dryw Wade <dryw.wade@sparkfun.com>
This commit is contained in:
25
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/board.json
Normal file
25
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/board.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"deploy": [
|
||||
"../deploy.md"
|
||||
],
|
||||
"docs": "",
|
||||
"features": [
|
||||
"BLE",
|
||||
"Dual-core",
|
||||
"External Flash",
|
||||
"External RAM",
|
||||
"IMU",
|
||||
"JST-SH",
|
||||
"RGB LED",
|
||||
"USB-C",
|
||||
"WiFi"
|
||||
],
|
||||
"images": [
|
||||
"26619-XRP-Controller-Board-Feature.jpg"
|
||||
],
|
||||
"mcu": "rp2350",
|
||||
"product": "XRP Controller",
|
||||
"thumbnail": "",
|
||||
"url": "https://www.sparkfun.com/sparkfun-experiential-robotics-platform-xrp-controller.html",
|
||||
"vendor": "Sparkfun"
|
||||
}
|
||||
6
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/manifest.py
Normal file
6
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/manifest.py
Normal file
@@ -0,0 +1,6 @@
|
||||
include("$(PORT_DIR)/boards/manifest.py")
|
||||
|
||||
require("bundle-networking")
|
||||
|
||||
# Bluetooth
|
||||
require("aioble")
|
||||
20
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/mpconfigboard.cmake
Normal file
20
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/mpconfigboard.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
# cmake file for SparkFun XRP Controller
|
||||
|
||||
# TODO: DELETE THIS LINE WHEN SUBMODULED PICO-SDK INCLUDES THIS BOARD
|
||||
set(PICO_BOARD_HEADER_DIRS ${MICROPY_PORT_DIR}/boards/${MICROPY_BOARD})
|
||||
|
||||
set(PICO_BOARD "sparkfun_xrp_controller")
|
||||
set(PICO_PLATFORM "rp2350")
|
||||
|
||||
set(PICO_NUM_GPIOS 48)
|
||||
|
||||
set(MICROPY_PY_LWIP ON)
|
||||
set(MICROPY_PY_NETWORK_CYW43 ON)
|
||||
|
||||
# Bluetooth
|
||||
set(MICROPY_PY_BLUETOOTH ON)
|
||||
set(MICROPY_BLUETOOTH_BTSTACK ON)
|
||||
set(MICROPY_PY_BLUETOOTH_CYW43 ON)
|
||||
|
||||
# Board specific version of the frozen manifest
|
||||
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||
52
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/mpconfigboard.h
Normal file
52
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/mpconfigboard.h
Normal file
@@ -0,0 +1,52 @@
|
||||
// Board and hardware specific configuration
|
||||
#define MICROPY_HW_BOARD_NAME "SparkFun XRP Controller"
|
||||
#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - 1536 * 1024)
|
||||
|
||||
// Enable networking.
|
||||
#define MICROPY_PY_NETWORK 1
|
||||
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "XRP"
|
||||
|
||||
// CYW43 driver configuration.
|
||||
#define CYW43_USE_SPI (1)
|
||||
#define CYW43_LWIP (1)
|
||||
#define CYW43_GPIO (1)
|
||||
#define CYW43_SPI_PIO (1)
|
||||
|
||||
// For debugging mbedtls - also set
|
||||
// Debug level (0-4) 1=warning, 2=info, 3=debug, 4=verbose
|
||||
// #define MODUSSL_MBEDTLS_DEBUG_LEVEL 1
|
||||
|
||||
#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT
|
||||
|
||||
int mp_hal_is_pin_reserved(int n);
|
||||
#define MICROPY_HW_PIN_RESERVED(i) mp_hal_is_pin_reserved(i)
|
||||
|
||||
#define MICROPY_HW_USB_VID (0x1B4F)
|
||||
#define MICROPY_HW_USB_PID (0x0046)
|
||||
|
||||
#define MICROPY_HW_I2C0_SDA (4)
|
||||
#define MICROPY_HW_I2C0_SCL (5)
|
||||
|
||||
#define MICROPY_HW_I2C1_SDA (38)
|
||||
#define MICROPY_HW_I2C1_SCL (39)
|
||||
|
||||
#define MICROPY_HW_SPI0_SCK (18)
|
||||
#define MICROPY_HW_SPI0_MOSI (19)
|
||||
#define MICROPY_HW_SPI0_MISO (16)
|
||||
|
||||
#define MICROPY_HW_SPI1_SCK (14)
|
||||
#define MICROPY_HW_SPI1_MOSI (15)
|
||||
#define MICROPY_HW_SPI1_MISO (12)
|
||||
|
||||
#define MICROPY_HW_UART0_TX (12)
|
||||
#define MICROPY_HW_UART0_RX (13)
|
||||
#define MICROPY_HW_UART0_CTS (14)
|
||||
#define MICROPY_HW_UART0_RTS (15)
|
||||
|
||||
#define MICROPY_HW_UART1_TX (8)
|
||||
#define MICROPY_HW_UART1_RX (9)
|
||||
#define MICROPY_HW_UART1_CTS (10)
|
||||
#define MICROPY_HW_UART1_RTS (11)
|
||||
|
||||
#define MICROPY_HW_PSRAM_CS_PIN (47)
|
||||
#define MICROPY_HW_ENABLE_PSRAM (1)
|
||||
84
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/pins.csv
Normal file
84
ports/rp2/boards/SPARKFUN_XRP_CONTROLLER/pins.csv
Normal file
@@ -0,0 +1,84 @@
|
||||
# XRP default pin names
|
||||
MOTOR_L_IN_1,GPIO34
|
||||
MOTOR_L_IN_2,GPIO35
|
||||
MOTOR_R_IN_1,GPIO32
|
||||
MOTOR_R_IN_2,GPIO33
|
||||
MOTOR_3_IN_1,GPIO20
|
||||
MOTOR_3_IN_2,GPIO21
|
||||
MOTOR_4_IN_1,GPIO10
|
||||
MOTOR_4_IN_2,GPIO11
|
||||
MOTOR_L_ENCODER_A,GPIO30
|
||||
MOTOR_L_ENCODER_B,GPIO31
|
||||
MOTOR_R_ENCODER_A,GPIO24
|
||||
MOTOR_R_ENCODER_B,GPIO25
|
||||
MOTOR_3_ENCODER_A,GPIO22
|
||||
MOTOR_3_ENCODER_B,GPIO23
|
||||
MOTOR_4_ENCODER_A,GPIO2
|
||||
MOTOR_4_ENCODER_B,GPIO3
|
||||
MOTOR_L_CURRENT,GPIO40
|
||||
MOTOR_R_CURRENT,GPIO43
|
||||
MOTOR_3_CURRENT,GPIO41
|
||||
MOTOR_4_CURRENT,GPIO42
|
||||
SERVO_1,GPIO6
|
||||
SERVO_2,GPIO9
|
||||
SERVO_3,GPIO7
|
||||
SERVO_4,GPIO8
|
||||
I2C_SDA_0,GPIO4
|
||||
I2C_SCL_0,GPIO5
|
||||
I2C_SDA_1,GPIO38
|
||||
I2C_SCL_1,GPIO39
|
||||
DISTANCE_TRIGGER,GPIO0
|
||||
DISTANCE_ECHO,GPIO1
|
||||
LINE_L,GPIO44
|
||||
LINE_R,GPIO45
|
||||
BOARD_VIN_MEASURE,GPIO46
|
||||
BOARD_USER_BUTTON,GPIO36
|
||||
BOARD_NEOPIXEL,GPIO37
|
||||
BOARD_LED,EXT_GPIO0
|
||||
|
||||
# XRP alternate pin names
|
||||
ML_IN_1,GPIO34
|
||||
ML_IN_2,GPIO35
|
||||
MR_IN_1,GPIO32
|
||||
MR_IN_2,GPIO33
|
||||
M3_IN_1,GPIO20
|
||||
M3_IN_2,GPIO21
|
||||
M4_IN_1,GPIO10
|
||||
M4_IN_2,GPIO11
|
||||
ML_ENC_A,GPIO30
|
||||
ML_ENC_B,GPIO31
|
||||
MR_ENC_A,GPIO24
|
||||
MR_ENC_B,GPIO25
|
||||
M3_ENC_A,GPIO22
|
||||
M3_ENC_B,GPIO23
|
||||
M4_ENC_A,GPIO2
|
||||
M4_ENC_B,GPIO3
|
||||
ML_CUR,GPIO40
|
||||
MR_CUR,GPIO43
|
||||
M3_CUR,GPIO41
|
||||
M4_CUR,GPIO42
|
||||
S1,GPIO6
|
||||
S2,GPIO9
|
||||
S3,GPIO7
|
||||
S4,GPIO8
|
||||
SDA_0,GPIO4
|
||||
SCL_0,GPIO5
|
||||
SDA_1,GPIO38
|
||||
SCL_1,GPIO39
|
||||
RANGE_TRIGGER,GPIO0
|
||||
RANGE_ECHO,GPIO1
|
||||
REFLECTANCE_L,GPIO44
|
||||
REFLECTANCE_R,GPIO45
|
||||
BRD_VIN,GPIO46
|
||||
BRD_USR_BTN,GPIO36
|
||||
BRD_RGB_LED,GPIO37
|
||||
BRD_LED,EXT_GPIO0
|
||||
|
||||
# LED default names
|
||||
LED,EXT_GPIO0
|
||||
NEOPIXEL,GPIO37
|
||||
|
||||
# Radio GPIO pins
|
||||
WL_GPIO0,EXT_GPIO0
|
||||
WL_GPIO1,EXT_GPIO1
|
||||
WL_GPIO2,EXT_GPIO2
|
||||
|
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* Copyright (c) 2024 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 XRP Controller
|
||||
//
|
||||
// This header may be included by other board headers as "boards/sparkfun_xrp_controller.h"
|
||||
|
||||
// pico_cmake_set PICO_PLATFORM=rp2350
|
||||
// pico_cmake_set PICO_CYW43_SUPPORTED = 1
|
||||
|
||||
#ifndef _BOARDS_SPARKFUN_XRP_CONTROLLER_H
|
||||
#define _BOARDS_SPARKFUN_XRP_CONTROLLER_H
|
||||
|
||||
// For board detection
|
||||
#define SPARKFUN_XRP_CONTROLLER
|
||||
|
||||
// --- RP2350 VARIANT ---
|
||||
#define PICO_RP2350A 0
|
||||
|
||||
// --- UART ---
|
||||
#ifndef PICO_DEFAULT_UART
|
||||
#define PICO_DEFAULT_UART 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||
#define PICO_DEFAULT_UART_TX_PIN 12
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||
#define PICO_DEFAULT_UART_RX_PIN 13
|
||||
#endif
|
||||
|
||||
// --- LED ---
|
||||
// no PICO_DEFAULT_LED_PIN - LED is on Wireless chip
|
||||
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||
#define PICO_DEFAULT_WS2812_PIN 37
|
||||
#endif
|
||||
|
||||
// --- I2C --- Qwiic connector is on these pins
|
||||
#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 ---
|
||||
#ifndef PICO_DEFAULT_SPI
|
||||
#define PICO_DEFAULT_SPI 0
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||
#define PICO_DEFAULT_SPI_SCK_PIN 18
|
||||
#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 16
|
||||
#endif
|
||||
#ifndef PICO_DEFAULT_SPI_CSN_PIN
|
||||
#define PICO_DEFAULT_SPI_CSN_PIN 17
|
||||
#endif
|
||||
|
||||
// --- FLASH ---
|
||||
|
||||
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
|
||||
|
||||
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||
#define PICO_FLASH_SPI_CLKDIV 2
|
||||
#endif
|
||||
|
||||
// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (16 * 1024 * 1024)
|
||||
#ifndef PICO_FLASH_SIZE_BYTES
|
||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
#ifndef CYW43_WL_GPIO_COUNT
|
||||
#define CYW43_WL_GPIO_COUNT 3
|
||||
#endif
|
||||
|
||||
#ifndef CYW43_WL_GPIO_LED_PIN
|
||||
#define CYW43_WL_GPIO_LED_PIN 0
|
||||
#endif
|
||||
|
||||
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||
#define PICO_RP2350_A2_SUPPORTED 1
|
||||
#endif
|
||||
|
||||
// cyw43 SPI pins can't be changed at runtime
|
||||
#ifndef CYW43_PIN_WL_DYNAMIC
|
||||
#define CYW43_PIN_WL_DYNAMIC 0
|
||||
#endif
|
||||
|
||||
// gpio pin to power up the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_REG_ON
|
||||
#define CYW43_DEFAULT_PIN_WL_REG_ON 26u
|
||||
#endif
|
||||
|
||||
// gpio pin for spi data out to the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_DATA_OUT
|
||||
#define CYW43_DEFAULT_PIN_WL_DATA_OUT 29u
|
||||
#endif
|
||||
|
||||
// gpio pin for spi data in from the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_DATA_IN
|
||||
#define CYW43_DEFAULT_PIN_WL_DATA_IN 29u
|
||||
#endif
|
||||
|
||||
// gpio (irq) pin for the irq line from the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE
|
||||
#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 29u
|
||||
#endif
|
||||
|
||||
// gpio pin for the spi clock line to the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_CLOCK
|
||||
#define CYW43_DEFAULT_PIN_WL_CLOCK 28u
|
||||
#endif
|
||||
|
||||
// gpio pin for the spi chip select to the cyw43 chip
|
||||
#ifndef CYW43_DEFAULT_PIN_WL_CS
|
||||
#define CYW43_DEFAULT_PIN_WL_CS 27u
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user