From 45c8daa81c4bcaf4bec85faa038a8723131eb4bf Mon Sep 17 00:00:00 2001 From: BiggRanger Date: Sun, 29 Apr 2018 12:52:07 -0400 Subject: [PATCH 1/3] Add idle keyword --- keywords.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/keywords.txt b/keywords.txt index 5e58a66..a808a39 100644 --- a/keywords.txt +++ b/keywords.txt @@ -14,6 +14,7 @@ Stepper KEYWORD1 Stepper step KEYWORD2 setSpeed KEYWORD2 +idle KEYWORD2 version KEYWORD2 ###################################### From 329287f6a8be56dce24d7a554eb5cf035a7c305c Mon Sep 17 00:00:00 2001 From: BiggRanger Date: Sun, 29 Apr 2018 12:56:09 -0400 Subject: [PATCH 2/3] Add idle() method to header file The idle method will power down the stepper motor pins to either save power or allow the motor to be manually rotated. --- src/Stepper.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Stepper.h b/src/Stepper.h index 2e68979..42b098a 100644 --- a/src/Stepper.h +++ b/src/Stepper.h @@ -8,6 +8,7 @@ * High-speed stepping mod by Eugene Kozlenko * Timer rollover fix by Eugene Kozlenko * Five phase five wire (1.1.0) by Ryan Orendorff + * add idle method (1.1.1) by Darren Clark * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -95,6 +96,9 @@ class Stepper { // mover method: void step(int number_of_steps); + + // idle method: + void idle(void); int version(void); From ac34eda08c648d681a7b9d2ef633574856c49342 Mon Sep 17 00:00:00 2001 From: BiggRanger Date: Sun, 29 Apr 2018 13:02:34 -0400 Subject: [PATCH 3/3] Added idle() method to Stepper.cpp Added an idle() method to power down the stepper motor. This is useful for power savings, or if the motor needs to be manually rotated. --- src/Stepper.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Stepper.cpp b/src/Stepper.cpp index 1f76295..a1b9883 100644 --- a/src/Stepper.cpp +++ b/src/Stepper.cpp @@ -1,5 +1,5 @@ /* - * Stepper.cpp - Stepper library for Wiring/Arduino - Version 1.1.0 + * Stepper.cpp - Stepper library for Wiring/Arduino - Version 1.1.1 * * Original library (0.1) by Tom Igoe. * Two-wire modifications (0.2) by Sebastian Gassner @@ -8,6 +8,7 @@ * High-speed stepping mod by Eugene Kozlenko * Timer rollover fix by Eugene Kozlenko * Five phase five wire (1.1.0) by Ryan Orendorff + * add idle method (1.1.1) by Darren Clark * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -356,10 +357,33 @@ void Stepper::stepMotor(int thisStep) } } +/* + idle() power down the pins (may lose count): +*/ +void Stepper::idle(void) { + if (this->pin_count == 2) { + digitalWrite(motor_pin_1, LOW); + digitalWrite(motor_pin_2, LOW); + } + if (this->pin_count == 4) { + digitalWrite(motor_pin_1, LOW); + digitalWrite(motor_pin_2, LOW); + digitalWrite(motor_pin_3, LOW); + digitalWrite(motor_pin_4, LOW); + } + if (this->pin_count == 5) { + digitalWrite(motor_pin_1, LOW); + digitalWrite(motor_pin_2, LOW); + digitalWrite(motor_pin_3, LOW); + digitalWrite(motor_pin_4, LOW); + digitalWrite(motor_pin_5, LOW); + } +} + /* version() returns the version of the library: */ int Stepper::version(void) { - return 5; + return 6; }