Revolution Reading GPS Data

Graham Samuel livfoss at
Tue Mar 4 15:57:41 EST 2008

Thanks Phil for that insight. I had a quick look at your link and  
staggered back, appalled. It reminded me of what a gentleman named  
Robert Lipe said to me on another list when he thought I was trying  
to reverse engineer the USB interface of my device (maybe I was - I  
had not considered Rev in the equation at that stage and had even  
less idea what I was doing). His advice started off:

> Reverse engineering USB protocols from scratch is possible, but only
> if you pass the entrance exam:
> Repeatedly jam a fork into your left eyeball.    If, after about 40  
> jabs, your
> thought is "man, this is great - my right eyeball needs a piece of  
> this action",
> then reverse engineering USB protocols just might be your calling.

I think I will just go back to sleep on this unless and until I can  
find out something more about the device I wanted to interface with.  
I suppose that I was seduced by the enormous number of USB-connected  
devices that surround me - right here where I'm sitting I can count 2  
digital cameras, a printer, a scanner, a hard disk, an ADSL modem, a  
keyboard, three mice, a GPS training device, a SatNav, an Elgato TV  
receiver, a webcam, a digital storage card reader and a data key. Who  
knows what else I might find if I go into the other rooms in the  
house? And to think that the people who engineered them all had to  
write drivers for PCs and Macs, and (no doubt) they are all  
different. Compared to that, Rev programming seems so easy, doesn't it?

Back to the day job.


On Tue, 04 Mar 2008 09:55:31 -0800, Phil Davis <revdev at>  
> Hi Graham,
> Graham Samuel wrote:
>> --- snip ---
>> It looks to me as if my wish to create better software for it (on a
>> Mac primarily) is pretty much a dead end - although if I can get hold
>> of a serial-to-USB converter I might be able to experiment a bit.
>> BTW I wonder why Rev has never entered the world of USB - I don't  
>> know
>> about Linux, but for PCs and Macs, USB appears to be a completely
>> standard interface and one which has been mandatory on all models of
>> machine for many years. There must by a USB API for these operating
>> systems - is it much more of a challenge to RunRev than the many  
>> other
>> things they've had to incorporate? I do believe there is at least  
>> some
>> level of demand.
>> Graham
> You're certainly correct that USB is well-defined standard,  
> evidenced by
> the many uses of it on all computing platforms and beyond. And as you
> might imagine, the USB standard is necessarily complex to do all it  
> does.
> Here's a good introduction to USB:
> I manage development of a system that uses a USB HID input/output
> device. The device has 9 backlit input keys whose lighted states  
> and key
> events are managed/handled by a Rev-based app. The Rev app has no  
> direct
> interface with the device driver; it interacts with the driver via a
> pass-through background app that provides a socket interface to the  
> Rev
> app. On the Mac, the driver is actually a custom-built Kernel  
> Extension
> (.kext) file; on Windows it's the Win32 version of the libUSB
> open-source library ( ). I  
> imagine
> there may be better ways to implement this, but it is what it is.  :o)
> It's the way we found we could make it work when it was initially  
> needed.
> I know I haven't answered any questions here, but maybe it gives a
> little perspective.
> -- 
> Phil Davis
> PDS Labs
> Professional Software Development

More information about the Use-livecode mailing list