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
|
||||
steptimeout = 0;
|
||||
power_on();
|
||||
stepper_enable();
|
||||
x_enable();
|
||||
y_enable();
|
||||
// Z is enabled in dda_start()
|
||||
|
|
|
|||
|
|
@ -377,6 +377,7 @@ void process_gcode_command() {
|
|||
|
||||
timer_stop();
|
||||
queue_flush();
|
||||
stepper_disable();
|
||||
x_disable();
|
||||
y_disable();
|
||||
z_disable();
|
||||
|
|
@ -395,6 +396,7 @@ void process_gcode_command() {
|
|||
break;
|
||||
// M84- stop idle hold
|
||||
case 84:
|
||||
stepper_disable();
|
||||
x_disable();
|
||||
y_disable();
|
||||
z_disable();
|
||||
|
|
@ -675,6 +677,7 @@ void process_gcode_command() {
|
|||
//? This one is pointless in Teacup. Implemented to calm the RepRap gurus.
|
||||
//?
|
||||
power_on();
|
||||
stepper_enable();
|
||||
x_enable();
|
||||
y_enable();
|
||||
z_enable();
|
||||
|
|
@ -690,6 +693,7 @@ void process_gcode_command() {
|
|||
// wait for all moves to complete
|
||||
queue_wait();
|
||||
#endif
|
||||
stepper_disable();
|
||||
x_disable();
|
||||
y_disable();
|
||||
z_disable();
|
||||
|
|
|
|||
6
home.c
6
home.c
|
|
@ -34,6 +34,7 @@ void home() {
|
|||
void home_x_negative() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
x_enable();
|
||||
|
||||
#if defined X_MIN_PIN
|
||||
|
|
@ -82,6 +83,7 @@ void home_x_negative() {
|
|||
void home_x_positive() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
x_enable();
|
||||
|
||||
#if defined X_MAX_PIN
|
||||
|
|
@ -130,6 +132,7 @@ void home_x_positive() {
|
|||
void home_y_negative() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
y_enable();
|
||||
|
||||
#if defined Y_MIN_PIN
|
||||
|
|
@ -178,6 +181,7 @@ void home_y_negative() {
|
|||
void home_y_positive() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
y_enable();
|
||||
|
||||
#if defined Y_MAX_PIN
|
||||
|
|
@ -226,6 +230,7 @@ void home_y_positive() {
|
|||
void home_z_negative() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
z_enable();
|
||||
|
||||
#if defined Z_MIN_PIN
|
||||
|
|
@ -275,6 +280,7 @@ void home_z_negative() {
|
|||
void home_z_positive() {
|
||||
power_on();
|
||||
queue_wait();
|
||||
stepper_enable();
|
||||
z_enable();
|
||||
|
||||
#if defined Z_MAX_PIN
|
||||
|
|
|
|||
15
pinio.c
15
pinio.c
|
|
@ -2,13 +2,6 @@
|
|||
|
||||
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
|
||||
WRITE(PS_ON_PIN, 0);
|
||||
SET_OUTPUT(PS_ON_PIN);
|
||||
|
|
@ -17,17 +10,11 @@ void power_on() {
|
|||
|
||||
void power_off() {
|
||||
|
||||
stepper_disable();
|
||||
x_disable();
|
||||
y_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
|
||||
SET_INPUT(PS_ON_PIN);
|
||||
#endif
|
||||
|
|
|
|||
13
pinio.h
13
pinio.h
|
|
@ -155,6 +155,19 @@ End Step - All Steppers
|
|||
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
|
||||
#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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue