Sensor range is unsigned, but sensor reading is signed
CAD97 opened this issue · comments
Describe the bug
SensorDeviceMessageAttributes::sensor_range
:Vec<RangeInclusive<u32>>
SensorReading::data
:Vec<i32>
Expected behavior
The sensor range and sensor reading should have the same signedness.
Actual behavior
The sensor range is an unsigned quantity and the sensor readings are signed quantities.
Additional context
The Protocol Spec says that the reading is array of signed int, and that the range info is array of array of integer (i.e. it doesn't explicitly specify signed or unsigned). The schema suggests that the reading is in the range 0..=255.
Yeah it's supposed to be signed.
However although the messages are defined, they're not really used at this point due to #535. There's some upcoming work to fix that, at which point we'll be doing more sensor implementation too.
These are getting updated to i32's as part of the new config format work.