summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-and-deploy.yml57
-rw-r--r--web-flasher/index.html47
-rw-r--r--web-flasher/manifest.json23
3 files changed, 127 insertions, 0 deletions
diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml
new file mode 100644
index 0000000..08eecef
--- /dev/null
+++ b/.github/workflows/build-and-deploy.yml
@@ -0,0 +1,57 @@
+name: Build and Deploy Web Flasher
+
+on:
+ push:
+ branches:
+ - main
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install PlatformIO
+ run: |
+ pip install platformio
+
+ - name: Build Firmware
+ run: |
+ pio run
+
+ - name: Copy Firmware Files
+ run: |
+ mkdir -p deploy
+
+ cp web-flasher/index.html deploy/
+ cp web-flasher/manifest.json deploy/
+
+ cp .pio/build/*/firmware.bin deploy/
+ cp .pio/build/*/bootloader.bin deploy/
+ cp .pio/build/*/partitions.bin deploy/
+
+ - name: Upload Pages Artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: deploy
+
+ deploy:
+ needs: build
+
+ runs-on: ubuntu-latest
+
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+
+ steps:
+ - name: Deploy
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/web-flasher/index.html b/web-flasher/index.html
new file mode 100644
index 0000000..26d7510
--- /dev/null
+++ b/web-flasher/index.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <title>ORION-RF Installer</title>
+
+ <script
+ type="module"
+ src="https://unpkg.com/esp-web-tools@10/dist/web/install-button.js">
+ </script>
+
+ <style>
+ body {
+ font-family: sans-serif;
+ max-width: 700px;
+ margin: auto;
+ padding: 2rem;
+ }
+
+ h1 {
+ text-align: center;
+ }
+
+ .card {
+ border: 1px solid #ddd;
+ padding: 20px;
+ border-radius: 10px;
+ }
+ </style>
+</head>
+<body>
+
+<h1>ORION-RF Installer</h1>
+
+<div class="card">
+ <h2>Stable Release</h2>
+
+ <p>
+ Connect your ESP32-S3 and click Install.
+ </p>
+
+ <esp-web-install-button manifest="manifest.json">
+ </esp-web-install-button>
+</div>
+
+</body>
+</html>
diff --git a/web-flasher/manifest.json b/web-flasher/manifest.json
new file mode 100644
index 0000000..b51e2cb
--- /dev/null
+++ b/web-flasher/manifest.json
@@ -0,0 +1,23 @@
+{
+ "name": "ORION-RF",
+ "version": "latest",
+ "builds": [
+ {
+ "chipFamily": "ESP32-S3",
+ "parts": [
+ {
+ "path": "./bootloader.bin",
+ "offset": 0
+ },
+ {
+ "path": "./partitions.bin",
+ "offset": 32768
+ },
+ {
+ "path": "./firmware.bin",
+ "offset": 65536
+ }
+ ]
+ }
+ ]
+}