aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/msgproto.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-01-09 23:50:13 -0500
committerKevin O'Connor <kevin@koconnor.net>2017-01-10 00:13:28 -0500
commit93d3a6e1d1f298bdbe4d6dc5c88226c63f7c6c41 (patch)
tree2f945555e556895f72e0782f1557e0e00189975e /klippy/msgproto.py
parenteebaeeff96450c840db1a86f08877420d3dd5073 (diff)
downloadkutter-93d3a6e1d1f298bdbe4d6dc5c88226c63f7c6c41.tar.gz
kutter-93d3a6e1d1f298bdbe4d6dc5c88226c63f7c6c41.tar.xz
kutter-93d3a6e1d1f298bdbe4d6dc5c88226c63f7c6c41.zip
klippy: Warn the user on common errors due to old firmware
Check for msgproto.error and warn the user about version firmware version mismatch. Raise msgproto.error when extracting firmware constants. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/msgproto.py')
-rw-r--r--klippy/msgproto.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/klippy/msgproto.py b/klippy/msgproto.py
index 76dc0544..c9d14138 100644
--- a/klippy/msgproto.py
+++ b/klippy/msgproto.py
@@ -308,3 +308,15 @@ class MessageParser:
self.static_strings = data.get('static_strings', [])
self.config.update(data.get('config', {}))
self.version = data.get('version', '')
+ def get_constant(self, name):
+ try:
+ return self.config[name]
+ except KeyError:
+ raise error("Firmware constant '%s' not found" % (name,))
+ def get_constant_float(self, name):
+ try:
+ return float(self.config[name])
+ except ValueError:
+ raise error("Firmware constant '%s' not a float" % (name,))
+ except KeyError:
+ raise error("Firmware constant '%s' not found" % (name,))