diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2024-03-05 21:32:36 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2024-03-13 21:44:32 -0400 |
commit | d99d1a84631fb3840132c492bc32fd9579740d1e (patch) | |
tree | d80460c4a8c4be2acdbc8338606c518d599ef5c0 /klippy | |
parent | bb512ef5d7cf746d4864cb4f4fbdcf91fbf7f832 (diff) | |
download | kutter-d99d1a84631fb3840132c492bc32fd9579740d1e.tar.gz kutter-d99d1a84631fb3840132c492bc32fd9579740d1e.tar.xz kutter-d99d1a84631fb3840132c492bc32fd9579740d1e.zip |
mcu: Write a warning to the log if an incorrect mcu frequency is detected
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/mcu.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/klippy/mcu.py b/klippy/mcu.py index f9b547c9..afd0d75d 100644 --- a/klippy/mcu.py +++ b/klippy/mcu.py @@ -588,6 +588,7 @@ class MCU: printer.register_event_handler("klippy:connect", self._connect) printer.register_event_handler("klippy:shutdown", self._shutdown) printer.register_event_handler("klippy:disconnect", self._disconnect) + printer.register_event_handler("klippy:ready", self._ready) # Serial callbacks def _handle_mcu_stats(self, params): count = params['count'] @@ -799,6 +800,19 @@ class MCU: self.register_response(self._handle_shutdown, 'shutdown') self.register_response(self._handle_shutdown, 'is_shutdown') self.register_response(self._handle_mcu_stats, 'stats') + def _ready(self): + if self.is_fileoutput(): + return + # Check that reported mcu frequency is in range + mcu_freq = self._mcu_freq + systime = self._reactor.monotonic() + get_clock = self._clocksync.get_clock + calc_freq = get_clock(systime + 1) - get_clock(systime) + mcu_freq_mhz = int(mcu_freq / 1000000. + 0.5) + calc_freq_mhz = int(calc_freq / 1000000. + 0.5) + if mcu_freq_mhz != calc_freq_mhz: + logging.warn("MCU '%s' configured for %dMhz but running at %dMhz!", + self._name, mcu_freq_mhz, calc_freq_mhz) # Config creation helpers def setup_pin(self, pin_type, pin_params): pcs = {'endstop': MCU_endstop, |