Skip to content

Commit b3bbfa2

Browse files
committed
Silly C++ int promotion rules
1 parent 8b0f0cf commit b3bbfa2

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/app/clusters/thermostat-server/thermostat-server.cpp

+4-8
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,7 @@ Status CheckHeatingSetpointDeadband(bool autoSupported, int16_t newCoolingSetpoi
353353
{
354354
return Status::Success;
355355
}
356-
int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
357-
maxValidHeatingSetpoint -= deadband;
356+
int16_t maxValidHeatingSetpoint = static_cast<int16_t>(newCoolingSetpoint - deadband);
358357
if (maxValidHeatingSetpoint < minHeatingSetpoint)
359358
{
360359
// If we need to adjust the heating setpoint to preserve the deadband, it will go below the min heat setpoint
@@ -380,8 +379,7 @@ Status CheckCoolingSetpointDeadband(bool autoSupported, int16_t newHeatingSetpoi
380379
{
381380
return Status::Success;
382381
}
383-
int16_t minValidCoolingSetpoint = newHeatingSetpoint;
384-
minValidCoolingSetpoint += deadband;
382+
int16_t minValidCoolingSetpoint = static_cast<int16_t>(newHeatingSetpoint + deadband);
385383
if (minValidCoolingSetpoint > maxCoolingSetpoint)
386384
{
387385
// If we need to adjust the cooling setpoint to preserve the deadband, it will go above the max cool setpoint
@@ -407,8 +405,7 @@ typedef Status (*SetpointSetter)(EndpointId endpoint, int16_t value, MarkAttribu
407405
void EnsureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSetpoint, int16_t newHeatingSetpoint,
408406
int16_t maxCoolingSetpoint, int16_t deadband, SetpointSetter setter)
409407
{
410-
int16_t minValidCoolingSetpoint = newHeatingSetpoint;
411-
minValidCoolingSetpoint += deadband;
408+
int16_t minValidCoolingSetpoint = static_cast<int16_t>(newHeatingSetpoint + deadband);
412409
if (currentCoolingSetpoint >= minValidCoolingSetpoint)
413410
{
414411
// The current cooling setpoint doesn't violate the deadband
@@ -443,8 +440,7 @@ void EnsureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSe
443440
void EnsureHeatingSetpointDeadband(EndpointId endpoint, int16_t currentHeatingSetpoint, int16_t newCoolingSetpoint,
444441
int16_t minHeatingSetpoint, int16_t deadband, SetpointSetter setter)
445442
{
446-
int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
447-
maxValidHeatingSetpoint -= deadband;
443+
int16_t maxValidHeatingSetpoint = static_cast<int16_t>(newCoolingSetpoint - deadband);
448444
if (currentHeatingSetpoint <= maxValidHeatingSetpoint)
449445
{
450446
// The current cooling setpoint doesn't violate the deadband

0 commit comments

Comments
 (0)