Rename Z_LATE_ENABLE to Z_AUTODISABLE and refine description.

Also turn it on by default for the Mendel printer.

Also add the forgotten Mendel90 printer.
This commit is contained in:
Markus Hitter 2016-03-27 20:11:47 +02:00
parent 57afef9fdd
commit 82374b8e24
6 changed files with 43 additions and 20 deletions

View File

@ -176,12 +176,16 @@
*/
//#define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case
you should not activate this. This will deactivate the stepper after a finished move,
and will only activate it, when z will move.
/** \def Z_AUTODISABLE
Automatically disable Z axis when not in use. This is useful for printers
with a self-locking Z axis, e.g. the various Mendel derivates.
Other printers have a heavy Z axis or a not self-locking spindle. In that
case you should not activate this.
This option has no effect on controllers with a common stepper enable pin.
*/
//#define Z_LATE_ENABLE
#define Z_AUTODISABLE
/** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target

View File

@ -176,6 +176,17 @@
*/
//#define USE_INTERNAL_PULLUPS
/** \def Z_AUTODISABLE
Automatically disable Z axis when not in use. This is useful for printers
with a self-locking Z axis, e.g. the various Mendel derivates.
Other printers have a heavy Z axis or a not self-locking spindle. In that
case you should not activate this.
This option has no effect on controllers with a common stepper enable pin.
*/
#define Z_AUTODISABLE
/** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target
temperature is considered to be achieved. Also, BANG_BANG tries to stay

View File

@ -176,12 +176,16 @@
*/
//#define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case
you should not activate this. This will deactivate the stepper after a finished move,
and will only activate it, when z will move.
/** \def Z_AUTODISABLE
Automatically disable Z axis when not in use. This is useful for printers
with a self-locking Z axis, e.g. the various Mendel derivates.
Other printers have a heavy Z axis or a not self-locking spindle. In that
case you should not activate this.
This option has no effect on controllers with a common stepper enable pin.
*/
//#define Z_LATE_ENABLE
//#define Z_AUTODISABLE
/** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target

View File

@ -13,7 +13,7 @@ class MiscellaneousPage(wx.Panel, Page):
self.font = font
self.labels = {'USE_INTERNAL_PULLUPS': "Use Internal Pullups",
'Z_LATE_ENABLE': "Z Late Enable",
'Z_AUTODISABLE': "Z Autodisable",
'EECONFIG': "Enable EEPROM Storage",
'BANG_BANG': "Enable",
'BANG_BANG_ON': "On PWM Level:",
@ -75,7 +75,7 @@ class MiscellaneousPage(wx.Panel, Page):
cb = self.addCheckBox(k, self.onCheckBox)
sz.Add(cb, pos = (6, 1))
k = 'Z_LATE_ENABLE'
k = 'Z_AUTODISABLE'
cb = self.addCheckBox(k, self.onCheckBox)
sz.Add(cb, pos = (7, 1))

View File

@ -176,12 +176,16 @@
*/
#define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case
you should not activate this. This will deactivate the stepper after a finished move,
and will only activate it, when z will move.
/** \def Z_AUTODISABLE
Automatically disable Z axis when not in use. This is useful for printers
with a self-locking Z axis, e.g. the various Mendel derivates.
Other printers have a heavy Z axis or a not self-locking spindle. In that
case you should not activate this.
This option has no effect on controllers with a common stepper enable pin.
*/
#define Z_LATE_ENABLE
#define Z_AUTODISABLE
/** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target

6
dda.c
View File

@ -279,7 +279,7 @@ void dda_create(DDA *dda, TARGET *target) {
stepper_enable();
x_enable();
y_enable();
#ifndef Z_LATE_ENABLE
#ifndef Z_AUTODISABLE
z_enable();
// #else Z is enabled in dda_start().
#endif
@ -495,7 +495,7 @@ void dda_start(DDA *dda) {
if ( ! dda->nullmove) {
// get ready to go
psu_timeout = 0;
#ifdef Z_LATE_ENABLE
#ifdef Z_AUTODISABLE
if (dda->delta[Z])
z_enable();
#endif
@ -720,7 +720,7 @@ void dda_step(DDA *dda) {
#ifdef DC_EXTRUDER
heater_set(DC_EXTRUDER, 0);
#endif
#ifdef Z_LATE_ENABLE
#ifdef Z_AUTODISABLE
// Z stepper is only enabled while moving.
z_disable();
#endif