I am not familiar with your desired final product but I would mention that joysticks 
usually have resistive potentiometers and therefore could be used to feed the input to 
an ADC board.  This would probably get around some of the hardware/driver issues 
associated with the inexpensive I/O architecture of the game port.  Obviously, this 
reduces the generic PC portability and increases the complexity.  

I wonder how using the game port differs from the same joystick with USB?  Anyone?

Just a thought,
Rich

> ----------
> From:         [EMAIL PROTECTED][SMTP:[EMAIL PROTECTED]]
> Sent:         Wednesday, May 31, 2000 10:04 AM
> To:   Andrew Price
> Cc:   Tomasz Motylewski; [EMAIL PROTECTED]
> Subject:      Re: [rtl] RTLinux and joystick
> 
> On Wed, May 31, 2000 at 02:56:56PM +1000, Andrew Price wrote:
> > I ran a very small real time application whose sole purpose was to
> > toggle
> > a bit of the parallel port every 100us. 
> > 
> > In the long term I will use this to schedule events etc etc..
> > 
> > The application I am working on also has need for the joystick.
> > 
> > When I ran up the current joystick driver for linux, and in particular
> > the
> > joystick driver for the microsoft (cringe) sidewinder it caused the
> > system
> > to lock up. If I slowed the rate of the real time process. to one toggle
> > every 2ms
> > the joystick operates normally.
> > 
> > 
> > I used the example program for latency testing for the parallel port
> > along with 
> > 'jstest' an example that is packaged with the current joystick driver
> > for linux.
> > 
> > 
> > Can anyone explain why the high rate of the real time process affects
> > what the joystick,
> > a common garden variety process is doing?
> 
> A quick look at the sidewinder driver shows this amusing  comment:
> 
> /*
>  * js_sw_read_packet() is a function which reads either a data packet, or an
>  * identification packet from a SideWinder joystick. Better don't try to
>  * understand this, since all the ugliness of the Microsoft Digital
>  * Overdrive protocol is concentrated in this function. If you really want
>  * to know how this works, first go watch a couple horror movies, so that
>  * you are well prepared, read US patent #5628686 and then e-mail me,
>  * and I'll send you an explanation.
>  *                                      Vojtech <[EMAIL PROTECTED]>
>  */
> 
> 
> and then this cli protected code:
>    do {
>                 bitout--;
>                 u = v;
>                 v = inb(io);
>         } while (!(~v & u & 0x10) && (bitout > 0));             /* Wait for first 
>falling edge on clock */
> 
> So it tries to turn off interrupts and do a busy wait for a falling edge. I bet these
> last for near millisecond periods -- with a 100us RT thread interrupting the device
> is not going to work well at all.
> 
> Sorry. One solution is to get a better joystick. Another is to run on a SMP board.
> 
> 
> 
> 
> -- 
> ---------------------------------------------------------
> Victor Yodaiken 
> FSMLabs:  www.fsmlabs.com  www.rtlinux.com
> FSMLabs is a servicemark and a service of 
> VJY Associates L.L.C, New Mexico.
> 
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
> 
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to