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  2016  2017  2018  2019  2020  2021  <20222023  2024  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: setInteger64Param
From: "Gofron, Kazimierz via Tech-talk" <tech-talk at aps.anl.gov>
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 26 Aug 2022 12:17:41 +0000
Hi Mark,

Sorry, I copied a wrong record to the previous email.

The correct record is

record(ai, "$(P)$(R)StartTime_RBV"){
  field(DTYP, "asynInt64")
  field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))TPX3_START_TIME")
  field(SCAN, "I/O Intr")
}
----------
setInteger64Param(ADTimePixStartTime,       1661466046253);
createParam(ADTimePixStartTimeString,       asynParamInt64,     &ADTimePixStartTime);

The callParamCallbacks(); was there. I added additional one just after the setInteger64Param()

I wonder if "ai" record is correct for asyInt64.

Kaz

From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Thursday, August 25, 2022 11:56 PM
To: Gofron, Kazimierz <kgofron at bnl.gov>
Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: setInteger64Param
 
I just noticed that you created the parameter with Type asynInt64 but your record has DTYP asynFloat64. That is not correct, and should have produced an error message after iocInit. 

You should either use an ai record with DTYP asynInt64 or an int64In record.

Mark


Sent from my iPhone

On Aug 25, 2022, at 6:42 PM, Gofron, Kazimierz via Tech-talk <tech-talk at aps.anl.gov> wrote:


Hi all,

I am writing an areaDetector driver that reads integer time in multiples of fractions of ns. 

ADCore: R3-11
asyn:    R4-22
OS:         ubuntu 20.04LTE
===============

record(ai, "$(P)$(R)ElapsedTime_RBV"){
  field(DTYP, "asynFloat64")
  field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))TPX3_ELAPSED_TIME")
  field(SCAN, "I/O Intr")
}

In the driver the value is set using (hard coded value here):
setInteger64Param(ADTimePixStartTime,       1661466046253);

However, the PV value does not change from 0.
------------
PV is created:
createParam(ADTimePixStartTimeString,      asynParamInt64,     &ADTimePixStartTime);    

==========

The caput changes the value of PV:

kgofron@myHP$ caput TPX3-TEST:cam1:StartTime_RBV 1661466046253
Old : TPX3-TEST:cam1:StartTime_RBV   0
New : TPX3-TEST:cam1:StartTime_RBV   1.66147e+12
=================

Any suggestions would be much appreciated.

Kazimierz


Replies:
Re: setInteger64Param Torsten Bögershausen via Tech-talk
References:
setInteger64Param Gofron, Kazimierz via Tech-talk
Re: setInteger64Param Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: setInteger64Param Mark Rivers via Tech-talk
Next: Re: EPICS Collaboration Meeting September 2022 in Ljubljana - virtual participation added Rok Šabjan via Tech-talk
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  <20222023  2024 
Navigate by Thread:
Prev: Re: setInteger64Param Mark Rivers via Tech-talk
Next: Re: setInteger64Param Torsten Bögershausen via Tech-talk
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  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·