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  <20122013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: How to debug record processing?
From: Andrew Johnson <anj@aps.anl.gov>
To: "EPICS tech-talk" <tech-talk@aps.anl.gov>
Date: Tue, 17 Apr 2012 10:43:42 -0500
Hi Nerses,

Have you tried using the aSub record type?  It provides up to 21 input fields 
A..U and output fields VALA..VALU which do not have to be arrays, you can just 
set the array sizes to 1 (which is the default anyway) and use them as 
scalars.  You will need to make some minor changes to your subroutine code in 
the way that it accesses the fields though; prec->a is now a pointer to the 
value in the A field, so you have to use something like *(double *)prec->a if 
FTA is DOUBLE for example.  There is documentation in the record reference 
manual at
  https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Array_Subroutine

HTH,

- Andrew

On 2012-04-17 Nerses Gevorgyan wrote:
> Dear EPICS experts,
> 
> I'm using a custom record which is enhanced version of subroutine record
> (has more output fields).
> The record is not processed, besides it has a "2 second" set in the SCAN
> field.
> The scanppl doesn't show it has my custom records in the list.
> The printouts I made in the
> $EPICS_BASE/src/db/dbAccess.c:dbProcess(struct dbCommon *precord) are
> not showing up. Which means dbProcess is not reached either.
> The PACT field shows value 0. Setting it to 1 using caput doesn't seems
> to change the value.
> 
> At the same time the function from INAM field of record is called
> successfully and works fine.
> 
> Do You have a clue, how can I find out why dbProcess and consequently my
> function supplied by SNAM is not called?
> 
> With Thanks in Advance,
> Nerses
-- 
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte

Navigate by Date:
Prev: Re: log message filter in Asyn Eric Norum
Next: RE: log message filter in Asyn nick.rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: How to debug record processing? Nerses Gevorgyan
Next: hardware register access Bai Jiaoni
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·