fix: flash Elecrow M2 and Heltec V3 UART via web serial, bump astro to 6.1.9

This commit is contained in:
swaits committed 2026-04-22 22:39:50 -06:00
1 parent cfa6cf2be2
commit 389b6354f7
3 files changed
+46 -42

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@
"dependencies": { "dependencies": {
"@astrojs/svelte": "^8.0.4", "@astrojs/svelte": "^8.0.4",
"@tailwindcss/vite": "^4.2.2", "@tailwindcss/vite": "^4.2.2",
"astro": "^6.1.4", "astro": "^6.1.9",
"esptool-js": "^0.6.0", "esptool-js": "^0.6.0",
"marked": "^18.0.0", "marked": "^18.0.0",
"svelte": "^5.55.2", "svelte": "^5.55.2",
+29 -26
View File
@@ -10,13 +10,13 @@ importers:
dependencies: dependencies:
'@astrojs/svelte': '@astrojs/svelte':
specifier: ^8.0.4 specifier: ^8.0.4
version: 8.0.4(astro@6.1.4(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3))(jiti@2.6.1)(lightningcss@1.32.0)(svelte@5.55.2)(typescript@5.9.3)(yaml@2.8.3) version: 8.0.4(astro@6.1.9(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3))(jiti@2.6.1)(lightningcss@1.32.0)(svelte@5.55.2)(typescript@5.9.3)(yaml@2.8.3)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.2.2 specifier: ^4.2.2
version: 4.2.2(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)(yaml@2.8.3)) version: 4.2.2(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)(yaml@2.8.3))
astro: astro:
specifier: ^6.1.4 specifier: ^6.1.9
version: 6.1.4(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3) version: 6.1.9(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3)
esptool-js: esptool-js:
specifier: ^0.6.0 specifier: ^0.6.0
version: 0.6.0 version: 0.6.0
@@ -35,11 +35,11 @@ packages:
'@astrojs/compiler@3.0.1': '@astrojs/compiler@3.0.1':
resolution: {integrity: sha512-z97oYbdebO5aoWzuJ/8q5hLK232+17KcLZ7cJ8BCWk6+qNzVxn/gftC0KzMBUTD8WAaBkPpNSQK6PXLnNrZ0CA==} resolution: {integrity: sha512-z97oYbdebO5aoWzuJ/8q5hLK232+17KcLZ7cJ8BCWk6+qNzVxn/gftC0KzMBUTD8WAaBkPpNSQK6PXLnNrZ0CA==}
'@astrojs/internal-helpers@0.8.0': '@astrojs/internal-helpers@0.9.0':
resolution: {integrity: sha512-J56GrhEiV+4dmrGLPNOl2pZjpHXAndWVyiVDYGDuw6MWKpBSEMLdFxHzeM/6sqaknw9M+HFfHZAcvi3OfT3D/w==} resolution: {integrity: sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg==}
'@astrojs/markdown-remark@7.1.0': '@astrojs/markdown-remark@7.1.1':
resolution: {integrity: sha512-P+HnCsu2js3BoTc8kFmu+E9gOcFeMdPris75g+Zl4sY8+bBRbSQV6xzcBDbZ27eE7yBGEGQoqjpChx+KJYIPYQ==} resolution: {integrity: sha512-C6e9BnLGlbdv6bV8MYGeHpHxsUHrCrB4OuRLqi5LI7oiBVcBcqfUN06zpwFQdHgV48QCCrMmLpyqBr7VqC+swA==}
'@astrojs/prism@4.0.1': '@astrojs/prism@4.0.1':
resolution: {integrity: sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ==} resolution: {integrity: sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ==}
@@ -53,8 +53,8 @@ packages:
svelte: ^5.43.6 svelte: ^5.43.6
typescript: ^5.3.3 typescript: ^5.3.3
'@astrojs/telemetry@3.3.0': '@astrojs/telemetry@3.3.1':
resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} resolution: {integrity: sha512-7fcIxXS9J4ls5tr8b3ww9rbAIz2+HrhNJYZdkAhhB4za/I5IZ/60g+Bs8q7zwG0tOIZfNB4JWhVJ1Qkl/OrNCw==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
'@babel/helper-string-parser@7.27.1': '@babel/helper-string-parser@7.27.1':
@@ -761,8 +761,8 @@ packages:
array-iterate@2.0.1: array-iterate@2.0.1:
resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
astro@6.1.4: astro@6.1.9:
resolution: {integrity: sha512-SRy1bONuCHkGWhI5JiWCQKVDVbeaXOikjAVZs/Nz+lvUvubtdLoZfnacmuZHQ9RL2IOkU54M8/qZYm9ypJDKrg==} resolution: {integrity: sha512-NsAHzMzpznB281g2aM5qnBt2QjfH6ttKiZ3hSZw52If8JJ+62kbnBKbyKhR2glQcJLl7Jfe4GSl0DihFZ36rRQ==}
engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'} engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true hasBin: true
@@ -1038,6 +1038,11 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true hasBin: true
is-docker@4.0.0:
resolution: {integrity: sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==}
engines: {node: '>=20'}
hasBin: true
is-inside-container@1.0.0: is-inside-container@1.0.0:
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
@@ -1741,13 +1746,13 @@ snapshots:
'@astrojs/compiler@3.0.1': {} '@astrojs/compiler@3.0.1': {}
'@astrojs/internal-helpers@0.8.0': '@astrojs/internal-helpers@0.9.0':
dependencies: dependencies:
picomatch: 4.0.4 picomatch: 4.0.4
'@astrojs/markdown-remark@7.1.0': '@astrojs/markdown-remark@7.1.1':
dependencies: dependencies:
'@astrojs/internal-helpers': 0.8.0 '@astrojs/internal-helpers': 0.9.0
'@astrojs/prism': 4.0.1 '@astrojs/prism': 4.0.1
github-slugger: 2.0.0 github-slugger: 2.0.0
hast-util-from-html: 2.0.3 hast-util-from-html: 2.0.3
@@ -1775,10 +1780,10 @@ snapshots:
dependencies: dependencies:
prismjs: 1.30.0 prismjs: 1.30.0
'@astrojs/svelte@8.0.4(astro@6.1.4(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3))(jiti@2.6.1)(lightningcss@1.32.0)(svelte@5.55.2)(typescript@5.9.3)(yaml@2.8.3)': '@astrojs/svelte@8.0.4(astro@6.1.9(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3))(jiti@2.6.1)(lightningcss@1.32.0)(svelte@5.55.2)(typescript@5.9.3)(yaml@2.8.3)':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.2)(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)(yaml@2.8.3)) '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.55.2)(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)(yaml@2.8.3))
astro: 6.1.4(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3) astro: 6.1.9(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3)
svelte: 5.55.2 svelte: 5.55.2
svelte2tsx: 0.7.53(svelte@5.55.2)(typescript@5.9.3) svelte2tsx: 0.7.53(svelte@5.55.2)(typescript@5.9.3)
typescript: 5.9.3 typescript: 5.9.3
@@ -1796,17 +1801,14 @@ snapshots:
- tsx - tsx
- yaml - yaml
'@astrojs/telemetry@3.3.0': '@astrojs/telemetry@3.3.1':
dependencies: dependencies:
ci-info: 4.4.0 ci-info: 4.4.0
debug: 4.4.3
dlv: 1.1.3 dlv: 1.1.3
dset: 3.1.4 dset: 3.1.4
is-docker: 3.0.0 is-docker: 4.0.0
is-wsl: 3.1.1 is-wsl: 3.1.1
which-pm-runs: 1.1.0 which-pm-runs: 1.1.0
transitivePeerDependencies:
- supports-color
'@babel/helper-string-parser@7.27.1': {} '@babel/helper-string-parser@7.27.1': {}
@@ -2293,12 +2295,12 @@ snapshots:
array-iterate@2.0.1: {} array-iterate@2.0.1: {}
astro@6.1.4(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3): astro@6.1.9(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.1)(typescript@5.9.3)(yaml@2.8.3):
dependencies: dependencies:
'@astrojs/compiler': 3.0.1 '@astrojs/compiler': 3.0.1
'@astrojs/internal-helpers': 0.8.0 '@astrojs/internal-helpers': 0.9.0
'@astrojs/markdown-remark': 7.1.0 '@astrojs/markdown-remark': 7.1.1
'@astrojs/telemetry': 3.3.0 '@astrojs/telemetry': 3.3.1
'@capsizecss/unpack': 4.0.0 '@capsizecss/unpack': 4.0.0
'@clack/prompts': 1.2.0 '@clack/prompts': 1.2.0
'@oslojs/encoding': 1.1.0 '@oslojs/encoding': 1.1.0
@@ -2311,7 +2313,6 @@ snapshots:
cookie: 1.1.1 cookie: 1.1.1
devalue: 5.7.0 devalue: 5.7.0
diff: 8.0.4 diff: 8.0.4
dlv: 1.1.3
dset: 3.1.4 dset: 3.1.4
es-module-lexer: 2.0.0 es-module-lexer: 2.0.0
esbuild: 0.27.7 esbuild: 0.27.7
@@ -2700,6 +2701,8 @@ snapshots:
is-docker@3.0.0: {} is-docker@3.0.0: {}
is-docker@4.0.0: {}
is-inside-container@1.0.0: is-inside-container@1.0.0:
dependencies: dependencies:
is-docker: 3.0.0 is-docker: 3.0.0
+16 -15
View File
@@ -7,20 +7,32 @@ export const boards: BoardDef[] = [
mcu: "ESP32-S3", mcu: "ESP32-S3",
radio: "SX1262", radio: "SX1262",
family: "esp32s3", family: "esp32s3",
flashMethod: "download-only", flashMethod: "web-serial",
assetPattern: "donglora-elecrow_thinknode_m2-v{version}.bin", assetPattern: "donglora-elecrow_thinknode_m2-v{version}.bin",
notes: notes:
"Elecrow Meshtastic handset with SH1106 OLED. Uses CP2102 USB-to-UART bridge — download the .bin and flash with espflash CLI.", "Elecrow Meshtastic handset with SH1106 OLED. Flashes over the built-in CP2102 USB-to-UART bridge — no native USB, so clients connect via serial (BLE planned).",
},
{
id: "heltec_v3_uart",
name: "Heltec V3 (UART) — stock",
mcu: "ESP32-S3",
radio: "SX1262",
family: "esp32s3",
flashMethod: "web-serial",
assetPattern: "donglora-heltec_v3_uart-v{version}.bin",
notes:
"Default Heltec V3 hardware — pick this one if you bought a stock V3. Flashes over the board's CP2102 USB-to-UART bridge. Clients connect via serial (BLE planned), not native USB.",
}, },
{ {
id: "heltec_v3", id: "heltec_v3",
name: "Heltec V3", name: "Heltec V3 (USB CDC) — modded",
mcu: "ESP32-S3", mcu: "ESP32-S3",
radio: "SX1262", radio: "SX1262",
family: "esp32s3", family: "esp32s3",
flashMethod: "web-serial", flashMethod: "web-serial",
assetPattern: "donglora-heltec_v3-v{version}.bin", assetPattern: "donglora-heltec_v3-v{version}.bin",
notes: "Native USB CDC-ACM (hardware mod may be required on some units)", notes:
"Only choose this if you've hardware-modded your V3 for native USB CDC-ACM. Most stock V3s should use the UART variant above.",
}, },
{ {
id: "heltec_v4", id: "heltec_v4",
@@ -31,17 +43,6 @@ export const boards: BoardDef[] = [
flashMethod: "web-serial", flashMethod: "web-serial",
assetPattern: "donglora-heltec_v4-v{version}.bin", assetPattern: "donglora-heltec_v4-v{version}.bin",
}, },
{
id: "heltec_v3_uart",
name: "Heltec V3 (UART)",
mcu: "ESP32-S3",
radio: "SX1262",
family: "esp32s3",
flashMethod: "download-only",
assetPattern: "donglora-heltec_v3_uart-v{version}.bin",
notes:
"Uses CP2102 USB-to-UART bridge. Web flashing is unreliable — download the .bin and flash with espflash CLI.",
},
{ {
id: "rak_wisblock_4631", id: "rak_wisblock_4631",
name: "RAK WisBlock 4631", name: "RAK WisBlock 4631",