Repository navigation
A Python package for talking to Lizard #346
falkoschindler
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Every host that talks to Lizard reimplements the same things: the
@xxline checksum, writing a startup script with!-,!+and!., reading the startup checksum, waiting for an answer to a command, flashing. Soon the telemetry decoder from #343 joins them. Some of this lives as scripts in this repo, some in RoSys, and other users would have to copy it again.The idea is a Python package, published on PyPI and maintained here, that holds everything Lizard-specific on the host side. RoSys and other hosts would import it instead of carrying their own copy.
What could go in
From this repo:
monitor.py, the interactive console, including the frame display from Decodertelemetry.pyand frames inmonitor.py#343.configure.py, which writes a startup script, also to a serial bus peer with--serial-bus.espresso.py, flashing and resetting over GPIO, locally or via SSH.otb_update.py, firmware updates for serial bus peers.telemetry.py, the decoder from Decodertelemetry.pyand frames inmonitor.py#343.From RoSys (
rosys/hardware/robot_brain.pyandlizard_firmware.py), the parts that are about Lizard rather than about robots:augment()andcheck()for the line checksum.!-,!+line by line, comparecore.startup_checksum(),!., restart, verify again.send_and_await(), sending a command and waiting for a line with a given prefix.corelines and deriving the clock offset fromcore.millis.core.version().The scripts would become console entry points of the package, so
pip installgivesmonitor,configureand friends without cloning the repo.Open questions
lizardis taken on PyPI, and also as an import name by a popular code complexity tool, so the import name matters as much as the distribution name. Free as of 2026-10-22:lizard-host,lizard-tools,lizard-serial,lizard-link,lizard-cli,pylizard. Taken:lizard,lizard-sdk,lizard-connector.core.version()and refuse clearly. Which range of versions does it support, and how does it say so?Nothing here is urgent. It becomes more pressing once #343 exists and RoSys needs the decoder. ※
All reactions