Skip to content

TL_RESTART (realign) emits on the P4 writer (ESP-026) - #139

Merged
Skeyelab merged 2 commits into
masterfrom
feat/esp-026-tl-restart
Jul 17, 2026
Merged

Skeyelab merged 2 commits into
masterfrom
feat/esp-026-tl-restart

Conversation

@Skeyelab

Copy link
Copy Markdown
Member

Makes realign work on the ESP-IDF clock writer — it was an explicit no-op (ks_tick.c
case TL_RESTART: break;). transport_launch already produced TL_RESTART, but the plan
carried one action per output so the writer emitted nothing on the bar line.

  • TRANSPORT_RESTART added to TransportAction; ks_tick_out_bytes emits 0xFC then
    0xFA, both before the downbeat 0xF8 (ESP-038 transport-before-clock invariant).
  • ks_tick.c maps the TL_RESTART launch action to TRANSPORT_RESTART (+ tr sync).
  • TDD: 3 new host tests in test_ks_tick.c; all 60 suites green.
  • Closes the ESP-026 TL_RESTART acceptance criterion. Additive enum value; P4/Arduino
    behavior otherwise unchanged.

https://claude.ai/code/session_01F7YsQgso3KNpeXbP5vNVj6

…tart (ESP-026)

Realign was an explicit no-op in ks_tick.c: transport_launch produced TL_RESTART but
plan.transport[] held one action per output, so the writer dropped it and emitted
nothing on the bar line. Add TRANSPORT_RESTART; ks_tick_out_bytes expands it to 0xFC
then 0xFA, both before the downbeat 0xF8 (the ESP-038 transport-before-clock invariant).
Closes the ESP-026 TL_RESTART acceptance criterion.

TDD (test/test_ks_tick.c): out_bytes emits [0xFC,0xFA]; the pair precedes the first
clock; and a realign posted while running + on the bar line drives TRANSPORT_RESTART
through the full tick. All 60 host suites green.

Claude-Session: https://claude.ai/code/session_01F7YsQgso3KNpeXbP5vNVj6
@Skeyelab
Skeyelab enabled auto-merge (squash) July 17, 2026 04:51
@Skeyelab
Skeyelab merged commit fda3c06 into master Jul 17, 2026
10 checks passed
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.

2 participants