Introduce stepper_enable() and stepper_disable().
This allows to heat up with disables steppers, even if all steppers share a common enable pin.
This commit is contained in:
parent
b4ad459e86
commit
b45969e57a
1
dda.c
1
dda.c
|
|
@ -232,6 +232,7 @@ void dda_create(DDA *dda, TARGET *target) {
|
||||||
// get steppers ready to go
|
// get steppers ready to go
|
||||||
steptimeout = 0;
|
steptimeout = 0;
|
||||||
power_on();
|
power_on();
|
||||||
|
stepper_enable();
|
||||||
x_enable();
|
x_enable();
|
||||||
y_enable();
|
y_enable();
|
||||||
// Z is enabled in dda_start()
|
// Z is enabled in dda_start()
|
||||||
|
|
|
||||||
|
|
@ -377,6 +377,7 @@ void process_gcode_command() {
|
||||||
|
|
||||||
timer_stop();
|
timer_stop();
|
||||||
queue_flush();
|
queue_flush();
|
||||||
|
stepper_disable();
|
||||||
x_disable();
|
x_disable();
|
||||||
y_disable();
|
y_disable();
|
||||||
z_disable();
|
z_disable();
|
||||||
|
|
@ -395,6 +396,7 @@ void process_gcode_command() {
|
||||||
break;
|
break;
|
||||||
// M84- stop idle hold
|
// M84- stop idle hold
|
||||||
case 84:
|
case 84:
|
||||||
|
stepper_disable();
|
||||||
x_disable();
|
x_disable();
|
||||||
y_disable();
|
y_disable();
|
||||||
z_disable();
|
z_disable();
|
||||||
|
|
@ -675,6 +677,7 @@ void process_gcode_command() {
|
||||||
//? This one is pointless in Teacup. Implemented to calm the RepRap gurus.
|
//? This one is pointless in Teacup. Implemented to calm the RepRap gurus.
|
||||||
//?
|
//?
|
||||||
power_on();
|
power_on();
|
||||||
|
stepper_enable();
|
||||||
x_enable();
|
x_enable();
|
||||||
y_enable();
|
y_enable();
|
||||||
z_enable();
|
z_enable();
|
||||||
|
|
@ -690,6 +693,7 @@ void process_gcode_command() {
|
||||||
// wait for all moves to complete
|
// wait for all moves to complete
|
||||||
queue_wait();
|
queue_wait();
|
||||||
#endif
|
#endif
|
||||||
|
stepper_disable();
|
||||||
x_disable();
|
x_disable();
|
||||||
y_disable();
|
y_disable();
|
||||||
z_disable();
|
z_disable();
|
||||||
|
|
|
||||||
6
home.c
6
home.c
|
|
@ -34,6 +34,7 @@ void home() {
|
||||||
void home_x_negative() {
|
void home_x_negative() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
x_enable();
|
x_enable();
|
||||||
|
|
||||||
#if defined X_MIN_PIN
|
#if defined X_MIN_PIN
|
||||||
|
|
@ -82,6 +83,7 @@ void home_x_negative() {
|
||||||
void home_x_positive() {
|
void home_x_positive() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
x_enable();
|
x_enable();
|
||||||
|
|
||||||
#if defined X_MAX_PIN
|
#if defined X_MAX_PIN
|
||||||
|
|
@ -130,6 +132,7 @@ void home_x_positive() {
|
||||||
void home_y_negative() {
|
void home_y_negative() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
y_enable();
|
y_enable();
|
||||||
|
|
||||||
#if defined Y_MIN_PIN
|
#if defined Y_MIN_PIN
|
||||||
|
|
@ -178,6 +181,7 @@ void home_y_negative() {
|
||||||
void home_y_positive() {
|
void home_y_positive() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
y_enable();
|
y_enable();
|
||||||
|
|
||||||
#if defined Y_MAX_PIN
|
#if defined Y_MAX_PIN
|
||||||
|
|
@ -226,6 +230,7 @@ void home_y_positive() {
|
||||||
void home_z_negative() {
|
void home_z_negative() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
z_enable();
|
z_enable();
|
||||||
|
|
||||||
#if defined Z_MIN_PIN
|
#if defined Z_MIN_PIN
|
||||||
|
|
@ -275,6 +280,7 @@ void home_z_negative() {
|
||||||
void home_z_positive() {
|
void home_z_positive() {
|
||||||
power_on();
|
power_on();
|
||||||
queue_wait();
|
queue_wait();
|
||||||
|
stepper_enable();
|
||||||
z_enable();
|
z_enable();
|
||||||
|
|
||||||
#if defined Z_MAX_PIN
|
#if defined Z_MAX_PIN
|
||||||
|
|
|
||||||
15
pinio.c
15
pinio.c
|
|
@ -2,13 +2,6 @@
|
||||||
|
|
||||||
void power_on() {
|
void power_on() {
|
||||||
|
|
||||||
#ifdef STEPPER_ENABLE_PIN
|
|
||||||
#ifdef STEPPER_ENABLE_INVERT
|
|
||||||
WRITE(STEPPER_ENABLE_PIN, 0);
|
|
||||||
#else
|
|
||||||
WRITE(STEPPER_ENABLE_PIN, 1);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef PS_ON_PIN
|
#ifdef PS_ON_PIN
|
||||||
WRITE(PS_ON_PIN, 0);
|
WRITE(PS_ON_PIN, 0);
|
||||||
SET_OUTPUT(PS_ON_PIN);
|
SET_OUTPUT(PS_ON_PIN);
|
||||||
|
|
@ -17,17 +10,11 @@ void power_on() {
|
||||||
|
|
||||||
void power_off() {
|
void power_off() {
|
||||||
|
|
||||||
|
stepper_disable();
|
||||||
x_disable();
|
x_disable();
|
||||||
y_disable();
|
y_disable();
|
||||||
z_disable();
|
z_disable();
|
||||||
|
|
||||||
#ifdef STEPPER_ENABLE_PIN
|
|
||||||
#ifdef STEPPER_ENABLE_INVERT
|
|
||||||
WRITE(STEPPER_ENABLE_PIN, 1);
|
|
||||||
#else
|
|
||||||
WRITE(STEPPER_ENABLE_PIN, 0);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef PS_ON_PIN
|
#ifdef PS_ON_PIN
|
||||||
SET_INPUT(PS_ON_PIN);
|
SET_INPUT(PS_ON_PIN);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
13
pinio.h
13
pinio.h
|
|
@ -155,6 +155,19 @@ End Step - All Steppers
|
||||||
Stepper Enable Pins
|
Stepper Enable Pins
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef STEPPER_ENABLE_PIN
|
||||||
|
#ifdef STEPPER_ENABLE_INVERT
|
||||||
|
#define stepper_enable() do { WRITE(STEPPER_ENABLE_PIN, 0); } while (0)
|
||||||
|
#define stepper_disable() do { WRITE(STEPPER_ENABLE_PIN, 1); } while (0)
|
||||||
|
#else
|
||||||
|
#define stepper_enable() do { WRITE(STEPPER_ENABLE_PIN, 1); } while (0)
|
||||||
|
#define stepper_disable() do { WRITE(STEPPER_ENABLE_PIN, 0); } while (0)
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define stepper_enable() do { } while (0)
|
||||||
|
#define stepper_disable() do { } while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef X_ENABLE_PIN
|
#ifdef X_ENABLE_PIN
|
||||||
#define x_enable() do { WRITE(X_ENABLE_PIN, X_INVERT_ENABLE); SET_OUTPUT(X_ENABLE_PIN); } while (0)
|
#define x_enable() do { WRITE(X_ENABLE_PIN, X_INVERT_ENABLE); SET_OUTPUT(X_ENABLE_PIN); } while (0)
|
||||||
#define x_disable() do { WRITE(X_ENABLE_PIN, X_INVERT_ENABLE ^ 1); SET_OUTPUT(X_ENABLE_PIN); } while (0)
|
#define x_disable() do { WRITE(X_ENABLE_PIN, X_INVERT_ENABLE ^ 1); SET_OUTPUT(X_ENABLE_PIN); } while (0)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue