diff --git a/src/components/BoardSelector.svelte b/src/components/BoardSelector.svelte index 04da571..e144aba 100644 --- a/src/components/BoardSelector.svelte +++ b/src/components/BoardSelector.svelte @@ -10,6 +10,7 @@ let { selected, onselect }: Props = $props(); const espBoards = boards.filter((b) => b.family === "esp32s3"); + const rpBoards = boards.filter((b) => b.family === "rp2040"); const nrfBoards = boards.filter((b) => b.family === "nrf52840"); function badgeText(board: BoardDef): string { @@ -55,6 +56,23 @@ {/each} +

RP2040

+
+ {#each rpBoards as board} + + {/each} +
+

nRF52840

{#each nrfBoards as board} diff --git a/src/components/Uf2DownloadFlow.svelte b/src/components/Uf2DownloadFlow.svelte index 859a0ad..23fabc7 100644 --- a/src/components/Uf2DownloadFlow.svelte +++ b/src/components/Uf2DownloadFlow.svelte @@ -19,7 +19,9 @@ ? "RAK4631" : board.id === "wio_tracker_l1" ? "WIO-L1" - : "UF2BOOT", + : board.id === "waveshare_rp2040_lora" + ? "RPI-RP2" + : "UF2BOOT", ); function handleDownload() { @@ -99,7 +101,7 @@ If you have a debug probe (J-Link, DAPLink), you can flash the .elf directly:

cargo install probe-rs-tools
-probe-rs run --chip nRF52840_xxAA donglora-{board.id}-v{release.version}.elf
+probe-rs run --chip {board.family === "rp2040" ? "rp2040" : "nRF52840_xxAA"} donglora-{board.id}-v{release.version}.elf
diff --git a/src/lib/boards.ts b/src/lib/boards.ts index 4bb3ba9..75a7c79 100644 --- a/src/lib/boards.ts +++ b/src/lib/boards.ts @@ -40,6 +40,15 @@ export const boards: BoardDef[] = [ flashMethod: "uf2", assetPattern: "donglora-rak_wisblock_4631-v{version}.uf2", }, + { + id: "waveshare_rp2040_lora", + name: "Waveshare RP2040-LoRa", + mcu: "RP2040", + radio: "SX1262", + family: "rp2040", + flashMethod: "uf2", + assetPattern: "donglora-waveshare_rp2040_lora-v{version}.uf2", + }, { id: "wio_tracker_l1", name: "Wio Tracker L1", diff --git a/src/lib/types.ts b/src/lib/types.ts index 2e347c3..dbb7eaa 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,4 +1,4 @@ -export type BoardFamily = "esp32s3" | "nrf52840"; +export type BoardFamily = "esp32s3" | "nrf52840" | "rp2040"; export type FlashMethod = "web-serial" | "uf2" | "download-only"; export interface BoardDef { diff --git a/src/pages/index.astro b/src/pages/index.astro index c7245a0..98f1103 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -223,7 +223,7 @@ your code ──► client lib ──┘

Supported Boards

-
+

Heltec V3

ESP32-S3 · SX1262

@@ -239,6 +239,11 @@ your code ──► client lib ──┘

nRF52840 · SX1262

UF2 Download

+
+

Waveshare RP2040-LoRa

+

RP2040 · SX1262

+

UF2 Download

+

Wio Tracker L1

nRF52840 · SX1262