Change retraction length from lcd screen menu

Hello, maybe someone is did a menu entry to change the retraction length from lcd screen menu and can share it?

I made the menu, i just don’t know if everything is correct. Maybe anyone could see if everything is fine.

[menu __main __Firmware_Retraction]
type: list
name: Retraction
enable: {printer.idle_timeout.state != "Printing" or printer.idle_timeout.state == "Printing"}
#################################################################
[menu __main __Firmware_Retraction __Retract_Length]
type: input
name: Retract:{'%.1f' % menu.input}
input: {printer.firmware_retraction.retract_length}
input_min: 0
input_max: 5
input_step: 0.1
realtime: True
gcode:
    SET_RETRACTION  RETRACT_LENGTH={'%.1f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Unretract]
type: input
name: Unretract:{'%.1f' % menu.input}
input: {printer.firmware_retraction.unretract_extra_length}
input_min: 0
input_max: 5
input_step: 0.1
realtime: True
gcode:
    SET_RETRACTION  UNRETRACT_EXTRA_LENGTH={'%.1f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Retract_Speed]
type: input
name: Ret_Speed:{'%1d' % menu.input}
input: {printer.firmware_retraction.retract_speed}
input_min: 0
input_max: 100
input_step: 1
realtime: True
gcode:
    SET_RETRACTION  RETRACT_SPEED={'%1d' % menu.input}
#################################################################    
[menu __main __Firmware_Retraction __Unretract_Extra_Lenght]
type: input
name: Unr_Speed:{'%1d' % menu.input}
input: {printer.firmware_retraction.unretract_speed}
input_min: 0
input_max: 100
input_step: 1
realtime: True
gcode:
    SET_RETRACTION  UNRETRACT_SPEED={'%1d' % menu.input}
1 Like

I assume this is for firmware retraction, yes?

Yes,this is for firmware retraction.
I changed it a little.
Add pressure advance and Printer Limits.

[menu __main __Firmware_Retraction]
type: list
name: Retraction
enable: {printer.idle_timeout.state != "Printing" or printer.idle_timeout.state == "Printing"}
#################################################################
[menu __main __Firmware_Retraction __Retract_Length]
type: input
name: Retract:{'%5.1f' % menu.input}
input: {printer.firmware_retraction.retract_length}
input_min: 0
input_max: 5
input_step: 0.1
realtime: True
gcode:
    SET_RETRACTION  RETRACT_LENGTH={'%.1f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Unretract_Extra_Lenght]
type: input
name: Ex_Unretr:{'%.1f' % menu.input}
input: {printer.firmware_retraction.unretract_extra_length}
input_min: 0
input_max: 5
input_step: 0.1
realtime: True
gcode:
    SET_RETRACTION  UNRETRACT_EXTRA_LENGTH={'%.1f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Retract_Speed]
type: input
name: Ret_Speed:{'%d' % menu.input}
input: {printer.firmware_retraction.retract_speed}
input_min: 1
input_max: 100
input_step: 1
realtime: True
gcode:
    SET_RETRACTION  RETRACT_SPEED={'%d' % menu.input} UNRETRACT_SPEED={'%d' % menu.input}
#################################################################    
[menu __main __Firmware_Retraction __Unretract__Speed]
type: input
name: Unr_Speed:{'%d' % menu.input}
input: {printer.firmware_retraction.unretract_speed}
input_min: 1
input_max: 100
input_step: 1
realtime: True
gcode:
    SET_RETRACTION  UNRETRACT_SPEED={'%d' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Pressure_Advance]
type: input
name: Press_Adv:{'%.2f' % menu.input}
input: {printer.extruder.pressure_advance}
input_min: 0
input_max: 10
input_step: 0.01
realtime: True
gcode:
    SET_PRESSURE_ADVANCE ADVANCE={'%f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Pressure_Advance_Smooth_Time]
type: input
name: Pa_Smooth:{'%.2f' % menu.input}
input: {printer.extruder.smooth_time}
input_min: 0
input_max: 0.2
input_step: 0.01
realtime: True
gcode:
    SET_PRESSURE_ADVANCE SMOOTH_TIME={'%f' % menu.input}
#################################################################
[menu __main __Firmware_Retraction __Exit]
type: command
name: Exit
gcode:
    { menu.exit() }  
#################################################################
#################################################################
[menu __main __Printer_Limits]
type: list
name: Printer Limits
enable: {printer.idle_timeout.state != "Printing" or printer.idle_timeout.state == "Printing"}
#################################################################
#    Maximum velocity (in mm/s) of the toolhead (relative to the print)
[menu __main __Printer_Limits __Max_Velocity]
type: input
name: Max_Veloc:{'%.d' % menu.input}
input: {printer.toolhead.max_velocity}
input_min: 1
input_max: 1000
input_step: 1
realtime: True
gcode:
    SET_VELOCITY_LIMIT VELOCITY={'%d' % menu.input}
#################################################################
#    Maximum acceleration (in mm/s^2) of the toolhead (relative to the print)
[menu __main __Printer_Limits __Max_Accel]
type: input
name: Max_Accel:{'%.d' % menu.input}
input: {printer.toolhead.max_accel}
input_min: 1
input_max: 10000
input_step: 10
realtime: True
gcode:
    SET_VELOCITY_LIMIT ACCEL={'%d' % menu.input}
#################################################################
#   A pseudo acceleration (in mm/s^2) controlling how fast the
#   toolhead may go from acceleration to deceleration. It is used to
#   reduce the top speed of short zig-zag moves (and thus reduce
#   printer vibration from these moves). The default is half of
#   max_accel.
[menu __main __Printer_Limits __Max_Accel_To_Decel]
type: input
name: Ac_To_Dec:{'%.d' % menu.input}
input: {printer.toolhead.max_accel_to_decel}
input_min: 1
input_max: 10000
input_step: 10
realtime: True
gcode:
    SET_VELOCITY_LIMIT ACCEL_TO_DECEL={'%d' % menu.input}
#################################################################
#   The maximum velocity (in mm/s) that the toolhead may travel a 90
#   degree corner at. A non-zero value can reduce changes in extruder
#   flow rates by enabling instantaneous velocity changes of the
#   toolhead during cornering.
[menu __main __Printer_Limits __Square_Corner_Velocity]
type: input
name: Sq_Co_Vel:{'%.d' % menu.input}
input: {printer.toolhead.square_corner_velocity}
input_min: 0
input_max: 100
input_step: 1
realtime: True
gcode:
    SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={'%d' % menu.input}
#################################################################
[menu __main __Printer_Limits __Exit]
type: command
name: Exit
gcode:
    { menu.exit() }  
2 Likes

I have just tried adding this to my config ( I found this thread on a Google search) and it seems to have done exactly what I was after thank you for posting :+1:

1 Like