FS: My OSHW GPIBUSB Adapter rev3 - Page 1
Forum section: electronics / general

author: scasagrande
author_rank: Contributor
timestamp: March 18, 2014, 01:37:53 am
content: Hey everyone,Almost two years ago I posted in the BSW forum about my open source hardware GPIB-USB adapter (https://www.eevblog.com/forum/buysellwanted/for-sale-oshw-gpibusb-adapter/) and this January I posted in the project forum about my revision 3 update (https://www.eevblog.com/forum/projects/my-gpibusb-rev3-adapter/). The main update to the board was the inclusion of the proper GPIB line drivers.Since then I have completely graduated from university with my MSc and I am now working on OSHW full time. With that this weekend I released an updated firmware for my rev3 board. Primary new features in the update include:- Nearly all Prologix command set support. The adapter should now work with some pre-existing software tools and examples on the internet that were originally intended. Some will require a few changes for baud rate and flow control settings.- Improved termination character handling- SRQ support (but no parallel polling, only serial)- Improved stability- Device mode (first version so there may be fixes in the future)- Most settings can be stored in EEPROM- Basic FIFO buffer for data sent from the PCThis board never was and never will be a drop in replacement for NI/Agilent/etc GPIB adapters. It enumerates as a virtual serial port (via an FTDI chip) in order to ensure maximum compatibility with various operating systems and programming environments.I use OSHPark for my PCBs and I assemble everything right here in my apartment in Canada.If you are interested in my adapter, you can pick it up from my website:www.galvant.caand all the sources are located on github athttps://www.github.com/Galvant. I'd like to keep working on open source full time so your support goes a long way. May I can even get a car some day!

author: scasagrande
author_rank: Contributor
timestamp: April 15, 2014, 09:05:43 pm
content: I just uploaded a new build to the dev branch on GitHub which speeds up command recognition. Before this build I had the micro do comparisons on input vs each stored "valid" string in memory until a match was found. This resulted in a lot of unneeded character checks.With the update, only the characters that differentiates each command are checked. So, while this technically reduces how strict the language set is, it speeds this section of the code execute up enough that large numbers of internal commands being sent no longer require the occasional delay to prevent the buffer from being filled.Next I want to investigate speeding up the port manipulation and see if that improves performance at all. If it does make a difference, both of these changes will be packaged together in a final firmware v6.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 04, 2020, 02:04:32 am
content: FYI --I've been working with this codebase a bit, cleaning it up and porting it to XMEGA.I may document my platform (if there's interest..?), but it's nothing special, little more than an ATXMEGA strapped to a GPIB connector. I have left in hooks in the code for using the interface ICs (i.e., driving the direction/enable pins), but it also works without them (on a sufficiently small GPIB network).Just a little help out, here's the command set documented as concisely as possible:Code:Prologix Compatible Command Set Original Command Set--------------------------------------- -----------------------------------Get/Set Address ++addr  Set Address +a:<addr>Get/Set Timeout ++read_tmo_ms  Set Timeout (ms) +t:<N>Read with EOI ++read e Read from Talker +readGet/Set EOS ++eos  Test +testSet EOI Use ++eoi [0|1] Set EOS Character +eos:<C>Get Version String ++ver Set EOI Use +eoi:<0|1>Command Trigger* ++trg  Strip EOS from Rx. +strip:<0|1>Get/Set Auto-Read ++auto <0|1> Get Version Number +verReset Interface ++rst Command Get* +get Get/Set Debug ++debug [0|1] Set Auto-Read +autoread:<0|1>Clear Target ++clr Reset Interface +resetGet/Set EOT Use ++eot_enable [0|1] Set Debug Mode +debug:<0|1>Get/Set EOT Char. ++eot_char  Get/Set Address ++addr Interface Clear ++ifcLock Local Ctrl. ++lloEnable Local Ctrl. ++locListen Only (TODO) ++lon [0|1]Get/Set Dev./Ctrl. ++mode [0|1]Save Configuration ++savecfg [0|1]Read SRQ ++srqSerial Poll ++spoll Get/Set Status ++statusPrologix parameters are read by entering *Parameter not implemented.the command with no parameter. Originalcommands are write-only.Sym. Description Range EOS Codes------------------------------------- -----------0|1 Boolean 0 = F, 1..255 = T 0 CR, LFaddr Address 0..30 1 CRN Integer 0..2^32-1 2 LFC Character 0..255 3 NULOf course for the GPIBUSB this will appear on the Virtual COM Port interface. (I've opted to use a serial interface, which...shows up identically, as I'm connecting with a USB adapter anyway.)Tim

author: agehall
author_rank: Frequent Contributor
timestamp: March 04, 2020, 07:00:11 am
content: I could be interested in that... I have a GPIB-interface on my "projects to look at"-list atm.

author: coromonadalix
author_rank: Super Contributor
timestamp: March 04, 2020, 12:32:59 pm
content: If not sold pm me i'm Canadian thks