Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81130108b7
|
||
|
|
9889f05df6
|
No files matched your search
@@ -40,7 +40,7 @@
|
|||||||
<h3 class="font-mono text-sm text-text-muted mb-3 uppercase tracking-wider">Select Board</h3>
|
<h3 class="font-mono text-sm text-text-muted mb-3 uppercase tracking-wider">Select Board</h3>
|
||||||
|
|
||||||
<p class="text-xs text-text-dim mb-2 font-mono">ESP32-S3</p>
|
<p class="text-xs text-text-dim mb-2 font-mono">ESP32-S3</p>
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4">
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3 mb-4">
|
||||||
{#each espBoards as board}
|
{#each espBoards as board}
|
||||||
<button
|
<button
|
||||||
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
||||||
@@ -56,25 +56,8 @@
|
|||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="text-xs text-text-dim mb-2 font-mono">RP2040</p>
|
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3 mb-4">
|
|
||||||
{#each rpBoards as board}
|
|
||||||
<button
|
|
||||||
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
|
||||||
{selected?.id === board.id
|
|
||||||
? 'border-accent shadow-[0_0_12px_oklch(from_var(--color-accent)_l_c_h_/_0.15)]'
|
|
||||||
: 'border-border hover:border-border-bright'}"
|
|
||||||
onclick={() => onselect(board)}
|
|
||||||
>
|
|
||||||
<div class="font-mono font-medium text-text text-sm">{board.name}</div>
|
|
||||||
<div class="text-xs text-text-muted mt-1">{board.mcu} · {board.radio}</div>
|
|
||||||
<div class="text-xs {badgeColor(board)} mt-2 font-mono">{badgeText(board)}</div>
|
|
||||||
</button>
|
|
||||||
{/each}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p class="text-xs text-text-dim mb-2 font-mono">nRF52840</p>
|
<p class="text-xs text-text-dim mb-2 font-mono">nRF52840</p>
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3 mb-4">
|
||||||
{#each nrfBoards as board}
|
{#each nrfBoards as board}
|
||||||
<button
|
<button
|
||||||
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
||||||
@@ -89,4 +72,21 @@
|
|||||||
</button>
|
</button>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<p class="text-xs text-text-dim mb-2 font-mono">RP2040</p>
|
||||||
|
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
||||||
|
{#each rpBoards as board}
|
||||||
|
<button
|
||||||
|
class="text-left bg-bg-card border p-4 rounded transition-all cursor-pointer
|
||||||
|
{selected?.id === board.id
|
||||||
|
? 'border-accent shadow-[0_0_12px_oklch(from_var(--color-accent)_l_c_h_/_0.15)]'
|
||||||
|
: 'border-border hover:border-border-bright'}"
|
||||||
|
onclick={() => onselect(board)}
|
||||||
|
>
|
||||||
|
<div class="font-mono font-medium text-text text-sm">{board.name}</div>
|
||||||
|
<div class="text-xs text-text-muted mt-1">{board.mcu} · {board.radio}</div>
|
||||||
|
<div class="text-xs {badgeColor(board)} mt-2 font-mono">{badgeText(board)}</div>
|
||||||
|
</button>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
+20
-9
@@ -1,6 +1,17 @@
|
|||||||
import type { BoardDef } from "./types";
|
import type { BoardDef } from "./types";
|
||||||
|
|
||||||
export const boards: BoardDef[] = [
|
export const boards: BoardDef[] = [
|
||||||
|
{
|
||||||
|
id: "elecrow_thinknode_m2",
|
||||||
|
name: "ELECROW ThinkNode-M2",
|
||||||
|
mcu: "ESP32-S3",
|
||||||
|
radio: "SX1262",
|
||||||
|
family: "esp32s3",
|
||||||
|
flashMethod: "download-only",
|
||||||
|
assetPattern: "donglora-elecrow_thinknode_m2-v{version}.bin",
|
||||||
|
notes:
|
||||||
|
"Elecrow Meshtastic handset with SH1106 OLED. Uses CP2102 USB-to-UART bridge — download the .bin and flash with espflash CLI.",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "heltec_v3",
|
id: "heltec_v3",
|
||||||
name: "Heltec V3",
|
name: "Heltec V3",
|
||||||
@@ -40,15 +51,6 @@ export const boards: BoardDef[] = [
|
|||||||
flashMethod: "uf2",
|
flashMethod: "uf2",
|
||||||
assetPattern: "donglora-rak_wisblock_4631-v{version}.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",
|
id: "wio_tracker_l1",
|
||||||
name: "Wio Tracker L1",
|
name: "Wio Tracker L1",
|
||||||
@@ -58,6 +60,15 @@ export const boards: BoardDef[] = [
|
|||||||
flashMethod: "uf2",
|
flashMethod: "uf2",
|
||||||
assetPattern: "donglora-wio_tracker_l1-v{version}.uf2",
|
assetPattern: "donglora-wio_tracker_l1-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",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export function getAssetName(board: BoardDef, version: string): string {
|
export function getAssetName(board: BoardDef, version: string): string {
|
||||||
|
|||||||
+10
-5
@@ -223,7 +223,12 @@ your code ──► client lib ──┘</pre>
|
|||||||
<!-- Supported Boards -->
|
<!-- Supported Boards -->
|
||||||
<section class="py-12">
|
<section class="py-12">
|
||||||
<h2 class="font-mono text-2xl font-bold mb-6 text-text">Supported Boards</h2>
|
<h2 class="font-mono text-2xl font-bold mb-6 text-text">Supported Boards</h2>
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4">
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||||
|
<div class="bg-bg-card border border-border p-5 rounded">
|
||||||
|
<h3 class="font-mono font-medium text-text mb-2">ELECROW ThinkNode-M2</h3>
|
||||||
|
<p class="text-sm text-text-muted">ESP32-S3 · SX1262</p>
|
||||||
|
<p class="text-xs text-warn mt-2 font-mono">CLI Only</p>
|
||||||
|
</div>
|
||||||
<div class="bg-bg-card border border-border p-5 rounded">
|
<div class="bg-bg-card border border-border p-5 rounded">
|
||||||
<h3 class="font-mono font-medium text-text mb-2">Heltec V3</h3>
|
<h3 class="font-mono font-medium text-text mb-2">Heltec V3</h3>
|
||||||
<p class="text-sm text-text-muted">ESP32-S3 · SX1262</p>
|
<p class="text-sm text-text-muted">ESP32-S3 · SX1262</p>
|
||||||
@@ -240,13 +245,13 @@ your code ──► client lib ──┘</pre>
|
|||||||
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-bg-card border border-border p-5 rounded">
|
<div class="bg-bg-card border border-border p-5 rounded">
|
||||||
<h3 class="font-mono font-medium text-text mb-2">Waveshare RP2040-LoRa</h3>
|
<h3 class="font-mono font-medium text-text mb-2">Wio Tracker L1</h3>
|
||||||
<p class="text-sm text-text-muted">RP2040 · SX1262</p>
|
<p class="text-sm text-text-muted">nRF52840 · SX1262</p>
|
||||||
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-bg-card border border-border p-5 rounded">
|
<div class="bg-bg-card border border-border p-5 rounded">
|
||||||
<h3 class="font-mono font-medium text-text mb-2">Wio Tracker L1</h3>
|
<h3 class="font-mono font-medium text-text mb-2">Waveshare RP2040-LoRa</h3>
|
||||||
<p class="text-sm text-text-muted">nRF52840 · SX1262</p>
|
<p class="text-sm text-text-muted">RP2040 · SX1262</p>
|
||||||
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
<p class="text-xs text-info mt-2 font-mono">UF2 Download</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in new issue
Block a user