I'm new to EPICS and I'm writing a new driver for an IP connected xray pulse detection device. I was wondering if more experienced people can help me with a couple of questions I have.
I've written a driver using PVs as the method for accessing the device state and it works but in some ways it seems unnecessarily awkward:
1. I use separate longin and longout record types for getting and setting integer device variables. Is it possible to use just a single record for both input and output of the same variable? That seems like it would avoid unnecessary duplication and confusion between the two records.
2. My C code registers dsets for each of the input and output types I use. These each provide an init method and either a read or write method depending on the direction. PV client writes result in immediate calls to my write callback from the dset which is what I expected but PV client reads only access the internal stored state of the record, they don't call my read method. Instead I have to get the value into the record using a SCAN field to regularly update the record. This seems to call the read method correctly. Is there a way to get the PV read to directly call my read method so I can provide the instantaneously correct value rather than just the most recently polled value?
Thanks for your help,
--
Zik Saleeba, Senior Software Engineer
[email protected]
- Replies:
- Re: Some questions from a first-time driver author Dirk Zimoch
- Re: Some questions from a first-time driver author Mark Rivers
- Navigate by Date:
- Prev:
RE: Detect VC++ version in Makefile? Freddie Akeroyd - UKRI STFC
- Next:
Re: Some questions from a first-time driver author Dirk Zimoch
- 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:
Re: Detect VC++ version in Makefile? Mark Rivers
- Next:
Re: Some questions from a first-time driver author Dirk Zimoch
- 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
|