From 57fc83cf4f4db6a4ca6a0cc0fc9d4a75d87b66ee Mon Sep 17 00:00:00 2001 From: R0ck Date: Fri, 30 Oct 2026 17:09:07 +0000 Subject: [PATCH] Say that a console command on a paused run waits for play. --- pages/board-view.md | 13 +++++++++++++ pages/scripting.md | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/pages/board-view.md b/pages/board-view.md index 8c13e29..94765e7 100644 --- a/pages/board-view.md +++ b/pages/board-view.md @@ -277,6 +277,19 @@ Nothing is echoed twice: the line is written into the console buffer before the bytes reach the board, so what appears is the board's own record rather than a copy from the interface. +**On a paused run, a command waits for play.** The firmware answers as soon as +it reads the line, so `advert` is answered `OK - Advert sent` whether or not the +clock is running, but nothing reaches the air until the engine steps. While the +clock is stopped, the console adds a line of its own under the reply: + + > advert + -> OK - Advert sent + (the run is paused: anything this sends is queued and goes on the air when it plays) + +The line is bracketed so it cannot be read as something the node said. It is +not added while the run is playing, or for a command held with `at_ms`, which +runs inside a step rather than waiting for one. + ### Decoding a companion A companion's serial carries the framed protocol, so read a byte at a time it is diff --git a/pages/scripting.md b/pages/scripting.md index d4dbec7..e22adf9 100644 --- a/pages/scripting.md +++ b/pages/scripting.md @@ -212,6 +212,11 @@ loop runs when the engine steps - so reading immediately after sending reads the moment before the command went out. `ask` sends, gives the mesh its own time, and then reads. +On a paused run, `console.type` and `console.cli` also answer `paused`, the same +sentence the console prints under the reply: whatever the command sends is +queued and goes on the air when the run plays. A call held with `at_ms` runs +inside a step and does not carry it. + ## Importing a deployment ```python