# OctoPi Setup ## GCode Snippers ### After Pause ```text {% if pause_position.x is not none %} ; relative XYZE G91 M83 ; retract filament of 0.8 mm up, move Z slightly upwards and G1 Z+5 E-0.8 F4500 ; absolute XYZE M82 G90 ; move to a safe rest position, adjust as necessary G1 X0 Y0 {% endif %} ``` ### After Resume ```text {% if pause_position.x is not none %} ; relative extruder M83 ; prime nozzle G1 E-0.8 F4500 G1 E0.8 F4500 G1 E0.8 F4500 ; absolute E M82 ; absolute XYZ G90 ; reset E G92 E{{ pause_position.e }} ; WARNING!!! - use M83 or M82(extruder absolute mode) according what your slicer generates M83 ; extruder relative mode ; move back to pause position XYZ G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500 ; reset to feed rate before pause if available {% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %} {% endif %} ``` ## Plugins ## Bed Visualizer ```text M140 S60 ; starting by heating the bed for nominal mesh accuracy M117 Homing all axes ; send message to printer display G28 ; home all axes M420 S0 ; Turning off bed leveling while probing, if firmware is set ; to restore after G28 M117 Heating the bed ; send message to printer display M190 S60 ; waiting until the bed is fully warmed up M300 S1000 P500 ; chirp to indicate bed mesh levels is initializing M117 Creating the bed mesh levels ; send message to printer display M155 S30 ; reduce temperature reporting rate to reduce output pollution @BEDLEVELVISUALIZER ; tell the plugin to watch for reported mesh G29 T ; run bilinear probing M155 S3 ; reset temperature reporting M140 S0 ; cooling down the bed M500 ; store mesh in EEPROM M300 S440 P200 ; make calibration completed tones M300 S660 P250 M300 S880 P300 M117 Bed mesh levels completed ; send message to printer display ```