Not hex value
-
Hi Everyone,
I have created a data source of type HTTP Retriever to make a web request for the status of an equipment. The response of the request is simple of the type:
result = <value>I would like Mango to show me the value obtained in hexadecimal. For this I have configured a Data Point as follows:
According to the Mango documentation, the following can be read:
*"In addition to the standard DecimalFormat options you can prefix your format with '0x' to imply you want hexidecimal values rendered. This format will truncate the decimal place and requires that you supply the minimum number of places you want rendered. So 0x00 will always render at least 2 values:
512 = 0x200
255 = 0xFF
16.7 = 0x10
15 = 0x0F"*Therefore, if I receive a 15, I expected the value of the data point to take a 0x0F
However, as seen in the image, the result is a negative value.
Am I setting something wrong or it is a bug?
Thanks!
-
Are you dead certain you're receiving a 15?
Secondly perhaps check therenderedValue
as well, see how that looks. Just a couple of ideas...Fox
-
@jcaballeroa I did some testing and found that the HTTP retriever data point's Number format input does not work like you are expecting. It uses DecimalFormat to convert the String value received into a number to store in Mango. It is not used for display purposes, which is what it looks like you are trying to use it for.
To display a number in Hex for a Numeric point you will want to use a TextRenderer. That will accept the
0x00
format you are trying to use and display the value in Hex.As for why it is returning -15 instead of 15 I can't really explain that but it has to do with how java is trying to convert the String of "15" to a floating point number using the pattern
0x00
which is not a valid pattern outside of Mango's text renderer pattern formats. -
Thanks for verifying Terry!
-
@terrypacker Thanks Terry!!!