diff --git a/boil_kettle/boil_kettle.ino b/boil_kettle/boil_kettle.ino index 909d84b..e78f482 100644 --- a/boil_kettle/boil_kettle.ino +++ b/boil_kettle/boil_kettle.ino @@ -55,11 +55,19 @@ char* KettleState() { void doEncoder() { uint8_t result = rotary.read(); + uint8_t inc; + + if (result) { + uint8_t speed = rotary.speed(); + + speed >= 10 ? inc = 5 : inc = 1; + + } if (result == DIR_CW && KettleDuty < 100) { - KettleDuty++; + KettleDuty = (KettleDuty / inc) * inc + inc; } else if (result == DIR_CCW && KettleDuty > 0) { - KettleDuty--; + KettleDuty = (KettleDuty / inc) * inc - inc; } }