Skip to content

Add JSON serial interface and screen-free analyzers - #1346

Open
0xsys wants to merge 1 commit into
justcallmekoko:masterfrom
0xsys:feature/json-serial-interface
Open

Add JSON serial interface and screen-free analyzers#1346
0xsys wants to merge 1 commit into
justcallmekoko:masterfrom
0xsys:feature/json-serial-interface

Conversation

@0xsys

@0xsys 0xsys commented Jul 3, 2026

Copy link
Copy Markdown

Adds a small machine-readable (JSON) command set on top of the existing USB serial CLI so any host program can parse device data reliably instead of scraping human-formatted text, plus a way to run the graphical analyzers with no screen attached.

  • New commands: jsoninfo (handshake/caps), jsonstatus (poll-friendly state), jsonlist <a|s|c|i|p|t> (NDJSON list rows + a closing end line), jsonmode (toggle streaming). Every machine line is prefixed with "@j " and is one self-contained JSON object with a "t" type tag.
  • New analyzer [-t wifi|bt|chan] CLI command starts the Channel/BT/Channel Activity analyzers without any screen interaction. Sample computation and emit now run independent of HAS_SCREEN; only the on-device chart drawing and touch buttons stay screen-gated.
  • Additive and board-neutral: existing CLI behaviour is unchanged, and continuous streaming is opt-in (gated behind JSON mode) so a plain serial monitor is never flooded with "@j" lines.

See JSON_SERIAL_INTERFACE.md for the full protocol and usage.

Adds a small machine-readable (JSON) command set on top of the existing
USB serial CLI so any host program can parse device data reliably instead
of scraping human-formatted text, plus a way to run the graphical analyzers
with no screen attached.

- New commands: jsoninfo (handshake/caps), jsonstatus (poll-friendly state),
  jsonlist <a|s|c|i|p|t> (NDJSON list rows + a closing end line), jsonmode
  (toggle streaming). Every machine line is prefixed with "@j " and is one
  self-contained JSON object with a "t" type tag.
- New analyzer [-t wifi|bt|chan] CLI command starts the Channel/BT/Channel
  Activity analyzers without any screen interaction. Sample computation and
  emit now run independent of HAS_SCREEN; only the on-device chart drawing and
  touch buttons stay screen-gated.
- Additive and board-neutral: existing CLI behaviour is unchanged, and
  continuous streaming is opt-in (gated behind JSON mode) so a plain serial
  monitor is never flooded with "@j" lines.

See JSON_SERIAL_INTERFACE.md for the full protocol and usage.
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.

1 participant