afsd

Fork of a4998 by Keegan Hu

Revision:
0:173936452e07
Child:
1:88f743f3e7a7
diff -r 000000000000 -r 173936452e07 a4988.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/a4988.cpp	Wed May 02 10:48:23 2018 +0000
@@ -0,0 +1,45 @@
+#include "a4988.h"
+#include "mbed.h"
+Stepper::Stepper(PinName _en, PinName _stepPin, PinName _direction):en(_en),
+    stepPin(_stepPin),
+    direction(_direction)
+{
+    
+}
+ 
+void Stepper::step(int dir, int frequency ,volatile int _remain)
+{
+    //fun = &Stepper::step_control;
+    if (dir == 1) {
+        direction = 0;
+    } else if (dir == 0) {
+        direction = 1;
+    }
+    remain = _remain;
+    step_ticker.attach(this, &Stepper::step_control,1.0/frequency);
+}
+ 
+void Stepper::enable()
+{
+    en = 0;
+}
+ 
+void Stepper::disable()
+{
+    en = 1;
+}
+
+void Stepper::step_control()
+{
+        if(remain == 0)
+        {         
+            return;
+        }
+        
+                if(stepPin){
+                        stepPin = 0; //STEP 1->0
+                        remain--;
+                }else{
+                        stepPin = 1; //STEP 0->1
+                }
+}