Feature #154
Return 0.0 For Temperature if IR Sensor is Not Connected
Status: | New | Start date: | 07/30/2013 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Jeremy Wright | % Done: | 0% |
|
Category: | - | |||
Target version: | v2.0 Shepard Test Stand - Prototype |
Description
Currently the Arduino will hang if it's can't address the MLX90614 IR temperature sensor. Most of the time this is what you want since you want to make sure you're getting good temperature data. However, there are cases where you may want to run the test stand without a temperature sensor, or have damaged a temperature sensor and need it to run with only thrust measurements. The easiest way to do this would be to just give the caller a value of 0.0. For use with Shepard the temperature should never be 0.0 degrees C, so the user will be able to easily tell that they need to make sure the MLX sensor is connected if they want temperature measurements.
History
Updated by Christopher Sigman about 12 years ago
I would suggest having the reading show absolute zero (-273.13). That temperature is guaranteed to never be read by the sensor, whereas it could read 0.0C if, for example, the test was conducted on a brisk winter day.
Updated by Christopher Sigman almost 12 years ago
I'd suggest we make usage of the temperature sensor a feature that can be toggled from the GUI, with it saved as a preference.
Updated by Jeremy Wright almost 12 years ago
I experimented with this in an earlier version and had a little trouble getting it to work correctly on the Arduino-side. Since it wasn't a priority at the time I didn't expend the effort to make it work. However, I've already got the mechanism that we'll need for this implemented in the current version so that we can tell the Arduino to stop streaming data. It might be time to put this back on the roadmap, but I suggest that we do it for version 2.0.
Updated by Christopher Sigman almost 12 years ago
- Target version changed from v1.1 Shepard Test Stand - Prototype to v2.0 Shepard Test Stand - Prototype
Updated by Jeremy Wright over 11 years ago
There's a problem with sending the negative temperature value from the Arduino to the Processing client. It looks like the way that Processing is handling the value when I shift the bytes in is to make it an unsigned int. If I send 273.13 instead, it works fine. I'm not inclined to spend a lot of time on this since the Java UI is on the horizon, but I did try a couple of quick things to force Processing to convert it as an signed int, to no avail. Chris, can you confirm if this is an issue with the Java app as well? I'm inclined to just set the temperature value to 999.99 when the sensor is disabled since our IR sensors are only calibrated to 380 C from the factory.