gcode_macro: add description property (#4317)

Signed-off-by: Alex Zellner <alexander.zellner@googlemail.com>
This commit is contained in:
Alex Zellner 2021-05-26 20:21:21 +02:00 committed by GitHub
parent ba3bbca861
commit 341fc64a67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 1 deletions

View File

@ -27,6 +27,25 @@ Note how the `gcode:` config option always starts at the beginning of
the line and subsequent lines in the G-Code macro never start at the
beginning.
### Add a description to your macro
To help identify the functionality a short description can be added.
Add `description:` with a short text to describe the functionality.
Default is "G-Code macro" if not specified.
For example:
```
[gcode_macro blink_led]
description: Blink my_led one time
gcode:
SET_PIN PIN=my_led VALUE=1
G4 P2000
SET_PIN PIN=my_led VALUE=0
```
This will be showing is you use the `HELP` command or use the autocomplete
function.
### Save/Restore state for G-Code moves
Unfortunately, the G-Code command language can be challenging to use.

View File

@ -1237,6 +1237,9 @@ G-Code macros (one may define any number of sections with a
# commands. Care should be taken when overriding commands as it can
# cause complex and unexpected results. The default is to not
# override an existing G-Code command.
#description: G-Code macro
# This will add a short description used at the HELP command or while
# using the auto completion feature. Default "G-Code macro"
```
## [delayed_gcode]

View File

@ -124,6 +124,7 @@ class GCodeMacro:
self.template = gcode_macro.load_template(config, 'gcode')
self.gcode = printer.lookup_object('gcode')
self.rename_existing = config.get("rename_existing", None)
self.cmd_desc = config.get("description", "G-Code macro")
if self.rename_existing is not None:
if (self.gcode.is_traditional_gcode(self.alias)
!= self.gcode.is_traditional_gcode(self.rename_existing)):
@ -177,7 +178,6 @@ class GCodeMacro:
except ValueError as e:
raise gcmd.error("Unable to parse '%s' as a literal" % (value,))
self.variables[variable] = literal
cmd_desc = "G-Code macro"
def cmd(self, gcmd):
if self.in_script:
raise gcmd.error("Macro %s called recursively" % (self.alias,))