You did not say what module you used to write your driver. If you use asyn then your driver should call pasynOctetSyncIO->writeRead(). That is guaranteed to be an atomic operation, so a writeRead from another record cannot interfere. If you do write() followed by read() you will have the problems you are describing, because a second write can occur before the first read is issued.
Are you using devGpib, streamDevice, asynPortDriver, or what?
Mark
________________________________
From: [email protected] on behalf of Andrew Wagner
Sent: Fri 8/27/2010 3:03 AM
To: [email protected]
Subject: GPIB and Record Advice
Hey everyone,
I've created device support and a driver for the Agilent 34970 MUX which I access over Ethernet via the PROLOGIX GPIB-Ethernet controller. I'm currently issuing three measurement commands in succession to read out three temperatures. The problem I run into is that occasionally one readout will not finish before the next is issued resulting in a LINK_INVALID error for the record. The MUX also reports the error -410 (Invalid command issued) when this occurs. Is there a good way to prevent asynchronous records that need to access the same device from "bumping into each other" in this way? If there were only two records I could set SDIS to the PACT of the other record but I have at least 3 and likely more records that need to access the MUX. Thanks very much for your help and advice.
Andrew Wagner
- Replies:
- Re: GPIB and Record Advice Andrew Wagner
- References:
- GPIB and Record Advice Andrew Wagner
- Navigate by Date:
- Prev:
GPIB and Record Advice Andrew Wagner
- Next:
network video John Dobbins
- 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:
GPIB and Record Advice Andrew Wagner
- Next:
Re: GPIB and Record Advice Andrew Wagner
- 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
|