Support temperature units in M503

This commit is contained in:
Scott Lahteine
2017-05-06 19:41:50 -05:00
parent a59066bca9
commit ce507deb9f
2 changed files with 35 additions and 10 deletions

View File

@@ -1294,25 +1294,26 @@ inline bool code_value_bool() { return !code_has_value() || code_value_byte() >
#if ENABLED(TEMPERATURE_UNITS_SUPPORT)
inline void set_input_temp_units(TempUnit units) { input_temp_units = units; }
int16_t code_value_temp_abs() {
float temp_abs(const float &c) {
switch (input_temp_units) {
case TEMPUNIT_F:
return (code_value_float() - 32) * 0.5555555556;
return (c - 32.0) * 0.5555555556;
case TEMPUNIT_K:
return code_value_float() - 273.15;
return c - 273.15;
case TEMPUNIT_C:
default:
return code_value_int();
return c;
}
}
int16_t code_value_temp_abs() { return temp_abs(code_value_float()); }
int16_t code_value_temp_diff() {
switch (input_temp_units) {
case TEMPUNIT_C:
case TEMPUNIT_K:
return code_value_float();
case TEMPUNIT_F:
return code_value_float() * 0.5555555556;
case TEMPUNIT_C:
case TEMPUNIT_K:
default:
return code_value_float();
}