diff options
Diffstat (limited to 'klippy/msgproto.py')
-rw-r--r-- | klippy/msgproto.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/klippy/msgproto.py b/klippy/msgproto.py index 736fe1b8..3d655faa 100644 --- a/klippy/msgproto.py +++ b/klippy/msgproto.py @@ -324,12 +324,16 @@ class MessageParser: except Exception as e: logging.exception("process_identify error") raise error("Error during identify: %s" % (str(e),)) - def get_constant(self, name): - try: - return self.config[name] - except KeyError: + class sentinel: pass + def get_constant(self, name, default=sentinel): + if name not in self.config: + if default is not self.sentinel: + return default raise error("Firmware constant '%s' not found" % (name,)) - def get_constant_float(self, name): + return self.config[name] + def get_constant_float(self, name, default=sentinel): + if name not in self.config and default is not self.sentinel: + return default try: return float(self.config[name]) except ValueError: |