EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Measurement Computing Linux C Drivers
From: Matt Rippa <[email protected]>
To: "Lang, Keenan C." <[email protected]>, "Rivers, Mark L." <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 21 Apr 2015 11:10:48 -1000
Hi Keenan and Mark,

Thanks for the replies. I've been in touch with Warren
Jasper, the developer of the Linux drivers. He's open to
answer any questions. Here's some recent comments below.
Wouldn't want anyone to duplicate any work.

Here's the link to his latest (beta) release:
ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/USB/MCCLIBUSB.1.02.tgz

-Matt

> My code has pretty wide acceptance in the Linux community.   Yes the 
> AInScan and AOutScan are tricky to implement and
> still get decent performance.  Remember, USB and especially HID under 
> USB was not designed to be hard real-time.
> The newer MCC devices, like the 1608G  are not HID (Human Interface 
> Device like a mouse or joystick) and use bulk endpoints that are
> faster and better implemented.
> 

> By the way, my latest packing running libusb 1.0 and hidapi should work 
> on Windows and Mac OS in addition to Linux to it would give you
> the portability and reliability you want.   Since it is written in C it 
> should also interact better with other languages such as Java and Python.
> I have already ported over support for the usb-ctr and usb-dioXX and the 
> usb-1608G which is what you would need for your applications.
> The optical encoders is another matter.
> 
> Regards,
> 
> Warren




On 04/20/2015 12:09 PM, Lang, Keenan C. wrote:
>> I'm confused.  What about the Linux drivers here:
> 
>> ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/USB/
> 
>> I downloaded that package, and there is a nice library
>> for the USB-1608G, for example.  It has different
>> functions from the ones in the Measurement Computing
>> Windows library, but they appear to be quite complete.
>> I would think it would be pretty straightforward to
>> re-implement my 1608G EPICS driver for Linux using that
>> library.
> 
> Sorry if I was unclear, that is what I used and almost
> everything was easy enough to implement. The daqflex code
> I have is only being used as example code, so I could
> make sure that I was taking care of everything that the
> library is supposed to implement. I saved scanning for
> last because of it needing just a bit of extra work with
> polling threads and locking, but other things started
> taking priority and there wasn't much of a want here at
> APS, so it just sort of sat there at 90% for the past
> run. Now that there is an interested party, I can finish
> it up relatively soon.
> 
> 
> Keenan ________________________________________ From:
> Mark Rivers [[email protected]] Sent: Monday,
> April 20, 2015 3:42 PM To: Lang, Keenan C.; Matt Rippa;
> [email protected] Subject: RE: Measurement Computing
> Linux C Drivers
> 
>> Since Measurement Computing didn't release a port of
>> their control library in addition to the communications
>> drivers, all the command calls that the measComp driver
>> relies upon need to be reverse engineered from the
>> documentation.
> 
> I'm confused.  What about the Linux drivers here:
> 
> ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/USB/
> 
> I downloaded that package, and there is a nice library
> for the USB-1608G, for example.  It has different
> functions from the ones in the Measurement Computing
> Windows library, but they appear to be quite complete.  I
> would think it would be pretty straightforward to
> re-implement my 1608G EPICS driver for Linux using that
> library.
> 
> Regarding the DACFlex library, this appears to have been
> abandoned by Measurement Computing.  This is from their
> Linux FAQ page:
> 
> Question: Hi I've noticed that for a while the new USB
> devices I'm receiving info on are not being listed on the
> Linux page. Is the Linux support (DAQFlex etc) no longer
> being supported? The device I'm interested in currently
> is the USB-230-OEM.
> 
> Answer: Regrettably, no new products will be added to our
> DAQFlex library. Support for existing hardware will
> continue. For an easier out-of-the-box Linux experience,
> we recommend using the MCC 3rd party drivers. Please see
> http://www.mccdaq.com/daq-software/Linux-Support.aspx for
> more details. Currently, the USB-230-OEM series is not
> supported by our Linux drivers. The hardware architecture
> of the USB-230-OEM series does not lend itself easily to
> Linux development. For that reason we have chosen to hold
> off with Linux development. For a low cost 16 bit DAQ
> device with Linux support, I would recommend one of our
> USB-1608G series products. Please see
> http://www.mccdaq.com/usb-data-acquisition/USB-1608G-Series.aspx
>
> 
> 
> Mark
> 
> 
> -----Original Message----- From: Lang, Keenan C.
> [mailto:[email protected]] Sent: Monday, April 20, 2015
> 3:17 PM To: Mark Rivers; Matt Rippa;
> [email protected] Subject: RE: Measurement Computing
> Linux C Drivers
> 
> I had put development of porting the support to Linux on
> hiatus, but can try to finish things up now that there is
> a want. Since Measurement Computing didn't release a port
> of their control library in addition to the
> communications drivers, all the command calls that the
> measComp driver relies upon need to be reverse engineered
> from the documentation. This was a simple enough task for
> most of the calls, but the AIScan and AOScan commands are
> a bit tougher to match the expected behavior. I have C#
> source code for measComp's new control library (called
> DAQFlex), but the code base is enormous and a bit
> convoluted. As well, once all is said and done, the
> performance may be undesirable.
> 
> Keenan ________________________________________ From:
> Mark Rivers [[email protected]] Sent: Sunday,
> April 19, 2015 8:46 AM To: Matt Rippa;
> [email protected] Cc: Lang, Keenan C. Subject: RE:
> Measurement Computing Linux C Drivers
> 
> Hi Matt,
> 
> That Linux support is not new, it has been there since I
> started working on the drivers.  I was discouraged by
> this document for the Linux support:
> 
> ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/USB/README_mcc_usb
>
>  The document is old (2008), so perhaps it no longer
> applies.  But it states that the fastest performance they
> could get was 50 kHz, which is an order of magnitude
> slower than the Windows drivers from Measurement
> Computing.
> 
> That being said, I believe that Keenan Lang from APS BCDA
> has been working on Linux drivers for these devices.  I
> have not yet seen any official release from him, but I
> have CC'd him on this message so he can respond
> directly.
> 
> I also believe that the accelerator group at APS got
> Linux support working for some models which are used for
> the APS vibration monitoring system.  Again, I don't
> think that have released their drivers.
> 
> Mark
> 
> ________________________________________ From: Matt Rippa
> [[email protected]] Sent: Saturday, April 18, 2015 11:18
> PM To: [email protected]; Mark Rivers Subject:
> Measurement Computing Linux C Drivers
> 
> Hi Mark,
> 
> I was looking at your package for measurement computing 
> devices below. Their website now links to open source
> Linux drivers written in C. Have you seen this yet? And
> are you planning to incorporate this into your existing
> epics support?
> 
> Thanks, -Matt
> 
> http://cars9.uchicago.edu/software/epics/measCompDoc.html
>
>  http://www.mccdaq.com/daq-software/Linux-Support.aspx
> 


References:
Measurement Computing Linux C Drivers Matt Rippa
RE: Measurement Computing Linux C Drivers Mark Rivers
RE: Measurement Computing Linux C Drivers Lang, Keenan C.
RE: Measurement Computing Linux C Drivers Mark Rivers
RE: Measurement Computing Linux C Drivers Lang, Keenan C.

Navigate by Date:
Prev: Re: epicsQt/caWtDM and sliders John Dobbins
Next: RE: epicsQt/caWtDM and sliders Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Measurement Computing Linux C Drivers Lang, Keenan C.
Next: Re: Measurement Computing Linux C Drivers Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·