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> 2025 | 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> 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | How to read array value with Channel Access compound data types |
From: | "Wang, Lin via Tech-talk" <tech-talk at aps.anl.gov> |
To: | tech-talk at aps.anl.gov |
Date: | Thu, 22 Feb 2024 16:49:58 +0800 (GMT+08:00) |
Dear all,
From Channel Access tutorial and EPICS base source code, I have learned that besides simple data types like DBR_INT and DBR_STRING, Channel Access client can also read data using compound data types like DBR_TIME_INT and DBR_TIME_STRING.
My understanding is that the data will be returned in dbr field of event_handler_args structure,
And the data returned for DBR_TIME_STRING compound data type is dbr_time_string structure,
However, the value field of dbr_time_string structure is a scalar value instead of array or pointer, which means that only the first item of the array can be read. Therefore, my question is, how do I read array value from records like waveform with the compound data type?
Thanks,
Lin