[Twisted-Python] Rts/Cts Serial port flow control in twisted

dsturmfels at gmail.com dsturmfels at gmail.com
Wed Nov 30 23:13:35 EST 2011


On 9 November 2011 02:53, John Santos <JOHN at egh.com> wrote:

> On Tue, 8 Nov 2011 exarkun at twistedmatrix.com wrote:
>
> > On 11:59 am, dsturmfels at gmail.com wrote:
> > >Hi,
> > >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
> > >while
> > >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
> > >barcode
> > >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
> > >string
> > >to the cradle, and the cradle replies instantly with it's software
> > >version
> > >(as a string).
> > >If I scan a barcode, this also instantly shows up in
> > >twisted/pyserial/etc
> > >(as a string).
> > >
> > >With xonxoff flow control on in both the software and cradle, the
> > >serial
> > >connection works exactly the same as having no flow control on.
> > >
> > >With rtscts flow control on in both the software and cradle however,
> > >the
> > >cradle doesn't reply instantly with it's software version when the
> > >correct
> > >string is sent.
> > >However, a scanned barcode shows up instantly in the twisted/pyserial
> > >software, and if you've previously requested the cradle software
> > >version,
> > >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
> > >here?
> >
> > 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
> helpful here.
>
> >
> > 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...
> >
> > Jean-Paul
> >
> >
>
> --
> John Santos
> Evans Griffiths & Hart, Inc.
> 781-861-0670 ext 539
>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>

Thanks John - I'll keep the RS-232 breakout box in mind, if I decide to try
rts/cts flow control again in the future.

Darcy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20111201/c98e90f4/attachment.htm 


More information about the Twisted-Python mailing list