if you try to enable Z_DUAL_STEPPER_DRIVERS the error "You cannot have dual drivers for both Y and Z" shows even if you don't have defined Y_DUAL_STEPPER_DRIVERS and don't let you compile the firmware
to solve this problem i change this line:
#ifdef Z_DUAL_STEPPER_DRIVERS && Y_DUAL_STEPPER_DRIVERS
to:
#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS)
now the error only show if you define both Z_DUAL_STEPPER_DRIVERS and Y_DUAL_STEPPER_DRIVERS
Removed the calculation of the inverse matrix since the rotation matrix is orthogonal, therefore inverted == transposed.
Much simpler and mathematically robust.
In some cases the Bed Heater FET heats up more then stepper drivers, so
this change add the bed monitoring to the controller fan. As soon as the
bed heater is turned on, the controller fan will run as well.
Recommended for those who are using the Z Probe for Z Homing (as
Z-Endstop)
This feature has two changes:
1) Allow user to choose where the Z Probe will touch the bed when homing
all axis together (G28) by setting below defines:
Z_SAFE_HOMING_X_POINT
Z_SAFE_HOMING_Y_POINT
2) Prevents the user to perform Z Axis Homing when the Z Probe is
outsite bed.
In previous version, even with PWM = 127, the system turns the FET off
and then on in the next cycle. This bevavior may increase the FET heat
dissipation.
It was fixed keeping the FET always On when PWM=127.
If a print is stopped, it would be nice in the future to write a file with the printer state, the filename of the print, and the position within the print.
this file could be read, to continue a previously stopped print.
not finished yet.
by overloading M32 it is now possible to execute gcode files from other gcode files, with a fixed recursion level.
This can be used e.g. for having a real start.g and end.g somewhere on the sd card, which are then called from the normal print file.
Another usecase would be to have macro-files for nozzle-change and layerchange.
I have not tested the speedwise performance. The testing was done with pronterface.
syntax:
normal call from sd card will open the new file and continue executing there.
M32 !/path/filename#
this however will call the new file and return to the caller file.
M32 P !/path/filename#
with the optional "S<position>" the file starting position can be set.
this is for continuing prints from a previous location.
if a '#' is read now the buffer will be emptied before reading ahead.
This is so one can execute files from within gcode files, without messing the buffer with preread characters from the caller file.
# can not occure in sd files imho, because it should only occure within checksums in ther serial communication.
Yes, thats a lame argument. If you have a better idea please tell me. It has to be a character that one can type
on a keyboard manually.