From d487925b24c2def8045c0467eef9eedfacb656a5 Mon Sep 17 00:00:00 2001 From: Maksim Bolgov Date: Tue, 31 Mar 2026 19:38:10 +0300 Subject: [PATCH] adxl345: Fix possible double registration of default gcode mux commands Allow specifying only one unnamed accelerometer in the configuration file, which becomes the default. Signed-off-by: Maksim Bolgov --- klippy/extras/adxl345.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/klippy/extras/adxl345.py b/klippy/extras/adxl345.py index c2d64a412..87420d79f 100644 --- a/klippy/extras/adxl345.py +++ b/klippy/extras/adxl345.py @@ -114,8 +114,16 @@ class AccelCommandHelper: self.name = name_parts[-1] self.register_commands(self.name) if len(name_parts) == 1: - if self.name == "adxl345" or not config.has_section("adxl345"): + # Try to register default mux commands for the accelerometer + # without explicit name. If default accelerometer has already + # been registered, raise an error. + try: self.register_commands(None) + except config.error: + raise config.error( + "Default accelerometer already defined; section '%s' must " + "include an additional name, e.g. '%s second_accelerometer'" + % (self.base_name, self.base_name)) def register_commands(self, name): # Register commands gcode = self.printer.lookup_object('gcode')