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