mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-10 18:24:27 +05:00
refactor: removed unused methods, replaced some methods to native
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user