As it turns out, Cygwin's stty does seem to lie, as of Cygwin 1.5.18 and stty 5.3.0.
I verified that
my setbaud code was correct by testing it on a RedHat 7.3 machine at work, then later on a Debian Sid (Kanotix) machine at home. Like stty but arguably more compact.
Now I've tried it under Cygwin, and it seems to be taking effect. "setbaud /dev/com8 38400" followed by "gpsd -n -N -D 2 /dev/com8" gets there really fast with my GPSlim236, while "setbaud /dev/com8 4800" then "gpsd -n -N -D 2 /dev/com8" takes a while longer.
So... if you don't want to wait the two minutes or so while gpsd detects your baud rate, and don't yet want to try a Cygwin snapshot, you can speed it up. Note: CYGWIN=nocom_reset might be required (that's how I have it).
Something else for y'all to test: after adding the audio libraries, compiling/installing sox, and running
this device list script, I can now do "cat alert.wav > /dev/dsp" and have it generate sound - I don't know if the script or libraries or sox were really necessary, though. So, I'm anticipating that a /usr/bin/play consisting solely of
will be adequate.
One more: getting flite operational:
- Download flite release 1.2 (source code)
- Download the Debian patch for flite (until I applied it, I wasn't able to successfully compile).
- tar vzxf flite-1.2-release.tar.gz
- cd flite-1.2-release
- patch -p1 < ../flite_1.2-release-2.diff
- make (there will be numerous warnings about "initialization discards qualifiers..." for cmu_us_kal_diphone.c, cmu_us_kal16_diphone.c, and one other, not sure yet how bad that is...)
- make install
- flite "hello world"
Next task: Try to figure out how to get it to lock better - gpsmodelock=true was even worse that gpsmodelock=false... and a search here for "gpsd lock" didn't help.