This commit is contained in:
swwilshub 2026-01-09 13:35:54 +00:00 committed by GitHub
commit 1ce2b5240a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 61 additions and 1 deletions

View File

@ -35,3 +35,14 @@ jobs:
- name: Build CrossPoint - name: Build CrossPoint
run: pio run run: pio run
- name: Upload Firmware Artifacts
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: firmware-pr-${{ github.event.pull_request.number }}
path: |
.pio/build/default/firmware.bin
.pio/build/default/bootloader.bin
.pio/build/default/partitions.bin
retention-days: 7

47
.github/workflows/manual-build.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: Manual Build Firmware
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch to build'
required: true
default: 'claude/fix-firmware-bug-fVdvb'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.event.inputs.branch }}
submodules: recursive
- uses: actions/cache@v5
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v6
with:
python-version: '3.14'
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Build CrossPoint
run: pio run -e default
- name: Upload Firmware Artifact
uses: actions/upload-artifact@v4
with:
name: crosspoint-firmware-${{ github.event.inputs.branch }}
path: |
.pio/build/default/bootloader.bin
.pio/build/default/firmware.bin
.pio/build/default/firmware.elf
.pio/build/default/partitions.bin
retention-days: 7

View File

@ -138,7 +138,8 @@ void CrossPointWebServerActivity::onNetworkModeSelected(const NetworkMode mode)
// STA mode - launch WiFi selection // STA mode - launch WiFi selection
Serial.printf("[%lu] [WEBACT] Turning on WiFi (STA mode)...\n", millis()); Serial.printf("[%lu] [WEBACT] Turning on WiFi (STA mode)...\n", millis());
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
delay(100); // Allow WiFi hardware to initialize before proceeding
state = WebServerActivityState::WIFI_SELECTION; state = WebServerActivityState::WIFI_SELECTION;
Serial.printf("[%lu] [WEBACT] Launching WifiSelectionActivity...\n", millis()); Serial.printf("[%lu] [WEBACT] Launching WifiSelectionActivity...\n", millis());
enterNewActivity(new WifiSelectionActivity(renderer, mappedInput, enterNewActivity(new WifiSelectionActivity(renderer, mappedInput,
@ -186,6 +187,7 @@ void CrossPointWebServerActivity::startAccessPoint() {
// Configure and start the AP // Configure and start the AP
WiFi.mode(WIFI_AP); WiFi.mode(WIFI_AP);
delay(100); delay(100);
WiFi.setSleep(false); // Disable WiFi sleep immediately to prevent crashes
// Start soft AP // Start soft AP
bool apStarted; bool apStarted;