Add Pimoroni Plasma 2350, fix Plasma 2040 I2C (#2698)

* my attempt at adding plasma_2040 support.. cant seem to get it working to test yet though?

* Tracked+replaced files, this now works it seems!

* correct serial count

* Update pins_arduino.h

* Rudimentary Pimoroni Plasma2350 support.

* include correct files + changes needed for proper support.

also!! fixes pin definitions for the i2c on Pimoroni Plasma 2350 (tested, working) and (presumably, untested) on the Plasma RP2040 too by swapping the i2c numbers.  i2c now works!!

* use correct USB PID for Plasma 2350
This commit is contained in:
Tristan Rowley 2024-12-19 01:49:07 +00:00 committed by GitHub
parent eecbcdf59a
commit 681a4c5482
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 393 additions and 2 deletions

View file

@ -77,6 +77,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
* Pimoroni Pico Plus 2
* Pimoroni Pico Plus 2W
* Pimoroni Plasma2040
* Pimoroni Plasma2350
* Pimoroni Tiny2040
* Pimoroni Tiny2350
* Pintronix PinMax

View file

@ -22607,6 +22607,253 @@ pimoroni_plasma2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_si
pimoroni_plasma2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
pimoroni_plasma2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
# -----------------------------------
# Pimoroni Plasma2350
# -----------------------------------
pimoroni_plasma2350.name=Pimoroni Plasma2350
pimoroni_plasma2350.vid.0=0x2e8a
pimoroni_plasma2350.pid.0=0x10a5
pimoroni_plasma2350.vid.1=0x2e8a
pimoroni_plasma2350.pid.1=0x11a5
pimoroni_plasma2350.vid.2=0x2e8a
pimoroni_plasma2350.pid.2=0x50a5
pimoroni_plasma2350.vid.3=0x2e8a
pimoroni_plasma2350.pid.3=0x51a5
pimoroni_plasma2350.vid.4=0x2e8a
pimoroni_plasma2350.pid.4=0x90a5
pimoroni_plasma2350.vid.5=0x2e8a
pimoroni_plasma2350.pid.5=0x91a5
pimoroni_plasma2350.vid.6=0x2e8a
pimoroni_plasma2350.pid.6=0xd0a5
pimoroni_plasma2350.vid.7=0x2e8a
pimoroni_plasma2350.pid.7=0xd1a5
pimoroni_plasma2350.upload_port.0.vid=0x2e8a
pimoroni_plasma2350.upload_port.0.pid=0x10a5
pimoroni_plasma2350.upload_port.1.vid=0x2e8a
pimoroni_plasma2350.upload_port.1.pid=0x11a5
pimoroni_plasma2350.upload_port.2.vid=0x2e8a
pimoroni_plasma2350.upload_port.2.pid=0x50a5
pimoroni_plasma2350.upload_port.3.vid=0x2e8a
pimoroni_plasma2350.upload_port.3.pid=0x51a5
pimoroni_plasma2350.upload_port.4.vid=0x2e8a
pimoroni_plasma2350.upload_port.4.pid=0x90a5
pimoroni_plasma2350.upload_port.5.vid=0x2e8a
pimoroni_plasma2350.upload_port.5.pid=0x91a5
pimoroni_plasma2350.upload_port.6.vid=0x2e8a
pimoroni_plasma2350.upload_port.6.pid=0xd0a5
pimoroni_plasma2350.upload_port.7.vid=0x2e8a
pimoroni_plasma2350.upload_port.7.pid=0xd1a5
pimoroni_plasma2350.build.usbvid=-DUSBD_VID=0x2e8a
pimoroni_plasma2350.build.usbpid=-DUSBD_PID=0x10a5
pimoroni_plasma2350.build.usbpwr=-DUSBD_MAX_POWER_MA=500
pimoroni_plasma2350.build.board=PIMORONI_PLASMA2040
pimoroni_plasma2350.build.variant=pimoroni_plasma2350
pimoroni_plasma2350.upload.maximum_size=2097152
pimoroni_plasma2350.upload.wait_for_upload_port=true
pimoroni_plasma2350.upload.erase_cmd=
pimoroni_plasma2350.serial.disableDTR=false
pimoroni_plasma2350.serial.disableRTS=false
pimoroni_plasma2350.build.f_cpu=125000000
pimoroni_plasma2350.build.led=
pimoroni_plasma2350.build.core=rp2040
pimoroni_plasma2350.build.ldscript=memmap_default.ld
pimoroni_plasma2350.build.boot2=none
pimoroni_plasma2350.build.usb_manufacturer="Pimoroni"
pimoroni_plasma2350.build.usb_product="Plasma2350"
pimoroni_plasma2350.build.psram_length=0x000000
pimoroni_plasma2350.menu.flash.2097152_0=2MB (no FS)
pimoroni_plasma2350.menu.flash.2097152_0.upload.maximum_size=2088960
pimoroni_plasma2350.menu.flash.2097152_0.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_0.build.flash_length=2088960
pimoroni_plasma2350.menu.flash.2097152_0.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_0.build.fs_start=270524416
pimoroni_plasma2350.menu.flash.2097152_0.build.fs_end=270524416
pimoroni_plasma2350.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB)
pimoroni_plasma2350.menu.flash.2097152_65536.upload.maximum_size=2023424
pimoroni_plasma2350.menu.flash.2097152_65536.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_65536.build.flash_length=2023424
pimoroni_plasma2350.menu.flash.2097152_65536.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_65536.build.fs_start=270458880
pimoroni_plasma2350.menu.flash.2097152_65536.build.fs_end=270524416
pimoroni_plasma2350.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB)
pimoroni_plasma2350.menu.flash.2097152_131072.upload.maximum_size=1957888
pimoroni_plasma2350.menu.flash.2097152_131072.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_131072.build.flash_length=1957888
pimoroni_plasma2350.menu.flash.2097152_131072.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_131072.build.fs_start=270393344
pimoroni_plasma2350.menu.flash.2097152_131072.build.fs_end=270524416
pimoroni_plasma2350.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB)
pimoroni_plasma2350.menu.flash.2097152_262144.upload.maximum_size=1826816
pimoroni_plasma2350.menu.flash.2097152_262144.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_262144.build.flash_length=1826816
pimoroni_plasma2350.menu.flash.2097152_262144.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_262144.build.fs_start=270262272
pimoroni_plasma2350.menu.flash.2097152_262144.build.fs_end=270524416
pimoroni_plasma2350.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB)
pimoroni_plasma2350.menu.flash.2097152_524288.upload.maximum_size=1564672
pimoroni_plasma2350.menu.flash.2097152_524288.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_524288.build.flash_length=1564672
pimoroni_plasma2350.menu.flash.2097152_524288.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_524288.build.fs_start=270000128
pimoroni_plasma2350.menu.flash.2097152_524288.build.fs_end=270524416
pimoroni_plasma2350.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB)
pimoroni_plasma2350.menu.flash.2097152_1048576.upload.maximum_size=1040384
pimoroni_plasma2350.menu.flash.2097152_1048576.build.flash_total=2097152
pimoroni_plasma2350.menu.flash.2097152_1048576.build.flash_length=1040384
pimoroni_plasma2350.menu.flash.2097152_1048576.build.eeprom_start=270524416
pimoroni_plasma2350.menu.flash.2097152_1048576.build.fs_start=269475840
pimoroni_plasma2350.menu.flash.2097152_1048576.build.fs_end=270524416
pimoroni_plasma2350.menu.arch.arm=ARM
pimoroni_plasma2350.menu.arch.arm.build.chip=rp2350
pimoroni_plasma2350.menu.arch.arm.build.toolchain=arm-none-eabi
pimoroni_plasma2350.menu.arch.arm.build.toolchainpkg=pqt-gcc
pimoroni_plasma2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
pimoroni_plasma2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
pimoroni_plasma2350.menu.arch.arm.build.mcu=cortex-m33
pimoroni_plasma2350.menu.arch.riscv=RISC-V
pimoroni_plasma2350.menu.arch.riscv.build.chip=rp2350-riscv
pimoroni_plasma2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
pimoroni_plasma2350.menu.arch.riscv.build.toolchainpkg=pqt-gcc-riscv
pimoroni_plasma2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
pimoroni_plasma2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
pimoroni_plasma2350.menu.arch.riscv.build.mcu=rv32imac
pimoroni_plasma2350.menu.freq.150=150 MHz
pimoroni_plasma2350.menu.freq.150.build.f_cpu=150000000L
pimoroni_plasma2350.menu.freq.50=50 MHz
pimoroni_plasma2350.menu.freq.50.build.f_cpu=50000000L
pimoroni_plasma2350.menu.freq.100=100 MHz
pimoroni_plasma2350.menu.freq.100.build.f_cpu=100000000L
pimoroni_plasma2350.menu.freq.120=120 MHz
pimoroni_plasma2350.menu.freq.120.build.f_cpu=120000000L
pimoroni_plasma2350.menu.freq.125=125 MHz
pimoroni_plasma2350.menu.freq.125.build.f_cpu=125000000L
pimoroni_plasma2350.menu.freq.128=128 MHz
pimoroni_plasma2350.menu.freq.128.build.f_cpu=128000000L
pimoroni_plasma2350.menu.freq.133=133 MHz
pimoroni_plasma2350.menu.freq.133.build.f_cpu=133000000L
pimoroni_plasma2350.menu.freq.175=175 MHz (Overclock)
pimoroni_plasma2350.menu.freq.175.build.f_cpu=175000000L
pimoroni_plasma2350.menu.freq.200=200 MHz (Overclock)
pimoroni_plasma2350.menu.freq.200.build.f_cpu=200000000L
pimoroni_plasma2350.menu.freq.225=225 MHz (Overclock)
pimoroni_plasma2350.menu.freq.225.build.f_cpu=225000000L
pimoroni_plasma2350.menu.freq.240=240 MHz (Overclock)
pimoroni_plasma2350.menu.freq.240.build.f_cpu=240000000L
pimoroni_plasma2350.menu.freq.250=250 MHz (Overclock)
pimoroni_plasma2350.menu.freq.250.build.f_cpu=250000000L
pimoroni_plasma2350.menu.freq.275=275 MHz (Overclock)
pimoroni_plasma2350.menu.freq.275.build.f_cpu=275000000L
pimoroni_plasma2350.menu.freq.300=300 MHz (Overclock)
pimoroni_plasma2350.menu.freq.300.build.f_cpu=300000000L
pimoroni_plasma2350.menu.opt.Small=Small (-Os) (standard)
pimoroni_plasma2350.menu.opt.Small.build.flags.optimize=-Os
pimoroni_plasma2350.menu.opt.Optimize=Optimize (-O)
pimoroni_plasma2350.menu.opt.Optimize.build.flags.optimize=-O
pimoroni_plasma2350.menu.opt.Optimize2=Optimize More (-O2)
pimoroni_plasma2350.menu.opt.Optimize2.build.flags.optimize=-O2
pimoroni_plasma2350.menu.opt.Optimize3=Optimize Even More (-O3)
pimoroni_plasma2350.menu.opt.Optimize3.build.flags.optimize=-O3
pimoroni_plasma2350.menu.opt.Fast=Fast (-Ofast) (maybe slower)
pimoroni_plasma2350.menu.opt.Fast.build.flags.optimize=-Ofast
pimoroni_plasma2350.menu.opt.Debug=Debug (-Og)
pimoroni_plasma2350.menu.opt.Debug.build.flags.optimize=-Og
pimoroni_plasma2350.menu.opt.Disabled=Disabled (-O0)
pimoroni_plasma2350.menu.opt.Disabled.build.flags.optimize=-O0
pimoroni_plasma2350.menu.profile.Disabled=Disabled
pimoroni_plasma2350.menu.profile.Disabled.build.flags.profile=
pimoroni_plasma2350.menu.profile.Enabled=Enabled
pimoroni_plasma2350.menu.profile.Enabled.build.flags.profile=-pg -D__PROFILE
pimoroni_plasma2350.menu.rtti.Disabled=Disabled
pimoroni_plasma2350.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
pimoroni_plasma2350.menu.rtti.Enabled=Enabled
pimoroni_plasma2350.menu.rtti.Enabled.build.flags.rtti=
pimoroni_plasma2350.menu.stackprotect.Disabled=Disabled
pimoroni_plasma2350.menu.stackprotect.Disabled.build.flags.stackprotect=
pimoroni_plasma2350.menu.stackprotect.Enabled=Enabled
pimoroni_plasma2350.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
pimoroni_plasma2350.menu.exceptions.Disabled=Disabled
pimoroni_plasma2350.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
pimoroni_plasma2350.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
pimoroni_plasma2350.menu.exceptions.Enabled=Enabled
pimoroni_plasma2350.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
pimoroni_plasma2350.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
pimoroni_plasma2350.menu.dbgport.Disabled=Disabled
pimoroni_plasma2350.menu.dbgport.Disabled.build.debug_port=
pimoroni_plasma2350.menu.dbgport.Serial=Serial
pimoroni_plasma2350.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
pimoroni_plasma2350.menu.dbgport.Serial1=Serial1
pimoroni_plasma2350.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
pimoroni_plasma2350.menu.dbgport.Serial2=Serial2
pimoroni_plasma2350.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
pimoroni_plasma2350.menu.dbgport.SerialSemi=SerialSemi
pimoroni_plasma2350.menu.dbgport.SerialSemi.build.debug_port=-DDEBUG_RP2040_PORT=SerialSemi
pimoroni_plasma2350.menu.dbglvl.None=None
pimoroni_plasma2350.menu.dbglvl.None.build.debug_level=
pimoroni_plasma2350.menu.dbglvl.Core=Core
pimoroni_plasma2350.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
pimoroni_plasma2350.menu.dbglvl.SPI=SPI
pimoroni_plasma2350.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
pimoroni_plasma2350.menu.dbglvl.Wire=Wire
pimoroni_plasma2350.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
pimoroni_plasma2350.menu.dbglvl.Bluetooth=Bluetooth
pimoroni_plasma2350.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH
pimoroni_plasma2350.menu.dbglvl.All=All
pimoroni_plasma2350.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH
pimoroni_plasma2350.menu.dbglvl.NDEBUG=NDEBUG
pimoroni_plasma2350.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
pimoroni_plasma2350.menu.usbstack.picosdk=Pico SDK
pimoroni_plasma2350.menu.usbstack.picosdk.build.usbstack_flags=
pimoroni_plasma2350.menu.usbstack.tinyusb=Adafruit TinyUSB
pimoroni_plasma2350.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_plasma2350.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native)
pimoroni_plasma2350.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_plasma2350.menu.usbstack.nousb=No USB
pimoroni_plasma2350.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
pimoroni_plasma2350.menu.ipbtstack.ipv4only=IPv4 Only
pimoroni_plasma2350.menu.ipbtstack.ipv4only.build.libpicow=libipv4.a
pimoroni_plasma2350.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6.build.libpicow=libipv4-ipv6.a
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
pimoroni_plasma2350.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
pimoroni_plasma2350.menu.ipbtstack.ipv4btcble.build.libpicow=libipv4-bt.a
pimoroni_plasma2350.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libipv4-ipv6-bt.a
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
pimoroni_plasma2350.menu.ipbtstack.ipv4onlybig=IPv4 Only - 32K
pimoroni_plasma2350.menu.ipbtstack.ipv4onlybig.build.libpicow=libipv4-big.a
pimoroni_plasma2350.menu.ipbtstack.ipv4onlybig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6big=IPv4 + IPv6 - 32K
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6big.build.libpicow=libipv4-ipv6-big.a
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6big.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
pimoroni_plasma2350.menu.ipbtstack.ipv4btcblebig=IPv4 + Bluetooth - 32K
pimoroni_plasma2350.menu.ipbtstack.ipv4btcblebig.build.libpicow=libipv4-bt-big.a
pimoroni_plasma2350.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a
pimoroni_plasma2350.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
pimoroni_plasma2350.menu.uploadmethod.default=Default (UF2)
pimoroni_plasma2350.menu.uploadmethod.default.build.ram_length=512k
pimoroni_plasma2350.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
pimoroni_plasma2350.menu.uploadmethod.default.upload.maximum_data_size=524288
pimoroni_plasma2350.menu.uploadmethod.default.upload.tool=uf2conv
pimoroni_plasma2350.menu.uploadmethod.default.upload.tool.default=uf2conv
pimoroni_plasma2350.menu.uploadmethod.default.upload.tool.network=uf2conv-network
pimoroni_plasma2350.menu.uploadmethod.picotool=Picotool
pimoroni_plasma2350.menu.uploadmethod.picotool.build.ram_length=512k
pimoroni_plasma2350.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
pimoroni_plasma2350.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
pimoroni_plasma2350.menu.uploadmethod.picotool.upload.maximum_data_size=524288
pimoroni_plasma2350.menu.uploadmethod.picotool.upload.tool=picotool
pimoroni_plasma2350.menu.uploadmethod.picotool.upload.tool.default=picotool
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe/Debugprobe (CMSIS-DAP)
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=512k
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
pimoroni_plasma2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
# -----------------------------------
# Pimoroni Tiny2040
# -----------------------------------

View file

@ -248,6 +248,9 @@
{
"name": "Pimoroni Plasma2040"
},
{
"name": "Pimoroni Plasma2350"
},
{
"name": "Pimoroni Tiny2040"
},

View file

@ -0,0 +1,55 @@
{
"build": {
"arduino": {
"earlephilhower": {
"boot2_source": "none.S",
"usb_vid": "0x2E8A",
"usb_pid": "0x10A5"
}
},
"core": "earlephilhower",
"cpu": "cortex-m33",
"extra_flags": "-DARDUINO_PIMORONI_PLASMA2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 ",
"f_cpu": "150000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
],
[
"0x2E8A",
"0x10A5"
]
],
"mcu": "rp2350",
"variant": "pimoroni_plasma2350"
},
"debug": {
"jlink_device": "RP2350_0",
"openocd_target": "rp2350.cfg",
"svd_path": "rp2350.svd"
},
"frameworks": [
"arduino"
],
"name": "Plasma2350",
"upload": {
"maximum_ram_size": 524288,
"maximum_size": 2097152,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"blackmagic",
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Pimoroni"
}

View file

@ -620,6 +620,7 @@ MakeBoard("pimoroni_pga2350", "rp2350", "Pimoroni", "PGA2350", "0x2e8a", "0x1018
MakeBoard("pimoroni_pico_plus_2", "rp2350", "Pimoroni", "PicoPlus2", "0x2e8a", "0x100a", 500, "PIMORONI_PICO_PLUS_2", 16, 8, "none")
MakeBoard("pimoroni_pico_plus_2w", "rp2350", "Pimoroni", "PicoPlus2W", "0x2e8a", "0x100a", 500, "PIMORONI_PICO_PLUS_2W", 16, 8, "none", ["PICO_CYW43_SUPPORTED=1", "CYW43_PIN_WL_DYNAMIC=1"])
MakeBoard("pimoroni_plasma2040", "rp2040", "Pimoroni", "Plasma2040", "0x2e8a", "0x100a", 500, "PIMORONI_PLASMA2040", 2, 0, "boot2_w25q080_2_padded_checksum")
MakeBoard("pimoroni_plasma2350", "rp2350", "Pimoroni", "Plasma2350", "0x2e8a", "0x10a5", 500, "PIMORONI_PLASMA2040", 2, 0, "none")
MakeBoard("pimoroni_tiny2040", "rp2040", "Pimoroni", "Tiny2040", "0x2e8a", "0x100a", 500, "PIMORONI_TINY2040", 2, 0, "boot2_w25q64jv_4_padded_checksum")
MakeBoard("pimoroni_tiny2350", "rp2350", "Pimoroni", "Tiny2350", "0x2e8a", "0x100b", 500, "PIMORONI_TINY2350", 4, 0, "none")

View file

@ -64,7 +64,7 @@ static const uint8_t A3 = (31u);
//#define SPI_SCK (PIN_SPI1_SCK)
// Wire
#define __WIRE0_DEVICE (i2c1)
#define __WIRE0_DEVICE (i2c0)
#define PIN_WIRE0_SDA (20u)
#define PIN_WIRE0_SCL (21u)
#define SDA PIN_WIRE0_SDA
@ -73,7 +73,7 @@ static const uint8_t A3 = (31u);
#define I2C_SCL (SCL)
// Wire1 not pinned out
#define __WIRE1_DEVICE (i2c0)
#define __WIRE1_DEVICE (i2c1)
#define PIN_WIRE1_SDA (31u)
#define PIN_WIRE1_SCL (31u)

View file

@ -0,0 +1,84 @@
#pragma once
// Pin definitions taken from:
// https://github.com/rp-rs/rp-hal-boards/blob/main/boards/pimoroni-plasma-2040/src/lib.rs
// LEDs
#define PIN_LED (16u)
#define PIN_LED_R (16u)
#define PIN_LED_G (17u)
#define PIN_LED_B (18u)
#define LED_BUILTIN PIN_LED
// Digital pins
#if 0
static const uint8_t D0 = (26u);
static const uint8_t D1 = (27u);
static const uint8_t D2 = (28u);
static const uint8_t D3 = (29u);
static const uint8_t D4 = (6u);
static const uint8_t D5 = (7u);
static const uint8_t D6 = (0u);
static const uint8_t D7 = (1u);
static const uint8_t D8 = (2u);
static const uint8_t D9 = (4u);
static const uint8_t D10 = (3u);
#endif
// Analog pins
static const uint8_t A0 = (26u);
static const uint8_t A1 = (27u);
static const uint8_t A2 = (28u);
static const uint8_t A3 = (31u);
#define ADC_RESOLUTION 12
// NeoPixel
#define PIN_NEOPIXEL (15u)
//#define NEOPIXEL_POWER (11u)
// Serial1
#define PIN_SERIAL1_TX (31u)
#define PIN_SERIAL1_RX (31u)
// Serial2 not pinned out
#define PIN_SERIAL2_TX (31u)
#define PIN_SERIAL2_RX (31u)
// SPI
#define PIN_SPI0_MISO (31u)
#define PIN_SPI0_MOSI (31u)
#define PIN_SPI0_SCK (31u)
#define PIN_SPI0_SS (31u) // not pinned out
//static const uint8_t SS = PIN_SPI0_SS; // SPI Slave SS not used. Set here only for reference.
//static const uint8_t MOSI = PIN_SPI0_MOSI;
//static const uint8_t MISO = PIN_SPI0_MISO;
//static const uint8_t SCK = PIN_SPI0_SCK;
//
// #define SS PIN_SPI0_SS
// Not pinned out
#define PIN_SPI1_MISO (31u)
#define PIN_SPI1_MOSI (31u)
#define PIN_SPI1_SCK (31u)
#define PIN_SPI1_SS (31u)
//#define SPI_MISO (PIN_SPI1_MISO)
//#define SPI_MOSI (PIN_SPI1_MOSI)
//#define SPI_SCK (PIN_SPI1_SCK)
// Wire
#define __WIRE0_DEVICE (i2c0)
#define PIN_WIRE0_SDA (20u)
#define PIN_WIRE0_SCL (21u)
#define SDA PIN_WIRE0_SDA
#define SCL PIN_WIRE0_SCL
#define I2C_SDA (SDA)
#define I2C_SCL (SCL)
// Wire1 not pinned out
#define __WIRE1_DEVICE (i2c1)
#define PIN_WIRE1_SDA (31u)
#define PIN_WIRE1_SCL (31u)
#define SERIAL_HOWMANY (0u)
#define SPI_HOWMANY (0u)
#define WIRE_HOWMANY (1u)