Skip to content

Commit 9214ffa

Browse files
committed
Adding ZuluSCSI RP2040 support
Adding support for the ZuluSCSI RP2040 target and the vanilla ZuluSCSI Pico target. This is required for moving the targets off of PlatformIO's RP2040 framework to Earl E Philhower and Max Gerherdt framework.
1 parent f5b4014 commit 9214ffa

File tree

6 files changed

+375
-0
lines changed

6 files changed

+375
-0
lines changed

boards.txt

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15551,3 +15551,201 @@ generic.menu.uploadmethod.picodebug.build.picodebugflags=-UUSE_TINYUSB -DNO_USB
1555115551
generic.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
1555215552
generic.menu.uploadmethod.picodebug.upload.tool=picodebug
1555315553
generic.menu.uploadmethod.picodebug.upload.tool.default=picodebug
15554+
15555+
# -----------------------------------
15556+
# Rabbit Hole Computing ZuluSCSI
15557+
# -----------------------------------
15558+
zuluscsi_rp2040.name=Rabbit Hole Computing ZuluSCSI
15559+
zuluscsi_rp2040.vid.0=0x2e8a
15560+
zuluscsi_rp2040.pid.0=0xf00a
15561+
zuluscsi_rp2040.vid.1=0x2e8a
15562+
zuluscsi_rp2040.pid.1=0xf10a
15563+
zuluscsi_rp2040.vid.2=0x2e8a
15564+
zuluscsi_rp2040.pid.2=0xf00a
15565+
zuluscsi_rp2040.vid.3=0x2e8a
15566+
zuluscsi_rp2040.pid.3=0xf10a
15567+
zuluscsi_rp2040.vid.4=0x2e8a
15568+
zuluscsi_rp2040.pid.4=0xf00a
15569+
zuluscsi_rp2040.vid.5=0x2e8a
15570+
zuluscsi_rp2040.pid.5=0xf10a
15571+
zuluscsi_rp2040.vid.6=0x2e8a
15572+
zuluscsi_rp2040.pid.6=0xf00a
15573+
zuluscsi_rp2040.vid.7=0x2e8a
15574+
zuluscsi_rp2040.pid.7=0xf10a
15575+
zuluscsi_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
15576+
zuluscsi_rp2040.build.usbpid=-DUSBD_PID=0xf00a
15577+
zuluscsi_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
15578+
zuluscsi_rp2040.build.board=RHC_ZULUSCSI_RP2040
15579+
zuluscsi_rp2040.build.mcu=cortex-m0plus
15580+
zuluscsi_rp2040.build.variant=zuluscsi_rp2040
15581+
zuluscsi_rp2040.upload.maximum_size=2097152
15582+
zuluscsi_rp2040.upload.wait_for_upload_port=true
15583+
zuluscsi_rp2040.upload.erase_cmd=
15584+
zuluscsi_rp2040.serial.disableDTR=false
15585+
zuluscsi_rp2040.serial.disableRTS=false
15586+
zuluscsi_rp2040.build.f_cpu=125000000
15587+
zuluscsi_rp2040.build.led=
15588+
zuluscsi_rp2040.build.core=rp2040
15589+
zuluscsi_rp2040.build.ldscript=memmap_default.ld
15590+
zuluscsi_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
15591+
zuluscsi_rp2040.build.usb_manufacturer="Rabbit Hole Computing"
15592+
zuluscsi_rp2040.build.usb_product="ZuluSCSI"
15593+
zuluscsi_rp2040.menu.flash.2097152_0=2MB (no FS)
15594+
zuluscsi_rp2040.menu.flash.2097152_0.upload.maximum_size=2093056
15595+
zuluscsi_rp2040.menu.flash.2097152_0.build.flash_total=2097152
15596+
zuluscsi_rp2040.menu.flash.2097152_0.build.flash_length=2093056
15597+
zuluscsi_rp2040.menu.flash.2097152_0.build.eeprom_start=270528512
15598+
zuluscsi_rp2040.menu.flash.2097152_0.build.fs_start=270528512
15599+
zuluscsi_rp2040.menu.flash.2097152_0.build.fs_end=270528512
15600+
zuluscsi_rp2040.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB)
15601+
zuluscsi_rp2040.menu.flash.2097152_65536.upload.maximum_size=2027520
15602+
zuluscsi_rp2040.menu.flash.2097152_65536.build.flash_total=2097152
15603+
zuluscsi_rp2040.menu.flash.2097152_65536.build.flash_length=2027520
15604+
zuluscsi_rp2040.menu.flash.2097152_65536.build.eeprom_start=270528512
15605+
zuluscsi_rp2040.menu.flash.2097152_65536.build.fs_start=270462976
15606+
zuluscsi_rp2040.menu.flash.2097152_65536.build.fs_end=270528512
15607+
zuluscsi_rp2040.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB)
15608+
zuluscsi_rp2040.menu.flash.2097152_131072.upload.maximum_size=1961984
15609+
zuluscsi_rp2040.menu.flash.2097152_131072.build.flash_total=2097152
15610+
zuluscsi_rp2040.menu.flash.2097152_131072.build.flash_length=1961984
15611+
zuluscsi_rp2040.menu.flash.2097152_131072.build.eeprom_start=270528512
15612+
zuluscsi_rp2040.menu.flash.2097152_131072.build.fs_start=270397440
15613+
zuluscsi_rp2040.menu.flash.2097152_131072.build.fs_end=270528512
15614+
zuluscsi_rp2040.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB)
15615+
zuluscsi_rp2040.menu.flash.2097152_262144.upload.maximum_size=1830912
15616+
zuluscsi_rp2040.menu.flash.2097152_262144.build.flash_total=2097152
15617+
zuluscsi_rp2040.menu.flash.2097152_262144.build.flash_length=1830912
15618+
zuluscsi_rp2040.menu.flash.2097152_262144.build.eeprom_start=270528512
15619+
zuluscsi_rp2040.menu.flash.2097152_262144.build.fs_start=270266368
15620+
zuluscsi_rp2040.menu.flash.2097152_262144.build.fs_end=270528512
15621+
zuluscsi_rp2040.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB)
15622+
zuluscsi_rp2040.menu.flash.2097152_524288.upload.maximum_size=1568768
15623+
zuluscsi_rp2040.menu.flash.2097152_524288.build.flash_total=2097152
15624+
zuluscsi_rp2040.menu.flash.2097152_524288.build.flash_length=1568768
15625+
zuluscsi_rp2040.menu.flash.2097152_524288.build.eeprom_start=270528512
15626+
zuluscsi_rp2040.menu.flash.2097152_524288.build.fs_start=270004224
15627+
zuluscsi_rp2040.menu.flash.2097152_524288.build.fs_end=270528512
15628+
zuluscsi_rp2040.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB)
15629+
zuluscsi_rp2040.menu.flash.2097152_1048576.upload.maximum_size=1044480
15630+
zuluscsi_rp2040.menu.flash.2097152_1048576.build.flash_total=2097152
15631+
zuluscsi_rp2040.menu.flash.2097152_1048576.build.flash_length=1044480
15632+
zuluscsi_rp2040.menu.flash.2097152_1048576.build.eeprom_start=270528512
15633+
zuluscsi_rp2040.menu.flash.2097152_1048576.build.fs_start=269479936
15634+
zuluscsi_rp2040.menu.flash.2097152_1048576.build.fs_end=270528512
15635+
zuluscsi_rp2040.menu.freq.133=133 MHz
15636+
zuluscsi_rp2040.menu.freq.133.build.f_cpu=133000000L
15637+
zuluscsi_rp2040.menu.freq.50=50 MHz
15638+
zuluscsi_rp2040.menu.freq.50.build.f_cpu=50000000L
15639+
zuluscsi_rp2040.menu.freq.100=100 MHz
15640+
zuluscsi_rp2040.menu.freq.100.build.f_cpu=100000000L
15641+
zuluscsi_rp2040.menu.freq.120=120 MHz
15642+
zuluscsi_rp2040.menu.freq.120.build.f_cpu=120000000L
15643+
zuluscsi_rp2040.menu.freq.125=125 MHz
15644+
zuluscsi_rp2040.menu.freq.125.build.f_cpu=125000000L
15645+
zuluscsi_rp2040.menu.freq.150=150 MHz (Overclock)
15646+
zuluscsi_rp2040.menu.freq.150.build.f_cpu=150000000L
15647+
zuluscsi_rp2040.menu.freq.175=175 MHz (Overclock)
15648+
zuluscsi_rp2040.menu.freq.175.build.f_cpu=175000000L
15649+
zuluscsi_rp2040.menu.freq.200=200 MHz (Overclock)
15650+
zuluscsi_rp2040.menu.freq.200.build.f_cpu=200000000L
15651+
zuluscsi_rp2040.menu.freq.225=225 MHz (Overclock)
15652+
zuluscsi_rp2040.menu.freq.225.build.f_cpu=225000000L
15653+
zuluscsi_rp2040.menu.freq.240=240 MHz (Overclock)
15654+
zuluscsi_rp2040.menu.freq.240.build.f_cpu=240000000L
15655+
zuluscsi_rp2040.menu.freq.250=250 MHz (Overclock)
15656+
zuluscsi_rp2040.menu.freq.250.build.f_cpu=250000000L
15657+
zuluscsi_rp2040.menu.freq.275=275 MHz (Overclock)
15658+
zuluscsi_rp2040.menu.freq.275.build.f_cpu=275000000L
15659+
zuluscsi_rp2040.menu.freq.300=300 MHz (Overclock)
15660+
zuluscsi_rp2040.menu.freq.300.build.f_cpu=300000000L
15661+
zuluscsi_rp2040.menu.opt.Small=Small (-Os) (standard)
15662+
zuluscsi_rp2040.menu.opt.Small.build.flags.optimize=-Os
15663+
zuluscsi_rp2040.menu.opt.Optimize=Optimize (-O)
15664+
zuluscsi_rp2040.menu.opt.Optimize.build.flags.optimize=-O
15665+
zuluscsi_rp2040.menu.opt.Optimize2=Optimize More (-O2)
15666+
zuluscsi_rp2040.menu.opt.Optimize2.build.flags.optimize=-O2
15667+
zuluscsi_rp2040.menu.opt.Optimize3=Optimize Even More (-O3)
15668+
zuluscsi_rp2040.menu.opt.Optimize3.build.flags.optimize=-O3
15669+
zuluscsi_rp2040.menu.opt.Fast=Fast (-Ofast) (maybe slower)
15670+
zuluscsi_rp2040.menu.opt.Fast.build.flags.optimize=-Ofast
15671+
zuluscsi_rp2040.menu.opt.Debug=Debug (-Og)
15672+
zuluscsi_rp2040.menu.opt.Debug.build.flags.optimize=-Og
15673+
zuluscsi_rp2040.menu.rtti.Disabled=Disabled
15674+
zuluscsi_rp2040.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
15675+
zuluscsi_rp2040.menu.rtti.Enabled=Enabled
15676+
zuluscsi_rp2040.menu.rtti.Enabled.build.flags.rtti=
15677+
zuluscsi_rp2040.menu.stackprotect.Disabled=Disabled
15678+
zuluscsi_rp2040.menu.stackprotect.Disabled.build.flags.stackprotect=
15679+
zuluscsi_rp2040.menu.stackprotect.Enabled=Enabled
15680+
zuluscsi_rp2040.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
15681+
zuluscsi_rp2040.menu.exceptions.Disabled=Disabled
15682+
zuluscsi_rp2040.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
15683+
zuluscsi_rp2040.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
15684+
zuluscsi_rp2040.menu.exceptions.Enabled=Enabled
15685+
zuluscsi_rp2040.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
15686+
zuluscsi_rp2040.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
15687+
zuluscsi_rp2040.menu.dbgport.Disabled=Disabled
15688+
zuluscsi_rp2040.menu.dbgport.Disabled.build.debug_port=
15689+
zuluscsi_rp2040.menu.dbgport.Serial=Serial
15690+
zuluscsi_rp2040.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
15691+
zuluscsi_rp2040.menu.dbgport.Serial1=Serial1
15692+
zuluscsi_rp2040.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
15693+
zuluscsi_rp2040.menu.dbgport.Serial2=Serial2
15694+
zuluscsi_rp2040.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
15695+
zuluscsi_rp2040.menu.dbglvl.None=None
15696+
zuluscsi_rp2040.menu.dbglvl.None.build.debug_level=
15697+
zuluscsi_rp2040.menu.dbglvl.Core=Core
15698+
zuluscsi_rp2040.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
15699+
zuluscsi_rp2040.menu.dbglvl.SPI=SPI
15700+
zuluscsi_rp2040.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
15701+
zuluscsi_rp2040.menu.dbglvl.Wire=Wire
15702+
zuluscsi_rp2040.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
15703+
zuluscsi_rp2040.menu.dbglvl.All=All
15704+
zuluscsi_rp2040.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
15705+
zuluscsi_rp2040.menu.dbglvl.NDEBUG=NDEBUG
15706+
zuluscsi_rp2040.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
15707+
zuluscsi_rp2040.menu.usbstack.picosdk=Pico SDK
15708+
zuluscsi_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
15709+
zuluscsi_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
15710+
zuluscsi_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
15711+
zuluscsi_rp2040.menu.usbstack.nousb=No USB
15712+
zuluscsi_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
15713+
zuluscsi_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
15714+
zuluscsi_rp2040.menu.ipbtstack.ipv4only.build.libpicow=libpicow-noipv6-nobtc-noble.a
15715+
zuluscsi_rp2040.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
15716+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
15717+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicow=libpicow-ipv6-nobtc-noble.a
15718+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
15719+
zuluscsi_rp2040.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
15720+
zuluscsi_rp2040.menu.ipbtstack.ipv4btcble.build.libpicow=libpicow-noipv6-btc-ble.a
15721+
zuluscsi_rp2040.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
15722+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
15723+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libpicow-ipv6-btc-ble.a
15724+
zuluscsi_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
15725+
zuluscsi_rp2040.menu.uploadmethod.default=Default (UF2)
15726+
zuluscsi_rp2040.menu.uploadmethod.default.build.ram_length=256k
15727+
zuluscsi_rp2040.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
15728+
zuluscsi_rp2040.menu.uploadmethod.default.upload.maximum_data_size=262144
15729+
zuluscsi_rp2040.menu.uploadmethod.default.upload.tool=uf2conv
15730+
zuluscsi_rp2040.menu.uploadmethod.default.upload.tool.default=uf2conv
15731+
zuluscsi_rp2040.menu.uploadmethod.default.upload.tool.network=uf2conv-network
15732+
zuluscsi_rp2040.menu.uploadmethod.picotool=Picotool
15733+
zuluscsi_rp2040.menu.uploadmethod.picotool.build.ram_length=256k
15734+
zuluscsi_rp2040.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
15735+
zuluscsi_rp2040.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
15736+
zuluscsi_rp2040.menu.uploadmethod.picotool.upload.maximum_data_size=262144
15737+
zuluscsi_rp2040.menu.uploadmethod.picotool.upload.tool=picotool
15738+
zuluscsi_rp2040.menu.uploadmethod.picotool.upload.tool.default=picotool
15739+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe (CMSIS-DAP)
15740+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=256k
15741+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
15742+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=262144
15743+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
15744+
zuluscsi_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
15745+
zuluscsi_rp2040.menu.uploadmethod.picodebug=Pico-Debug
15746+
zuluscsi_rp2040.menu.uploadmethod.picodebug.build.ram_length=240k
15747+
zuluscsi_rp2040.menu.uploadmethod.picodebug.build.debugscript=picodebug.tcl
15748+
zuluscsi_rp2040.menu.uploadmethod.picodebug.build.picodebugflags=-UUSE_TINYUSB -DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico
15749+
zuluscsi_rp2040.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
15750+
zuluscsi_rp2040.menu.uploadmethod.picodebug.upload.tool=picodebug
15751+
zuluscsi_rp2040.menu.uploadmethod.picodebug.upload.tool.default=picodebug

package/package_pico_index.template.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@
214214
},
215215
{
216216
"name": "Generic RP2040"
217+
},
218+
{
219+
"name": "Rabbit Hole Computing ZuluSCSI"
217220
}
218221
],
219222
"toolsDependencies": [

tools/json/zuluscsi_rp2040.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x2E8A",
7+
"usb_pid": "0xF00A"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_RHC_ZULUSCSI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "125000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x2E8A",
21+
"0xF00A"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "zuluscsi_rp2040"
26+
},
27+
"debug": {
28+
"jlink_device": "RP2040_M0_0",
29+
"openocd_target": "rp2040.cfg",
30+
"svd_path": "rp2040.svd"
31+
},
32+
"frameworks": [
33+
"arduino"
34+
],
35+
"name": "ZuluSCSI",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 2097152,
39+
"require_upload_port": true,
40+
"native_usb": true,
41+
"use_1200bps_touch": true,
42+
"wait_for_upload_port": false,
43+
"protocol": "picotool",
44+
"protocols": [
45+
"blackmagic",
46+
"cmsis-dap",
47+
"jlink",
48+
"raspberrypi-swd",
49+
"picotool",
50+
"picoprobe",
51+
"pico-debug"
52+
]
53+
},
54+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
55+
"vendor": "Rabbit Hole Computing"
56+
}

tools/makeboards.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,9 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
455455
# Generic
456456
MakeBoard("generic", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
457457

458+
# Rabbit Hole Computing
459+
MakeBoard("zuluscsi_rp2040", "Rabbit Hole Computing", "ZuluSCSI", "0x2e8a", "0xf00a", 500, "RHC_ZULUSCSI_RP2040", 2, "boot2_w25q080_2_padded_checksum")
460+
458461
sys.stdout.close()
459462
with open(os.path.abspath(os.path.dirname(__file__)) + '/../package/package_pico_index.template.json', 'w') as f:
460463
f.write(json.dumps(pkgjson, indent=3))

variants/zuluscsi_rp2040/common.h

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#pragma once
2+
3+
#include <stdint.h>
4+
5+
#define PINS_COUNT (30u)
6+
#define NUM_DIGITAL_PINS (30u)
7+
#define NUM_ANALOG_INPUTS (4u)
8+
#define NUM_ANALOG_OUTPUTS (0u)
9+
#define ADC_RESOLUTION (12u)
10+
11+
#ifdef PIN_LED
12+
#define LED_BUILTIN PIN_LED
13+
#endif
14+
15+
static const uint8_t D0 = (0u);
16+
static const uint8_t D1 = (1u);
17+
static const uint8_t D2 = (2u);
18+
static const uint8_t D3 = (3u);
19+
static const uint8_t D4 = (4u);
20+
static const uint8_t D5 = (5u);
21+
static const uint8_t D6 = (6u);
22+
static const uint8_t D7 = (7u);
23+
static const uint8_t D8 = (8u);
24+
static const uint8_t D9 = (9u);
25+
static const uint8_t D10 = (10u);
26+
static const uint8_t D11 = (11u);
27+
static const uint8_t D12 = (12u);
28+
static const uint8_t D13 = (13u);
29+
static const uint8_t D14 = (14u);
30+
static const uint8_t D15 = (15u);
31+
static const uint8_t D16 = (16u);
32+
static const uint8_t D17 = (17u);
33+
static const uint8_t D18 = (18u);
34+
static const uint8_t D19 = (19u);
35+
static const uint8_t D20 = (20u);
36+
static const uint8_t D21 = (21u);
37+
static const uint8_t D22 = (22u);
38+
static const uint8_t D23 = (23u);
39+
static const uint8_t D24 = (24u);
40+
static const uint8_t D25 = (25u);
41+
static const uint8_t D26 = (26u);
42+
static const uint8_t D27 = (27u);
43+
static const uint8_t D28 = (28u);
44+
static const uint8_t D29 = (29u);
45+
46+
#ifdef __PIN_A0
47+
static const uint8_t A0 = __PIN_A0;
48+
#else
49+
static const uint8_t A0 = (26u);
50+
#endif
51+
52+
#ifdef __PIN_A1
53+
static const uint8_t A1 = __PIN_A1;
54+
#else
55+
static const uint8_t A1 = (27u);
56+
#endif
57+
58+
#ifdef __PIN_A2
59+
static const uint8_t A2 = __PIN_A2;
60+
#else
61+
static const uint8_t A2 = (28u);
62+
#endif
63+
64+
#ifdef __PIN_A3
65+
static const uint8_t A3 = __PIN_A3;
66+
#else
67+
static const uint8_t A3 = (29u);
68+
#endif
69+
70+
static const uint8_t SS = PIN_SPI0_SS;
71+
static const uint8_t MOSI = PIN_SPI0_MOSI;
72+
static const uint8_t MISO = PIN_SPI0_MISO;
73+
static const uint8_t SCK = PIN_SPI0_SCK;
74+
75+
static const uint8_t SDA = PIN_WIRE0_SDA;
76+
static const uint8_t SCL = PIN_WIRE0_SCL;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#pragma once
2+
3+
// Pin definitions taken from:
4+
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
5+
6+
7+
// LEDs
8+
#define PIN_LED (25u)
9+
10+
// Serial
11+
#define PIN_SERIAL1_TX (0u)
12+
#define PIN_SERIAL1_RX (1u)
13+
14+
#define PIN_SERIAL2_TX (8u)
15+
#define PIN_SERIAL2_RX (9u)
16+
17+
// SPI
18+
#define PIN_SPI0_MISO (16u)
19+
#define PIN_SPI0_MOSI (19u)
20+
#define PIN_SPI0_SCK (18u)
21+
#define PIN_SPI0_SS (17u)
22+
23+
#define PIN_SPI1_MISO (12u)
24+
#define PIN_SPI1_MOSI (15u)
25+
#define PIN_SPI1_SCK (14u)
26+
#define PIN_SPI1_SS (13u)
27+
28+
// Wire
29+
#define PIN_WIRE0_SDA (4u)
30+
#define PIN_WIRE0_SCL (5u)
31+
32+
#define PIN_WIRE1_SDA (26u)
33+
#define PIN_WIRE1_SCL (27u)
34+
35+
#define SERIAL_HOWMANY (3u)
36+
#define SPI_HOWMANY (2u)
37+
#define WIRE_HOWMANY (2u)
38+
39+
#include "../generic/common.h"

0 commit comments

Comments
 (0)