Skip to content

Commit cad62c2

Browse files
sfe-SparkFrodpgeorge
authored andcommitted
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Add SparkFun XRP Controller.
Signed-off-by: Dryw Wade <[email protected]>
1 parent 9939b6c commit cad62c2

File tree

5 files changed

+136
-0
lines changed

5 files changed

+136
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"deploy": [
3+
"../deploy.md"
4+
],
5+
"docs": "",
6+
"features": [
7+
"BLE",
8+
"Dual-core",
9+
"External Flash",
10+
"IMU",
11+
"JST-SH",
12+
"USB",
13+
"WiFi"
14+
],
15+
"images": [
16+
"22727-_01.jpg"
17+
],
18+
"mcu": "rp2040",
19+
"product": "XRP Controller (Beta)",
20+
"thumbnail": "",
21+
"url": "https://www.sparkfun.com/sparkfun-experiential-robotics-platform-xrp-controller.html",
22+
"vendor": "Sparkfun"
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
include("$(PORT_DIR)/boards/manifest.py")
2+
3+
require("bundle-networking")
4+
5+
# Bluetooth
6+
require("aioble")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# cmake file for SparkFun XRP Controller (Beta)
2+
3+
set(PICO_BOARD "pico_w")
4+
5+
set(MICROPY_PY_LWIP ON)
6+
set(MICROPY_PY_NETWORK_CYW43 ON)
7+
8+
# Bluetooth
9+
set(MICROPY_PY_BLUETOOTH ON)
10+
set(MICROPY_BLUETOOTH_BTSTACK ON)
11+
set(MICROPY_PY_BLUETOOTH_CYW43 ON)
12+
13+
# Board specific version of the frozen manifest
14+
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Board and hardware specific configuration
2+
#define MICROPY_HW_BOARD_NAME "SparkFun XRP Controller (Beta)"
3+
4+
// todo: We need something to check our binary size
5+
#define MICROPY_HW_FLASH_STORAGE_BYTES (848 * 1024)
6+
7+
// Enable networking.
8+
#define MICROPY_PY_NETWORK 1
9+
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "XRP"
10+
11+
// CYW43 driver configuration.
12+
#define CYW43_USE_SPI (1)
13+
#define CYW43_LWIP (1)
14+
#define CYW43_GPIO (1)
15+
#define CYW43_SPI_PIO (1)
16+
17+
// For debugging mbedtls - also set
18+
// Debug level (0-4) 1=warning, 2=info, 3=debug, 4=verbose
19+
// #define MODUSSL_MBEDTLS_DEBUG_LEVEL 1
20+
21+
#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT
22+
23+
// If this returns true for a pin then its irq will not be disabled on a soft reboot
24+
int mp_hal_is_pin_reserved(int n);
25+
#define MICROPY_HW_PIN_RESERVED(i) mp_hal_is_pin_reserved(i)
26+
27+
#define MICROPY_HW_I2C1_SDA (18)
28+
#define MICROPY_HW_I2C1_SCL (19)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# XRP default pin names
2+
MOTOR_L_IN_1,GPIO6
3+
MOTOR_L_IN_2,GPIO7
4+
MOTOR_R_IN_1,GPIO14
5+
MOTOR_R_IN_2,GPIO15
6+
MOTOR_3_IN_1,GPIO2
7+
MOTOR_3_IN_2,GPIO3
8+
MOTOR_4_IN_1,GPIO10
9+
MOTOR_4_IN_2,GPIO11
10+
MOTOR_L_ENCODER_A,GPIO4
11+
MOTOR_L_ENCODER_B,GPIO5
12+
MOTOR_R_ENCODER_A,GPIO12
13+
MOTOR_R_ENCODER_B,GPIO13
14+
MOTOR_3_ENCODER_A,GPIO0
15+
MOTOR_3_ENCODER_B,GPIO1
16+
MOTOR_4_ENCODER_A,GPIO8
17+
MOTOR_4_ENCODER_B,GPIO9
18+
SERVO_1,GPIO16
19+
SERVO_2,GPIO17
20+
I2C_SDA_1,GPIO18
21+
I2C_SCL_1,GPIO19
22+
DISTANCE_TRIGGER,GPIO20
23+
DISTANCE_ECHO,GPIO21
24+
LINE_L,GPIO26
25+
LINE_R,GPIO27
26+
BOARD_VIN_MEASURE,GPIO28
27+
BOARD_USER_BUTTON,GPIO22
28+
BOARD_LED,EXT_GPIO0
29+
30+
# XRP alternate pin names
31+
ML_IN_1,GPIO6
32+
ML_IN_2,GPIO7
33+
MR_IN_1,GPIO14
34+
MR_IN_2,GPIO15
35+
M3_IN_1,GPIO2
36+
M3_IN_2,GPIO3
37+
M4_IN_1,GPIO10
38+
M4_IN_2,GPIO11
39+
ML_ENC_A,GPIO4
40+
ML_ENC_B,GPIO5
41+
MR_ENC_A,GPIO12
42+
MR_ENC_B,GPIO13
43+
M3_ENC_A,GPIO0
44+
M3_ENC_B,GPIO1
45+
M4_ENC_A,GPIO8
46+
M4_ENC_B,GPIO9
47+
S1,GPIO16
48+
S2,GPIO17
49+
SDA_1,GPIO18
50+
SCL_1,GPIO19
51+
RANGE_TRIGGER,GPIO20
52+
RANGE_ECHO,GPIO21
53+
REFLECTANCE_L,GPIO26
54+
REFLECTANCE_R,GPIO27
55+
BRD_VIN,GPIO28
56+
BRD_USR_BTN,GPIO22
57+
BRD_LED,EXT_GPIO0
58+
59+
# LED default names
60+
LED,EXT_GPIO0
61+
62+
# Radio GPIO pins
63+
WL_GPIO0,EXT_GPIO0
64+
WL_GPIO1,EXT_GPIO1
65+
WL_GPIO2,EXT_GPIO2

0 commit comments

Comments
 (0)