I'm connecting to a Saris PowerTap 2.4SL bike computer, but really it's a usb cradle using a standard FTDI chip. The device enumerates and works fine as a ttyUSB device under Linux. I have gotten closer to the root of this problem, and I now see why EV_RXFLAG was never implemented in Wine. I'll explain the problem, maybe someone with more Wine knowledge can nudge me in the direction of a good solution. RXFLAG is a parameter in the COM32 interface, there is one RXFLAG value for each COM port. Other per COM port parameters in the COM32 interface are "end of file character", "parity", etc. RXFLAG is set to any character the user wants - and when that character is actually received on the COM port, a special EV_RXFLAG event is sent to the client. This is used for example to implement a Start-of-Message in a serial protocol. In Linux (and Wine) the per serial port device configuration data is stored in a standard unix termios structure associated with the file descriptor. This structure has members for most of the COM32 parameters, EOF, EOL, etc. However, it does NOT have anything that would correspond to RXFLAG. We could store RXFLAG inside of some unused termios member - but that feels like a really bad idea.
So the crux of the problem is: How do I store per serial port configuration data which does not fit into termios?
I have been looking at dlls/ntdll/serial.c mostly. I see there is some server side serial code in server/serial.c. Maybe I need to store this config data in the server, and provide access to it? Possibly in async_commio.hDevice?
On Fri, Feb 20, 2009 at 8:07 AM, Juan Lang juan.lang@gmail.com wrote:
Hi Chris!
I think I know how to implement this feature of Win32 serial comm, but before I attempted I wanted to broadcast my intent to do so. Is anyone else working on this, or in the serial.c area that would like to discuss it?
No one that I know of is working in this area. Periodically someone might work on serial comm stuff, particularly Uwe Bonnes, but in general this area languishes until someone motivated comes along.
So please, work away :) Out of curiosity, which device are you playing with?
Cheers, --Juan