[Twisted-Python] Rts/Cts Serial port flow control in twisted
JOHN at egh.com
Tue Nov 8 10:53:10 EST 2011
On Tue, 8 Nov 2011 exarkun at twistedmatrix.com wrote:
> On 11:59 am, dsturmfels at gmail.com wrote:
> >Has anyone had much experience with serial flow control in twisted?
> I don't. :) It sounds like this may not really have much to do with
> Twisted, though.
> >I've been using a twisted serial port in my gtk+ software for quite a
> >now, and I can get xonxoff flow control to work, but for some reason,
> >rtscts flow control isn't working (or I may be using it wrong).
> >I'm connecting the software, via a usb-serial cable, to a Datalogic
> >scanner cradle.
> >I've been able to replicate this problem with pyserial as well.
> As you perhaps already know, Twisted's serial port support is
> implemented in terms of pyserial - and the layer Twisted adds is very
> thin. So the problem you experience with pyserial is probably exactly
> the same as the problem you experience with Twisted, since the latter is
> actually the same code as the former.
> >Without flow control on, I can for example, send a particular serial
> >to the cradle, and the cradle replies instantly with it's software
> >(as a string).
> >If I scan a barcode, this also instantly shows up in
> >(as a string).
> >With xonxoff flow control on in both the software and cradle, the
> >connection works exactly the same as having no flow control on.
> >With rtscts flow control on in both the software and cradle however,
> >cradle doesn't reply instantly with it's software version when the
> >string is sent.
> >However, a scanned barcode shows up instantly in the twisted/pyserial
> >software, and if you've previously requested the cradle software
> >the software version string only shows up directly after receiving a
> >barcode string.
> >Am I doing something wrong, or does anyone know what might be going on
> Do you know that the device supports RTS/CTS? Do you know that the USB
> driver for the device supports it? Do you know that the USB driver
> support for it is bug free? :)
You also need to know that the serial cable(s) include the necessary
leads, and that the null modem (or whatever) properly crosses them over.
An RS-232 break-out box (if they are still available) would be very
> Sorry I can't add anything more helpful. I think you want to be looking
> for the problem at a pretty low level, though. Perhaps even at the
> level of measuring voltage on the RTS pin...
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539
More information about the Twisted-Python