Experimental Physics and Industrial Control System
Hi Igor,
I would recommend that you consider writing an asyn driver. Then you do not need to write any device support, you can use the standard asyn device support. If you write your driver in C++ and derive it from asynPortDriver (which is part of asyn) it will save you a lot of work.
There are 2 relatively simple example drivers you could use an example.
The first is for the Systran IP-DAC128V, which is an Industry Pack digital to analog converter. It uses the EPICS "ipac" module, which is a library to interface with Industry Pack modules. The asyn driver for the DAC128V is only 165 lines of C++ code. You can find it here:
http://cars.uchicago.edu/software/epics/dac128V.html
The second is the driver for the Measurement Computing USB-1608GX-2AO. This is a USB device that it interfaced through a library provided by Measurement Computing. The full driver is here:
http://cars.uchicago.edu/software/epics/measComp.html
I used this device as an example during the EPICS asyn training class at SLAC in 2012. I gave 3 talks that you can find on the Web:
The first is an introduction to asyn:
https://portal.slac.stanford.edu/sites/conf_public/epics_2012_04/presentations/asynTalk.pdf
The second is an introduction to the asynPortDriver C++ base class:
https://portal.slac.stanford.edu/sites/conf_public/epics_2012_04/presentations/asynPortDriver%20talk.pdf
The third is a step-by-step guide to writing an asyn driver using asynPortDriver, with the Measurement Computing USB-1608GX-2AO as an example. It starts with a very simple driver that only does limited functions, and is only 131 lines of code. The final version supports all the features of the device and is 1254 lines of code.
https://portal.slac.stanford.edu/sites/conf_public/epics_2012_04/presentations/measCompDriverTalk.pdf
The source code for the versions of the driver used in that course is here:
https://portal.slac.stanford.edu/sites/conf_public/epics_2012_04/presentations/asynTraining2012.zip
Cheers,
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Igor H. Soares Nunes
Sent: Monday, March 04, 2013 8:03 AM
To: [email protected]
Subject: Recommendations for developing an IOC for PCI
Hello everyone,
I am a beginner on developing IOCs and I would like to read some suggestions of more experienced people.
I need to develop an IOC to read from a PCI . I already have a driver linux to communicate whit the bus, but no device support. What do you recommend to develop the device support and the entirely IOC? I have read something about ASYN to develop device support, but I am not pretty sure if that is what I need.
Thanks,
Igor S. Nunes
- References:
- Recommendations for developing an IOC for PCI Igor H. Soares Nunes
- Navigate by Date:
- Prev:
C++ logging framework for epics Sinisa Veseli
- Next:
RE: C++ logging framework for epics matthew.pearson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Recommendations for developing an IOC for PCI Igor H. Soares Nunes
- Next:
C++ logging framework for epics Sinisa Veseli
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024