Phlebot's onboard code

Dependencies:   mbed

Fork of HelloWorld by Simon Ford

Files at this revision

API Documentation at this revision

Comitter:
gardamerinos
Date:
Fri Feb 24 03:20:46 2017 +0000
Parent:
3:ce96e87c0c53
Child:
5:9f6830d1db7b
Commit message:
move steps with vectors

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Feb 22 01:13:30 2017 +0000
+++ b/main.cpp	Fri Feb 24 03:20:46 2017 +0000
@@ -1,18 +1,46 @@
 #include "mbed.h"
+#include <vector>
 
-DigitalOut stepperX_DIR(p30);
-PwmOut stepperX_PWM(p21);
+vector<DigitalOut*> motors;
+vector<int> steps;
+
+void step(DigitalOut stepsPin,int voltage){
+    stepsPin = voltage;
+}
 
 int main() {
-    stepperX_PWM.period_us(150);      // 0.15 millisecond period
-    stepperX_PWM.write(0.50f);      // 50% duty cycle, relative to period
+    DigitalOut stepperX_DIR(p30);
+    DigitalOut stepperY_DIR(p29);
+    DigitalOut stepperZ_DIR(p28);
+    DigitalOut stepperRot_DIR(p27);
+    motors.push_back(new DigitalOut(p21));
+    motors.push_back(new DigitalOut(p22));
+    motors.push_back(new DigitalOut(p23));
+    motors.push_back(new DigitalOut(p24));
+    steps.push_back(5000);
+    steps.push_back(5000);
+    steps.push_back(5000);
+    steps.push_back(100);
+    
+    stepperX_DIR = 1;
+    stepperY_DIR = 1;
+    stepperZ_DIR = 1;
+    stepperRot_DIR = 1;
+    
     while(1) {
-        stepperX_DIR = 1;
-        wait(1);
-        stepperX_DIR = 0;
-        wait(1);
-        stepperX_PWM.write(0);
-        wait(1);
-        stepperX_PWM.write(0.5f);
+        for (int i = 0; i<motors.size();i++){
+            if (steps.at(i) == int(0)){
+                motors.erase(motors.begin() + i);
+                steps.erase(steps.begin()+i);
+            }
+        }
+        for (int i = 0; i<motors.size();i++){
+            step(*motors[i],1);
+        }
+        wait_us(100);
+        for (int i = 0; i<motors.size();i++){
+            step(*motors.at(i),0);
+        }
+        wait_us(80);
     }
 }