Howdy!
New backend continued…
I’m a bit confused about this. I assume that everything must mean (1) the new backend class for PLR, and (2) the external module it imports to connect to and control the robot.
I am adding the new backend to PLR, and I now realize just now that it could live in the external module if you preferred it that way. I’d like the backend to live in PLR of course.
I confirm that the the robot firmware (and all other resources) can be running on a remote machine, and the backend+module can connect to them.
This means that the new backend+module do not rely on any OS-specific stuff, and should be multi-platform. Testing this could take a while, I’ll have to borrow a PC and a Mac.
I’m not savvy at all when it comes to python packaging. I’ll be asking for review in the future.
Just a comment on that: the line is a bit blurry with Klipper.
Its micro-controller firmware is very slim, and most of the computation is done by a “host” python module running on a regular computer (usually an RPi).
Hmm… from what I gather so far, a new backend wouldn’t cause a protocol to not run on a certain computer (because protocols are meant to be agnostic, correct?).
It could happen however that a protocol fails to run on a certain backend, is this what you want to avoid?
Deck-agnosticity?
I’m still pondering a bit about this.
Decks are specific to a certain robot’s physical deck, which can be separate from the definition of the backend; Q1: correct? Q2: Could I use the Hamilton/OT decks on a different backend with the current version of PLR?
I imagine that it should be possible, as long as the robot has an equivalent physical deck (with the exact same dimensions and coordinate origin). This could come in handy as I have been considering 3D-printing OT’s deck and putting it into the robot (as the Pipette Jockey has done) for compatibility.
A similar thing could be done for the Hamilton deck, but I have not looked for its schematics yet.
Cheers