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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | asyn record support - output |
From: | Heinrich du Toit <[email protected]> |
To: | TechTalk EPICS <[email protected]> |
Date: | Fri, 29 Jun 2007 14:37:25 +0200 |
Hi I've created an asyn driver that provides a asynInt32 multi_device interface. Actually the addr is simply different "registers" on the same device. Everything works fine - well mostly. The registers are multi-directional in the driver. ie. you can write them and you can read them. - Interrupts also works Offcourse some registers are for reading and other for writing. Now on one such register for writing I've put a longout record. As this register will configure the device I want to put in a default value in the .db file. so I added the DOL field to the longout register. (this will set the default VAL of the record and it does) But when the system initializes the thing goes and READ this register using the driver. This not only overwrites the default value. It also gives some garbage as the device can be in unknown state. I've made a workaround using DrvUser Interface and passing a startup value that way - but this just doesn't seem like a good solution. Why does a longout record call the drivers READ command at startup? Doesn't make sense 2 me. -Heinrich