On Thu, Oct 25, 2007 at 08:52:48AM -0700, Brooks Talley wrote:
> Thanks to everyone who applied.  The OpenBSD approach to setting UFTDI baud 
> rates is definitely superior.
> 
> However, the root of my problem turned out to be Python.  Even with the new 
> baud rate hardcoded in the UFTDI kernel module and manually added to 
> termios.h, Python was refusing to admit that it was a valid baud rate.
> 
> The issue is that Python (2.5.1) compiles its own termios interface module, 
> which builds a list of allowed baud rates from the defines in termios.h.  
> Python's termios.c does something like this:
> 
> include <termios.h>
> termios_constants[] = {
>    {"B300",B300},
>    {"B1200",B1200},
>    {"B2400",B2400},
> .
> .
> .
> #ifdef B115200
>    {"B115200",B115200}
> #endif
> #ifdef B230400
>    {"B230400",B230400}
> #endif
> 
> So of course my new buad rate never got added to the list.  It's a fairly 
> ugly problem, because the valud baud rates are set in #defines in termios.h 
> and Python wants an array of them, and of course there's no way (that I know 
> of) to enumerate defines and get a list of those that start with "B" followed 
> by numbers (and, of course, for all I know there's some other BXXXXX define 
> somewhere that is not intended to indicate an allowed baud rate).
> 
> The real solution would be to use the OpenBSD UFTDI baud rate generator and 
> update Python's termios.c to avoid the list of valid baud rates and have it 
> just ask the serial port to set the requested rate and report back any error. 
>  But that requires far more than my meager skills.  I just added another 
> hardcoded #ifdef to Python's termios.c and it is all working now.

I will take care about the ftdi driver within the next days, but will
not MFC it until the releases are done.
The python part is left for someone else.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
[EMAIL PROTECTED]           [EMAIL PROTECTED]            [EMAIL PROTECTED]
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to