aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/query_adc.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/query_adc.py')
-rw-r--r--klippy/extras/query_adc.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/klippy/extras/query_adc.py b/klippy/extras/query_adc.py
index 2102aaf8..0383a642 100644
--- a/klippy/extras/query_adc.py
+++ b/klippy/extras/query_adc.py
@@ -4,32 +4,41 @@
#
# This file may be distributed under the terms of the GNU GPLv3 license.
+
class QueryADC:
def __init__(self, config):
self.printer = config.get_printer()
self.adc = {}
- gcode = self.printer.lookup_object('gcode')
- gcode.register_command("QUERY_ADC", self.cmd_QUERY_ADC,
- desc=self.cmd_QUERY_ADC_help)
+ gcode = self.printer.lookup_object("gcode")
+ gcode.register_command(
+ "QUERY_ADC", self.cmd_QUERY_ADC, desc=self.cmd_QUERY_ADC_help
+ )
+
def register_adc(self, name, mcu_adc):
self.adc[name] = mcu_adc
+
cmd_QUERY_ADC_help = "Report the last value of an analog pin"
+
def cmd_QUERY_ADC(self, gcmd):
- name = gcmd.get('NAME', None)
+ name = gcmd.get("NAME", None)
if name not in self.adc:
objs = ['"%s"' % (n,) for n in sorted(self.adc.keys())]
- msg = "Available ADC objects: %s" % (', '.join(objs),)
+ msg = "Available ADC objects: %s" % (", ".join(objs),)
gcmd.respond_info(msg)
return
value, timestamp = self.adc[name].get_last_value()
msg = 'ADC object "%s" has value %.6f (timestamp %.3f)' % (
- name, value, timestamp)
- pullup = gcmd.get_float('PULLUP', None, above=0.)
+ name,
+ value,
+ timestamp,
+ )
+ pullup = gcmd.get_float("PULLUP", None, above=0.0)
if pullup is not None:
- v = max(.00001, min(.99999, value))
+ v = max(0.00001, min(0.99999, value))
r = pullup * v / (1.0 - v)
msg += "\n resistance %.3f (with %.0f pullup)" % (r, pullup)
gcmd.respond_info(msg)
+
def load_config(config):
return QueryADC(config)