This is my configuration for the DuetWifi on my HyperCube, which was built from a Wanhao i3, so the sizes are different than for the original HyperCube.
It's using a Titan Aero with a custom mount and the IR Probe by dc42.
Temperatures are to be set in the configuration settings for the loaded
filament. So the temperature set in the slicer should not override the actual
setting. To achive this the M104
line should not be generated by the slicer.
slic3r looks through the Start G-Code if it can find an M104
. If it does, it
does not add the temperature command again. It does not check, if the line is
commented out.
Start G-code should look like this:
M140 S[first_layer_bed_temperature] ; set bed temperature with
;M104 S[first_layer_temperature] ; set extruder temperature tool selection
M98 P/sys/before_print.g
Unfortunately the bed temperature cannot be configured in the firmware, so this still needs to come from the slicer.
When the print is finished it is usually a good idea to turn off the heaters, move the print head away from the object and power off the PSU. This can be done by calling a macro like this:
M98 P/sys/after_print.g
This has the advantage that you still can print 'old' G-Code files even after modifying the procedures you run after a print has finished.
Another thing that can be useful is setting the speed factor for small details starting at a certain layer. This can be done with a simple 'After layer change G-code':
M98 P/macros/Layerscripts/[filament_preset]/[layer_num]
This will display a warning message when the file is not found, which can be
ignored. [filament_preset]
will be replaced by the name of the filament
profile in slic3r and [layer_num]
by the number of the currently printing
layer.
For example, if you want to change the temperature of the bed after layer 10 you
can create a file in /macros/Layerscripts/PETG/10
which contains the
corresponding commands to set the desired temperature.
Usually it is not necessary to run the mesh bed compensation on every print, but
sometimes it should be done. And it should also be done with a hot bed and
nozzle. To make this easily configurable if it should be done or not I added two
macros for turning the probing on or off. All they do is either write G29
or
G29 S1
to /sys/bed_probe.g
which will be run from bed.g
, the macro which
is run when G32
is processed, which in this configuration is done in
before_print.g
(which gets called from the Start G-code generated by the
slicer). The G32
could be skipped and bed_probe.g
could be called directly,
but using it this way makes it a bit more structured in my opinion.
The advantage of this is that you can turn the probing on or off when the
printer is heating up.