From f9b4d7dfc74e23ee5b89517d9935f971029c3f52 Mon Sep 17 00:00:00 2001 From: IJssel Date: Mon, 25 May 2026 15:31:35 +0200 Subject: [PATCH 1/4] Fixed fail strat for build action --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b38b9e5..ed7917f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,6 +43,7 @@ jobs: needs: discover runs-on: ubuntu-latest strategy: + fail-fast: false matrix: ${{ fromJson(needs.discover.outputs.matrix) }} env: TARGET_BRANCH: ${{ github.event.release.target_commitish || github.ref_name }} From 98838ebb24a755325c02fdcb29106af804727357 Mon Sep 17 00:00:00 2001 From: IJssel Date: Mon, 25 May 2026 15:42:00 +0200 Subject: [PATCH 2/4] Added TODO --- README.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cf1b7a1..9dfd290 100644 --- a/README.md +++ b/README.md @@ -20,4 +20,34 @@ Firmware written for DIY devices in the Beacon ecosystem Only target. ConsumerGroup starts task, calls setAlertStep on each consumer ### TextAlert handeling: -Each consumer stores a map between alertIndex and textIndex. The group starts the task of the index and target and calls setAlertText on the consumer. \ No newline at end of file +Each consumer stores a map between alertIndex and textIndex. The group starts the task of the index and target and calls setAlertText on the consumer. + + +## Hardware TODO + + +### Beacon Base **WIP** +The third-generation Base is the core of the system and runs the Beacon Base software. It features a PoE network connection and four XLR hardware outputs for connecting Lighthouses. +[link]() + +### Beacon Lighthouse **WIP** +The Lighthouse is an analog tally light with a 4-pin mini-XLR input, designed to connect to hardware outputs on the Base or a Node. A switch on the back disables the front-facing light for situations where tally should only be visible to the camera operator. Available with 1/4" thread and magnet mounts. +[link]() + +### Beacon Node **WIP** +The Node is a wired extender. It has a PoE network connection and four hardware outputs. It connects to the Base to expand the number of available outputs. +[link]() + +### Beacon Relay **WIP** +The Relay is a wireless bridge. It connects to the Base over PoE and sets up the mesh network that Satellites use to communicate, coordinating Satellite discovery. +[link]() + +### Beacon Satellite **WIP** +The Satellite is a wireless tally light that connects to wifi, or the mesh network set up by the Relay and is discovered automatically by the Base. It includes a small display on the back to show camera information. +[link]() + +### Beacon Satellite Pro **WIP** +The Satellite Pro is a wireless tally display with a 64×32 pixel screen on the front for showing camera information, a large tally light, and an information display on the back. + +### Beacon Display **WIP** +The Display connects to the network over PoE and offers a 128×64 matrix display. It can be configured to show custom information and is discovered by the Base as a tally device. \ No newline at end of file From 5a58f7a4362eda3a35ec57c44ef41fd984a86df5 Mon Sep 17 00:00:00 2001 From: IJssel Date: Mon, 25 May 2026 16:46:52 +0200 Subject: [PATCH 3/4] Fixed image naming --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 78b24a3..3dee788 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ jobs: devices=() while IFS= read -r cmake; do dir=$(dirname "$cmake") - name=$(basename "$(dirname "$dir")") + name=$(basename "$dir") # Read target from sdkconfig.defaults; fall back to esp32 target=$(grep -Po 'CONFIG_IDF_TARGET="\K[^"]+' "$dir/sdkconfig.defaults" 2>/dev/null \ || grep -Po 'CONFIG_IDF_TARGET="\K[^"]+' "$dir/sdkconfig" 2>/dev/null \ From 273ea27ae502b635944623a4e8f12023f9912ac9 Mon Sep 17 00:00:00 2001 From: IJssel Date: Mon, 25 May 2026 17:02:05 +0200 Subject: [PATCH 4/4] Combined bins in action --- .github/workflows/release.yml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3dee788..7374567 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,28 +59,22 @@ jobs: esp_idf_version: v6.0.1 target: ${{ matrix.target }} path: ${{ matrix.path }} - command: idf.py build + command: idf.py build && esptool.py --chip $IDF_TARGET merge_bin -o build/merged.bin @build/flasher_args.json - - name: Package flash bundle + - name: Package firmware run: | VERSION="${{ github.event.release.tag_name || env.TARGET_BRANCH }}" NAME="${{ matrix.name }}-${VERSION}" - BUILDDIR="${{ matrix.path }}/build" - APP_BIN=$(find "$BUILDDIR" -maxdepth 1 -name "*.bin" -exec basename {} \;) - (cd "$BUILDDIR" && zip -r "$GITHUB_WORKSPACE/${NAME}-flash-bundle.zip" \ - "$APP_BIN" \ - bootloader \ - partition_table \ - flasher_args.json) + cp "${{ matrix.path }}/build/merged.bin" "$GITHUB_WORKSPACE/${NAME}.bin" - name: Upload artifact for manual runs if: github.event_name == 'workflow_dispatch' uses: actions/upload-artifact@v4 with: - name: ${{ matrix.name }}-flash-bundle - path: "*-flash-bundle.zip" + name: ${{ matrix.name }}-firmware + path: "*.bin" - - name: Upload flash bundle to release + - name: Upload firmware to release if: github.event_name == 'release' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -88,5 +82,5 @@ jobs: VERSION="${{ github.event.release.tag_name }}" NAME="${{ matrix.name }}-${VERSION}" gh release upload "$VERSION" \ - "${NAME}-flash-bundle.zip" \ + "${NAME}.bin" \ --clobber