Experimental Physics and
| |||||||||||||||||
|
I am using ao. From: Maren Purves <[email protected]> To: Vikram Bhagat <[email protected]> Cc: Mark Rivers <[email protected]>; "[email protected] " <[email protected]> Sent: Thursday, March 14, 2013 9:52 AM Subject: Re: asynInt32 pass 2 value Vikram, I've never used asyn, but is there a string record that you could put both into via a gensub or asub? - I take it the device knows to take two input values? Aloha, Maren On Thu, 14 Mar 2013, Vikram Bhagat wrote: > > Yes, you are right. But slightly different. User have to set the V & I. EPICS device support takes these values and need > to pass both value to linux driver to set power. > Linux driver takes 2 value so we have to set both value we cant set single value. > > as you suggest way to take 2 PVs how i can combine both in the asyn driver ? if by some way it is possible in asyn driver > can combine it then my problem solve. > > > Thanks Mark > > > __________________________________________________________________________________________________________________________ > From: Mark Rivers <[email protected]> > To: 'Vbhagat' <[email protected]>; "[email protected] " <[email protected]> > Sent: Wednesday, March 13, 2013 9:35 PM > Subject: RE: asynInt32 pass 2 value > > What I am asking is what are the two values used for? Are they for 2 different parameters, for example one controls the > voltage and the controls the current on a power supply. Or are you trying to send 2 successive values of the voltage? > > If they are 2 different parameters then you should be using the drvUser interface to pass that information from device > support to the driver. > > For example one record might be: > > record(ao, ?Current?) { > field(DTYP, ?asynInt32?) > field(OUT, ?@asyn($(PORT),0,0)CURRENT) > } > > record(ao, ?Voltage?) { > field(DTYP, ?asynInt32?) > field(OUT, ?@asyn($(PORT),0,0)VOLTAGE) > } > > The asyn driver will take the drvUser strings ?CURRENT? and ?VOLTAGE? and parse them. Typically it will set the pasynUser->reason > field of the device support pasynUser as a flag to indicate what parameter this record is associated with. > > If this is the type of thing you are trying to do then you should not be trying to send two values over the asynInt32 > interface at the same time (which is not possible). You send them separately, with the pasynUser->reason flag that > indicates which parameter is being sent. > > > Mark > > > > From: Vbhagat [mailto:[email protected]] > Sent: Wednesday, March 13, 2013 3:12 PM > To: Mark Rivers; [email protected] > Subject: RE: asynInt32 pass 2 value > > Actually i want to pass 2 value & driver do process on both. I think asyIntt32Array can use , but specifically. I don't > know how to use it. > With regard > > > > Sent from Samsung Mobile > > > > Mark Rivers <[email protected]> wrote: > > > What do you want to do with the two values? Have the driver process one and then the other soon after? Why do you want > to send 2 values? > > Mark > > ________________________________ > From: [email protected] [[email protected]] on behalf of Vikram Bhagat [[email protected]] > Sent: Wednesday, March 13, 2013 4:51 AM > To: [email protected] > Subject: asynInt32 pass 2 value > > Hi all, > Is there any way to pass 2 values for asynInt32 PVs ? > for example > $$ caput PVNAME 255 254 > > and record pass these 2 values to device support for processing. > > or by any othere DTYP have such facility..... > > Thanks > > > >
| ||||||||||||||||
ANJ, 20 Apr 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |