Hi,
I am trying to set up point to point communication using RS-485. Simple ttl uart from RPI to printer board is working fine, but when adding uart ↔ RS-485 and RS485 ↔ uart communication is failing. Probably because RS-485 is half duplex. Is there a way to config klipper to support half-duplex mode? Something like waiting for full response before sending next packets can help I think. Is it possible?
Thanks for the answers
…
Hello @mswiatko !
I think no. Klipper depends on two way communication from the host (RasPi etc) and the printer MCU.
Sending stepper commands, controlling the heating elements etc.
Receiving temperatures from the thermistors, endstop notifications from the sensors etc
This will not work because the data exchange is time critical (like homing).
You may see here:
Klipper Architecture / Ecosystem
Calling Klipper a 3D printer firmware is not complete to its full extent. In fact it is a 3D printing application with an associated ecosystem.
The following overview shows how the different aspects interact. Only the red boxes is Klipper in its original sense, the other boxes are independent products forming the entire ecosystem.
[Untitled Diagram.drawio]
Klipper Host
The core of the Klipper environment
Typically running on a Single Board Computer (SBC), …
Why not use 2 wire pairs for full duplex?
RS-485, like RS-422, can be made full-duplex by using four wires. Since RS-485 is a multi-point specification, however, this is not necessary or desirable in many cases. RS-485 and RS-422 can interoperate with certain restrictions.
1 Like
Thanks for clarification. Didn’t know that it is so time critical.
Yeah, good idea, I will try with 2 wire pairs. Thanks
1 Like