ref: eliminating code duplication

This commit is contained in:
GrKoR
2024-02-25 00:24:21 +03:00
parent 1582c2a7cf
commit c5005f9c3f
3 changed files with 33 additions and 54 deletions

View File

@@ -733,33 +733,7 @@ namespace esphome
// converts vertical louver state from hardware codes to frontend code // converts vertical louver state from hardware codes to frontend code
vlouver_esphome_position_t AirCon::aux_vlouver_to_frontend(const ac_louver_V vLouver) vlouver_esphome_position_t AirCon::aux_vlouver_to_frontend(const ac_louver_V vLouver)
{ {
switch (vLouver) return ac_louver_V_to_vlouver_frontend(vLouver);
{
case AC_LOUVERV_SWING_UPDOWN:
return AC_VLOUVER_FRONTEND_SWING;
case AC_LOUVERV_OFF:
return AC_VLOUVER_FRONTEND_STOP;
case AC_LOUVERV_TOP:
return AC_VLOUVER_FRONTEND_TOP;
case AC_LOUVERV_MIDDLE_ABOVE:
return AC_VLOUVER_FRONTEND_MIDDLE_ABOVE;
case AC_LOUVERV_MIDDLE:
return AC_VLOUVER_FRONTEND_MIDDLE;
case AC_LOUVERV_MIDDLE_BELOW:
return AC_VLOUVER_FRONTEND_MIDDLE_BELOW;
case AC_LOUVERV_BOTTOM:
return AC_VLOUVER_FRONTEND_BOTTOM;
default:
ESP_LOGW(TAG, "aux_vlouver_to_frontend: unknown vertical louver hardware state = %u", vLouver);
return AC_VLOUVER_FRONTEND_STOP;
}
} }
// ************************************************************************************************** // **************************************************************************************************
@@ -773,33 +747,7 @@ namespace esphome
// converts vertical louver position from frontend codes to hardware code // converts vertical louver position from frontend codes to hardware code
ac_louver_V AirCon::frontend_vlouver_to_aux(const vlouver_esphome_position_t vLouver) ac_louver_V AirCon::frontend_vlouver_to_aux(const vlouver_esphome_position_t vLouver)
{ {
switch (vLouver) return vlouver_frontend_to_ac_louver_V(vLouver);
{
case AC_VLOUVER_FRONTEND_SWING:
return AC_LOUVERV_SWING_UPDOWN;
case AC_VLOUVER_FRONTEND_STOP:
return AC_LOUVERV_OFF;
case AC_VLOUVER_FRONTEND_TOP:
return AC_LOUVERV_TOP;
case AC_VLOUVER_FRONTEND_MIDDLE_ABOVE:
return AC_LOUVERV_MIDDLE_ABOVE;
case AC_VLOUVER_FRONTEND_MIDDLE:
return AC_LOUVERV_MIDDLE;
case AC_VLOUVER_FRONTEND_MIDDLE_BELOW:
return AC_LOUVERV_MIDDLE_BELOW;
case AC_VLOUVER_FRONTEND_BOTTOM:
return AC_LOUVERV_BOTTOM;
default:
ESP_LOGW(TAG, "frontend_vlouver_to_aux: unknown frontend vertical louver state = %u", vLouver);
return AC_LOUVERV_OFF;
}
} }
} // namespace aux_airconditioner } // namespace aux_airconditioner
} // namespace esphome } // namespace esphome

View File

@@ -106,6 +106,36 @@ namespace esphome
} }
} }
vlouver_esphome_position_t ac_louver_V_to_vlouver_frontend(const ac_louver_V aux_vlouver)
{
switch (aux_vlouver)
{
case AC_LOUVERV_SWING_UPDOWN:
return AC_VLOUVER_FRONTEND_SWING;
case AC_LOUVERV_OFF:
return AC_VLOUVER_FRONTEND_STOP;
case AC_LOUVERV_TOP:
return AC_VLOUVER_FRONTEND_TOP;
case AC_LOUVERV_MIDDLE_ABOVE:
return AC_VLOUVER_FRONTEND_MIDDLE_ABOVE;
case AC_LOUVERV_MIDDLE:
return AC_VLOUVER_FRONTEND_MIDDLE;
case AC_LOUVERV_MIDDLE_BELOW:
return AC_VLOUVER_FRONTEND_MIDDLE_BELOW;
case AC_LOUVERV_BOTTOM:
return AC_VLOUVER_FRONTEND_BOTTOM;
default:
return AC_VLOUVER_FRONTEND_STOP;
}
}
std::string ac_louver_V_to_string(ac_louver_V louver) std::string ac_louver_V_to_string(ac_louver_V louver)
{ {
switch (louver) switch (louver)

View File

@@ -47,6 +47,7 @@ namespace esphome
}; };
ac_louver_V vlouver_frontend_to_ac_louver_V(const vlouver_esphome_position_t vlouver_frontend); ac_louver_V vlouver_frontend_to_ac_louver_V(const vlouver_esphome_position_t vlouver_frontend);
vlouver_esphome_position_t ac_louver_V_to_vlouver_frontend(const ac_louver_V aux_vlouver);
std::string ac_louver_V_to_string(ac_louver_V louver); std::string ac_louver_V_to_string(ac_louver_V louver);