Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Klipper3d/klipper.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Lamas <pedrolamas@gmail.com>2022-07-25 18:49:21 +0300
committerKevinOConnor <kevin@koconnor.net>2022-07-29 03:43:19 +0300
commitb725d971db3b4f722aa218b773005a0585910175 (patch)
tree03e97742ef1b2305cba5968877d34818d68aa069
parentc29e190696053310b7513c305d63667e67a293d1 (diff)
bed_screws: report status
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
-rw-r--r--docs/Status_Reference.md11
-rw-r--r--klippy/extras/bed_screws.py19
2 files changed, 25 insertions, 5 deletions
diff --git a/docs/Status_Reference.md b/docs/Status_Reference.md
index 4c7883c78..7b6f1a42a 100644
--- a/docs/Status_Reference.md
+++ b/docs/Status_Reference.md
@@ -28,6 +28,17 @@ The following information is available in the
- `profiles`: The set of currently defined profiles as setup
using BED_MESH_PROFILE.
+## bed_screws
+
+The following information is available in the
+`Config_Reference.md#bed_screws` object:
+- `is_active`: Returns True if the bed screws adjustment tool is currently
+active.
+- `state`: The bed screws adjustment tool state. It is one of
+the following strings: "adjust", "fine".
+- `current_screw`: The index for the current screw being adjusted.
+- `accepted_screws`: The number of accepted screws.
+
## configfile
The following information is available in the `configfile` object
diff --git a/klippy/extras/bed_screws.py b/klippy/extras/bed_screws.py
index 4a6acb835..4749d4e10 100644
--- a/klippy/extras/bed_screws.py
+++ b/klippy/extras/bed_screws.py
@@ -7,9 +7,7 @@
class BedScrews:
def __init__(self, config):
self.printer = config.get_printer()
- self.state = None
- self.current_screw = 0
- self.accepted_screws = 0
+ self.reset()
self.number_of_screws = 0
# Read config
screws = []
@@ -39,6 +37,10 @@ class BedScrews:
self.gcode.register_command("BED_SCREWS_ADJUST",
self.cmd_BED_SCREWS_ADJUST,
desc=self.cmd_BED_SCREWS_ADJUST_help)
+ def reset(self):
+ self.state = None
+ self.current_screw = 0
+ self.accepted_screws = 0
def move(self, coord, speed):
self.printer.lookup_object('toolhead').manual_move(coord, speed)
def move_to_screw(self, state, screw):
@@ -64,6 +66,13 @@ class BedScrews:
self.gcode.register_command('ACCEPT', None)
self.gcode.register_command('ADJUSTED', None)
self.gcode.register_command('ABORT', None)
+ def get_status(self, eventtime):
+ return {
+ 'is_active': self.state is not None,
+ 'state': self.state,
+ 'current_screw': self.current_screw,
+ 'accepted_screws': self.accepted_screws
+ }
cmd_BED_SCREWS_ADJUST_help = "Tool to help adjust bed leveling screws"
def cmd_BED_SCREWS_ADJUST(self, gcmd):
if self.state is not None:
@@ -92,7 +101,7 @@ class BedScrews:
self.move_to_screw('fine', 0)
return
# Done
- self.state = None
+ self.reset()
self.move((None, None, self.horizontal_move_z), self.lift_speed)
gcmd.respond_info("Bed screws tool completed successfully")
cmd_ADJUSTED_help = "Accept bed screw position after notable adjustment"
@@ -103,7 +112,7 @@ class BedScrews:
cmd_ABORT_help = "Abort bed screws tool"
def cmd_ABORT(self, gcmd):
self.unregister_commands()
- self.state = None
+ self.reset()
def load_config(config):
return BedScrews(config)