[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Caring and feeding healthy TTYs

I've been working with the serial port under Darwin, trying to find a
good setup, but I can't seem to get emacspeak speaking smoothly,
regardless of how I tweak the settings on the port.

I first tried my Keyspan serial adapter under Linux, thinking that
perhaps it was flaky in some way, but it works well. If I set DTK_PORT
to /dev/usb/tts/0, emacspeak speaks flawlessly.

I've been hacking on tts-lib.tcl, adding a Darwin case to the switch
statement that sets up the port. Out of curiosity, why is < used
before the port, instead of -f $port? I get "ambiguous input redirect"
errors when trying to run these lines.

I've run stty -a on my linux box with the following results:

speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\;
erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start
= ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush
= ^O; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread
clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr
-igncr -icrnl ixon ixoff -iuclc -ixany -imaxbel -opost -olcuc -ocrnl
onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig
-icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop
-echoprt echoctl echoke

And on Darwin with:

speed 9600 baud; 0 rows; 0 columns; lflags: -icanon -isig -iexten
-echo -echoe -echok -echoke -echonl
	-echoctl -echoprt -altwerase -noflsh -tostop -flusho -pendin
	-nokerninfo -extproc iflags: -istrip -icrnl -inlcr -igncr
-ixon -ixoff -ixany -imaxbel -ignbrk
	-brkint -inpck -ignpar -parmrk oflags: -opost -onlcr -oxtabs
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts
-mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
	eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
	min = 1; quit = ^\; reprint = ^R; start = ^Q; status =
	stop = ^S; susp = ^Z; time = 0; werase = ^W;

My casual sweep between the files revealed that the settings of the
following flags didn't match up, or in the cases followed by (?),
didn't seem to exist in Darwin:

ixon ixoff -iuclc(?) -olcuc(?) onlcr -onocr(?) -onlret(?) -ofill(?)
-fdel(?) echok echoctl echoke

I tried stty -f <port> and setting the flags without (?), but this
didn't work. Out of curiosity, do I need to do anything differently,
reconnect the device for example, after playing with stty flags?

I'm not sure what to try next. The format of the information displayed
between the two OS is different, and with a plethora of different,
cryptic flags, I have no clue which are important, and which might be
causing the dectalk to behave like this. I notice there's a- option
which grabs the settings in a stty-readable form. Is this format
cross-platform, and if so, how can I read it in under the mac?

Bleh, maybe I'll just grab Apple's TTS devkit and write an OS X speech
server. I don't want to drag around more cables with my notebook.

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"

Emacspeak Files | Subscribe | Unsubscribe | Search