aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-09-27 13:13:38 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-09-27 13:13:38 -0400
commitf658819862122f2065b6d3a057cc59354fdf379a (patch)
tree68be5af454aa3817b2d6a2e0840dac0b8810c966
parent8d5a9143bb550966c0b43ee4624c49bfaaa55a8c (diff)
downloadkutter-f658819862122f2065b6d3a057cc59354fdf379a.tar.gz
kutter-f658819862122f2065b6d3a057cc59354fdf379a.tar.xz
kutter-f658819862122f2065b6d3a057cc59354fdf379a.zip
clocksync: Add support for dumping internal state for debugging
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/clocksync.py13
-rw-r--r--klippy/mcu.py5
2 files changed, 16 insertions, 2 deletions
diff --git a/klippy/clocksync.py b/klippy/clocksync.py
index 87cae7b5..345700f7 100644
--- a/klippy/clocksync.py
+++ b/klippy/clocksync.py
@@ -115,6 +115,15 @@ class ClockSync:
print_time = self.estimated_print_time(eventtime)
last_clock_print_time = self.clock_to_print_time(self.last_clock)
return print_time < last_clock_print_time + COMM_TIMEOUT
+ def dump_debug(self):
+ sample_time, clock, freq = self.clock_est
+ prev_time, prev_clock, prev_freq = self.prev_est
+ return ("clocksync state: mcu_freq=%d last_clock=%d"
+ " min_half_rtt=%.6f min_half_rtt_time=%.3f last_clock_fast=%s"
+ " clock_est=(%.3f %d %.3f) prev_est=(%.3f %d %.3f)" % (
+ self.mcu_freq, self.last_clock, self.min_half_rtt,
+ self.min_half_rtt_time, self.last_clock_fast,
+ sample_time, clock, freq, prev_time, prev_clock, prev_freq))
def stats(self, eventtime):
sample_time, clock, freq = self.clock_est
return "freq=%d" % (freq,)
@@ -150,6 +159,10 @@ class SecondarySync(ClockSync):
adjusted_offset, adjusted_freq = self.clock_adj
return adjusted_freq
# misc commands
+ def dump_debug(self):
+ adjusted_offset, adjusted_freq = self.clock_adj
+ return "%s clock_adj=(%.3f %.3f)" % (
+ ClockSync.dump_debug(self), adjusted_offset, adjusted_freq)
def stats(self, eventtime):
adjusted_offset, adjusted_freq = self.clock_adj
return "%s adj=%d" % (ClockSync.stats(self, eventtime), adjusted_freq)
diff --git a/klippy/mcu.py b/klippy/mcu.py
index 14bf5817..a2f742cc 100644
--- a/klippy/mcu.py
+++ b/klippy/mcu.py
@@ -451,8 +451,9 @@ class MCU:
return
self._is_shutdown = True
self._shutdown_msg = msg = params['#msg']
- logging.info("MCU '%s' %s: %s\n%s", self._name, params['#name'],
- self._shutdown_msg, self._serial.dump_debug())
+ logging.info("MCU '%s' %s: %s\n%s\n%s", self._name, params['#name'],
+ self._shutdown_msg, self._clocksync.dump_debug(),
+ self._serial.dump_debug())
prefix = "MCU '%s' shutdown: " % (self._name,)
if params['#name'] == 'is_shutdown':
prefix = "Previous MCU '%s' shutdown: " % (self._name,)