Browse Source

rp2/boards: Add support for Pololu 3pi+ and Zumo robots.

Signed-off-by: Paul Grayson <paul@pololu.com>
pull/10909/head
Paul Grayson 1 year ago
committed by Damien George
parent
commit
c51081c604
  1. 22
      ports/rp2/boards/POLOLU_3PI_2040_ROBOT/board.json
  2. 1
      ports/rp2/boards/POLOLU_3PI_2040_ROBOT/mpconfigboard.cmake
  3. 18
      ports/rp2/boards/POLOLU_3PI_2040_ROBOT/mpconfigboard.h
  4. 31
      ports/rp2/boards/POLOLU_3PI_2040_ROBOT/pins.csv
  5. 23
      ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/board.json
  6. 5
      ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/mpconfigboard.cmake
  7. 18
      ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/mpconfigboard.h
  8. 31
      ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/pins.csv
  9. 26
      ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/pololu_zumo_2040_robot.h

22
ports/rp2/boards/POLOLU_3PI_2040_ROBOT/board.json

@ -0,0 +1,22 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"USB-C",
"IMU",
"RGB LED",
"Display",
"Dual-core",
"External Flash"
],
"images": [
"pololu_3pi_2040_robot.jpg"
],
"mcu": "rp2040",
"product": "Pololu 3pi+ 2040 Robot",
"thumbnail": "",
"url": "https://www.pololu.com/3pi",
"vendor": "Pololu"
}

1
ports/rp2/boards/POLOLU_3PI_2040_ROBOT/mpconfigboard.cmake

@ -0,0 +1 @@
# cmake file for Pololu 3pi+ 2040 Robot

18
ports/rp2/boards/POLOLU_3PI_2040_ROBOT/mpconfigboard.h

@ -0,0 +1,18 @@
#pragma once
// Board and hardware specific configuration
#define MICROPY_HW_BOARD_NAME "Pololu 3pi+ 2040 Robot"
#define MICROPY_HW_FLASH_STORAGE_BYTES (15 * 1024 * 1024)
#define MICROPY_HW_USB_MSC (1)
#define MICROPY_HW_USB_VID (0x1FFB)
#define MICROPY_HW_USB_PID (0x2043)
#define MICROPY_HW_USB_DESC_STR_MAX (40)
#define MICROPY_HW_USB_MANUFACTURER_STRING "Pololu Corporation"
#define MICROPY_HW_USB_PRODUCT_FS_STRING MICROPY_HW_BOARD_NAME " MicroPython"
#define MICROPY_BANNER_MACHINE MICROPY_HW_BOARD_NAME
#define MICROPY_HW_I2C_NO_DEFAULT_PINS (1)
#define MICROPY_HW_SPI_NO_DEFAULT_PINS (1)
#define MICROPY_HW_UART_NO_DEFAULT_PINS (1)

31
ports/rp2/boards/POLOLU_3PI_2040_ROBOT/pins.csv

@ -0,0 +1,31 @@
GP0,GPIO0
GP1,GPIO1
GP2,GPIO2
GP3,GPIO3
GP4,GPIO4
GP5,GPIO5
GP6,GPIO6
GP7,GPIO7
GP8,GPIO8
GP9,GPIO9
GP10,GPIO10
GP11,GPIO11
GP12,GPIO12
GP13,GPIO13
GP14,GPIO14
GP15,GPIO15
GP16,GPIO16
GP17,GPIO17
GP18,GPIO18
GP19,GPIO19
GP20,GPIO20
GP21,GPIO21
GP22,GPIO22
GP23,GPIO23
GP24,GPIO24
GP25,GPIO25
GP26,GPIO26
GP27,GPIO27
GP28,GPIO28
GP29,GPIO29
LED,GPIO25
1 GP0 GPIO0
2 GP1 GPIO1
3 GP2 GPIO2
4 GP3 GPIO3
5 GP4 GPIO4
6 GP5 GPIO5
7 GP6 GPIO6
8 GP7 GPIO7
9 GP8 GPIO8
10 GP9 GPIO9
11 GP10 GPIO10
12 GP11 GPIO11
13 GP12 GPIO12
14 GP13 GPIO13
15 GP14 GPIO14
16 GP15 GPIO15
17 GP16 GPIO16
18 GP17 GPIO17
19 GP18 GPIO18
20 GP19 GPIO19
21 GP20 GPIO20
22 GP21 GPIO21
23 GP22 GPIO22
24 GP23 GPIO23
25 GP24 GPIO24
26 GP25 GPIO25
27 GP26 GPIO26
28 GP27 GPIO27
29 GP28 GPIO28
30 GP29 GPIO29
31 LED GPIO25

23
ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/board.json

@ -0,0 +1,23 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"USB-C",
"JST-SH",
"IMU",
"RGB LED",
"Display",
"Dual-core",
"External Flash"
],
"images": [
"pololu_zumo_2040_robot.jpg"
],
"mcu": "rp2040",
"product": "Pololu Zumo 2040 Robot",
"thumbnail": "",
"url": "https://www.pololu.com/zumo",
"vendor": "Pololu"
}

5
ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/mpconfigboard.cmake

@ -0,0 +1,5 @@
# cmake file for Pololu Zumo 2040 Robot
# This board is not yet in upstream pico-sdk, so define it here
# See also: https://github.com/raspberrypi/pico-sdk/tree/master/src/boards/include/boards
list(APPEND PICO_BOARD_HEADER_DIRS ${MICROPY_BOARD_DIR})

18
ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/mpconfigboard.h

@ -0,0 +1,18 @@
#pragma once
// Board and hardware specific configuration
#define MICROPY_HW_BOARD_NAME "Pololu Zumo 2040 Robot"
#define MICROPY_HW_FLASH_STORAGE_BYTES (15 * 1024 * 1024)
#define MICROPY_HW_USB_MSC (1)
#define MICROPY_HW_USB_VID (0x1FFB)
#define MICROPY_HW_USB_PID (0x2044)
#define MICROPY_HW_USB_DESC_STR_MAX (40)
#define MICROPY_HW_USB_MANUFACTURER_STRING "Pololu Corporation"
#define MICROPY_HW_USB_PRODUCT_FS_STRING MICROPY_HW_BOARD_NAME " MicroPython"
#define MICROPY_BANNER_MACHINE MICROPY_HW_BOARD_NAME
#define MICROPY_HW_I2C_NO_DEFAULT_PINS (1)
#define MICROPY_HW_SPI_NO_DEFAULT_PINS (1)
#define MICROPY_HW_UART_NO_DEFAULT_PINS (1)

31
ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/pins.csv

@ -0,0 +1,31 @@
GP0,GPIO0
GP1,GPIO1
GP2,GPIO2
GP3,GPIO3
GP4,GPIO4
GP5,GPIO5
GP6,GPIO6
GP7,GPIO7
GP8,GPIO8
GP9,GPIO9
GP10,GPIO10
GP11,GPIO11
GP12,GPIO12
GP13,GPIO13
GP14,GPIO14
GP15,GPIO15
GP16,GPIO16
GP17,GPIO17
GP18,GPIO18
GP19,GPIO19
GP20,GPIO20
GP21,GPIO21
GP22,GPIO22
GP23,GPIO23
GP24,GPIO24
GP25,GPIO25
GP26,GPIO26
GP27,GPIO27
GP28,GPIO28
GP29,GPIO29
LED,GPIO25
1 GP0 GPIO0
2 GP1 GPIO1
3 GP2 GPIO2
4 GP3 GPIO3
5 GP4 GPIO4
6 GP5 GPIO5
7 GP6 GPIO6
8 GP7 GPIO7
9 GP8 GPIO8
10 GP9 GPIO9
11 GP10 GPIO10
12 GP11 GPIO11
13 GP12 GPIO12
14 GP13 GPIO13
15 GP14 GPIO14
16 GP15 GPIO15
17 GP16 GPIO16
18 GP17 GPIO17
19 GP18 GPIO18
20 GP19 GPIO19
21 GP20 GPIO20
22 GP21 GPIO21
23 GP22 GPIO22
24 GP23 GPIO23
25 GP24 GPIO24
26 GP25 GPIO25
27 GP26 GPIO26
28 GP27 GPIO27
29 GP28 GPIO28
30 GP29 GPIO29
31 LED GPIO25

26
ports/rp2/boards/POLOLU_ZUMO_2040_ROBOT/pololu_zumo_2040_robot.h

@ -0,0 +1,26 @@
/*
* Copyright (c) 2023 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 _POLOLU_ZUMO_2040_ROBOT_H
#define _POLOLU_ZUMO_2040_ROBOT_H
// For board detection
#define POLOLU_ZUMO_2040_ROBOT
#define PICO_DEFAULT_LED_PIN 25
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
#define PICO_FLASH_SPI_CLKDIV 2
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
// All boards have at least the B1 revision
#define PICO_RP2040_B0_SUPPORTED 0
#endif
Loading…
Cancel
Save