#===========================================================================# #===================# DELTA FLYER REFIT #===================# #===========================================================================# #===================# Config by KANROG87 #===================# #===========================================================================# ## If you have built the Delta Flyer from the LDO kit, this file should not need any changes made. ## I've included macros to all calibration functions, please do them in this order: ## ENDSTOPS_CALIBRATION, Delta_Calibrate_Manual, PID_HOTEND, PID_HOTBED. #==================================# # INCLUDES #==================================# # These lines makes sure that klipper # can read the extra files we imported, # we do this to keep this file clean # and easier too work on. [include mainsail.cfg] #==================================# # MCU #==================================# # These lines identifies the components # that runs klipper and the printer. [mcu] # Printer controller serial: /dev/serial/by-id/usb-Klipper_rp2040_h616-if00 [mcu h616] # SOC serial: /tmp/klipper_host_mcu #==================================# # Printer Limits #==================================# # These lines sets the limits of the # printer, but they can be overwritten # by other features. [printer] # This sets the printers parameters and limits. Note that the max speed and accel numbers set here can be overwritten by the slicers settings. kinematics: delta max_velocity: 400 max_accel: 10000 max_z_velocity: 100 max_z_accel: 100 delta_radius: 60 minimum_z_position:-1 # When doing the "DELTA_CALIBRATE" process, if you are not able to lower the nozzle down to the bed, set this number to something lower, like -3. # [force_move] # enable_force_move: True [delta_calibrate] radius: 50 # This number sets the radius of the points used in "DELTA_CALIBRATE" horizontal_move_z: 20 # how far up the nozzle moves from the bed on each point. you can lower this number to speed up the "DELTA_CALIBRATE" process #==================================# # STEPPER A #==================================# # These lines sets all the parameters # for the motors and the movement # limits. these wont need to change # unless you are installing a mod # that changes any part of the # movement of the printer. [stepper_a] step_pin: gpio15 dir_pin: gpio14 # If for some reason the motor is moving in the oppsite direction of what its supposed to, change this to "!gpio14" enable_pin: !h616:gpio259 # H616-PI3 microsteps: 32 rotation_distance: 40 full_steps_per_rotation: 400 # The number of full steps for one rotation of the stepper motor. # Set this to 200 for a 1.8 degree stepper motor or set to 400 for a # 0.9 degree motor. The default is 200. endstop_pin: ^h616:gpio267 # H616-PI1 E0 homing_speed: 80 position_endstop: 142 # If you are building a taller or shorter Delta Flyer, change this to fit your build size. arm_length: 147 angle: 221 #212.689114 homing_retract_dist: 10 second_homing_speed: 5 [tmc2209 stepper_a] uart_pin: gpio1 tx_pin: gpio0 run_current: 0.9 # This sets the amunt of power sent to the motor. If your motors are too hot, lower this value, if the motor is skipping steps, increase the value. Make sure this wont go too high, it can damage components. interpolate: true uart_address: 0 #stealthchop_threshold: 999999 # Uncomment to enable Stealthchop #==================================# # STEPPER B #==================================# [stepper_b] step_pin: gpio13 dir_pin: gpio12 # If for some reason the motor is moving in the oppsite direction of what its supposed to, change this to "!gpio12" enable_pin: !h616:gpio256 # H616-PI0 microsteps: 32 rotation_distance: 40 full_steps_per_rotation: 400 # The number of full steps for one rotation of the stepper motor. # Set this to 200 for a 1.8 degree stepper motor or set to 400 for a # 0.9 degree motor. The default is 200. endstop_pin: ^h616:gpio261 # H616-PI5 homing_speed: 80 position_endstop: 142 # If you are building a taller or shorter Delta Flyer, change this to fit your build size. angle: 330 #329.987282 arm_length: 147 homing_retract_dist: 10 second_homing_speed: 5 [tmc2209 stepper_b] uart_pin: gpio1 tx_pin: gpio0 run_current: 0.9 # This sets the amunt of power sent to the motor. If your motors are too hot, lower this value, if the motor is skipping steps, increase the value. Make sure this wont go too high, it can damage components. uart_address: 2 #stealthchop_threshold: 999999 # Uncomment to enable Stealthchop #==================================# # STEPPER B #==================================# [stepper_c] step_pin: gpio10 dir_pin: gpio9 # If for some reason the motor is moving in the oppsite direction of what its supposed to, change this to "!gpio9" enable_pin: !h616:gpio263 # H616-PI7 microsteps: 32 rotation_distance: 40 full_steps_per_rotation: 400 # The number of full steps for one rotation of the stepper motor. # Set this to 200 for a 1.8 degree stepper motor or set to 400 for a # 0.9 degree motor. The default is 200. endstop_pin: ^h616:gpio269 # H616-PI13 homing_speed: 80 position_endstop: 142 # If you are building a taller or shorter Delta Flyer, change this to fit your build size. angle: 90.000000 arm_length: 147 homing_retract_dist: 10 second_homing_speed: 5 [tmc2209 stepper_c] uart_pin: gpio1 tx_pin: gpio0 run_current: 0.9 # This sets the amunt of power sent to the motor. If your motors are too hot, lower this value, if the motor is skipping steps, increase the value. Make sure this wont go too high, it can damage components. interpolate: true uart_address: 1 #stealthchop_threshold: 999999 # Uncomment to enable Stealthchop #==================================# # EXTRUDER #==================================# # These lines sets all the parameters # for the extruder and hotend. these # wont need to change unless you are # installing a mod that changes any # part of the toolhead of the printer. [extruder] dir_pin: !gpio7 # If for some reason the motor is moving in the oppsite direction of what its supposed to, change this to "!gpio7" full_steps_per_rotation: 200 gear_ratio: 50:17 rotation_distance: 11.21 # To fine tune your extruder steps, I recommend using Rolohauns calculator https://www.rolohaun3d.ca/klipper - I have included a macro to assist in this. pressure_advance: 0.181 pressure_advance_smooth_time: 0.040 step_pin: gpio8 enable_pin: !h616:gpio258 # H616-PI2 microsteps: 32 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: gpio23 #HB sensor_type: ATC Semitec 104NT-4-R025H42G sensor_pin: gpio26 #TH0 control: pid pid_Kp: 21.527 # These are "generic" PID values, these will be ignored after the first PID tune. pid_Ki: 1.063 pid_Kd: 108.982 min_temp: 0 max_temp: 290 min_extrude_temp: 0 # This will prevent the extruder from extruding unless the hotend is above this temperature. max_extrude_cross_section: 10 max_extrude_only_distance: 1000 [tmc2209 extruder] run_current: 0.9 uart_pin: gpio1 tx_pin: gpio0 interpolate: false uart_address: 3 #==================================# # HOTBED #==================================# # These lines sets the parameters # for your bed-heater. [heater_bed] heater_pin: gpio21 #HE0 sensor_type: ATC Semitec 104NT-4-R025H42G #Generic 3950 sensor_pin: gpio28 #TB control: pid pid_Kp: 21.527 # These are "generic" PID values, these will be ignored after the first PID tune. pid_Ki: 1.063 pid_Kd: 108.982 min_temp: 0 max_temp: 105 # I suggest keeping this lower than the transition temperature of your printed parts, for PLA, its 45c, PETG - 66c, ABS - 100c etc. #==================================# # FANS #==================================# # These lines sets all the parameters for the fans connected to the printer [fan] # Part-cooling fan, 5015 fan on the toolhead used for cooling the print. # connected to FAN1 - 24v Fan pin: gpio29 shutdown_speed: 0 [controller_fan controller_fan] # 4010 fan used for cooling the controller board. # connected to FAN0 - 24v Fan pin: gpio11 kick_start_time: 0.5 max_power: 0.6 # Limits the fan to run at 60% to reduce noice. heater: heater_bed, extruder stepper: stepper_a, stepper_b, stepper_c # hardware_pwm: True [heater_fan hotend_fan] # 3010 fan used for cooling the hotend heatsink. # connected to FAN2 - 24v Fan pin: gpio4 max_power: 0.6 # Limits the fan to run at 60% to reduce noice. #kick_start_time: 0.5 heater: extruder heater_temp: 35.0 # When the hotend cools down below this temperature, the hotend fan will turn off. #hardware_pwm: True shutdown_speed: 0 #==================================# # Temperature Sensors #==================================# # These lines enables temperature # monitoring in the temperature window # in mainsail, and lets you set maximum # and minimum values, if the temperature # moves outside of these values, klipper # will shut down [temperature_sensor mcu] # Temperature of the CPU on the printer board part of the DZ01 sensor_type: temperature_mcu min_temp: 0 max_temp: 100 [temperature_sensor host] # Temperature of the CPU on the SOC part of the DZ01 sensor_type: temperature_host min_temp: 10 max_temp: 100 # [temperature_sensor chamber] # If you want to add a temperature sensor to the chamber, plug it in to the TH1 port. # sensor_type: EPCOS 100K B57560G104F # this is a very common thermistor in 3D printers, you have to verify what type you have and change it to match. # sensor_pin: gpio27 # min_temp: 0 # max_temp: 100 # gcode_id: C #==================================# # MISC #==================================# # These lines define different features # needed for the printer to have full usability [endstop_phase] [exclude_object] [gcode_arcs] resolution: 0.1 [output_pin _usb_host_en] # This turns on the USB ports on the DZ01, you should not need to change this. pin: h616:gpio209 #PG17 value: 1 [homing_override] # Overrides the normal homing sequence and turns the LED green while homing and sets teh LED back to idle after homing. gcode: LED_GREEN G28 G4 S1 LED_IDLE # [probe] # The Delta Flyer kit does not include or need a probe, this is here if you want to build a printer with a probe with the DZ01 # pin: !gpio25 # POWER header # z_offset: 0 # speed: 5.0 # samples: 2 # sample_retract_dist: 2.0 # #lift_speed: # #samples_result: average # #samples_tolerance: 0.100 # samples_tolerance_retries: 3 # #activate_gcode: # #deactivate_gcode: #===================================================== #===================================================== #===================================================== # MACROS #===================================================== #===================================================== #===================================================== #===================================================== # START/END/PURGE/PAUSE/CANCEL/RESUME #===================================================== [gcode_macro PRINT_START] # The sequence of commands the printer will do before a print starts. gcode: CLEAR LED_OFF LED_CYCLE # LIGHT SHOW! {% set bedtemp = params.BED|int %} {% set hotendtemp = params.EXTRUDER|int %} #{% set chambertemp = params.CHAMBER|default(0)|int %} # If you add a chamber thermistor and you want the printer to wait for a chamber temp set in the slicer, enable this line. BED_TEMP M190 S{bedtemp} # Heat bed first to prevent overloading the powersupply. G28 # Home all G91 CLEAR EXTRUDER_TEMP M109 S{hotendtemp} # Now Heat Hotend CLEAR LED_PRINT G90 G1 E+15 F1000 # the amount of filament pushed into the hotend before it stars the print. G91 # PURGE # Enable this to do a purge before each print, the slicer is set up to do a skirt, and thus, this is disabled [gcode_macro PRINT_END] # The sequence of commands the printer will do after a print is finished. gcode: G90 G1 E-15 F1000 ## extra long retraction to prevent oozing G28 # Home all M84 LED_CYCLE # LIGHT SHOW! TURN_OFF_HEATERS CLEAR LED_IDLE M106 S0 ## turn off part cooling fan G90 [gcode_macro PURGE] # Purge macro, this isnt used normally due to the small buildplate, a skirt is enabled in the slicer instead. gcode: ; 15mm Prime Line - Front Edge, Extrude 25mm Slowly G90 ; Absolute positioning G1 Z0.3 F3000 ; Move to printing height G1 X-7.5 Y-49 F3000 ; Move to line start G1 X7.5 Y-49 E15 F300 ; Extrude from E1 to E26 = 25mm of filament G92 E0 ; Reset extruder [gcode_macro CANCEL_PRINT] # The sequence of commands the printer will do if a print is canceled. rename_existing: BASE_CANCEL_PRINT gcode: G90 G1 E-13 F1000 ## extra long retraction to prevent oozing G28 M84 LED_CYCLE TURN_OFF_HEATERS CLEAR LED_IDLE M106 S0 ## turn off fans G90 CLEAR_PAUSE SDCARD_RESET_FILE BASE_CANCEL_PRINT [gcode_macro M600] # This is used to do filament swaps in the slicer. gcode: SAVE_GCODE_STATE NAME=M600_state PAUSE G91 G1 E-.8 F2700 G1 Z{10} G90 G1 X10 Y60 F3000 G91 G1 E-1 F1000 G90 RESTORE_GCODE_STATE NAME=M600_state [gcode_macro PAUSE] # The sequence of commands the printer will do if a print is paused. description: Pause the actual running print rename_existing: PAUSE_BASE gcode: PAUSE_BASE G90 G1 E-2 F1000 G1 X0 Y0 F3000 G91 G1 Z+10 F3000 G90 LED_RED [gcode_macro RESUME] # Resume a print after pause description: Resume the actual running print rename_existing: RESUME_BASE gcode: ##### set defaults ##### {% set e = params.E|default(2) %} #edit to your retract length #### get VELOCITY parameter if specified #### {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} ##### end of definitions ##### G91 {% if printer.extruder.can_extrude|lower == 'true' %} G1 E{e} F2100 {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} LED_IDLE #===================================================== # BUZZ # These are only here for diagnosing. the buttons will make the motors oscillate slowly to help diagnose issues. #===================================================== # You can disable these from being visible in the webUI by usink the "macro expert mode", I explain it in detail in this video: https://youtu.be/-WJzviqmzug?si=ztgtrfdlcF1ZA3tG [gcode_macro BUZZ_A] description: Buzz test A for diagnosing gcode: STEPPER_BUZZ STEPPER=stepper_a [gcode_macro BUZZ_B] description: Buzz test B for diagnosing gcode: STEPPER_BUZZ STEPPER=stepper_b [gcode_macro BUZZ_C] description: Buzz test C for diagnosing gcode: STEPPER_BUZZ STEPPER=stepper_c [gcode_macro BUZZ_E] description: Buzz test Extruder for diagnosing gcode: STEPPER_BUZZ STEPPER=extruder #===================================================== # Calibrate Extruder ## https://www.rolohaun3d.ca/klipper #===================================================== [gcode_macro E_CALIBRATE] description: Calibrate rotation_distance, this is based on Rolohauns klipper calculator, and is there only to save you from having to type the extrude line in the console. Check it out at https://www.rolohaun3d.ca/klipper gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_WHITE G91 G1 E50 F60 G4 P5000 LED_IDLE #===================================================== # PID Hotend #===================================================== [gcode_macro PID_HOTEND] description: Calibrate PID Hotend. Moves the hotend to be slightly off the bed and turns on part cooling, for the best result. Auto-Saves. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_RED G90 #G1 X55 Y55 F3000 G1 Z10 F600 M106 S255 PID_CALIBRATE HEATER=extruder TARGET=200 SAVE_CONFIG #===================================================== # PID Hotbed #===================================================== [gcode_macro PID_HOTBED] description: Calibrate PID Hotbed. Moves the hotend to be slightly off the bed and turns on part cooling, for the best result. Auto-Saves. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_RED #G1 X55 Y55 F3000 G1 Z10 F600 M106 S255 PID_CALIBRATE HEATER=heater_bed TARGET=60 SAVE_CONFIG #===================================================== # Input Shaper #===================================================== [gcode_macro SHAPE] description:Input Shaper. Only works if you have input shaping set up, and an accelerometer connected. This will need aditional configuration. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_YELLOW SHAPER_CALIBRATE LED_IDLE #===================================================== # Cycle XY #===================================================== [gcode_macro CYCLE_XY] description:Cycle x and y axis movements, I use this to look for issues in the movement components of my printer. Please note that this is configured for the Flyer, you can change the X/Y coordinates to your linking. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_IDLE G90 G1 Z20 F1500 {% set repeat_count = 4 %} {% for repeat in range(repeat_count) %} G91 G1 X-50 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X+100 F500000 G1 X-50 F500000 G1 Y-50 F500000 G1 Y+100 F500000 G1 Y-50 F500000 {% endfor %} G90 M400 LED_IDLE [gcode_macro CYCLE_XY_BIG] description:Cycle x and y axis movements, I use this to look for issues in the movement components of my printer. Please note that this is configured for the Flyer, you can change the X/Y coordinates to your linking. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_IDLE G90 G1 Z20 F1500 {% set repeat_count = 4 %} {% for repeat in range(repeat_count) %} G90 G1 X-55 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X55 F500000 G1 X0 F500000 G1 Y-55 F500000 G1 Y55 F500000 G1 Y0 F500000 {% endfor %} G90 M400 LED_IDLE [gcode_macro CYCLE_XY_SHAKE] description:Cycle small x and y axis movements, I use this to look for issues in the movement components of my printer. Please note that this is configured for the Flyer, you can change the X/Y coordinates to your linking. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_IDLE G90 G1 Z20 F1500 {% set repeat_count = 8 %} {% for repeat in range(repeat_count) %} G91 G1 X-30 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X+60 F500000 G1 X-30 F500000 G1 Y-30 F500000 G1 Y+60 F500000 G1 Y-30 F500000 {% endfor %} G90 M400 LED_IDLE [gcode_macro CYCLE_TORTURE] description: Cycle multiple x and y axis movements, I use this to determine the max limits of the printer. Please note that this is configured for the Flyer, you can change the X/Y coordinates to your linking. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_IDLE G90 G1 Z20 F1500 {% set repeat_count = 16 %} {% for repeat in range(repeat_count) %} G91 G1 X-15 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X+30 F500000 G1 X-15 F500000 G1 Y-15 F500000 G1 Y+30 F500000 G1 Y-15 F500000 {% endfor %} {% set repeat_count = 8 %} {% for repeat in range(repeat_count) %} G91 G1 X-30 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X+60 F500000 G1 X-30 F500000 G1 Y-30 F500000 G1 Y+60 F500000 G1 Y-30 F500000 {% endfor %} {% set repeat_count = 4 %} {% for repeat in range(repeat_count) %} G91 G1 X-50 F500000 # Change these X/Y values to your printers bed-size -20, eg: a 200x200 bed would make it X+180 and Y+180. G1 X+100 F500000 G1 X-50 F500000 G1 Y-50 F500000 G1 Y+100 F500000 G1 Y-50 F500000 {% endfor %} G90 M400 LED_IDLE #====================================================== # LOAD FILAMENT #====================================================== [gcode_macro LOAD_FILAMENT] description: Heats the hotend to 210 unless a higher temperature is set before extruding the filament all the way to the hotend and does a purge. gcode: LED_IDLE SAVE_GCODE_STATE NAME=loading_filament M117 Loading Filament M83 LOW_TEMP_CHECK G91 # G1 E350 F800 ## Adjust to the point that the filament just hits the hotend #!# G1 E70 F300 ## Slower extrusion to move filament trough hotend G1 E-15 F400 ## Small retraction to prevent oozing G90 RESTORE_GCODE_STATE NAME=loading_filament M400 #====================================================== # UNLOAD FILAMENT #====================================================== [gcode_macro UNLOAD_FILAMENT] description: Heats the hotend to 210 unless a higher temperature is set before extruding the filament a i tiny bet, then retracts the filament all the way out of the extruder. gcode: LED_IDLE SAVE_GCODE_STATE NAME=unloading_filament M117 Unloading Filament LOW_TEMP_CHECK G91 G1 E20 F600 ## Small extrude to make sure the filament is loose in the hotend G1 E-450 F1000 ## length to retract filament out G90 RESTORE_GCODE_STATE NAME=unloading_filament M400 [gcode_macro LOW_TEMP_CHECK] gcode: {% set T_EXTRUDER = params.T_EXTRUDER|default(210) %} {% if printer.extruder.target != 0 %} {% if printer.extruder.temperature < printer.extruder.target %} M118 Heating from {printer.extruder.temperature} to {printer.extruder.target}. M109 S{printer.extruder.target|float} {% endif %} {% else %} {% if printer.extruder.target < T_EXTRUDER %} M118 No setpoint, heating to {T_EXTRUDER}. M109 S{T_EXTRUDER} {% endif %} {% endif %} #====================================================== # Heat Chamber #====================================================== [gcode_macro HEAT_CHAMBER] description: Uses the bed heater and the part cooling fan to circulate hot air in the chamber. Turns off after 30 minutes. gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} LED_ORANGE G90 G1 Z10 F5000 # Distance from the nozzle to the bed. G1 X0 Y0 F1000 # Change to a suitable location where the hotend and heatbed has the best chance of spreading heat. #SET_FAN_SPEED FAN=chamber SPEED=1 # this asumes you have a fan called "chamber" set up on your printer. disable if you do not have one. SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=100 TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=100 MAXIMUM=105 #SET_HEATER_TEMPERATURE HEATER=extruder TARGET=200 # If you want to use the hotend for some more heat, uncomment this line M106 S255 G4 S1800 LED_IDLE [idle_timeout] timeout: 1800 # timeout in seconds (1800 = 30 minutes) #====================================================== # DELTA CALIBRATE #====================================================== [gcode_macro DELTA_CALIBRATE_MANUAL] description: Have a piece of paper ready and use the on-screen tool to do the "paper test" gcode: G28 LED_IDLE DELTA_CALIBRATE METHOD=manual [gcode_macro ENDSTOPS_CALIBRATION] description: Endstops Phase Calibration gcode: {% if printer.idle_timeout.state == "Printing" %} RESPOND TYPE=error MSG="This macro cannot be used while printing!" {% else %} {% if printer.toolhead.homed_axes != "xyz" %} G28 {% endif %} G91 G0 Z-40 F1500 G28 G91 G0 Z-75 F1500 G28 G91 G0 Z-100 F1500 G28 G91 G0 Z-40 F1500 G28 G91 G0 Z-30 F1500 ENDSTOP_PHASE_CALIBRATE stepper=stepper_a ENDSTOP_PHASE_CALIBRATE stepper=stepper_b ENDSTOP_PHASE_CALIBRATE stepper=stepper_c M400 G28 {% endif %} #====================================================== #====================================================== #====================================================== # LED CONTROL #====================================================== #====================================================== #====================================================== # I've made some really simple functions for the LED strip included in the kit. Wherever in this config file there is a "LED_" command, you can change it to fit your style. [neopixel RGB_LED] pin: gpio6 chain_count: 12 color_order: GRB # [neopixel RGB_LED2] # pin: gpio5 # chain_count: 10 # color_order: GRB [gcode_macro LED_OFF] # Turns the LED off. gcode: SET_LED LED=RGB_LED RED=0 GREEN=0 BLUE=0 TRANSMIT=1 #SET_LED LED=RGB_LED2 RED=0 GREEN=0 BLUE=0 TRANSMIT=1 #======== # Default colors presets for the LED strip, these are all configured to be on 100% brightness. #======== [gcode_macro LED_RED] gcode: SET_LED LED=RGB_LED RED=1 GREEN=0 BLUE=0 TRANSMIT=1 [gcode_macro LED_ORANGE] gcode: SET_LED LED=RGB_LED RED=1 GREEN=0.5 BLUE=0 TRANSMIT=1 [gcode_macro LED_YELLOW] gcode: SET_LED LED=RGB_LED RED=1 GREEN=1 BLUE=0 TRANSMIT=1 [gcode_macro LED_GREEN] gcode: SET_LED LED=RGB_LED RED=0 GREEN=1 BLUE=0 TRANSMIT=1 [gcode_macro LED_TEAL] gcode: SET_LED LED=RGB_LED RED=0 GREEN=0.5 BLUE=1 TRANSMIT=1 [gcode_macro LED_BLUE] gcode: SET_LED LED=RGB_LED RED=0 GREEN=0 BLUE=1 TRANSMIT=1 [gcode_macro LED_PURPLE] gcode: SET_LED LED=RGB_LED RED=1 GREEN=0 BLUE=1 TRANSMIT=1 [gcode_macro LED_WHITE] gcode: SET_LED LED=RGB_LED RED=1 GREEN=1 BLUE=1 TRANSMIT=1 #======== [gcode_macro CLEAR] # used to reset the LED status. gcode: SET_LED_TEMPLATE LED=RGB_LED TEMPLATE= [gcode_macro LED_PRINT] # Sets the LED strip to White 80% brightness. gcode: SET_LED LED=RGB_LED RED=0.8 GREEN=0.8 BLUE=0.8 TRANSMIT=1 [gcode_macro LED_IDLE] # Sets the LED strip to White 20% brightness. gcode: SET_LED LED=RGB_LED RED=0.2 GREEN=0.2 BLUE=0.2 TRANSMIT=1 [gcode_macro LED_CYCLE] # Light show! gcode: {% set repeat_count = 4 %} {% for repeat in range(repeat_count) %} LED_RED G4 P100 LED_ORANGE G4 P100 LED_YELLOW G4 P100 LED_GREEN G4 P100 LED_TEAL G4 P100 LED_BLUE G4 P100 LED_PURPLE G4 P100 {% endfor %} LED_IDLE [delayed_gcode Welcome] # This is what happens when the printer is turned on. initial_duration: 1 gcode: LED_CYCLE LED_IDLE #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*#