Skip to content

Releases: OpenARDF/FlexFox80

FlexFox80 v2.0.3

Choose a tag to compare

@OpenARDF OpenARDF released this 04 Sep 01:16

FlexFox80 v2.0.3

Hardware: FlexFox Ver 2.1 (Mar 2022) only

Firmware: ESP 2.35, AVR 0.210 (SW_VERSIONS,2.35,0.210)

Resident bootloader: BL0.3

Source: 332d9a37fceeea1da192118616b803096090d704

Changes since v2.0.2

  • Make ESP-to-ESP cloning reliable under repeated, full-fleet use with bounded progress monitoring, reset recovery, atomic event replacement, and strict command ownership.
  • Use the qualified LittleFS 2.5.1 engine while preserving the ESP8266 core 2.7.4, WebSockets 2.3.6, and LittleFS disk-format compatibility.
  • Clear stale event data when a transmitter changes identity, and retain checksum validation for cloned event files.
  • Improve clone diagnostics, clock readback verification, wrap-safe timing, cleanup, and fleet update/probe tooling.

Verification

  • The full repository suite and complete-history secret scan pass.
  • Two pinned AVR-GCC 7.3.0 / AVR-Dx_DFP 1.9.103 build passes are warning-free and byte-identical.
  • Two pinned ESP8266 core 2.7.4 / WebSockets 2.3.6 / LittleFS 2.5.1 build passes are warning-free and byte-identical.
  • Both masters and all 15 target units received the exact ESP 2.35 candidate. All 14 hardware-capable targets completed full clone acceptance; one unit with a known Linkbus hardware fault passed image/filesystem checks but could not execute a clone.
  • The release retains AVR 0.210, BL0.3, and radio.html 0.86.

Routine ESP updates write the sketch at 0x000000 and preserve LittleFS. The LittleFS image is factory/recovery material for 0x300000; installing it replaces stored web assets, events, and settings.

FlexFox80 v2.0.2

Choose a tag to compare

@OpenARDF OpenARDF released this 25 Jul 14:49

FlexFox80 v2.0.2

Hardware: FlexFox Ver 2.1 (Mar 2022) only

Firmware: ESP 2.28, AVR 0.210 (SW_VERSIONS,2.28,0.210)

Resident bootloader: BL0.3

Source: 1120ee63804bf6b69dcea89c1c17772236081556

Changes since v2.0.1

  • Reacquire the bounded five-minute AVR maintenance lease before the wireless update handoff, preventing a missed first handoff from powering down WiFi before the updater can return status or retry.
  • Release that maintenance lease on every recoverable updater return so ordinary two-minute WiFi shutdown behavior resumes.
  • Record the external-voltage post-standby freshness issue as near-term telemetry work without changing the qualified AVR, RF, event, or sleep behavior in this release.

Included v2.0.1 corrections

  • Apply the selected manual-radio power before RF key-down, even when it matches the cached AVR value.
  • Make manual text transmission claim the Morse generator, retain newly queued text, and enable RF.
  • Wait for AVR power acknowledgement before enabling the Radio page Key and Send controls.
  • Reliably release touch, pointer, mouse, blur, and page-exit keying.
  • Prevent stale sockets and delayed startup commands from overriding the active connection.

Verification

  • The full repository suite and complete-history secret scan pass.
  • Two pinned AVR-GCC 7.3.0 / AVR-Dx_DFP 1.9.103 build passes are warning-free and byte-identical.
  • Two pinned ESP8266 core 2.7.4 / WebSockets 2.3.6 build passes are warning-free and byte-identical.
  • The package passed exact checksums, manifest checks, AVR parsing, BL0.3/application/trailer extraction, ESP checksum validation, and LittleFS inventory.
  • All 17 FlexFoxes ran the exact ESP 2.28, AVR 0.210, BL0.3, and radio.html 0.86 candidate during the pre-release rollout; the owner reported successful testing.

The planned final reflash of all 17 units will use the independently verified published v2.0.2 assets. Routine fleet work is wireless for both ESP and AVR; Atmel-ICE is reserved for bootloader provisioning or recovery.

FlexFox80 v2.0.1

Choose a tag to compare

@OpenARDF OpenARDF released this 24 Jul 21:20

FlexFox80 v2.0.1

Hardware: FlexFox Ver 2.1 (Mar 2022) only

Firmware: ESP 2.27, AVR 0.210 (SW_VERSIONS,2.27,0.210)

Source: 8a23b565821bbd27dca414b8b93809bd9ccc044c

This maintenance release fixes manual radio power initialization and keying:

  • Manual key-down now applies the selected power before RF starts, including when the numeric selection matches the cached AVR value.
  • Manual text transmission explicitly claims the Morse generator, enables RF, and avoids losing newly queued text during a caller change.
  • The Radio page waits for the AVR power acknowledgement before enabling Key and Send controls.
  • Touch, pointer, mouse, blur, and page-exit handling reliably release manual keying.
  • Reconnect handling prevents stale sockets and delayed startup commands from overriding the active connection.

The full repository suite and secret scan pass. Two pinned AVR-GCC 7.3.0 / AVR-Dx_DFP 1.9.103 builds and two pinned ESP8266 core 2.7.4 / WebSockets 2.3.6 builds were warning-free and byte-identical, including BL0.3 first-install and LittleFS artifacts.

The embedded firmware strings remain ESP 2.27 and AVR 0.210; the v2.0.1 manifest, exact source commit, and SHA-256 checksums distinguish these images from v2.0.0.

Installation cautions

  • Preserve and verify each unit's EEPROM and fuses when using Atmel-ICE. Do not copy EEPROM between units.
  • FlexFox80-AVR-First-Install-0.210.hex contains BL0.3 plus the matching relocated AVR application. It requires CODESIZE=0x00 and BOOTSIZE=0x20; it does not write fuses or EEPROM.
  • FlexFox80-AVR-0.210.hex is application-only and does not contain BL0.3.
  • Routine ESP updates write the sketch at 0x000000 and preserve LittleFS.
  • The LittleFS asset is factory/recovery content for 0x300000; installing it replaces stored web assets, events, and settings.

FlexFox80 v2.0.0

Choose a tag to compare

@OpenARDF OpenARDF released this 20 Jul 18:41

FlexFox80 v2.0.0

Hardware: FlexFox Ver 2.1 (Mar 2022) only

Firmware: ESP 2.27, AVR 0.210 (SW_VERSIONS,2.27,0.210)

Bootloader: AVR BL0.3 is already resident on the provisioned fleet. FlexFox80-AVR-First-Install-0.210.hex contains BL0.3 plus the matching relocated AVR 0.210 application for programmer-based setup of a new unit.

Highlights

  • Adds guarded wireless AVR application updates through the ESP, with exact-device authorization, preflight validation, resumable page transfer, visible progress, bounded maintenance power, and final verification.
  • Adds protected ESP wireless sketch updates that preserve LittleFS, verify the selected image, recover cleanly from interrupted uploads, and close completed upload sessions.
  • Corrects the critical AVR sleep/wake RTC accounting defect that caused the withdrawn AVR 0.201 release to miss starts or finish early.
  • Prevents invalid startup temperatures from being recorded or displayed; unavailable readings are carried explicitly as !TEM,NA and rejected independently by the web pages.
  • Makes event Apply/Clear operations persistent and reliable, improves date/time picker behavior and event status feedback, and fixes frequency-control synchronization.
  • Improves clone/event transfer integrity, startup recovery, device identity handling, and Android-assisted maintenance access.
  • Provides repeatable Atmel-ICE and wireless fleet-upgrade workflows with per-unit identity, artifact, phase, and final-version evidence.

Verification

  • The complete repository policy, documentation, host-test, firmware-contract, and 274-byte EEPROM-layout suite passes.
  • Two pinned AVR-GCC 7.3.0 / AVR-Dx_DFP 1.9.103 Release builds are warning-free and byte-identical.
  • Two pinned ESP8266 core 2.7.4 / WebSockets 2.3.6 builds are warning-free and byte-identical, including the selected LittleFS image.
  • All 15 uniquely named foxes retain final automated verification summaries for ESP 2.27 and AVR 0.210; the beacon and master/spectator were also upgraded and confirmed by the release owner.
  • Hardware work during qualification covered scheduled starts and finishes, Sprint and Classic operation, event editing/apply behavior, clone/sync behavior, interrupted/retried maintenance, ESP and AVR wireless updates, reset/power-cycle recovery, and normal return to battery-saving shutdown.

Installation cautions

  • Preserve and verify each unit's EEPROM and fuses when using Atmel-ICE. Do not copy EEPROM between units.
  • For a new unit, use FlexFox80-AVR-First-Install-0.210.hex with Atmel-ICE/UPDI. It is the combined BL0.3 plus relocated AVR 0.210 programmer image, not a wireless-update file.
  • BL0.3 setup requires CODESIZE=0x00 and BOOTSIZE=0x20. Fuse values are not embedded in the HEX; use the qualified provisioning flow and preserve/verify EEPROM and fuses.
  • FlexFox80-AVR-0.210.hex is application-only and uses the legacy address-zero layout. It does not contain BL0.3 and is not the normal choice for a new or BL0.3-equipped unit.
  • Write the ESP sketch BIN at 0x000000. Do not erase the whole flash during a routine update.
  • The LittleFS BIN is recovery/factory content for 0x300000 under the qualified 4M1M layout. It replaces stored settings, event files, and web files.
  • Cryptographic firmware signatures are intentionally not part of this release. Wireless AVR access uses the target's MAC-derived SSID suffix as the operator unlock and is limited by the AVR-controlled maintenance window.

Known boundaries

  • ESP access remains intentionally time-limited to protect the battery. Maintenance workflows extend the lease only while verified progress/keep-alives continue.
  • Moto devices may refuse automatic reassociation with the ESP open AP; the provided ADB relay/reassociation workflow is the qualified debug and upgrade path.
  • BL0.3 watchdog/self-check expansion and dual-image ESP rollback remain future boot-chain hardening opportunities. They are not known release-blocking defects.
  • Fleet-soak-specific automation is mothballed; it is not required for ordinary event creation, sync/clone, or release operation.

The historical v1.0.0 tag remains an audit marker only. Its deleted GitHub release and AVR 0.201 assets must not be treated as approved firmware.