Skip to content

Commit 2c0ce6f

Browse files
Add Feathers: CAN and Prop-Maker (earlephilhower#1421)
1 parent 89fe754 commit 2c0ce6f

File tree

7 files changed

+737
-0
lines changed

7 files changed

+737
-0
lines changed

boards.txt

Lines changed: 500 additions & 0 deletions
Large diffs are not rendered by default.

package/package_pico_index.template.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@
4444
{
4545
"name": "Adafruit Feather RP2040 USB Host"
4646
},
47+
{
48+
"name": "Adafruit Feather RP2040 CAN"
49+
},
50+
{
51+
"name": "Adafruit Feather RP2040 Prop-Maker"
52+
},
4753
{
4854
"name": "Adafruit ItsyBitsy RP2040"
4955
},

tools/json/adafruit_feather_can.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x239A",
7+
"usb_pid": "0x812F"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_CAN -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x239A",
21+
"0x812F"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "adafruit_feather_can"
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": "Feather RP2040 CAN",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 8388608,
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+
]
52+
},
53+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
54+
"vendor": "Adafruit"
55+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x239A",
7+
"usb_pid": "0x8131"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_PROP_MAKER -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x239A",
21+
"0x8131"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "adafruit_feather_prop_maker"
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": "Feather RP2040 Prop-Maker",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 8388608,
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+
]
52+
},
53+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
54+
"vendor": "Adafruit"
55+
}

tools/makeboards.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,8 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
344344
MakeBoard("adafruit_feather_rfm", "Adafruit", "Feather RP2040 RFM", "0x239a", "0x812D", 250, "ADAFRUIT_FEATHER_RP2040_RFM", 8, "boot2_w25q080_2_padded_checksum")
345345
MakeBoard("adafruit_feather_thinkink", "Adafruit", "Feather RP2040 ThinkINK", "0x239a", "0x812B", 250, "ADAFRUIT_FEATHER_RP2040_THINKINK", 8, "boot2_w25q080_2_padded_checksum")
346346
MakeBoard("adafruit_feather_usb_host", "Adafruit", "Feather RP2040 USB Host", "0x239a", "0x8129", 250, "ADAFRUIT_FEATHER_RP2040_USB_HOST", 8, "boot2_w25q080_2_padded_checksum")
347+
MakeBoard("adafruit_feather_can", "Adafruit", "Feather RP2040 CAN", "0x239a", "0x812f", 250, "ADAFRUIT_FEATHER_RP2040_CAN", 8, "boot2_w25q080_2_padded_checksum")
348+
MakeBoard("adafruit_feather_prop_maker", "Adafruit", "Feather RP2040 Prop-Maker", "0x239a", "0x8131", 250, "ADAFRUIT_FEATHER_RP2040_PROP_MAKER", 8, "boot2_w25q080_2_padded_checksum")
347349
MakeBoard("adafruit_itsybitsy", "Adafruit", "ItsyBitsy RP2040", "0x239a", "0x80fd", 250, "ADAFRUIT_ITSYBITSY_RP2040", 8, "boot2_w25q080_2_padded_checksum")
348350
MakeBoard("adafruit_qtpy", "Adafruit", "QT Py RP2040", "0x239a", "0x80f7", 250, "ADAFRUIT_QTPY_RP2040", 8, "boot2_w25q080_2_padded_checksum")
349351
MakeBoard("adafruit_stemmafriend", "Adafruit", "STEMMA Friend RP2040", "0x239a", "0x80e3", 250, "ADAFRUIT_STEMMAFRIEND_RP2040", 8, "boot2_w25q080_2_padded_checksum")
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#pragma once
2+
3+
// Pin definitions taken from:
4+
// https://learn.adafruit.com/assets/100337
5+
6+
// LEDs
7+
#define PIN_LED (13u)
8+
9+
// NeoPixel
10+
#define PIN_NEOPIXEL (21u)
11+
#define NEOPIXEL_POWER (20u)
12+
13+
// 'Boot0' button also on GPIO #7
14+
#define PIN_BUTTON (7u)
15+
16+
// CAN bus
17+
#define PIN_CAN_STANDBY (16u)
18+
#define PIN_CAN_TX0_RTS (17u)
19+
#define PIN_CAN_RESET (18u)
20+
#define PIN_CAN_CS (19u)
21+
#define PIN_CAN_INTERRUPT (22u)
22+
#define PIN_CAN_RX0_BF (23u)
23+
24+
// Serial
25+
#define PIN_SERIAL1_TX (0u)
26+
#define PIN_SERIAL1_RX (1u)
27+
28+
// Not pinned out
29+
#define PIN_SERIAL2_TX (31u)
30+
#define PIN_SERIAL2_RX (31u)
31+
32+
// SPI
33+
#define PIN_SPI0_MISO (8u)
34+
#define PIN_SPI0_MOSI (15u)
35+
#define PIN_SPI0_SCK (14u)
36+
#define PIN_SPI0_SS (13u)
37+
#define __SPI0_DEVICE spi1
38+
39+
// Not pinned out
40+
#define PIN_SPI1_MISO (31u)
41+
#define PIN_SPI1_MOSI (31u)
42+
#define PIN_SPI1_SCK (31u)
43+
#define PIN_SPI1_SS (31u)
44+
#define __SPI1_DEVICE spi0
45+
46+
// Wire
47+
#define PIN_WIRE0_SDA (2u)
48+
#define PIN_WIRE0_SCL (3u)
49+
#define __WIRE0_DEVICE i2c1
50+
51+
#define PIN_WIRE1_SDA (31u)
52+
#define PIN_WIRE1_SCL (31u)
53+
#define __WIRE1_DEVICE i2c0
54+
55+
#define SERIAL_HOWMANY (2u)
56+
#define SPI_HOWMANY (1u)
57+
#define WIRE_HOWMANY (1u)
58+
59+
#include "../generic/common.h"
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#pragma once
2+
3+
// Pin definitions taken from:
4+
// https://learn.adafruit.com/assets/100337
5+
6+
// LEDs
7+
#define PIN_LED (13u)
8+
9+
// NeoPixel
10+
#define PIN_NEOPIXEL (4u)
11+
12+
// 'Boot0' button also on GPIO #7
13+
#define PIN_BUTTON (7u)
14+
15+
// Prop-Maker features
16+
#define PIN_I2S_DATA (16u)
17+
#define PIN_I2S_BIT_CLOCK (17u)
18+
#define PIN_I2S_WORD_SELECT (18u)
19+
#define PIN_EXTERNAL_BUTTON (19u)
20+
#define PIN_EXTERNAL_SERVO (20u)
21+
#define PIN_EXTERNAL_NEOPIXELS (21u)
22+
#define PIN_ACCELEROMETER_INTERRUPT (22u)
23+
#define PIN_EXTERNAL_POWER (23u)
24+
25+
// Serial
26+
#define PIN_SERIAL1_TX (0u)
27+
#define PIN_SERIAL1_RX (1u)
28+
29+
// Not pinned out
30+
#define PIN_SERIAL2_TX (31u)
31+
#define PIN_SERIAL2_RX (31u)
32+
33+
// SPI
34+
#define PIN_SPI0_MISO (8u)
35+
#define PIN_SPI0_MOSI (15u)
36+
#define PIN_SPI0_SCK (14u)
37+
#define PIN_SPI0_SS (13u)
38+
#define __SPI0_DEVICE spi1
39+
40+
// Not pinned out
41+
#define PIN_SPI1_MISO (31u)
42+
#define PIN_SPI1_MOSI (31u)
43+
#define PIN_SPI1_SCK (31u)
44+
#define PIN_SPI1_SS (31u)
45+
#define __SPI1_DEVICE spi0
46+
47+
// Wire
48+
#define PIN_WIRE0_SDA (2u)
49+
#define PIN_WIRE0_SCL (3u)
50+
#define __WIRE0_DEVICE i2c1
51+
52+
#define PIN_WIRE1_SDA (31u)
53+
#define PIN_WIRE1_SCL (31u)
54+
#define __WIRE1_DEVICE i2c0
55+
56+
#define SERIAL_HOWMANY (2u)
57+
#define SPI_HOWMANY (1u)
58+
#define WIRE_HOWMANY (1u)
59+
60+
#include "../generic/common.h"

0 commit comments

Comments
 (0)