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  2015  <20162017  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  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Measurement Computing Linux C Drivers & MHz TTL counter
From: Mark Rivers <[email protected]>
To: "'Pearson, Matthew R.'" <[email protected]>, "[email protected] list" <[email protected]>
Date: Wed, 12 Oct 2016 20:38:56 +0000
Hi Matt,

The Measurement Computing USB-CTR08 will count up to 48 MHz.  8 channel version is $429, 4 channel version is $359.

http://www.mccdaq.com/usb-data-acquisition/USB-CTR08.aspx

This device appears in the list of models that Warren Jasper supports.  I don't know what features his driver supports, but I suspect it supports basic counting.  His drivers tend not to support the fast continuous streaming that the Windows library supports, so you may not be able to use it as a Multi-Channel Scaler (MCS), but as a simple scaler it should work.

Mark


-----Original Message-----
From: Pearson, Matthew R. [mailto:[email protected]] 
Sent: Wednesday, October 12, 2016 3:29 PM
To: [email protected] list
Cc: Lang, Keenan C.; Mark Rivers; Matt Rippa
Subject: Re: Measurement Computing Linux C Drivers & MHz TTL counter

Hi,

Has there been any further work on the EPICS Linux support for the Measurement Computing devices?

I've been taking a look at the driver provided by Warren Jasper, and I'm interested in this ethernet based device:
http://www.mccdaq.com/ethernet-data-acquisition/24-channel-digital-io-daq/E-DIO24.aspx

The Linux driver seems to support setting and getting the binary signals, but I'm interested in the 32-bit counter signal. I don't suppose anyone has used this device?

More generally, I'm trying to find an affordable 1 or 2 channel ethernet (or serial) based TTL counter that works in the MHz region. The E-DIO24 can do up 10MHz, which might be sufficient for our application, but ideally I'd like to handle 50MHz signals. Companies that deal with PMTs also seem to make suitable devices:
http://www.sens-tech.com/assets/media/files/Data%20Sheets/DM0101%20Iss1.pdf
http://www.et-enterprises.com/files/file/PMT-accessories-brochures/CT2.pdf

Cheers,
Matt


Data Acquisition and Control Engineer
Spallation Neutron Source
Oak Ridge National Lab


> On Apr 21, 2015, at 5:10 PM, Matt Rippa <[email protected]> wrote:
> 
> 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:
Re: Measurement Computing Linux C Drivers & MHz TTL counter Pearson, Matthew R.

Navigate by Date:
Prev: Re: Measurement Computing Linux C Drivers & MHz TTL counter Pearson, Matthew R.
Next: arbitrary function generator BOGARD Daniel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Measurement Computing Linux C Drivers & MHz TTL counter Pearson, Matthew R.
Next: arbitrary function generator BOGARD Daniel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 13 Oct 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·