Skip to content

fix(firmware): zero FR blank-state defaults, fix stale onset-delay docs - #50

Merged
thejoshbq merged 1 commit into
mainfrom
fix/49-fr-zero-blank-defaults
Jul 22, 2026
Merged

fix(firmware): zero FR blank-state defaults, fix stale onset-delay docs#50
thejoshbq merged 1 commit into
mainfrom
fix/49-fr-zero-blank-defaults

Conversation

@thejoshbq

Copy link
Copy Markdown
Contributor

Summary

  • Zeroes fr/Config.h's six DEFAULT_* constants (cue frequency/duration, pump duration, laser frequency/duration, timeout) so a freshly-flashed FR board is inert until explicitly configured — arming a device no longer fires real output on a lever press.
  • Recompiles and commits the refreshed fr.hex (pr/vi/omission/pavlovian hex unaffected — each paradigm owns its own Config.h).
  • Rewrites firmware/README.md's FR section, which still described the old cue-offset-relative "trace interval" chaining model (no longer present in code) instead of the current per-device onset-delay model.

Closes #49

Test plan

  • bash firmware/compile.sh — all 5 sketches compile; only fr.hex changed (confirmed via git status)
  • pytest — 296 passed
  • Flash fr.hex to a Mega 2560, arm cue/pump without setting duration, confirm no tone/infusion on lever press

…cs (#49)

fr/Config.h's DEFAULT_CUE_FREQUENCY/DURATION, DEFAULT_PUMP_DURATION,
DEFAULT_LASER_FREQUENCY/DURATION, and DEFAULT_TIMEOUT_INTERVAL still held
their old non-zero values from before the per-device onset-delay refactor,
so a freshly-flashed board fired real cue/pump/laser output the moment a
device was armed, before any experimenter configuration. Zero all six so
the board ships inert until explicitly configured.

Also rewrites firmware/README.md's FR section, which still described the
old cue-offset-relative "trace interval" chaining model — no longer
present in code — instead of the current per-device onset-delay model.

Recompiled and committed the refreshed fr.hex; pr/vi/omission/pavlovian
hex are unaffected (each paradigm has its own Config.h, intentionally
left untouched here).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@thejoshbq
thejoshbq merged commit 5d45d1f into main Jul 22, 2026
2 checks passed
@thejoshbq
thejoshbq deleted the fix/49-fr-zero-blank-defaults branch July 22, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: FR firmware ships non-zero blank defaults; docs describe stale reward-chain timing

1 participant