klipper-dgus/config
Jason S. McMullan 913649de2e loop_sdcard: Add loopable SD card file sections
To support continuous belt printing, add nestable repeat
loop support via an `[sdcard_loop]` module.

Supported G-Code:
  - SDCARD_LOOP_BEGIN COUNT=n  ; Loop for N times, or infinitely if N is 0
  - SDCARD_LOOP_END            ; End of loop
  - SDCARD_LOOP_DESIST         ; Complete all loops without iterating

Marlin M808 compatibility example in `config/sample-macros.cfg`:
  - M808 Ln        ; Loop for N times, or infinitely if N is 0
  - M808           ; End of loop
  - M808 K         ; Complete all loops without iterating

Added unit tests in test/klippy/sdcard_loop.test

See https://reprap.org/wiki/G-code#M808:_Set_or_Goto_Repeat_Marker

Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>
2021-05-26 11:57:57 -04:00
..
example-cartesian.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-corexy.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-corexz.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-delta.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-extras.cfg config: Add dummy example.cfg and example-extras.cfg files 2020-11-28 12:09:03 -05:00
example-hybrid-corexy.cfg kinematics: Add hybrid-corexy and hybrid-corexz (#4229) 2021-05-03 14:31:23 -04:00
example-hybrid-corexz.cfg kinematics: Add hybrid-corexy and hybrid-corexz (#4229) 2021-05-03 14:31:23 -04:00
example-polar.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-rotary-delta.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example-winch.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
example.cfg config: Add dummy example.cfg and example-extras.cfg files 2020-11-28 12:09:03 -05:00
generic-archim2.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-azteeg-x5-mini-v3.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-bigtreetech-gtr.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-2.cfg config: Add example generic-bigtreetech-skr-2.cfg config (#4160) 2021-04-13 21:06:16 -04:00
generic-bigtreetech-skr-e3-dip.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-e3-turbo.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-mini-e3-v1.0.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-mini-e3-v1.2.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-mini-e3-v2.0.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-mini-mz.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-mini.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
generic-bigtreetech-skr-pro.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-v1.1.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-bigtreetech-skr-v1.3.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-bigtreetech-skr-v1.4.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-cramps.cfg config: Do not use beagleboard aliases in example config files 2021-03-25 10:49:17 -04:00
generic-creality-v4.2.7.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
generic-creality-v4.2.10.cfg config: Minor changes to printer-creality-cr30-2021.cfg 2021-05-06 11:08:57 -04:00
generic-duet2-duex.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-duet2-maestro.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-duet2.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-einsy-rambo.cfg config: Warn about prusa einsy boards in generic-einsy-rambo.cfg 2021-01-20 10:52:23 -05:00
generic-flyboard.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-fysetc-cheetah-v1.1.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-fysetc-cheetah-v1.2.cfg config: Update generic-fysetc-cheetah-v1.2.cfg (#4315) 2021-05-25 13:31:03 -04:00
generic-fysetc-f6.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-fysetc-s6-v2.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-fysetc-s6.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-fysetc-spider.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-gt2560.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
generic-melzi.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-mightyboard.cfg pca9533: RGB support for the mightyboard (#4150) 2021-04-09 17:47:16 -04:00
generic-mini-rambo.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-minitronics1.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-mks-robin-e3.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-mks-robin-nano-v1.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
generic-mks-robin-nano-v2.cfg config: Fix extruder1 step_pin in Robin Nano V2 example (#4098) 2021-03-23 10:52:10 -04:00
generic-mks-robin-nano-v3.cfg config: fan pin number correction for Robin Nano 3 (#4005) 2021-02-28 16:17:21 -05:00
generic-mks-rumba32-v1.0.cfg config: Add generic-mks-rumba32-v1.0.cfg to tests 2021-02-11 18:23:42 -05:00
generic-mks-sgenl.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
generic-printrboard-g2.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-printrboard.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-radds.cfg config: Don't use arduino due aliases in example config files 2021-03-25 10:49:17 -04:00
generic-rambo.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-ramps.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
generic-re-arm.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-replicape.cfg config: Do not use beagleboard aliases in example config files 2021-03-25 10:49:17 -04:00
generic-rumba.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
generic-ruramps-v1.3.cfg config: Add generic-ruramps-v1.3.cfg to test cases and minor updates 2021-05-12 10:25:41 -04:00
generic-simulavr.cfg config: Don't use sanguino aliases in example config files 2021-03-25 10:49:17 -04:00
generic-smoothieboard.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
generic-ultimaker-ultimainboard-v2.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
kit-voron2-250mm.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
kit-zav3d-2019.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-adimlab-2018.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-alfawise-u30-2018.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-anet-a4-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-anet-a8-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-anet-e10-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-anet-e16-2019.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-anycubic-4max-2018.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-anycubic-i3-mega-2017.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-anycubic-kossel-2016.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-anycubic-kossel-plus-2017.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-creality-cr6se-2020.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-creality-cr6se-2021.cfg config: Added Config For Creality CR6 SE With Board Revision 4.5.3 (#4147) 2021-04-22 21:13:54 -04:00
printer-creality-cr10-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-cr10mini-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-cr10s-2017.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-creality-cr20-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-cr20-pro-2019.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-cr30-2021.cfg config: Minor changes to printer-creality-cr30-2021.cfg 2021-05-06 11:08:57 -04:00
printer-creality-ender2-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-ender3-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-ender3-v2-2020.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-creality-ender3max-2021.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-creality-ender3pro-2020.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-creality-ender5-2019.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-creality-ender5plus-2019.cfg config: Ender5Plus add filament sensor (#4031) 2021-03-14 22:04:45 -04:00
printer-creality-ender6-2020.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-eryone-thinker-series-v2-2020.cfg config: Added config for Eryone Thinker Series (#4096) 2021-04-07 14:10:59 -04:00
printer-flashforge-creator-pro-2018.cfg config: Add printer-flashforge-creator-pro-2018.cfg to test cases 2021-04-16 13:58:24 -04:00
printer-flsun-q5-2020.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-fokoos-odin5-f3-2021.cfg config: Enable PID for bed heater in printer-fokoos-odin5-f3-2021.cfg (#4288) 2021-05-13 22:33:00 -04:00
printer-hiprecy-leo-2019.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
printer-longer-lk4-pro-2019.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-lulzbot-mini1-2016.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-lulzbot-taz6-2017.cfg config: Updates to TAZ6 single extruder config (#3750) 2021-01-14 11:01:58 -05:00
printer-lulzbot-taz6-dual-v3-2017.cfg docs: Prefer Jinja2 "set" directive to default_parameter_xxx in examples 2021-04-26 12:44:51 -04:00
printer-makergear-m2-2012.cfg endstop_phase: Obtain phases directly from stepper microsteps config 2020-12-18 10:30:32 -05:00
printer-makergear-m2-2016.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-micromake-d1-2016.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-monoprice-mini-delta-2017.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-monoprice-select-mini-v2-2018.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-mtw-create-2015.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-robo3d-r2-2017.cfg config: Update printer-robo3d-r2-2017.cfg 2021-03-27 12:55:17 -04:00
printer-seemecnc-rostock-max-v2-2015.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-sovol-sv01-2020.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-sunlu-s8-2020.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-tevo-flash-2018.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-tevo-tarantula-pro-2020.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-tronxy-p802e-2020.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-tronxy-p802m-2020.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-tronxy-x5s-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-tronxy-x5sa-pro-2020.cfg config: Updates to printer-tronxy-x5sa-pro-2020.cfg 2021-04-16 00:16:09 -04:00
printer-tronxy-x5sa-v6-2019.cfg stm32: Simplify USB/Serial/CANbus Kconfig selection 2021-03-18 13:33:33 -04:00
printer-tronxy-x8-2018.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-twotrees-sapphire-plus-2020.cfg config: Fix rotation_distance for Sapphire Plus 2021-05-12 10:00:55 -04:00
printer-twotrees-sapphire-pro-2020.cfg config: Comment updates for recent "make menuconfig" updates 2021-03-29 20:00:26 -04:00
printer-velleman-k8200-2013.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-velleman-k8800-2017.cfg config: Minor updates to printer-velleman-k8800-2017.cfg 2021-05-06 11:38:31 -04:00
printer-wanhao-duplicator-6-2016.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-wanhao-duplicator-9-2018.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-wanhao-duplicator-i3-mini-2017.cfg config: Don't use arduino mega aliases in example config files 2021-03-25 10:49:17 -04:00
printer-wanhao-duplicator-i3-plus-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-wanhao-duplicator-i3-plus-mark2-2019.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
printer-wanhao-duplicator-i3-v2.1-2017.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
sample-aliases.cfg config: Create new sample-aliases.cfg with standard aliases 2021-03-25 10:49:17 -04:00
sample-bigtreetech-exp-mot.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
sample-glyphs.cfg docs: Move config reference information to new Config_Reference.md 2020-11-18 20:10:21 -05:00
sample-idex.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
sample-lcd.cfg docs: Move config reference information to new Config_Reference.md 2020-11-18 20:10:21 -05:00
sample-macros.cfg loop_sdcard: Add loopable SD card file sections 2021-05-26 11:57:57 -04:00
sample-mmu2s-diy.cfg config: Use "stealthchop_threshold: 999999" if set 2021-05-09 09:02:43 -04:00
sample-multi-extruder.cfg config: Update example configs to use rotation_distance 2020-12-18 10:38:49 -05:00
sample-multi-mcu.cfg config: Don't use arduino aliases in example-xxx.cfg files 2021-03-25 10:49:17 -04:00
sample-probe-as-z-endstop.cfg docs: Move config reference information to new Config_Reference.md 2020-11-18 20:10:21 -05:00
sample-raspberry-pi.cfg docs: Prefer Jinja2 "set" directive to default_parameter_xxx in examples 2021-04-26 12:44:51 -04:00