docs: fix rawparams example by truncating comments

Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
This commit is contained in:
Pedro Lamas 2022-07-04 09:37:24 +01:00 committed by KevinOConnor
parent 50b4d4c43c
commit 6be114d728
2 changed files with 28 additions and 14 deletions

View File

@ -175,6 +175,29 @@ gcode:
sensor.temperature,
sensor.humidity))}
######################################################################
# Override M117 command with rawparams
######################################################################
# The macro below will override the default M117 command to echo the message.
#
# It uses the rawparams pseudo-variable that contains the full unparsed
# parameters that was passed to the M117 command.
#
# As this can include comments, we are trimming the text when a `;` or `#` is
# found, and escaping any existing `"`
[gcode_macro M117]
rename_existing: M117.1
gcode:
{% if rawparams %}
{% set escaped_msg = rawparams.split(';', 1)[0].split('\x23', 1)[0]|replace('"', '\\"') %}
SET_DISPLAY_TEXT MSG="{escaped_msg}"
RESPOND TYPE=command MSG="{escaped_msg}"
{% else %}
SET_DISPLAY_TEXT
{% endif %}
# SDCard 'looping' (aka Marlin M808 commands) support
#
# Support SDCard looping

View File

@ -130,22 +130,13 @@ gcode:
### The "rawparams" variable
The full unparsed parameters for the running macro can be access via the `rawparams` pseudo-variable.
The full unparsed parameters for the running macro can be access via the
`rawparams` pseudo-variable.
This is quite useful if you want to change the behavior of certain commands like the `M117`. For example:
Note that this will include any comments that were part of the original command.
```
[gcode_macro M117]
rename_existing: M117.1
gcode:
{% if rawparams %}
{% set escaped_msg = rawparams|replace('"', '\\"') %}
SET_DISPLAY_TEXT MSG="{escaped_msg}"
RESPOND TYPE=command MSG="{escaped_msg}"
{% else %}
SET_DISPLAY_TEXT
{% endif %}
```
See the [sample-macros.cfg](../config/sample-macros.cfg) file for an example
showing how to override the `M117` command using `rawparams`.
### The "printer" Variable