@@ -347,13 +347,14 @@ Status getSetpointLimits(EndpointId endpoint, SetpointLimits & setpointLimits)
347
347
* @param deadband The deadband to preserve
348
348
* @return Success if the deadband can be preserved, InvalidValue if it cannot
349
349
*/
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)
351
351
{
352
352
if (!autoSupported)
353
353
{
354
354
return Status::Success;
355
355
}
356
- int16_t maxValidHeatingSetpoint = newCoolingSetpoing - deadband;
356
+ int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
357
+ maxValidHeatingSetpoint -= deadband;
357
358
if (maxValidHeatingSetpoint < minHeatingSetpoint)
358
359
{
359
360
// 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
379
380
{
380
381
return Status::Success;
381
382
}
382
- int16_t minValidCoolingSetpoint = newHeatingSetpoint + deadband;
383
+ int16_t minValidCoolingSetpoint = newHeatingSetpoint;
384
+ minValidCoolingSetpoint += deadband;
383
385
if (minValidCoolingSetpoint > maxCoolingSetpoint)
384
386
{
385
387
// 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
405
407
void ensureCoolingSetpointDeadband (EndpointId endpoint, int16_t currentCoolingSetpoint, int16_t newHeatingSetpoint,
406
408
int16_t maxCoolingSetpoint, int16_t deadband, setpointSetter setter)
407
409
{
408
- int16_t minValidCoolingSetpoint = newHeatingSetpoint + deadband;
410
+ int16_t minValidCoolingSetpoint = newHeatingSetpoint;
411
+ minValidCoolingSetpoint += deadband;
409
412
if (currentCoolingSetpoint >= minValidCoolingSetpoint)
410
413
{
411
414
// The current cooling setpoint doesn't violate the deadband
@@ -440,7 +443,8 @@ void ensureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSe
440
443
void ensureHeatingSetpointDeadband (EndpointId endpoint, int16_t currentHeatingSetpoint, int16_t newCoolingSetpoint,
441
444
int16_t minHeatingSetpoint, int16_t deadband, setpointSetter setter)
442
445
{
443
- int16_t maxValidHeatingSetpoint = newCoolingSetpoint - deadband;
446
+ int16_t maxValidHeatingSetpoint = newCoolingSetpoint;
447
+ maxValidHeatingSetpoint -= deadband;
444
448
if (currentHeatingSetpoint <= maxValidHeatingSetpoint)
445
449
{
446
450
// The current cooling setpoint doesn't violate the deadband
0 commit comments