Unverified Commit 683b62ed authored by Earle F. Philhower, III's avatar Earle F. Philhower, III Committed by GitHub

Add Waveshare RP2040 Matrix (#2113)

Fixes #2033
parent ebbedb3e
......@@ -16636,6 +16636,210 @@ waveshare_rp2040_one.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
waveshare_rp2040_one.menu.uploadmethod.picodebug.upload.tool=picodebug
waveshare_rp2040_one.menu.uploadmethod.picodebug.upload.tool.default=picodebug
# -----------------------------------
# Waveshare RP2040 Matrix
# -----------------------------------
waveshare_rp2040_matrix.name=Waveshare RP2040 Matrix
waveshare_rp2040_matrix.vid.0=0x2e8a
waveshare_rp2040_matrix.pid.0=0x103a
waveshare_rp2040_matrix.vid.1=0x2e8a
waveshare_rp2040_matrix.pid.1=0x113a
waveshare_rp2040_matrix.vid.2=0x2e8a
waveshare_rp2040_matrix.pid.2=0x503a
waveshare_rp2040_matrix.vid.3=0x2e8a
waveshare_rp2040_matrix.pid.3=0x513a
waveshare_rp2040_matrix.vid.4=0x2e8a
waveshare_rp2040_matrix.pid.4=0x903a
waveshare_rp2040_matrix.vid.5=0x2e8a
waveshare_rp2040_matrix.pid.5=0x913a
waveshare_rp2040_matrix.vid.6=0x2e8a
waveshare_rp2040_matrix.pid.6=0xd03a
waveshare_rp2040_matrix.vid.7=0x2e8a
waveshare_rp2040_matrix.pid.7=0xd13a
waveshare_rp2040_matrix.build.usbvid=-DUSBD_VID=0x2e8a
waveshare_rp2040_matrix.build.usbpid=-DUSBD_PID=0x103a
waveshare_rp2040_matrix.build.usbpwr=-DUSBD_MAX_POWER_MA=500
waveshare_rp2040_matrix.build.board=WAVESHARE_RP2040_MATRIX
waveshare_rp2040_matrix.build.mcu=cortex-m0plus
waveshare_rp2040_matrix.build.variant=waveshare_rp2040_matrix
waveshare_rp2040_matrix.upload.maximum_size=2097152
waveshare_rp2040_matrix.upload.wait_for_upload_port=true
waveshare_rp2040_matrix.upload.erase_cmd=
waveshare_rp2040_matrix.serial.disableDTR=false
waveshare_rp2040_matrix.serial.disableRTS=false
waveshare_rp2040_matrix.build.f_cpu=125000000
waveshare_rp2040_matrix.build.led=
waveshare_rp2040_matrix.build.core=rp2040
waveshare_rp2040_matrix.build.ldscript=memmap_default.ld
waveshare_rp2040_matrix.build.boot2=boot2_w25q16jvxq_4_padded_checksum
waveshare_rp2040_matrix.build.usb_manufacturer="Waveshare"
waveshare_rp2040_matrix.build.usb_product="RP2040 Matrix"
waveshare_rp2040_matrix.menu.flash.2097152_0=2MB (no FS)
waveshare_rp2040_matrix.menu.flash.2097152_0.upload.maximum_size=2093056
waveshare_rp2040_matrix.menu.flash.2097152_0.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_0.build.flash_length=2093056
waveshare_rp2040_matrix.menu.flash.2097152_0.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_0.build.fs_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_0.build.fs_end=270528512
waveshare_rp2040_matrix.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB)
waveshare_rp2040_matrix.menu.flash.2097152_65536.upload.maximum_size=2027520
waveshare_rp2040_matrix.menu.flash.2097152_65536.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_65536.build.flash_length=2027520
waveshare_rp2040_matrix.menu.flash.2097152_65536.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_65536.build.fs_start=270462976
waveshare_rp2040_matrix.menu.flash.2097152_65536.build.fs_end=270528512
waveshare_rp2040_matrix.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB)
waveshare_rp2040_matrix.menu.flash.2097152_131072.upload.maximum_size=1961984
waveshare_rp2040_matrix.menu.flash.2097152_131072.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_131072.build.flash_length=1961984
waveshare_rp2040_matrix.menu.flash.2097152_131072.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_131072.build.fs_start=270397440
waveshare_rp2040_matrix.menu.flash.2097152_131072.build.fs_end=270528512
waveshare_rp2040_matrix.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB)
waveshare_rp2040_matrix.menu.flash.2097152_262144.upload.maximum_size=1830912
waveshare_rp2040_matrix.menu.flash.2097152_262144.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_262144.build.flash_length=1830912
waveshare_rp2040_matrix.menu.flash.2097152_262144.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_262144.build.fs_start=270266368
waveshare_rp2040_matrix.menu.flash.2097152_262144.build.fs_end=270528512
waveshare_rp2040_matrix.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB)
waveshare_rp2040_matrix.menu.flash.2097152_524288.upload.maximum_size=1568768
waveshare_rp2040_matrix.menu.flash.2097152_524288.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_524288.build.flash_length=1568768
waveshare_rp2040_matrix.menu.flash.2097152_524288.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_524288.build.fs_start=270004224
waveshare_rp2040_matrix.menu.flash.2097152_524288.build.fs_end=270528512
waveshare_rp2040_matrix.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB)
waveshare_rp2040_matrix.menu.flash.2097152_1048576.upload.maximum_size=1044480
waveshare_rp2040_matrix.menu.flash.2097152_1048576.build.flash_total=2097152
waveshare_rp2040_matrix.menu.flash.2097152_1048576.build.flash_length=1044480
waveshare_rp2040_matrix.menu.flash.2097152_1048576.build.eeprom_start=270528512
waveshare_rp2040_matrix.menu.flash.2097152_1048576.build.fs_start=269479936
waveshare_rp2040_matrix.menu.flash.2097152_1048576.build.fs_end=270528512
waveshare_rp2040_matrix.menu.freq.133=133 MHz
waveshare_rp2040_matrix.menu.freq.133.build.f_cpu=133000000L
waveshare_rp2040_matrix.menu.freq.50=50 MHz
waveshare_rp2040_matrix.menu.freq.50.build.f_cpu=50000000L
waveshare_rp2040_matrix.menu.freq.100=100 MHz
waveshare_rp2040_matrix.menu.freq.100.build.f_cpu=100000000L
waveshare_rp2040_matrix.menu.freq.120=120 MHz
waveshare_rp2040_matrix.menu.freq.120.build.f_cpu=120000000L
waveshare_rp2040_matrix.menu.freq.125=125 MHz
waveshare_rp2040_matrix.menu.freq.125.build.f_cpu=125000000L
waveshare_rp2040_matrix.menu.freq.128=128 MHz
waveshare_rp2040_matrix.menu.freq.128.build.f_cpu=128000000L
waveshare_rp2040_matrix.menu.freq.150=150 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.150.build.f_cpu=150000000L
waveshare_rp2040_matrix.menu.freq.175=175 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.175.build.f_cpu=175000000L
waveshare_rp2040_matrix.menu.freq.200=200 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.200.build.f_cpu=200000000L
waveshare_rp2040_matrix.menu.freq.225=225 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.225.build.f_cpu=225000000L
waveshare_rp2040_matrix.menu.freq.240=240 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.240.build.f_cpu=240000000L
waveshare_rp2040_matrix.menu.freq.250=250 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.250.build.f_cpu=250000000L
waveshare_rp2040_matrix.menu.freq.275=275 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.275.build.f_cpu=275000000L
waveshare_rp2040_matrix.menu.freq.300=300 MHz (Overclock)
waveshare_rp2040_matrix.menu.freq.300.build.f_cpu=300000000L
waveshare_rp2040_matrix.menu.opt.Small=Small (-Os) (standard)
waveshare_rp2040_matrix.menu.opt.Small.build.flags.optimize=-Os
waveshare_rp2040_matrix.menu.opt.Optimize=Optimize (-O)
waveshare_rp2040_matrix.menu.opt.Optimize.build.flags.optimize=-O
waveshare_rp2040_matrix.menu.opt.Optimize2=Optimize More (-O2)
waveshare_rp2040_matrix.menu.opt.Optimize2.build.flags.optimize=-O2
waveshare_rp2040_matrix.menu.opt.Optimize3=Optimize Even More (-O3)
waveshare_rp2040_matrix.menu.opt.Optimize3.build.flags.optimize=-O3
waveshare_rp2040_matrix.menu.opt.Fast=Fast (-Ofast) (maybe slower)
waveshare_rp2040_matrix.menu.opt.Fast.build.flags.optimize=-Ofast
waveshare_rp2040_matrix.menu.opt.Debug=Debug (-Og)
waveshare_rp2040_matrix.menu.opt.Debug.build.flags.optimize=-Og
waveshare_rp2040_matrix.menu.rtti.Disabled=Disabled
waveshare_rp2040_matrix.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
waveshare_rp2040_matrix.menu.rtti.Enabled=Enabled
waveshare_rp2040_matrix.menu.rtti.Enabled.build.flags.rtti=
waveshare_rp2040_matrix.menu.stackprotect.Disabled=Disabled
waveshare_rp2040_matrix.menu.stackprotect.Disabled.build.flags.stackprotect=
waveshare_rp2040_matrix.menu.stackprotect.Enabled=Enabled
waveshare_rp2040_matrix.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
waveshare_rp2040_matrix.menu.exceptions.Disabled=Disabled
waveshare_rp2040_matrix.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
waveshare_rp2040_matrix.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
waveshare_rp2040_matrix.menu.exceptions.Enabled=Enabled
waveshare_rp2040_matrix.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
waveshare_rp2040_matrix.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
waveshare_rp2040_matrix.menu.dbgport.Disabled=Disabled
waveshare_rp2040_matrix.menu.dbgport.Disabled.build.debug_port=
waveshare_rp2040_matrix.menu.dbgport.Serial=Serial
waveshare_rp2040_matrix.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
waveshare_rp2040_matrix.menu.dbgport.Serial1=Serial1
waveshare_rp2040_matrix.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
waveshare_rp2040_matrix.menu.dbgport.Serial2=Serial2
waveshare_rp2040_matrix.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
waveshare_rp2040_matrix.menu.dbglvl.None=None
waveshare_rp2040_matrix.menu.dbglvl.None.build.debug_level=
waveshare_rp2040_matrix.menu.dbglvl.Core=Core
waveshare_rp2040_matrix.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
waveshare_rp2040_matrix.menu.dbglvl.SPI=SPI
waveshare_rp2040_matrix.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
waveshare_rp2040_matrix.menu.dbglvl.Wire=Wire
waveshare_rp2040_matrix.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
waveshare_rp2040_matrix.menu.dbglvl.Bluetooth=Bluetooth
waveshare_rp2040_matrix.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH
waveshare_rp2040_matrix.menu.dbglvl.All=All
waveshare_rp2040_matrix.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH
waveshare_rp2040_matrix.menu.dbglvl.NDEBUG=NDEBUG
waveshare_rp2040_matrix.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
waveshare_rp2040_matrix.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_matrix.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_matrix.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_matrix.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_matrix.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native)
waveshare_rp2040_matrix.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_matrix.menu.usbstack.nousb=No USB
waveshare_rp2040_matrix.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_matrix.menu.ipbtstack.ipv4only=IPv4 Only
waveshare_rp2040_matrix.menu.ipbtstack.ipv4only.build.libpicow=libpicow-noipv6-nobtc-noble.a
waveshare_rp2040_matrix.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6.build.libpicow=libpicow-ipv6-nobtc-noble.a
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
waveshare_rp2040_matrix.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
waveshare_rp2040_matrix.menu.ipbtstack.ipv4btcble.build.libpicow=libpicow-noipv6-btc-ble.a
waveshare_rp2040_matrix.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libpicow-ipv6-btc-ble.a
waveshare_rp2040_matrix.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
waveshare_rp2040_matrix.menu.uploadmethod.default=Default (UF2)
waveshare_rp2040_matrix.menu.uploadmethod.default.build.ram_length=256k
waveshare_rp2040_matrix.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
waveshare_rp2040_matrix.menu.uploadmethod.default.upload.maximum_data_size=262144
waveshare_rp2040_matrix.menu.uploadmethod.default.upload.tool=uf2conv
waveshare_rp2040_matrix.menu.uploadmethod.default.upload.tool.default=uf2conv
waveshare_rp2040_matrix.menu.uploadmethod.default.upload.tool.network=uf2conv-network
waveshare_rp2040_matrix.menu.uploadmethod.picotool=Picotool
waveshare_rp2040_matrix.menu.uploadmethod.picotool.build.ram_length=256k
waveshare_rp2040_matrix.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
waveshare_rp2040_matrix.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
waveshare_rp2040_matrix.menu.uploadmethod.picotool.upload.maximum_data_size=262144
waveshare_rp2040_matrix.menu.uploadmethod.picotool.upload.tool=picotool
waveshare_rp2040_matrix.menu.uploadmethod.picotool.upload.tool.default=picotool
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe (CMSIS-DAP)
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=256k
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=262144
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
waveshare_rp2040_matrix.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
waveshare_rp2040_matrix.menu.uploadmethod.picodebug=Pico-Debug
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.build.ram_length=240k
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.build.debugscript=picodebug.tcl
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.build.picodebugflags=-UUSE_TINYUSB -DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.upload.tool=picodebug
waveshare_rp2040_matrix.menu.uploadmethod.picodebug.upload.tool.default=picodebug
# -----------------------------------
# Waveshare RP2040 Plus 4MB
# -----------------------------------
......@@ -221,6 +221,9 @@
{
"name": "Waveshare RP2040 One"
},
{
"name": "Waveshare RP2040 Matrix"
},
{
"name": "Waveshare RP2040 Plus 4MB"
},
......
......@@ -466,6 +466,7 @@ MakeBoard("viyalab_mizu", "Viyalab", "Mizu RP2040", "0x2e8a", "0x000a", 250, "VI
# Waveshare
MakeBoard("waveshare_rp2040_zero", "Waveshare", "RP2040 Zero", "0x2e8a", "0x0003", 500, "WAVESHARE_RP2040_ZERO", 2, "boot2_w25q16jvxq_4_padded_checksum")
MakeBoard("waveshare_rp2040_one", "Waveshare", "RP2040 One", "0x2e8a", "0x103a", 500, "WAVESHARE_RP2040_ONE", 4, "boot2_w25q16jvxq_4_padded_checksum")
MakeBoard("waveshare_rp2040_matrix", "Waveshare", "RP2040 Matrix", "0x2e8a", "0x103a", 500, "WAVESHARE_RP2040_MATRIX", 2, "boot2_w25q16jvxq_4_padded_checksum")
MakeBoard("waveshare_rp2040_plus_4mb", "Waveshare", "RP2040 Plus 4MB", "0x2e8a", "0x1020", 500, "WAVESHARE_RP2040_PLUS", 4, "boot2_w25q080_2_padded_checksum")
MakeBoard("waveshare_rp2040_plus_16mb", "Waveshare", "RP2040 Plus 16MB", "0x2e8a", "0x1020", 500, "WAVESHARE_RP2040_PLUS", 16, "boot2_w25q080_2_padded_checksum")
MakeBoard("waveshare_rp2040_lcd_0_96", "Waveshare", "RP2040 LCD 0.96", "0x2e8a", "0x1021", 500, "WAVESHARE_RP2040_LCD_0_96", 2, "boot2_w25q16jvxq_4_padded_checksum")
......
#pragma once
// Waveshare RP2040 Matrix
// https://files.waveshare.com/upload/4/49/RP2040-Matrix.pdf
// Pins taken from https://github.com/earlephilhower/arduino-pico/files/14470983/WaveshareRP2040Matrix.hs.txt
// NeoPixel
#define PIN_NEOPIXEL (16u)
#define NUM_NEOPIXEL (25u)
//#define LED_BUILTIN PIN_NEOPIXEL
// Serial1
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
#define PIN_SERIAL2_TX (8u)
#define PIN_SERIAL2_RX (9u)
// SPI
#define PIN_SPI0_MISO (4u)
#define PIN_SPI0_MOSI (3u)
#define PIN_SPI0_SCK (2u)
#define PIN_SPI0_SS (5u)
#define PIN_SPI1_MISO (12u)
#define PIN_SPI1_MOSI (15u)
#define PIN_SPI1_SCK (14u)
#define PIN_SPI1_SS (13u)
// Wire
#define PIN_WIRE0_SDA (4u)
#define PIN_WIRE0_SCL (5u)
#define PIN_WIRE1_SDA (26u)
#define PIN_WIRE1_SCL (27u)
#define SERIAL_HOWMANY (2u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (2u)
#include "../generic/common.h"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment