From 7d4baeeec3791153b8953b9369fcfd807e42697b Mon Sep 17 00:00:00 2001 From: Arthur Wolf Date: Mon, 20 Oct 2014 23:12:17 +0200 Subject: [PATCH] added max_temp config option to temperaturecontrol --- .../tools/temperaturecontrol/TemperatureControl.cpp | 9 +++++++++ .../tools/temperaturecontrol/TemperatureControl.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/modules/tools/temperaturecontrol/TemperatureControl.cpp b/src/modules/tools/temperaturecontrol/TemperatureControl.cpp index 96345a7e..8c11d62f 100644 --- a/src/modules/tools/temperaturecontrol/TemperatureControl.cpp +++ b/src/modules/tools/temperaturecontrol/TemperatureControl.cpp @@ -43,6 +43,7 @@ #define bang_bang_checksum CHECKSUM("bang_bang") #define hysteresis_checksum CHECKSUM("hysteresis") #define heater_pin_checksum CHECKSUM("heater_pin") +#define max_temp CHECKSUM("max_temp") #define get_m_code_checksum CHECKSUM("get_m_code") #define set_m_code_checksum CHECKSUM("set_m_code") @@ -124,6 +125,9 @@ void TemperatureControl::load_config() this->designator = THEKERNEL->config->value(temperature_control_checksum, this->name_checksum, designator_checksum)->by_default(string("T"))->as_string(); + // Max temperature we are not allowed to get over + this->max_temp = THEKERNEL->config->value(temperature_control_checksum, this->name_checksum, max_temp_checksum)->by_default(1000)->as_number(); + // Heater pin this->heater_pin.from_string( THEKERNEL->config->value(temperature_control_checksum, this->name_checksum, heater_pin_checksum)->by_default("nc")->as_string()); if(this->heater_pin.connected()){ @@ -318,6 +322,11 @@ void TemperatureControl::on_set_public_data(void *argument) void TemperatureControl::set_desired_temperature(float desired_temperature) { + // Never go over the configured max temperature + if( desired_temperature > this->max_temp ){ + desired_temperature = this->max_temp; + } + if (desired_temperature == 1.0) desired_temperature = preset1; else if (desired_temperature == 2.0) diff --git a/src/modules/tools/temperaturecontrol/TemperatureControl.h b/src/modules/tools/temperaturecontrol/TemperatureControl.h index 1c52f191..ce68ec51 100644 --- a/src/modules/tools/temperaturecontrol/TemperatureControl.h +++ b/src/modules/tools/temperaturecontrol/TemperatureControl.h @@ -42,6 +42,7 @@ class TemperatureControl : public Module { int pool_index; float target_temperature; + float max_temp; float preset1; float preset2; -- 2.20.1