Skip to content

Byte Blaster v1.1.23

Pre-release
Pre-release

Choose a tag to compare

@parkerg16 parkerg16 released this 01 Oct 01:39
· 17 commits to main since this release

Byte Blaster v1.1.23 — Prerelease

Firmware and the web configurator are updated together. This prerelease repairs launch-curve handling, tuning/glide behavior, rejected configuration writes and firmware flashing. Flash v1.1.23 and reload the configurator to use the new atomic FPS calibration command.

Launch curves and preset changes

  • Curve uploads now wait for firmware acceptance and verify the stored trajectory mode, duration and all 16 knots. A busy board, USB failure, timeout or mismatched readback is reported as a failure; disconnected imports are labeled as local only.
  • Firmware and browser validate complete curves before changing active settings. Invalid stored curves are repaired after CRC validation while retaining other tuning.
  • Each motor-control tick refreshes its launch reference and acceleration feedforward slope from elapsed time. Delayed/queued ticks no longer keep using a reference calculated before a main-loop delay.
  • Calculator exports identify the actual programmed duration and preserve the requested optimizer deadline separately. Incomplete, descending or unsupported-duration references are blocked from export.
  • Raising the preset while holding REV starts a new launch from measured RPM and re-arms firing readiness.

The imported duration is an RPM reference schedule. The HUD measures trigger-to-solenoid latency. The readiness gate normally waits for both wheels to reach 92% of target, subject to existing timeouts/fallback. A 125 ms curve does not guarantee 125 ms physical firing. Bench verification of the reported 125 ms versus 165 ms behavior remains outstanding; motor/ESC response and firmware output limits still apply.

Tuning and glide

  • Cold driven-stop state resets for each glide, including glides beginning below 2500 RPM.
  • Cold-stop drive is released when deceleration plateaus instead of always waiting out the full timeout when the ESC holds a low minimum speed.
  • Removed the automatic flying-start redo introduced in v1.1.22: ESC startup acceleration could trigger it on genuine stopped launches.
  • Tuning results report the drive-release/start RPM and time at STOP, and the configurator displays both.
  • Both motors follow one decreasing glide reference with bounded per-motor feedforward correction. Default glide rate is 8000 RPM/s, minimum 3000 RPM/s. Independent runaway protection remains active.

Configurator, calibration and ESC connection

  • Settings writes and resets require firmware acknowledgement. Rejected writes retain pending edits; preset limits are applied before preset RPM values, with Always On last.
  • Profile import validates the complete file, restores PID gains with the correct m1/m2 commands and restores the launch curve. Partial failures are reported; imported HUD layouts explicitly require saving.
  • FPS calibration validates all five points and saves them atomically. Invalid stored tables fall back without re-enabling a disabled estimator. Calibration mutations wait for actual STOP outputs, including after glide.
  • Valid UF2 files are recognized using unsigned header reads and preserved intact. Both flash paths reject malformed/truncated files and incompatible flash layouts. Failed or superseded downloads cannot leave older cached firmware selected. Saving a file no longer claims a verified hardware flash.
  • ESC passthrough retains fragmented MSP packets until complete and validates frame bounds/header/checksum before processing. Maximum-length MSP requests no longer wrap their length.
  • Firmware selections label prereleases explicitly. The release manifest also records the prerelease channel.
  • RPM-drop dart detection and the existing choice between confirmed-dart and solenoid-pulse ammo counting remain available.

Validation and release tooling

  • All 42 strict test suites pass, including required native checks of production control, curve parsing, FPS storage and fragmented MSP transport.
  • Tests run with four workers and separate suite logs; the release gate runs once before publishing. Firmware compilation uses four workers by default, adjustable through -BuildJobs.
  • RP2040 compilation passed for rp2040:rp2040:waveshare_rp2040_zero. Hardware testing of launch/stop, preset changes, calibration persistence and ESC passthrough remains outstanding.

Assets

  • Byte_Blaster_RP2040_v1.1.23.uf2: RP2040 BOOTSEL firmware.
  • Byte_Blaster_RP2040_v1.1.23.bin: Raw RP2040 firmware binary.
  • AM32_F4A_4IN1_F421_2.21_v1.1.23.hex and .bin: Existing AM32 2.21 ESC firmware, bundled unchanged.
  • manifest.json: Asset sizes, SHA-256 hashes, source commit and release channel.