Updated stepper motor controller

Fork of StepperController by Viorel Stefan Savinescu

Revision:
1:6e8186dd5bfa
Parent:
0:2cfd64d210f3
Child:
2:d589fc047bc9
--- a/steppercontroller.cpp	Mon Jun 29 07:47:45 2015 +0000
+++ b/steppercontroller.cpp	Fri Jun 08 08:05:29 2018 +0000
@@ -1,4 +1,3 @@
-
 #include "steppercontroller.h"
 
 StepperController::StepperController(PinName phaseA,PinName enA, PinName phaseB, PinName enB ):
@@ -32,6 +31,11 @@
     this->dir = dir;
 }
 
+void StepperController::setSequenceType(SequenceType seq)
+{
+    this->seq = seq;
+}
+
 void StepperController::updateOutputs()
 {
     switch(state){
@@ -42,24 +46,44 @@
        enB = 0.0f;
        break;
     case 1:
-       phaseA = 0;
-       enA = pulseWidth;
-       phaseB = 0;
-       enB = 0.0f;
+       switch(seq) {
+       case Consecutive:
+          phaseA = 0;
+          enA = pulseWidth;
+          phaseB = 0;
+          enB = 0.0f;
+          break;
+       case Interleaved:
+          phaseA = 0;
+          enA = 0.0f;
+          phaseB = 1;
+          enB = pulseWidth;
+          break;
+       }
        break;
 
     case 2:
-       phaseA = 0;
-       enA = 0.0f;
-       phaseB = 1;
-       enB = pulseWidth;
+       switch(seq) {
+       case Consecutive:
+          phaseA = 0;
+          enA = 0.0f;
+          phaseB = 1;
+          enB = pulseWidth;
+          break;
+       case Interleaved:
+          phaseA = 0;
+          enA = pulseWidth;
+          phaseB = 0;
+          enB = 0.0f;
+          break;
+       }
        break;
 
     case 3:
-       phaseA = 0;
-       enA = 0.0f;
-       phaseB = 0;
-       enB = pulseWidth;
+          phaseA = 0;
+          enA = 0.0f;
+          phaseB = 0;
+          enB = pulseWidth;
        break;
 
     default:
@@ -68,10 +92,4 @@
        phaseB = 0;
        enB = 0.0;
     }
-}
-    
-
-        
-        
-        
-        
\ No newline at end of file
+}
\ No newline at end of file