Skip to content

Commit e8a2654

Browse files
Add a build of all variants to CI (#2262)
* Add a build of all variants to CI using P.IO * Split out into separate job, use BOOTSEL sketch * Fix Breadstick variant * Fix Bridgetech boards with illegal define names Dash(-) to underscore(_) in define and variant for the -7 and -43. * Bridgetech JSON updates * Temporarily remove Bridgetech boards from CI Needs an update to the P.IO external repo to work since the names of the boards have changed.
1 parent a584d10 commit e8a2654

File tree

8 files changed

+580
-531
lines changed

8 files changed

+580
-531
lines changed

.github/workflows/pull-request.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,47 @@ jobs:
223223
run: pio ci --board=rpipicow -O "platform_packages=framework-arduinopico@symlink:///home/runner/work/arduino-pico/arduino-pico" libraries/ArduinoOTA/examples/SignedOTA/SignedOTA.ino
224224
- name: Build Bluetooth Example
225225
run: pio ci --board=rpipicow -O "platform_packages=framework-arduinopico@symlink:///home/runner/work/arduino-pico/arduino-pico" -O "build_flags=-DPIO_FRAMEWORK_ARDUINO_ENABLE_BLUETOOTH" libraries/MouseBLE/examples/BLECircle/BLECircle.ino
226+
227+
# Build every variant using PIO for simplicity
228+
build-variants:
229+
name: Build Every Variant
230+
runs-on: ubuntu-latest
231+
steps:
232+
- uses: actions/checkout@v4
233+
with:
234+
submodules: 'true'
235+
- name: Initialize needed submodules
236+
run: |
237+
cd pico-sdk
238+
git submodule update --init
239+
cd ../libraries/Adafruit_TinyUSB_Arduino
240+
git submodule update --init
241+
cd ../..
242+
- name: Cache pip
243+
uses: actions/cache@v4
244+
with:
245+
path: ~/.cache/pip
246+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
247+
restore-keys: |
248+
${{ runner.os }}-pip-
249+
- name: Cache PlatformIO
250+
uses: actions/cache@v4
251+
with:
252+
path: ~/.platformio
253+
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
254+
- name: Set up Python
255+
uses: actions/setup-python@v5
256+
with:
257+
python-version: '3.x'
258+
- name: Install PlatformIO
259+
run: |
260+
python -m pip install --upgrade pip
261+
pip install --upgrade platformio
262+
pio pkg install --global --platform https://github.com/maxgerhardt/platform-raspberrypi.git
263+
pio pkg install --global --tool symlink://.
264+
- name: Build Every Variant
265+
run: |
266+
# Temporarily remove bridgeteck since they had borked names and need an update to the PIO config
267+
for b in $(cut -f1 -d. /home/runner/work/arduino-pico/arduino-pico/boards.txt | sed 's/#.*//' | sed 's/^menu$//' | sed 's/bridgetek.*//' | sort -u); do
268+
pio ci --board=$b -O "platform_packages=framework-arduinopico@symlink:///home/runner/work/arduino-pico/arduino-pico" libraries/rp2040/examples/Bootsel/Bootsel.ino
269+
done

boards.txt

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

tools/json/bridgetek_idm2040-43a.json renamed to tools/json/bridgetek_idm2040_43a.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"core": "earlephilhower",
1111
"cpu": "cortex-m0plus",
12-
"extra_flags": "-D ARDUINO_BRIDGETEK_IDM2040-43A -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DFT8XX_TYPE=BT883 -DDISPLAY_RES=WQVGA -DPLATFORM_RP2040",
12+
"extra_flags": "-D ARDUINO_BRIDGETEK_IDM2040_43A -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DFT8XX_TYPE=BT883 -DDISPLAY_RES=WQVGA -DPLATFORM_RP2040",
1313
"f_cpu": "133000000L",
1414
"hwids": [
1515
[
@@ -22,7 +22,7 @@
2222
]
2323
],
2424
"mcu": "rp2040",
25-
"variant": "bridgetek_idm2040-43a"
25+
"variant": "bridgetek_idm2040_43a"
2626
},
2727
"debug": {
2828
"jlink_device": "RP2040_M0_0",

tools/json/bridgetek_idm2040-7a.json renamed to tools/json/bridgetek_idm2040_7a.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"core": "earlephilhower",
1111
"cpu": "cortex-m0plus",
12-
"extra_flags": "-D ARDUINO_BRIDGETEK_IDM2040-7A -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DFT8XX_TYPE=BT817 -DDISPLAY_RES=WVGA -DPLATFORM_RP2040",
12+
"extra_flags": "-D ARDUINO_BRIDGETEK_IDM2040_7A -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DFT8XX_TYPE=BT817 -DDISPLAY_RES=WVGA -DPLATFORM_RP2040",
1313
"f_cpu": "133000000L",
1414
"hwids": [
1515
[
@@ -22,7 +22,7 @@
2222
]
2323
],
2424
"mcu": "rp2040",
25-
"variant": "bridgetek_idm2040-7a"
25+
"variant": "bridgetek_idm2040_7a"
2626
},
2727
"debug": {
2828
"jlink_device": "RP2040_M0_0",

tools/makeboards.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,8 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
406406
MakeBoard("breadstick_raspberry", "Breadstick", "Raspberry", "0x2e8a", "0x105e" , 500, "Breadstick_Raspberry", 16, "boot2_w25q080_2_padded_checksum", board_url="https://shop.breadstick.ca/products/raspberry-breadstick-rp2040")
407407

408408
# BridgeTek
409-
MakeBoard("bridgetek_idm2040-7a", "BridgeTek", "IDM2040-7A", "0x2e8a", "0x1041", 250, "BRIDGETEK_IDM2040-7A", 8, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT817", "DISPLAY_RES=WVGA", "PLATFORM_RP2040"])
410-
MakeBoard("bridgetek_idm2040-43a", "BridgeTek", "IDM2040-43A", "0x2e8b", "0xf00a", 250, "BRIDGETEK_IDM2040-43A", 8, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT883", "DISPLAY_RES=WQVGA", "PLATFORM_RP2040"])
409+
MakeBoard("bridgetek_idm2040_7a", "BridgeTek", "IDM2040-7A", "0x2e8a", "0x1041", 250, "BRIDGETEK_IDM2040_7A", 8, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT817", "DISPLAY_RES=WVGA", "PLATFORM_RP2040"])
410+
MakeBoard("bridgetek_idm2040_43a", "BridgeTek", "IDM2040-43A", "0x2e8b", "0xf00a", 250, "BRIDGETEK_IDM2040_43A", 8, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT883", "DISPLAY_RES=WQVGA", "PLATFORM_RP2040"])
411411

412412
# Cytron
413413
MakeBoard("cytron_maker_nano_rp2040", "Cytron", "Maker Nano RP2040", "0x2e8a", "0x100f", 250, "CYTRON_MAKER_NANO_RP2040", 2, "boot2_w25q080_2_padded_checksum")

variants/breadstick_raspberry/pins_arduino.h

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
#define PIN_SERIAL1_TX (20u)
1212
#define PIN_SERIAL1_RX (21u)
1313

14+
// Not pinned
15+
#define PIN_SERIAL2_TX (31)
16+
#define PIN_SERIAL2_RX (31)
17+
1418
// SPI
1519

1620
#define PIN_SPI1_MISO (8u)
@@ -36,6 +40,7 @@
3640
#define ADC_RESOLUTION (12u)
3741
#define WIRE_INTERFACES_COUNT (WIRE_HOWMANY)
3842

43+
// TODO - fix to use newly defined common.h
3944
static const uint8_t D1 = (27u);
4045
static const uint8_t D2 = (26u);
4146
static const uint8_t D3 = (11u);
@@ -57,9 +62,9 @@ static const uint8_t D18 = (28u);
5762

5863

5964
#ifdef __PIN_A2
60-
static const uint8_t A2 = __PIN_A2;
65+
static const uint8_t A0 = __PIN_A0;
6166
#else
62-
static const uint8_t A2 = (26u);
67+
static const uint8_t A0 = (26u);
6368
#endif
6469

6570
#ifdef __PIN_A1
@@ -69,15 +74,15 @@ static const uint8_t A1 = (27u);
6974
#endif
7075

7176
#ifdef __PIN_A18
72-
static const uint8_t A18 = __PIN_A18;
77+
static const uint8_t A2 = __PIN_A2;
7378
#else
74-
static const uint8_t A18 = (28u);
79+
static const uint8_t A2 = (28u);
7580
#endif
7681

7782
#ifdef __PIN_A17
78-
static const uint8_t A17 = __PIN_A17;
83+
static const uint8_t A3 = __PIN_A3;
7984
#else
80-
static const uint8_t A17 = (29u);
85+
static const uint8_t A3 = (29u);
8186
#endif
8287

8388
static const uint8_t SS = PIN_SPI1_SS;
@@ -92,4 +97,4 @@ static const uint8_t IMU_SDA = PIN_WIRE0_SDA;
9297
static const uint8_t IMU_SCL = PIN_WIRE0_SCL;
9398

9499
static const uint8_t DOTSTAR_CLOCK = (16u);
95-
static const uint8_t DOTSTAR_DATA = (17u);
100+
static const uint8_t DOTSTAR_DATA = (17u);

0 commit comments

Comments
 (0)