From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from beaver.sibername.com ([64.15.155.210]) by speech.braille.uwo.ca with esmtp (Exim 3.36 #1 (Debian)) id 1I09cD-0004Ao-00 for ; Mon, 18 Jun 2007 01:17:25 -0400 Received: from [24.226.68.228] (helo=tenstac) by beaver.sibername.com with smtp (Exim 4.66) (envelope-from ) id 1I09bh-0005fT-QI for speakup@braille.uwo.ca; Mon, 18 Jun 2007 01:16:53 -0400 Message-ID: <00ec01c7b170$72b6e1f0$ab00a8c0@tenstac> From: "Doug Sutherland" To: "Speakup is a screen review system for Linux." References: <20070617200022.GA16786@linux1><1182118939.3634.15.camel@layla.Mshome><74411A17-AC9D-4C60-BB01-9695456D3126@softcon.com><00a601c7b15b$9749b980$ab00a8c0@tenstac> <03BC5C96-1E28-4336-B323-8C3FC6ED1BEE@softcon.com><00c601c7b162$b7184180$ab00a8c0@tenstac> <46760D56.9040800@clearwire.net> Subject: Re: gentoo dropping speakup support Date: Mon, 18 Jun 2007 01:18:11 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1896 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - beaver.sibername.com X-AntiAbuse: Original Domain - braille.uwo.ca X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - proficio.ca X-Source: X-Source-Args: X-Source-Dir: X-BeenThere: speakup@braille.uwo.ca X-Mailman-Version: 2.1.9 Precedence: list Reply-To: "Speakup is a screen review system for Linux." List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jun 2007 05:17:26 -0000 Speakup does use modules, and it can be statically compiled into kernel instead. That's not a problem. The serial ports, however only support real serial ports, not usb-serial, which is becoming a problem. As I said a few months ago, the whole usb mess can be statically compiled, including the usb core, the host controller, and even usb-serial devices audio devices, and synth drivers, like the dtlk for example, so in theory it should be possible to boot and get speech output, with changes to speakup. As it is now, the code refers to the standard serial port addresses and irqs, and the communication code is RS232 specific. So this what I mean about abstraction. An abstract interface does not implement anything, it only defines. The implementation can be anything as long as it follows the interface. So basically there needs to be a layer of code in between the serial port code and the code that writes to it, one interface with several implementations, RS232 serial, USB serial, and potential for any other kind of implementation. And my argument was that the same could be done on the user side, pressing a certain key does some thing, currently assumed to be standard keyboard, but would be nice if abstract interface where the keyboard is one type of controller, other devices could trigger same. I'm mostly thinking about mobile pervasive systems, where you might want to read a message or email, not type, and your device is in your pocket. So you have a little controller sort of like a game pad where you can move between messages and read them etc, or get phone numbers from a list. If the interface to the synth is generic then there are all kinds of possibilities. I will be working on this kind of thing with speech, and I am still contemplating whether or not it needs to be kernel space. On an embedded device you really don't need to see all the boot messages, because it will load kernel from flash and will always work. If I find a way to adapt this code to work on arm then I might use it, but I actually think I could do the same thing entirely in user space. Boot is much simpler than PC and very fixed in nature, ie once done it shouldn't change, no need to support gazillions of types of hardware etc. I like the idea of being able to hear the console output, but then I might end up just using usb-serial console and having a microcontroller providing a terminal function, in other words both the speech and keyboard functions. If done that way it would possibly miss a very small amount of boot messages, but not many. It would be the same as using a terminal program with your PC connected to another PC with usb serial dongle and watching the other machine boot. -- Doug