[time-nuts] Linux code for Prologix GPIB/USB

Hal Murray hmurray at megapathdsl.net
Mon Feb 26 22:31:31 EST 2007


> At the end of the USB cable there is a FTDI chip that (in conjunction
> with the appropiate driver) emulates a serial port. This serial port
> in turn is connected to the serial port of an AVR type of
> microcontroller. Because this microcontroller expects a certain
> setting of serial transmission parameters you have to set them
> correct, otherwise it will not understand your commands.  

Thanks.  Makes sense, I guess.  I was assuming they had reprogrammed the FTDI 
chip rather than adding another CPU.  (I'm not sure why.  The AVR is pretty 
obvious.)

There is a layer of stuff I haven't sorted out yet.  It's all tangled up in 
the GPIB device being at the far end of a serial (USB or RS-232) string.  The 
Prologix defaults to automagiclly reading data when it becomes available and 
sending it up to the kernel rather than waiting for you to explicitly poll it.

I see two cases where that might get confusing.  One is when you send it a 
command at about the time it sends you something.  You can't tell if the data 
you get arrived before or after your command.

My normal command sequence is running in single cycle mode so it's easy to 
stay in lock step once you get started.  So far, I haven't had any troubles 
getting through initialization, but I'll bet my code would screwup if it got 
delayed for long enough in the right places.

The other case is if you are talking to several devices.  Again, there is a 
race as you switch devices.  You can't tell if the string arrived before or 
after you switched.  I think this case can be avoided by switching to a 
device that doesn't exist, checking for input, then switching to the new 
device.  It probably requires some pauses in the right place.


> I have only very limited Linux experience and even less with Windows
> emulation under Linux.

You probably know more about Linux than I do about Windows.

I was just looking for a subroutine package rather than a GUI/IDE.






-- 
These are my opinions, not necessarily my employer's.  I hate spam.






More information about the time-nuts mailing list