refactor: removed unused methods, replaced some methods to native

This commit is contained in:
Yurii
2024-03-31 22:29:53 +03:00
parent 4490b38130
commit a7d796e0cc
2 changed files with 13 additions and 27 deletions

View File

@@ -163,24 +163,13 @@ public:
}
// converters
float fromF88(unsigned long response) {
const byte valueLB = response & 0xFF;
const byte valueHB = (response >> 8) & 0xFF;
float value = (int8_t)valueHB;
return value + (float)valueLB / 256.0;
}
template <class T> unsigned int toF88(T val) {
template <class T>
static unsigned int toFloat(const T val) {
return (unsigned int)(val * 256);
}
int16_t fromS16(unsigned long response) {
const byte valueLB = response & 0xFF;
const byte valueHB = (response >> 8) & 0xFF;
int16_t value = valueHB;
return ((value << 8) + valueLB);
static short getInt(const unsigned long response) {
return response & 0xffff;
}
protected:

View File

@@ -270,7 +270,7 @@ protected:
// Get current modulation level (if necessary)
if ((settings.opentherm.dhwPresent && settings.dhw.enable) || settings.heating.enable || heatingEnabled) {
if (vars.states.flame) {
updateModulationLevel();
} else {
@@ -510,14 +510,14 @@ protected:
unsigned long response = this->instance->sendRequest(CustomOpenTherm::buildRequest(
OpenThermRequestType::WRITE_DATA,
OpenThermMessageID::MaxRelModLevelSetting,
this->instance->toF88(value)
CustomOpenTherm::toFloat(value)
));
if (!CustomOpenTherm::isValidResponse(response)) {
return false;
}
vars.parameters.maxModulation = this->instance->fromF88(response);
vars.parameters.maxModulation = CustomOpenTherm::getFloat(response);
return true;
}
@@ -540,14 +540,14 @@ protected:
unsigned long response = this->instance->sendRequest(CustomOpenTherm::buildRequest(
OpenThermRequestType::WRITE_DATA,
OpenThermMessageID::OpenThermVersionMaster,
this->instance->toF88(version)
CustomOpenTherm::toFloat(version)
));
if (!CustomOpenTherm::isValidResponse(response)) {
return false;
}
vars.parameters.masterOtVersion = this->instance->fromF88(response);
vars.parameters.masterOtVersion = CustomOpenTherm::getFloat(response);
return true;
}
@@ -669,7 +669,9 @@ protected:
return false;
}
vars.temperatures.exhaust = this->instance->fromS16(response);
short value = CustomOpenTherm::getInt(response);
vars.temperatures.exhaust = (value >= -40 && value <= 500) ? (float)value : 0.0f;
return true;
}
@@ -775,12 +777,7 @@ protected:
return false;
}
float modulation = this->instance->fromF88(response);
if (!vars.states.flame) {
vars.sensors.modulation = 0;
} else {
vars.sensors.modulation = modulation;
}
vars.sensors.modulation = CustomOpenTherm::getFloat(response);
return true;
}