E1.20 RDM (Remote Device Management) Protocol Forums

E1.20 RDM (Remote Device Management) Protocol Forums (http://www.rdmprotocol.org/forums/index.php)
-   RDM Interpretation Questions (http://www.rdmprotocol.org/forums/forumdisplay.php?f=5)
-   -   Question about resetting sensors (http://www.rdmprotocol.org/forums/showthread.php?t=1092)

nomis52 March 6th, 2011 05:00 PM

Question about resetting sensors
 
The standard states:

"The SET_COMMAND may be used in conjunction with SENSOR_VALUE to reset or clear a given sensor. When a sensor is successfully reset the values for Present, Lowest/Highest, Recorded values in the response message shall all be equal. "

What does this actually mean? I'd read that to say that at the moment of resetting, the current value should be copied into present and lowest, highest & recorded set to the current value.

But further in the standard it states:

"Recorded Value:
... Support for this data is optional. If this value is not supported, then this field shall be set to 0x0000.
"""

The same text is used for highest & lowest as well.

So if the responder doesn't support recording values or highest / lowest, what should the value of the recorded/highest/lowest field be? This is one of the last tests I need to write and I'm having a hard time deciding what behavior to expect.

There is the separate issue of what to return when all sensors (0xff) have but that's been discussed before.


Simon

ericthegeek March 6th, 2011 10:00 PM

Quote:

Originally Posted by nomis52 (Post 2160)
What does this actually mean? I'd read that to say that at the moment of resetting, the current value should be copied into present and lowest, highest & recorded set to the current value.

I concur with that interpretation.

Quote:

Originally Posted by nomis52 (Post 2160)
"If this value is not supported, then this field shall be set to 0x0000."
...
So if the responder doesn't support recording values or highest / lowest, what should the value of the recorded/highest/lowest field be?

The bitfield in SENSOR_DEFINITION tells you if high/low and recorded values are supported, so most controllers should ignore whatever values are in high/low and recorded if those bits are not set.

The 0x0000 rule is not in E1.20-2006. I believe it's part of what will probably become '-2011. Still, it's probably best for responder to fill unsupported sensor fields with 0x0000 just to be sure.

nomis52 March 6th, 2011 10:08 PM

Quote:

Originally Posted by ericthegeek (Post 2162)
The 0x0000 rule is not in E1.20-2006. I believe it's part of what will probably become '-2011. Still, it's probably best for responder to fill unsupported sensor fields with 0x0000 just to be sure.

What's the state of the -20XX version? Can we get the contradiction removed before it's standardized?

ericthegeek March 7th, 2011 10:54 AM

Any changes would be very disruptive at this point. It would have to be recalled from ANSI, and would probably delay the document by a year or more.

I'd consider this issue to be more of an Errata than a full stop. I think it's unlikely to be misinterpreted. A controller has two ways to know that the data isn't supported.

sblair March 7th, 2011 11:53 AM

The 2011 version is beyond change at this point. It basically means starting the process all over again.

We did make changes in the 2011 version in this area. The following sentence was added to Lowest and Highest Detected values as well as the Recorded Value: "If this value is not supported, then this field shall be set to 0x0000."

As Eric said, a controller can determine whether a responder supports the functionality by looking at the bit field in the Sensor Definition message and if they are not supported then we have explicitly said what the fields should stuff now.


All times are GMT -6. The time now is 02:47 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.