aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/buttons.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2023-12-04 14:03:27 -0500
committerKevin O'Connor <kevin@koconnor.net>2023-12-10 14:59:18 -0500
commitfe7082e4a8e0beb7014584a16aaa22dc7084a01a (patch)
treea928996a709fe11a1f428ce0a0ac6c0813e59f0f /klippy/extras/buttons.py
parentc5bd813d8b2199b3a1c08d1e29ac0a97d49e3ff8 (diff)
downloadkutter-fe7082e4a8e0beb7014584a16aaa22dc7084a01a.tar.gz
kutter-fe7082e4a8e0beb7014584a16aaa22dc7084a01a.tar.xz
kutter-fe7082e4a8e0beb7014584a16aaa22dc7084a01a.zip
buttons: Simplify ack upconversion code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/buttons.py')
-rw-r--r--klippy/extras/buttons.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/klippy/extras/buttons.py b/klippy/extras/buttons.py
index 1a6147d1..47274257 100644
--- a/klippy/extras/buttons.py
+++ b/klippy/extras/buttons.py
@@ -57,10 +57,9 @@ class MCU_buttons:
def handle_buttons_state(self, params):
# Expand the message ack_count from 8-bit
ack_count = self.ack_count
- ack_diff = (ack_count - params['ack_count']) & 0xff
- if ack_diff & 0x80:
- ack_diff -= 0x100
- msg_ack_count = ack_count - ack_diff
+ ack_diff = (params['ack_count'] - ack_count) & 0xff
+ ack_diff -= (ack_diff & 0x80) << 1
+ msg_ack_count = ack_count + ack_diff
# Determine new buttons
buttons = bytearray(params['state'])
new_count = msg_ack_count + len(buttons) - self.ack_count