mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-22 22:24:02 -06:00
irq: Support sleeping when mcu is idle
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
969485c754
commit
118fd21cb8
13 changed files with 101 additions and 10 deletions
|
@ -420,6 +420,7 @@ class MCU:
|
|||
self._stats_sumsq_base = 0.
|
||||
self._mcu_tick_avg = 0.
|
||||
self._mcu_tick_stddev = 0.
|
||||
self._mcu_tick_awake = 0.
|
||||
def handle_mcu_stats(self, params):
|
||||
count = params['count']
|
||||
tick_sum = params['sum']
|
||||
|
@ -427,6 +428,7 @@ class MCU:
|
|||
self._mcu_tick_avg = tick_sum * c
|
||||
tick_sumsq = params['sumsq'] * self._stats_sumsq_base
|
||||
self._mcu_tick_stddev = c * math.sqrt(count*tick_sumsq - tick_sum**2)
|
||||
self._mcu_tick_awake = tick_sum / self._mcu_freq
|
||||
def handle_shutdown(self, params):
|
||||
if self.is_shutdown:
|
||||
return
|
||||
|
@ -493,9 +495,9 @@ class MCU:
|
|||
self._ffi_lib.steppersync_free(self._steppersync)
|
||||
self._steppersync = None
|
||||
def stats(self, eventtime):
|
||||
return "%s mcu_task_avg=%.06f mcu_task_stddev=%.06f" % (
|
||||
return "%s mcu_awake=%.03f mcu_task_avg=%.06f mcu_task_stddev=%.06f" % (
|
||||
self.serial.stats(eventtime),
|
||||
self._mcu_tick_avg, self._mcu_tick_stddev)
|
||||
self._mcu_tick_awake, self._mcu_tick_avg, self._mcu_tick_stddev)
|
||||
def force_shutdown(self):
|
||||
self.send(self._emergency_stop_cmd.encode())
|
||||
def microcontroller_restart(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue