diff --git a/klipper/DNV-TPU-Ender3/Documentatie/BedPosities.txt b/klipper/DNV-TPU-Ender3/Documentatie/BedPosities.txt new file mode 100644 index 0000000..c955c4a --- /dev/null +++ b/klipper/DNV-TPU-Ender3/Documentatie/BedPosities.txt @@ -0,0 +1,26 @@ +Met de DropEffect OmniaDrop V2.1 kop: + +Posities endstops: +X = -13.5 +Y = -29 + +Dus afstelling voor BLTouch: +X: 117.5 +Y: 117.5 +Naar bltouch: +X: 151.2 +Y: 84 + +Verschil kop tov de bltouch: +X: 151.2 - 117.5 = 33.7 +Y: 84 - 117.5 = -33.5 + +BLTouch in het midden van het bed: +X: 117.5 - 33.7 = 83.8 +Y: 117.5 + 33.5 = 151 + +Locatie bed schroeven onder de nozzle: +LV: 25, 31 +RV: 196, 31 +RA: 196,206 +LA: 25,206 diff --git a/klipper/DNV-TPU-Ender3/Firmware/example_generic-bigtreetech-skr-mini-e3-v1.2.cfg b/klipper/DNV-TPU-Ender3/Firmware/example_generic-bigtreetech-skr-mini-e3-v1.2.cfg new file mode 100644 index 0000000..a5a306a --- /dev/null +++ b/klipper/DNV-TPU-Ender3/Firmware/example_generic-bigtreetech-skr-mini-e3-v1.2.cfg @@ -0,0 +1,120 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +stealthchop_threshold: 999999 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +stealthchop_threshold: 999999 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: 0.0 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +stealthchop_threshold: 999999 + +[extruder] +step_pin: PB3 +dir_pin: !PB4 +enable_pin: !PD2 +microsteps: 16 +rotation_distance: 33.500 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +control: pid +pid_Kp: 21.527 +pid_Ki: 1.063 +pid_Kd: 108.982 +min_temp: 0 +max_temp: 250 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.650 +stealthchop_threshold: 999999 + +[heater_bed] +heater_pin: PC9 +sensor_type: ATC Semitec 104GT-2 +sensor_pin: PC3 +control: pid +pid_Kp: 54.027 +pid_Ki: 0.770 +pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. diff --git a/klipper/DNV-TPU-Ender3/Firmware/klipper.bin b/klipper/DNV-TPU-Ender3/Firmware/klipper.bin new file mode 100644 index 0000000..b2fed5c Binary files /dev/null and b/klipper/DNV-TPU-Ender3/Firmware/klipper.bin differ diff --git a/klipper/DNV-TPU-Ender3/Firmware/printer.cfg b/klipper/DNV-TPU-Ender3/Firmware/printer.cfg new file mode 100644 index 0000000..29ef541 --- /dev/null +++ b/klipper/DNV-TPU-Ender3/Firmware/printer.cfg @@ -0,0 +1,183 @@ +# This file contains common pin mappings for the 2018 Creality +# Ender 3. To use this config, the firmware should be compiled for the +# AVR atmega1284p. + +# Note, a number of Melzi boards are shipped with a bootloader that +# requires the following command to flash the board: +# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex +# If the above command does not work and "make flash" does not work +# then one may need to flash a bootloader to the board - see the +# Klipper docs/Bootloaders.md file for more information. + +# See docs/Config_Reference.md for a description of parameters. + +[stepper_x] +step_pin: PD7 +dir_pin: !PC5 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC2 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_y] +step_pin: PC6 +dir_pin: !PC7 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC3 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_z] +step_pin: PB3 +dir_pin: PB2 +enable_pin: !PA5 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC4 +position_endstop: 0.0 +position_max: 250 + +[extruder] +# DropEffect OmniaDrop V2.1 +max_extrude_only_distance: 100.0 +step_pin: PB1 +dir_pin: !PB0 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 33.683 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +gear_ratio: 5:1 +heater_pin: PD5 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA7 +control: pid +# tuned for stock hardware with 200 degree Celsius target +pid_Kp: 21.527 +pid_Ki: 1.063 +pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[heater_bed] +heater_pin: PD4 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA6 +control: pid +# tuned for stock hardware with 50 degree Celsius target +pid_Kp: 54.027 +pid_Ki: 0.770 +pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PB4 + +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 +#baud: 115200 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[display] +lcd_type: st7920 +cs_pin: PA3 +sclk_pin: PA1 +sid_pin: PC1 +encoder_pins: ^PD2, ^PD3 +click_pin: ^!PC0 + +[virtual_sdcard] +path: ~/gcode_files + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 diff --git a/klipper/DNV-TPU-Ender3/Firmware/printer_generic-bigtreetech-skr-mini-e3-v1.2.cfg b/klipper/DNV-TPU-Ender3/Firmware/printer_generic-bigtreetech-skr-mini-e3-v1.2.cfg new file mode 100644 index 0000000..e4cb59d --- /dev/null +++ b/klipper/DNV-TPU-Ender3/Firmware/printer_generic-bigtreetech-skr-mini-e3-v1.2.cfg @@ -0,0 +1,850 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -12 +position_min: -13 +position_max: 222 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -29 +position_min: -30 +position_max: 205 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: 0.0 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 32.4 +y_offset: -34.9 +z_offset: 1.6 +pin_move_time: 0.680 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: !PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 33.500 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/gcode_files + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +[bed_screws] +screw1: 32,32 +screw2: 203,32 +screw3: 203,203 +screw4: 32,203 +screw5: 117,117 + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'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={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%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={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +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 __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +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: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[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: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +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: Fil. langzaam uitwerpen +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: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +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 __main __setup __tuning __hotbed_pid_tuning] +type: command +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: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.740 +#*# pid_ki = 2.129 +#*# pid_kd = 96.998 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 65.356 +#*# pid_ki = 1.168 +#*# pid_kd = 914.164