Giter Site home page Giter Site logo

a-better-print_start-macro's People

Contributors

jontek2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

a-better-print_start-macro's Issues

printer status and led effects?

Do you have to install led_effects to use the printer status macros? I don't know I already had it led effects installed. just realizing there isnt mention of that. maybe there doesnt need to be? But anyway I think you should change the name of this project to "The Best Print Start Macro" because it is, this was such a huge help, Im glad I found it, Thank you for sharing it.

Variable Heat-Soak

I saw on the voron discord someone making a variable heat-soak. Basically, if you cancel a print and restart if fairly quick, it avoids having to wait for the soak for as long.

#Heatsoak here

Check if heat-soaking is needed

{% if current_bed < target_bed - 20 %}
    M118 Bed is cold.    # display message
    SET_DISPLAY_TEXT MSG="Heating Bed: {target_bed}c"
    M190 S{target_bed}      # Set bed temperature and wait until it is reached
    M118 Heat Soak 5 minutes    # display message
    G4 P{ 5 * 60 * 1000 }       # dwell = 5  minutes
{% elif current_bed < target_bed - 10 %}
    M118 Bed is warm.    # display message
    SET_DISPLAY_TEXT MSG="Heating Bed: {target_bed}c"
    M190 S{target_bed}      # Set bed temperature and wait until it is reached
    M118 Heat Soak 1 minute    # display message
    G4 P{ 1 * 60 * 1000 }       # dwell = 1 minute
{% else %}
    M118 Already Hot! Heat Soak 5 seconds    # display message
    SET_DISPLAY_TEXT MSG="Heating Bed: {target_bed}c"
    M190 S{target_bed}      # Set bed temperature and wait until it is reached
    G4 P{  5 * 1000 }       # dwell = 5 seconds
{% endif %}

End Heatsoak section

I tried adding this into my print_start macro but got Error evaluating 'gcode_macro PRINT_START:gcode': jinja2.exceptions.UndefinedError: 'current_bed' is undefined.

Would you be able to assist with incorporating something like this into the print_start? I already use your setup and just want to integrate if possible. Thank you

unknown parameter

I had to change {% set hotendtemp = params.EXTRUDER|int %} to {% set hotendtemp = params.HOTEND|int %} to get the macro to run

Set of circumstances with Tap that causes print failure

If you follow the instructions for voron Tap's config alterations, have the printer cold, with bed temp below 90c and then use this macro, you'll get a "hotend too cold" error. I moved hotend heating to after bed heating but before the 5 minute wait, that fixes the problem. Adding a sufficient delay before it tries to QGL would probably also fix the issue. I have a Dragon UHF which may also have contributed to finding this corner case, since it's more material to heat.

heat soak under 90 bed temp

how can i only get the printer to heat coak when its only asking for a bed tempter above 90c

this is how i have your macro sry up for myself
[gcode_macro PRINT_START]
gcode:

This part fetches data from your slicer. Such as bed temp, extruder temp, chamber temp and size of your printer.

{% set target_bed = params.BED|int %}
{% set target_extruder = params.EXTRUDER|int %}
{% set target_chamber = params.CHAMBER|default("40")|int %}
{% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %}
{% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %}

Homes the printer, sets absolute positioning and updates the Stealthburner leds.

STATUS_HOMING # Sets SB-leds to homing-mode
G28 # Full home (XYZ)
G90 # Absolut position

Uncomment for bed mesh (1 of 2)

BED_MESH_CLEAR # Clears old saved bed mesh (if any)

Checks if the bed temp is higher than 90c - if so then trigger a heatsoak.

{% if params.BED|int > 90 %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
M106 S255 # Turns on the PT-fan

##  Uncomment if you have a Nevermore.
SET_PIN PIN=nevermore VALUE=1                      # Turns on the nevermore

G1 X{x_wait} Y{y_wait} Z15 F9000                    # Goes to center of the bed
M190 S{target_bed}                                  # Sets the target temp for the bed
SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c"  # Displays info
TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber}   # Waits for chamber to reach desired temp

If the bed temp is not over 90c, then it skips the heatsoak and just heats up to set temp with a 5min soak

{% else %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M190 S{target_bed} # Sets the target temp for the bed
SET_DISPLAY_TEXT MSG="Soak for 5min" # Displays info
G4 P300000 # Waits 5 min for the bedtemp to stabilize
{% endif %}

Heating nozzle to 150 degrees. This helps with getting a correct Z-home

SET_DISPLAY_TEXT MSG="Hotend: 150c" # Displays info
M109 S150 # Heats the nozzle to 150c

Uncomment for V2 (Quad gantry level AKA QGL)

SET_DISPLAY_TEXT MSG="QGL" # Displays info
STATUS_LEVELING # Sets SB-leds to leveling-mode
quad_gantry_level # Levels the buildplate via QGL
G28 Z # Homes Z again after QGL

Uncomment for Klicky auto-z

CALIBRATE_Z # Calibrates Z-offset with klicky
SET_DISPLAY_TEXT MSG="Z-offset" # Displays info

Uncomment for bed mesh (2 of 2)

SET_DISPLAY_TEXT MSG="Bed mesh" # Displays info
STATUS_MESHING # Sets SB-leds to bed mesh-mode
bed_mesh_calibrate # Starts bed mesh

Heats up the nozzle up to target via data from slicer

SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M107 # Turns off partcooling fan
M109 S{target_extruder} # Heats the nozzle to printing temp

Gets ready to print by doing a purge line and updating the SB-leds

SET_DISPLAY_TEXT MSG="Printer goes brr" # Displays info
STATUS_PRINTING # Sets SB-leds to printing-mode
CLEAN_NOZZLE
VORON_PURGE
#G0 X{x_wait - 50} Y4 F10000 # Moves to starting point
#G0 Z0.4 # Raises Z to 0.4
#G91 # Incremental positioning
#G1 X100 E20 F1000 # Purge line
#G90 # Absolut position

image

screws_tilt_adjust

The main README page refers to the z_tilt operation on Trident as screw_tilt_adjust, which is a different operation

Screw_tilt_adjust if your printer is a Trident

Uncomment for Trident (screw_tilt_adjust)

Shouldn't that be z_tilt_adjust instead?

screws_tilt_adjust is used for probe-assisted manual bed leveling like on an Ender (with a probe)

Control Bed Fans

I have 2 additional bed fans that can run separately from the nevermore. How would I go about controlling those with this print start macro?

Prusaslicer gcode export 0°C

With prusa slicer, my gcode output was frozen to 0°C , my print didn't start at all

i had to modifiy the gcode:

DELETE: M104 S0 ; Stops PrusaSlicer from sending temp waits separately
DELETE: M140 S0
KEEP print_start EXTRUDER=[first_layer_temperature[initial_extruder]] BED=[first_layer_bed_temperature]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.