Skip to content

Commit 7c2ff35

Browse files
committed
Fix int promotion errors on some platforms
1 parent 0b61230 commit 7c2ff35

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

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

+9-5
Original file line numberDiff line numberDiff line change
@@ -347,13 +347,14 @@ Status getSetpointLimits(EndpointId endpoint, SetpointLimits & setpointLimits)
347347
* @param deadband The deadband to preserve
348348
* @return Success if the deadband can be preserved, InvalidValue if it cannot
349349
*/
350-
Status checkHeatingSetpointDeadband(bool autoSupported, int16_t newCoolingSetpoing, int16_t minHeatingSetpoint, int16_t deadband)
350+
Status checkHeatingSetpointDeadband(bool autoSupported, int16_t newCoolingSetpoint, int16_t minHeatingSetpoint, int16_t deadband)
351351
{
352352
if (!autoSupported)
353353
{
354354
return Status::Success;
355355
}
356-
int16_t maxValidHeatingSetpoint = newCoolingSetpoing - deadband;
356+
int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
357+
maxValidHeatingSetpoint -= deadband;
357358
if (maxValidHeatingSetpoint < minHeatingSetpoint)
358359
{
359360
// If we need to adjust the heating setpoint to preserve the deadband, it will go below the min heat setpoint
@@ -379,7 +380,8 @@ Status checkCoolingSetpointDeadband(bool autoSupported, int16_t newHeatingSetpoi
379380
{
380381
return Status::Success;
381382
}
382-
int16_t minValidCoolingSetpoint = newHeatingSetpoint + deadband;
383+
int16_t minValidCoolingSetpoint = newHeatingSetpoint;
384+
minValidCoolingSetpoint += deadband;
383385
if (minValidCoolingSetpoint > maxCoolingSetpoint)
384386
{
385387
// If we need to adjust the cooling setpoint to preserve the deadband, it will go above the max cool setpoint
@@ -405,7 +407,8 @@ typedef Status (*setpointSetter)(EndpointId endpoint, int16_t value, MarkAttribu
405407
void ensureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSetpoint, int16_t newHeatingSetpoint,
406408
int16_t maxCoolingSetpoint, int16_t deadband, setpointSetter setter)
407409
{
408-
int16_t minValidCoolingSetpoint = newHeatingSetpoint + deadband;
410+
int16_t minValidCoolingSetpoint = newHeatingSetpoint;
411+
minValidCoolingSetpoint += deadband;
409412
if (currentCoolingSetpoint >= minValidCoolingSetpoint)
410413
{
411414
// The current cooling setpoint doesn't violate the deadband
@@ -440,7 +443,8 @@ void ensureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSe
440443
void ensureHeatingSetpointDeadband(EndpointId endpoint, int16_t currentHeatingSetpoint, int16_t newCoolingSetpoint,
441444
int16_t minHeatingSetpoint, int16_t deadband, setpointSetter setter)
442445
{
443-
int16_t maxValidHeatingSetpoint = newCoolingSetpoint - deadband;
446+
int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
447+
maxValidHeatingSetpoint -= deadband;
444448
if (currentHeatingSetpoint <= maxValidHeatingSetpoint)
445449
{
446450
// The current cooling setpoint doesn't violate the deadband

0 commit comments

Comments
 (0)