Skip to content

feat(host): list_ports() + position() convenience helpers (#26)#28

Merged
CameronBrooks11 merged 1 commit into
mainfrom
feat/list-ports-and-position
Jun 28, 2026
Merged

feat(host): list_ports() + position() convenience helpers (#26)#28
CameronBrooks11 merged 1 commit into
mainfrom
feat/list-ports-and-position

Conversation

@CameronBrooks11

Copy link
Copy Markdown
Member

Closes #26.

  • list_ports() + PortInfo (transport.py) — enumerate serial ports via pyserial under the [serial] extra → {port, description, hwid}. Lets fiberpath drop its only direct serial.tools.list_ports use (Epic: local-API backend + OpenAPI-typed thin-shell GUI fiberpath#195).
  • MarlinHost.position() — query M114, return parsed axis fields; symmetric with temperatures().

Validated on the real board: list_ports() finds /dev/ttyACM0 (Arduino Mega 2341:0042); position() in the hardware lane (4/4). 118 hardware-free tests pass, just check clean.

- list_ports() (+ PortInfo) in transport.py: enumerate serial ports via
  pyserial under the [serial] extra, returning {port, description, hwid}.
  Lets consumers drop their own serial.tools.list_ports glue.
- MarlinHost.position(): query M114, return parsed axis fields; symmetric
  with temperatures().

Validated on real hardware: list_ports() finds /dev/ttyACM0 (Arduino Mega
2341:0042); position() in the hardware lane. 118 hardware-free tests pass.
@CameronBrooks11
CameronBrooks11 merged commit aeeca60 into main Jun 28, 2026
5 checks passed
@CameronBrooks11
CameronBrooks11 deleted the feat/list-ports-and-position branch June 28, 2026 01:14
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.

feat(host): list_ports() and position() convenience helpers

1 participant