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 //#define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE /** \def Z_AUTODISABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case Automatically disable Z axis when not in use. This is useful for printers
you should not activate this. This will deactivate the stepper after a finished move, with a self-locking Z axis, e.g. the various Mendel derivates.
and will only activate it, when z will move.
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 /** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target Actual temperature must be target +/- this hysteresis before target

View File

@ -176,6 +176,17 @@
*/ */
//#define USE_INTERNAL_PULLUPS //#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 /** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target Actual temperature must be target +/- this hysteresis before target
temperature is considered to be achieved. Also, BANG_BANG tries to stay temperature is considered to be achieved. Also, BANG_BANG tries to stay

View File

@ -176,12 +176,16 @@
*/ */
//#define USE_INTERNAL_PULLUPS //#define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE /** \def Z_AUTODISABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case Automatically disable Z axis when not in use. This is useful for printers
you should not activate this. This will deactivate the stepper after a finished move, with a self-locking Z axis, e.g. the various Mendel derivates.
and will only activate it, when z will move.
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 /** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target Actual temperature must be target +/- this hysteresis before target

View File

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

View File

@ -176,12 +176,16 @@
*/ */
#define USE_INTERNAL_PULLUPS #define USE_INTERNAL_PULLUPS
/** \def Z_LATE_ENABLE /** \def Z_AUTODISABLE
Some printers have a heavy z-axis, some a not self locking spindle. In that case Automatically disable Z axis when not in use. This is useful for printers
you should not activate this. This will deactivate the stepper after a finished move, with a self-locking Z axis, e.g. the various Mendel derivates.
and will only activate it, when z will move.
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 /** \def TEMP_HYSTERESIS
Actual temperature must be target +/- this hysteresis before target 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(); stepper_enable();
x_enable(); x_enable();
y_enable(); y_enable();
#ifndef Z_LATE_ENABLE #ifndef Z_AUTODISABLE
z_enable(); z_enable();
// #else Z is enabled in dda_start(). // #else Z is enabled in dda_start().
#endif #endif
@ -495,7 +495,7 @@ void dda_start(DDA *dda) {
if ( ! dda->nullmove) { if ( ! dda->nullmove) {
// get ready to go // get ready to go
psu_timeout = 0; psu_timeout = 0;
#ifdef Z_LATE_ENABLE #ifdef Z_AUTODISABLE
if (dda->delta[Z]) if (dda->delta[Z])
z_enable(); z_enable();
#endif #endif
@ -720,7 +720,7 @@ void dda_step(DDA *dda) {
#ifdef DC_EXTRUDER #ifdef DC_EXTRUDER
heater_set(DC_EXTRUDER, 0); heater_set(DC_EXTRUDER, 0);
#endif #endif
#ifdef Z_LATE_ENABLE #ifdef Z_AUTODISABLE
// Z stepper is only enabled while moving. // Z stepper is only enabled while moving.
z_disable(); z_disable();
#endif #endif