Feature #154

Return 0.0 For Temperature if IR Sensor is Not Connected

Added by Jeremy Wright almost 8 years ago. Updated over 7 years ago.

Status:New Start date:07/30/2013
Priority:Normal Due date:
Assignee:Jeremy Wright % Done:


Target version:v2.0 Shepard Test Stand - Prototype


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.


Updated by Christopher Sigman almost 8 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 8 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 8 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 8 years ago

  • Target version changed from v1.1 Shepard Test Stand - Prototype to v2.0 Shepard Test Stand - Prototype

Updated by Jeremy Wright over 7 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.

Also available in: Atom PDF