aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/canbus_stats.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/canbus_stats.py')
-rw-r--r--klippy/extras/canbus_stats.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/klippy/extras/canbus_stats.py b/klippy/extras/canbus_stats.py
index b9ee3102..0ddafaf3 100644
--- a/klippy/extras/canbus_stats.py
+++ b/klippy/extras/canbus_stats.py
@@ -3,6 +3,7 @@
# Copyright (C) 2025 Kevin O'Connor <kevin@koconnor.net>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
+import logging
class PrinterCANBusStats:
def __init__(self, config):
@@ -36,8 +37,19 @@ class PrinterCANBusStats:
"get_canbus_status",
"canbus_status rx_error=%u tx_error=%u tx_retries=%u"
" canbus_bus_state=%u")
+ # Register usb_canbus_state message handling (for usb to canbus bridge)
+ self.mcu.register_response(self.handle_usb_canbus_state,
+ "usb_canbus_state")
# Register periodic query timer
self.reactor.register_timer(self.query_event, self.reactor.NOW)
+ def handle_usb_canbus_state(self, params):
+ discard = params['discard']
+ if discard:
+ logging.warning("USB CANBUS bridge '%s' is discarding!"
+ % (self.name,))
+ else:
+ logging.warning("USB CANBUS bridge '%s' is no longer discarding."
+ % (self.name,))
def query_event(self, eventtime):
prev_rx = self.status['rx_error']
prev_tx = self.status['tx_error']