gcode: Add minval/maxval/above/below options to get_X parsers

Add value checking to gcode parameter parsing code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-04-20 21:41:13 -04:00
parent 8f4f5da11c
commit d5dc6b785d
5 changed files with 53 additions and 45 deletions

View file

@ -228,16 +228,16 @@ class PrinterExtruder:
def cmd_SET_PRESSURE_ADVANCE(self, params):
self.printer.lookup_object('toolhead').get_last_move_time()
gcode = self.printer.lookup_object('gcode')
if 'ADVANCE' in params:
v = gcode.get_float('ADVANCE', params)
self.pressure_advance = v if v > 0. else 0.
if 'ADVANCE_LOOKAHEAD_TIME' in params:
v = gcode.get_float('ADVANCE_LOOKAHEAD_TIME', params)
self.pressure_advance_lookahead_time = v if v > 0. else 0.
pressure_advance = gcode.get_float(
'ADVANCE', params, self.pressure_advance, minval=0.)
pressure_advance_lookahead_time = gcode.get_float(
'ADVANCE_LOOKAHEAD_TIME', params,
self.pressure_advance_lookahead_time, minval=0.)
self.pressure_advance = pressure_advance
self.pressure_advance_lookahead_time = pressure_advance_lookahead_time
msg = ("pressure_advance: %.6f\n"
"pressure_advance_lookahead_time: %.6f\n" % (
self.pressure_advance,
self.pressure_advance_lookahead_time))
"pressure_advance_lookahead_time: %.6f" % (
pressure_advance, pressure_advance_lookahead_time))
self.printer.set_rollover_info(self.name, "%s: %s" % (self.name, msg))
gcode.respond_info(msg)