This is an old revision of the document!


Hello, we are neuroscientists studying the sense of smell. We are long time users of your boards esp USB-DIO-96 which we have embedded in devices that we use to control solenoid valves that select amongst many possible odours to deliver.

We built some simple control software using your linux style API on top of libusb that has been running for years (api code is dated 2009) via some software called Igor Pro. We now need to switch control software to a new Python based system running on Windows 10.

So finally my questions,

1. Do you happen to have any Python samples likely either against your regular DLL via ctypes and/or via pyusb or py-libusb etc?

We only use a pretty small subset of your API including

  • AIO_Init
  • AIO_Usb_GetDevices
  • AIO_UsbValidateDeviceIndex
  • AIO_Usb_DIO_ReadAll
  • AIO_Usb_WriteAll
  • getDevHandle

We also wrote a couple of custom functions which accept an already initialised libusb handle for speed rather than intialising every time. I'm not sure if you now have this kind of functionality built in.

AIO_Usb_WriteAllH AIO_Usb_DIO_ReadTriggerH

2. In porting our/mac linux code using this AcessIO_LinuxUsbAPI to Windows is there anything we should look out for?

//	      AcessIO_LinuxUsbAPI 
//  
//  Release 1.0
//
//  Description:   
//   Linux Implementation of the Access/IO USB SW API Interface which
//   enables applications to interface with ACCES/IO devices which use
//   a USB Interface to communicate with a host computer. 
//
//   There is a similar API for Windows. The implementation of the APIs
//   is not the same
//
//  Author	:  Jeff Price
//  History	:  11/06/2009	created

3. if I do need to compile a new DLL (to access via anaconda python with ctypes) that has a small amount of custom C code on top of your library, what compiler etc setup would you recommend?

For reference our code is here:

https://github.com/jefferislab/ODDXOP

# main entry point https://github.com/jefferislab/ODDXOP/blob/master/XFUNC3.c

# extensions to your API https://github.com/jefferislab/ODDXOP/blob/master/aioUsbExts.c

# your API https://github.com/jefferislab/ODDXOP/blob/master/Xcode/aioUsbApi.c

With many thanks for your input,

Greg Jefferis, Cambridge, UK.


Log In