From: Lino Sanfilippo [mailto:LinoSanfilippo@xxxxxx] Sent: Friday, December 15, 2023 11:14 PM > > Hi Christoph, > Hi Lino, > On 14.12.23 15:50, Christoph Niedermaier wrote: > >> >> I think we don't need to distinguish, because for a full duplex RS-485 >> transceiver also needs RTS control. For example look at the full duplex >> RS-485 transceiver ADM3491E [1]. It's a full duplex transceiver (A/B and Z/Y) >> that has DE (Driver enable) and DI (Driver Input) pins for controlling TX. I >> think the RS-485 master doesn't need it. The DE pin could also be set >> permanently high. But if we have more than one RS-485 slaves it's needed to >> avoid blocking of each other on the receiving wires of the RS-485 master. >> > > Thanks for the explanation. So while still needed for the slaves, in case of the > RS485 master the RTS control is not needed, right? Yes, for the RS-485 (4-wire) master it isn't needed, but I think on the driver level it is better not to distinguish between master and salve. So use also RTS control for enabling sending on a RS-485 (4-wire) master device. > Is this something that userspace should be able to configure? It could be set > by clearing both the RTS_ON_SEND and RTS_AFTER_SEND flag (only if the driver > supports this special RS485 mode, of course). No, I think it shouldn't configure in userspace. Treating a RS-485 (4-wire) master device in the driver as a slave (with RTS control) has the following advantages: - Less confusion in user space (no additional setting available). - Only bus topology determines who is master and salve. - Save energy, because DE is only driven during sending. Regards Christoph