Macros - vvuk/eddy-ng GitHub Wiki

Macros

Homing

⚠️ You must have safe_z_home or a homing_override set up to move your toolhead to be over the bed before doing a Z home. The sensor needs metal underneath it, and if you try to home at 0,0, you'll have a bad time depending on the location of your sensor.*

A suggested Z homing sequence can look like this (via homing_override):

    G28 Z                      ; do the coarse home
    G90                        ; set absolute positioning
    G0 Z2 F1000                ; to 2mm -- home height (or whatever you'd like), for maximum sensor accuracy
    G4 S1                      ; chill for a sec
    M400                       ; wait for move to finish
    PROBE_EDDY_NG_PROBE_STATIC HOME_Z=1 ; read the current exact height from sensor and home Z to it
    G0 Z5 F1000 ; to 5mm as home

Doing a PROBE_STATIC with HOME_Z=1 isn't strictly necessary (in other words, this could just be a straight G28 Z), but it can help give a more precise general Z home. Tap will take care of setting an accurate z offset.

Start Print

A suggested start print flow is:

  1. Home (G28)
  2. Heat soak
  3. QGL
  4. Clean nozzle at 150C. You can go higher, but be aware of filament oozing out of your toolhead at higher temps which will throw off tap.
  5. Move the toolhead to a position where you'd like to tap to set the Z offset from. This can be the center position, a position based on what you're printing, or somewhere else.
  6. PROBE_EDDY_NG_TAP -- this will overwrite any current GCode "Z Offset". However, any changes to Z Offset after this point will work as normal (i.e. babystepping or slicer GCode).
  7. Clean nozzle again at regular temp (this may not be necessary, because if the nozzle was dirty it would affect tap).
  8. Bed mesh
  9. Print

Depending on what your start print macros are, you'll generally only need to insert the lower temperature nozzle clean and the TAP. Make sure TAP happens after QGL and before bed mesh. The TAP command also computes a probe reading height offset that makes bed mesh more accurate.

End Print

PROBE_EDDY_NG_TAP sets both the z offset and a "tap offset" that's applied to bed mesh and other probe operations. These are only valid for the previous tap. I suggest clearing the tap offset at the end of a print (and probably the z offset as well) to avoid confusion:

PROBE_EDDY_NG_SET_TAP_OFFSET VALUE=0

I also BED_MESH_CLEAR here, because I build an adaptive bed mesh, and it doesn't make sense to keep it around.