diff options
author | Janar Sööt <janar.soot@gmail.com> | 2020-08-09 16:29:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-09 09:29:55 -0400 |
commit | d991b4c83bf02ec86d51532fdefc234f507e9397 (patch) | |
tree | bc4160af9c1928bccfb24b08e932ffd9906b1d5b /klippy/extras/display/menu.cfg | |
parent | efebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76 (diff) | |
download | kutter-d991b4c83bf02ec86d51532fdefc234f507e9397.tar.gz kutter-d991b4c83bf02ec86d51532fdefc234f507e9397.tar.xz kutter-d991b4c83bf02ec86d51532fdefc234f507e9397.zip |
menu: Replace menu with new Jinja2 template system (#2344)
menu.cfg:
- jinja2 template scripting
- new Setup menu
- new Calibration menu
menu:
- redesigned menu code
- jinja2 support
- option to reverse menu up and down directions
- functionality set to support menu injection from other modules
- a new way of defining menu hierarchy
- other adjustments
Signed-off-by: Janar Sööt <janar.soot@gmail.com>
Diffstat (limited to 'klippy/extras/display/menu.cfg')
-rw-r--r-- | klippy/extras/display/menu.cfg | 778 |
1 files changed, 442 insertions, 336 deletions
diff --git a/klippy/extras/display/menu.cfg b/klippy/extras/display/menu.cfg index 56de02bd..95b3c29b 100644 --- a/klippy/extras/display/menu.cfg +++ b/klippy/extras/display/menu.cfg @@ -2,620 +2,726 @@ # See the "example-menu.cfg" file for description of common config parameters. ### DEFAULT MENU ### +# Main +# + Tune +# + Speed: 000% +# + Flow: 000% +# + Offset Z:00.00 +# + OctoPrint +# + Pause printing +# + Resume printing +# + Abort printing +# + SD Card +# + Start printing +# + Resume printing +# + Pause printing +# + ... (files) +# + Control +# + Home All +# + Home Z +# + Home X/Y +# + Steppers off +# + Fan: OFF +# + Fan speed: 000% +# + Lights: OFF +# + Lights: 000% +# + Move 10mm +# + Move X:000.0 +# + Move Y:000.0 +# + Move Z:000.0 +# + Move E:+000.0 +# + Move 1mm +# + Move X:000.0 +# + Move Y:000.0 +# + Move Z:000.0 +# + Move E:+000.0 +# + Move 0.1mm +# + Move X:000.0 +# + Move Y:000.0 +# + Move Z:000.0 +# + Move E:+000.0 +# + Temperature +# + Ex0:000 (0000) +# + Ex1:000 (0000) +# + Bed:000 (0000) +# + Preheat PLA +# + Preheat all +# + Preheat hotend +# + Preheat hotbed +# + Preheat ABS +# + Preheat all +# + Preheat hotend +# + Preheat hotbed +# + Cooldown +# + Cooldown all +# + Cooldown hotend +# + Cooldown hotbed +# + Filament +# + Ex0:000 (0000) +# + Load Fil. fast +# + Load Fil. slow +# + Unload Fil.fast +# + Unload Fil.slow +# + Feed: 000.0 +# + Setup +# + Save config +# + Restart +# + Restart host +# + Restart FW +# + PID tuning +# + Tune Hotend PID +# + Tune Hotbed PID +# + Calibration +# + Delta cal. auto +# + Delta cal. man +# + Start probing +# + Move Z: 000.00 +# + Test Z: ++ +# + Accept +# + Abort +# + Bed probe +# + Dump parameters ### menu main ### [menu __main] type: list -name: Main Menu -items: - __tune - __octoprint - __sdcard - __control - __temp - __filament - __prepare +name: Main ### menu tune ### -[menu __tune] +[menu __main __tune] type: list -enable: toolhead.is_printing +enable: {printer.idle_timeout.state == "Printing"} name: Tune -items: - .__speed - .__flow - .__offsetz -[menu __tune __speed] +[menu __main __tune __speed] type: input -name: "Speed: {1:3d}%" -parameter: gcode.speed_factor -transform: - map(0,2,0,200) +name: Speed: {'%3d' % (menu.input*100)}% +input: {printer.gcode.speed_factor} input_min: 0 input_max: 2 input_step: 0.01 -realtime: true -gcode: M220 S{1:d} +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} -[menu __tune __flow] +[menu __main __tune __flow] type: input -name: "Flow: {1:3d}%" -parameter: gcode.extrude_factor -transform: - map(0,2,0,200) +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode.extrude_factor} input_min: 0 input_max: 2 input_step: 0.01 -realtime: true -gcode: M221 S{1:d} +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} -[menu __tune __offsetz] +[menu __main __tune __offsetz] type: input -name: "Offset Z:{0:05.3f} " -parameter: gcode.homing_zpos +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode.homing_zpos} input_min: -5 input_max: 5 input_step: 0.005 -realtime: true -gcode: SET_GCODE_OFFSET Z={0:.3f} MOVE=1 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + ### menu octoprint ### -[menu __octoprint] +[menu __main __octoprint] type: list name: OctoPrint -items: - .__pause - .__resume - .__abort -[menu __octoprint __pause] +[menu __main __octoprint __pause] type: command -enable: toolhead.is_printing +enable: {printer.idle_timeout.state == "Printing"} name: Pause printing -action: respond action:pause gcode: + {printer.gcode.action_respond_info('action:pause')} -[menu __octoprint __resume] +[menu __main __octoprint __resume] type: command -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Resume printing -action: respond action:resume gcode: + {printer.gcode.action_respond_info('action:resume')} -[menu __octoprint __abort] +[menu __main __octoprint __abort] type: command -enable: toolhead.is_printing +enable: {printer.idle_timeout.state == "Printing"} name: Abort printing -action: respond action:cancel gcode: + {printer.gcode.action_respond_info('action:cancel')} ### menu virtual sdcard ### -[menu __sdcard] -type: vsdcard +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} name: SD Card -items: - .__start - .__resume - .__pause -[menu __sdcard __start] +[menu __main __sdcard __start] type: command -enable: !toolhead.is_printing +enable: {('virtual_sdcard' in printer) and not printer.idle_timeout.state == "Printing"} name: Start printing gcode: M24 -[menu __sdcard __resume] +[menu __main __sdcard __resume] type: command -enable: toolhead.is_printing +enable: {('virtual_sdcard' in printer) and printer.idle_timeout.state == "Printing"} name: Resume printing gcode: M24 -[menu __sdcard __pause] +[menu __main __sdcard __pause] type: command -enable: toolhead.is_printing +enable: {('virtual_sdcard' in printer) and printer.idle_timeout.state == "Printing"} name: Pause printing gcode: M25 ### menu control ### -[menu __control] +[menu __main __control] type: list name: Control -items: - .__home - .__homez - .__homexy - .__move_10mm - .__move_1mm - .__move_01mm - .__disable - .__fanonoff - .__fanspeed - .__caselightonoff - .__caselightpwm -[menu __control __home] +[menu __main __control __home] type: command +enable: {not printer.idle_timeout.state == "Printing"} name: Home All gcode: G28 -enable: !toolhead.is_printing -[menu __control __homez] +[menu __main __control __homez] type: command -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Home Z gcode: G28 Z -[menu __control __homexy] +[menu __main __control __homexy] type: command -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Home X/Y gcode: G28 X Y -[menu __control __disable] +[menu __main __control __disable] type: command -name: Disable steppers +name: Steppers off gcode: M84 M18 -[menu __control __fanonoff] +[menu __main __control __fanonoff] type: input -enable: fan.is_enabled -name: Fan {1:3s} -parameter: fan.speed -transform: - choose('OFF','ON') - choose(0,255) +enable: {'fan' in printer} +name: Fan: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} input_min: 0 input_max: 1 input_step: 1 -gcode: M106 S{2:d} +gcode: + M106 S{255 if menu.input else 0} -[menu __control __fanspeed] +[menu __main __control __fanspeed] type: input -enable: fan.is_enabled -name: Fan speed: {1:3d}% -parameter: fan.speed -transform: - map(0,1,0,100) - map(0,1,0,255) +enable: {'fan' in printer} +name: Fan speed: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} input_min: 0 input_max: 1 input_step: 0.01 -gcode: M106 S{2:d} +gcode: + M106 S{'%d' % (menu.input*255)} -[menu __control __caselightonoff] +[menu __main __control __caselightonoff] type: input -enable: output_pin.caselight.is_enabled -name: Case light: {1:3s} -parameter: output_pin.caselight.value -transform: - choose('OFF','ON') - choose(0,1) +enable: {'output_pin caselight' in printer} +name: Lights: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} input_min: 0 input_max: 1 input_step: 1 -gcode: SET_PIN PIN=caselight VALUE={2} +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} -[menu __control __caselightpwm] +[menu __main __control __caselightpwm] type: input -enable: output_pin.caselight.is_enabled -name: Case light: {0:4.0%} -parameter: output_pin.caselight.value +enable: {'output_pin caselight' in printer} +name: Lights: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} input_min: 0.0 input_max: 1.0 input_step: 0.01 -gcode: SET_PIN PIN=caselight VALUE={0:.2f} +gcode: + SET_PIN PIN=caselight VALUE={menu.input} ### menu move 10mm ### -[menu __control __move_10mm] +[menu __main __control __move_10mm] type: list -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Move 10mm -items: - .__axis_z - .__axis_x, .__axis_y - .__axis_e -[menu __control __move_10mm __axis_x] +[menu __main __control __move_10mm __axis_x] type: input -name: "X:{0:05.1f} " -parameter: gcode.move_xpos +name: Move X:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.x} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 10.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 X{0:.1f} F2400 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_10mm __axis_y] +[menu __main __control __move_10mm __axis_y] type: input -name: "Y:{0:05.1f} " -parameter: gcode.move_ypos +name: Move Y:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.y} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 10.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Y{0:.1f} F2400 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_10mm __axis_z] +[menu __main __control __move_10mm __axis_z] type: input -enable: !toolhead.is_printing -name: "Move Z:{0:05.1f}" -parameter: gcode.move_zpos +enable: {not printer.idle_timeout.state == "Printing"} +name: Move Z:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.z} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 10.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Z{0:.1f} F240 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_10mm __axis_e] +[menu __main __control __move_10mm __axis_e] type: input -enable: !toolhead.is_printing -name: "Move E:{0:+06.1f}" -parameter: 0 -input_min: -50.0 -input_max: 50.0 +enable: {not printer.idle_timeout.state == "Printing"} +name: Move E:{'%+06.1f' % menu.input} +input: 0 +input_min: -50 +input_max: 50 input_step: 10.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis M83 - G1 E{0:.1f} F240 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis ### menu move 1mm ### -[menu __control __move_1mm] +[menu __main __control __move_1mm] type: list -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Move 1mm -items: - .__axis_z - .__axis_x, .__axis_y - .__axis_e -[menu __control __move_1mm __axis_x] +[menu __main __control __move_1mm __axis_x] type: input -name: "X:{0:05.1f} " -parameter: gcode.move_xpos +name: Move X:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.x} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 1.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 X{0:.1f} F2400 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_1mm __axis_y] +[menu __main __control __move_1mm __axis_y] type: input -name: "Y:{0:05.1f} " -parameter: gcode.move_ypos +name: Move Y:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.y} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 1.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Y{0:.1f} F2400 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_1mm __axis_z] +[menu __main __control __move_1mm __axis_z] type: input -enable: !toolhead.is_printing -name: "Move Z:{0:05.1f}" -parameter: gcode.move_zpos +enable: {not printer.idle_timeout.state == "Printing"} +name: Move Z:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.z} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 1.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Z{0:.1f} F240 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_1mm __axis_e] +[menu __main __control __move_1mm __axis_e] type: input -enable: !toolhead.is_printing -name: "Move E:{0:+06.1f}" -parameter: 0 -input_min: -50.0 -input_max: 50.0 +enable: {not printer.idle_timeout.state == "Printing"} +name: Move E:{'%+06.1f' % menu.input} +input: 0 +input_min: -50 +input_max: 50 input_step: 1.0 gcode: + SAVE_GCODE_STATE NAME=__move__axis M83 - G1 E{0:.1f} F240 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis ### menu move 0.1mm ### -[menu __control __move_01mm] +[menu __main __control __move_01mm] type: list -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Move 0.1mm -items: - .__axis_z - .__axis_x, .__axis_y - .__axis_e -[menu __control __move_01mm __axis_x] +[menu __main __control __move_01mm __axis_x] type: input -name: "X:{0:05.1f} " -parameter: gcode.move_xpos +name: Move X:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.x} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 0.1 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 X{0:.1f} F2400 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_01mm __axis_y] +[menu __main __control __move_01mm __axis_y] type: input -name: "Y:{0:05.1f} " -parameter: gcode.move_ypos +name: Move Y:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.y} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 0.1 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Y{0:.1f} F2400 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_01mm __axis_z] +[menu __main __control __move_01mm __axis_z] type: input -enable: !toolhead.is_printing -name: "Move Z:{0:05.1f}" -parameter: gcode.move_zpos +enable: {not printer.idle_timeout.state == "Printing"} +name: Move Z:{'%05.1f' % menu.input} +input: {printer.gcode.gcode_position.z} input_min: 0 -input_max: 200.0 +input_max: 200 input_step: 0.1 gcode: + SAVE_GCODE_STATE NAME=__move__axis G90 - G1 Z{0:.1f} F240 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis -[menu __control __move_01mm __axis_e] +[menu __main __control __move_01mm __axis_e] type: input -enable: !toolhead.is_printing -name: "Move E:{0:+06.1f}" -parameter: 0 -input_min: -50.0 -input_max: 50.0 +enable: {not printer.idle_timeout.state == "Printing"} +name: Move E:{'%+06.1f' % menu.input} +input: 0 +input_min: -50 +input_max: 50 input_step: 0.1 gcode: + SAVE_GCODE_STATE NAME=__move__axis M83 - G1 E{0:.1f} F240 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis ### menu temperature ### -[menu __temp] +[menu __main __temp] type: list name: Temperature -items: - .__hotend0_current, .__hotend0_target - .__hotend1_current, .__hotend1_target - .__hotbed_current, .__hotbed_target - .__preheat_pla - .__preheat_abs - .__cooldown -[menu __temp __hotend0_current] -type: item -enable: extruder.is_enabled -name: "Ex0:{0:4.0f} T" -parameter: extruder.temperature - -[menu __temp __hotend0_target] +[menu __main __temp __hotend0_target] type: input -enable: extruder.is_enabled -name: "{0:4.0f}" -parameter: extruder.target +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} input_min: 0 -input_max: 250 +input_max: {printer.configfile.config.extruder.max_temp} input_step: 1 -input_step2: 10 -gcode: M104 T0 S{0:.0f} - -[menu __temp __hotend1_current] -type: item -enable: extruder1.is_enabled -name: "Ex1:{0:4.0f} T" -parameter: extruder1.temperature +gcode: M104 T0 S{'%.0f' % menu.input} -[menu __temp __hotend1_target] +[menu __main __temp __hotend1_target] type: input -enable: extruder1.is_enabled -name: "{0:4.0f}" -parameter: extruder1.target +enable: {'extruder1' in printer} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} input_min: 0 -input_max: 250 +input_max: {printer.configfile.config.extruder1.max_temp} input_step: 1 -input_step2: 10 -gcode: M104 T1 S{0:.0f} +gcode: M104 T1 S{'%.0f' % menu.input} -[menu __temp __hotbed_current] -type: item -enable: heater_bed.is_enabled -name: "Bed:{0:4.0f} T" -parameter: heater_bed.temperature - -[menu __temp __hotbed_target] +[menu __main __temp __hotbed_target] type: input -enable: heater_bed.is_enabled -name: "{0:4.0f}" -parameter: heater_bed.target +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} input_min: 0 -input_max: 130 +input_max: {printer.configfile.config.heater_bed.max_temp} input_step: 1 -input_step2: 10 -gcode: M140 S{0:.0f} +gcode: M140 S{'%.0f' % menu.input} -[menu __temp __preheat_pla] +[menu __main __temp __preheat_pla] type: list name: Preheat PLA -items: - .__all - .__hotend - .__hotbed -[menu __temp __preheat_pla __all] +[menu __main __temp __preheat_pla __all] type: command -enable: extruder.is_enabled,heater_bed.is_enabled +enable: {('extruder' in printer) and ('heater_bed' in printer)} name: Preheat all gcode: M140 S60 M104 S200 -[menu __temp __preheat_pla __hotend] +[menu __main __temp __preheat_pla __hotend] type: command -enable: extruder.is_enabled +enable: {'extruder' in printer} name: Preheat hotend gcode: M104 S200 -[menu __temp __preheat_pla __hotbed] +[menu __main __temp __preheat_pla __hotbed] type: command -enable: heater_bed.is_enabled +enable: {'heater_bed' in printer} name: Preheat hotbed gcode: M140 S60 -[menu __temp __preheat_abs] +[menu __main __temp __preheat_abs] type: list name: Preheat ABS -items: - .__all - .__hotend - .__hotbed -[menu __temp __preheat_abs __all] +[menu __main __temp __preheat_abs __all] type: command -enable: extruder.is_enabled,heater_bed.is_enabled +enable: {('extruder' in printer) and ('heater_bed' in printer)} name: Preheat all gcode: M140 S110 M104 S245 -[menu __temp __preheat_abs __hotend] +[menu __main __temp __preheat_abs __hotend] type: command -enable: extruder.is_enabled +enable: {'extruder' in printer} name: Preheat hotend gcode: M104 S245 -[menu __temp __preheat_abs __hotbed] +[menu __main __temp __preheat_abs __hotbed] type: command -enable: heater_bed.is_enabled +enable: {'heater_bed' in printer} name: Preheat hotbed gcode: M140 S110 -[menu __temp __cooldown] +[menu __main __temp __cooldown] type: list name: Cooldown -items: - .__all - .__hotend - .__hotbed -[menu __temp __cooldown __all] +[menu __main __temp __cooldown __all] type: command -enable: extruder.is_enabled,heater_bed.is_enabled +enable: {('extruder' in printer) and ('heater_bed' in printer)} name: Cooldown all gcode: M104 S0 M140 S0 -[menu __temp __cooldown __hotend] +[menu __main __temp __cooldown __hotend] type: command -enable: extruder.is_enabled +enable: {'extruder' in printer} name: Cooldown hotend gcode: M104 S0 -[menu __temp __cooldown __hotbed] +[menu __main __temp __cooldown __hotbed] type: command -enable: heater_bed.is_enabled +enable: {'heater_bed' in printer} name: Cooldown hotbed gcode: M140 S0 ### menu filament ### -[menu __filament] +[menu __main __filament] type: list name: Filament -items: - __temp __hotend0_current, __temp __hotend0_target - .__unload - .__load - .__feed -[menu __filament __load] +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] type: command -name: Load Filament +name: Load Fil. fast gcode: + SAVE_GCODE_STATE NAME=__filament__load M83 - G1 E50 F1000 - G1 E50 F1000 - G1 E50 F1000 - G1 E50 F1000 - G1 E50 F300 - G1 E50 F300 - M82 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load -[menu __filament __unload] +[menu __main __filament __loads] type: command -name: Unload Filament +name: Load Fil. slow gcode: + SAVE_GCODE_STATE NAME=__filament__load M83 - G1 E-50 F1000 - G1 E-50 F1000 - G1 E-50 F1000 - G1 E-50 F1000 - G1 E-50 F1800 - G1 E-50 F1800 - G1 E-50 F1800 - G1 E-50 F1800 - M82 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load -[menu __filament __feed] +[menu __main __filament __unloadf] +type: command +name: Unload Fil.fast +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Unload Fil.slow +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] type: input -name: Feed: {0:.1f} -parameter: 0 +name: Feed: {'%.1f' % menu.input} +input: 5 input_step: 0.1 gcode: + SAVE_GCODE_STATE NAME=__filament__load M83 - G1 E{0:.1f} F30 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load -### menu prepare ### -[menu __prepare] +### menu setup ### +[menu __main __setup] type: list -enable: !toolhead.is_printing -name: Prepare -items: - .__delta_calib - .__bedprobe - .__hotend_pid_tuning - .__hotbed_pid_tuning - .__host_restart - .__firmware_restart +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup -[menu __prepare __host_restart] +[menu __main __setup __save_config] type: command -enable: !toolhead.is_printing +name: Save config +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Restart + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} name: Restart host gcode: RESTART -[menu __prepare __firmware_restart] +[menu __main __setup __restart __firmware_restart] type: command -enable: !toolhead.is_printing +enable: {not printer.idle_timeout.state == "Printing"} name: Restart FW gcode: FIRMWARE_RESTART -[menu __prepare __delta_calib] +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] type: command -enable: !toolhead.is_printing -name: Delta calibrate -gcode: DELTA_CALIBRATE +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 -[menu __prepare __bedprobe] +[menu __main __setup __tuning __hotbed_pid_tuning] type: command -enable: !toolhead.is_printing +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibration + +[menu __main __setup __calib __delta_calib_auto] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Delta cal. auto +gcode: + G28 + DELTA_CALIBRATE + +[menu __main __setup __calib __delta_calib_man] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Delta cal. man + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} name: Bed probe gcode: PROBE -[menu __prepare __hotend_pid_tuning] +[menu __main __setup __calib __delta_calib_man __start] type: command -enable: !toolhead.is_printing, extruder.is_enabled -name: Tune Hotend PID -gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 +name: Start probing +gcode: + G28 + DELTA_CALIBRATE METHOD=manual + +[menu __main __setup __calib __delta_calib_man __move_z] +type: input +name: Move Z: {'%03.2f' % menu.input} +input: {printer.gcode.gcode_position.z} +input_step: 1 +realtime: True +gcode: + {%- if menu.event == 'change' -%} + G1 Z{'%.2f' % menu.input} + {%- elif menu.event == 'long_click' -%} + G1 Z{'%.2f' % menu.input} + SAVE_GCODE_STATE NAME=__move__axis + G91 + G1 Z2 + G1 Z-2 + RESTORE_GCODE_STATE NAME=__move__axis + {%- endif -%} + +[menu __main __setup __calib __delta_calib_man __test_z] +type: input +name: Test Z: {['++','+','+.01','+.05','+.1','+.5','-.5','-.1','-.05','-.01','-','--'][menu.input|int]} +input: 6 +input_min: 0 +input_max: 11 +input_step: 1 +gcode: + {%- if menu.event == 'long_click' -%} + TESTZ Z={['++','+','+.01','+.05','+.1','+.5','-.5','-.1','-.05','-.01','-','--'][menu.input|int]} + {%- endif -%} -[menu __prepare __hotbed_pid_tuning] +[menu __main __setup __calib __delta_calib_man __accept] type: command -enable: !toolhead.is_printing, heater_bed.is_enabled -name: Tune Hotbed PID -gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 +name: Accept +gcode: ACCEPT + +[menu __main __setup __calib __delta_calib_man __abort] +type: command +name: Abort +gcode: ABORT + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { printer.gcode.action_respond_info("printer['%s'].%s = %s" % (name1, name2, printer[name1][name2])) } + {% else %} + { printer.gcode.action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} |