Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

Refusals reach the page on /live, and the page reports its snap-backs with their cause to /precision #457

shipped merged opened this has it
opened this

Split from #436, which built the instrument (src/precision.ts, GET /precision, bench/precision.ts). Part of #439.

The arm server now counts snap-backs it causes (release-park, hold-expired, zone, cap, stale-drop, maxStep-drop, jam, STOP, turn-end) and keeps them per session. What is still missing is the page's side:

  • [ ] Refusals reach the page. Every frame the relay or the arm server drops, clamps or refuses (the clamp entries of the machine log: joint limit, too far in one frame, zone, jam, too many frames, not passed on, the relay's stale/out-of-order drops and the speed cap) goes to the driver's page on /live with its reason, is counted, and is shown on the page as one short line (textContent, never HTML). Nothing silent.
  • [ ] Snap-backs seen by the page. When the driven model or a slider moves away from the user's target without the user doing it, the page reports {cause, sizeDeg} with cause from the fixed list in src/precision.ts (CAUSES), including reconnect which only the page sees. The relay validates the cause and size and adds them to the arm's scorecard (a new POST on the arm server, same-origin through the relay, driver only), so /precision counts the page's snap-backs beside the server's.
  • [ ] Tests: a refused frame shows its reason on the page; a snap-back of each cause reported by the page is counted with that cause; a cause not on the list is refused with 400.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs