EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  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  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Problem when formating a field as HEX32
From: Mark Rivers <[email protected]>
To: 'Pilar Gil Jaldo' <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 14 Nov 2017 18:55:17 +0000
Hi Pilar,

Can you explain what this variable is used for?  I see that the drvInfo field is "mask" which sounds like it is being used as a bit mask?

If so, I don't think that "ao" is the best record type, since its VAL field is a double, not an integer.  In this case it would be better to use a longout record instead.  And if you want to be able to control all 32 bits without worrying about the sign you should use the asynUInt32Digital interface, rather than asynInt32.  That ensures that the value is treated as an unsigned 32-bit number.

Mark


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Pilar Gil Jaldo
Sent: Tuesday, November 14, 2017 4:17 AM
To: [email protected]
Subject: Problem when formating a field as HEX32

Dear all,

I am having following problem.

MaskSet is a 32 double variable:

record(ao, "$(user):MaskSet")
{
     field(DTYP ,"asynInt32")
     field(OUT  ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))mask")
     field(LOPR, 0x00000000)
     field(HOPR, 0x7FFFFFFF)
     field(PINI, "YES")
}

For the CSS/BOY,  I have defined a text input field which makes possible 
to change the value of this field.
When I set "Default" as format type of the field, everything works fine.
The problem comes when changing the format type to "HEX32". In this 
case,  it is not possible to control the introduced value to the set field.

For example,

if we introduce 0xFFFFFF7, after pressing Enter, the value changes 
automatically to 0xFFFFFF0.
Or when 0x800007F ->  the input value changes to 0x8000080.

If now,  I change the format type to "Default" again and introduce the 
value 134217855 ( 0x800007F as decimal) every works as it should.

Have somebody an idea of what is happening?

Kind regards,
Pilar Gil


Replies:
Re: Problem when formating a field as HEX32 Pilar Gil Jaldo
References:
Problem when formating a field as HEX32 Pilar Gil Jaldo

Navigate by Date:
Prev: AKTA pure James Rezende Piton
Next: Building AreaDetector from source Stephen Molloy
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Problem when formating a field as HEX32 Kasemir, Kay
Next: Re: Problem when formating a field as HEX32 Pilar Gil Jaldo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024