This is simpler and far easier to read.

This commit is contained in:
Chris Giacofei 2022-01-24 11:38:56 -05:00
parent 484db54d89
commit 045d5a8feb

View File

@ -12,24 +12,17 @@ void doEncoder()
if (result) { if (result) {
uint8_t speed = rotary.speed(); uint8_t speed = rotary.speed();
speed >= 10 ? inc = 5 : inc = 1; speed >= 10 ? inc = 5 : inc = 1;
if (result == DIR_CCW) inc = inc * -1;
} }
if (KettleController.Mode() == MANUAL) { if (KettleController.Mode() == MANUAL) {
uint8_t KettleDuty = (uint8_t)KettleController.Power(); uint8_t KettleDuty = (uint8_t)KettleController.Power();
if (result == DIR_CW && KettleDuty < 100) { KettleDuty = max(0, min((KettleDuty / inc) * inc + inc, 100));
KettleDuty = (KettleDuty / inc) * inc + inc;
} else if (result == DIR_CCW && KettleDuty > 0) {
KettleDuty = (KettleDuty / inc) * inc - inc;
}
KettleController.Power((double)KettleDuty); KettleController.Power((double)KettleDuty);
} else { } else if (KettleController.Mode() == AUTOMATIC) {
uint8_t KettleTemp = (uint8_t)KettleController.Setpoint(); uint8_t KettleTemp = (uint8_t)KettleController.Setpoint();
if (result == DIR_CW && KettleTemp < 220) { KettleTemp = max(0, min((KettleTemp / inc) * inc + inc, 220));
KettleTemp = (KettleTemp / inc) * inc + inc;
} else if (result == DIR_CCW && KettleTemp > 0) {
KettleTemp = (KettleTemp / inc) * inc - inc;
}
KettleController.Setpoint((double)KettleTemp); KettleController.Setpoint((double)KettleTemp);
} }