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
>
>
>
>