Phlebot's onboard code

Dependencies:   mbed

Fork of HelloWorld by Simon Ford

Committer:
gardamerinos
Date:
Fri Feb 24 03:20:46 2017 +0000
Revision:
4:1070977b83e9
Parent:
3:ce96e87c0c53
Child:
5:9f6830d1db7b
move steps with vectors

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:fb6bbc10ffa0 1 #include "mbed.h"
gardamerinos 4:1070977b83e9 2 #include <vector>
simon 0:fb6bbc10ffa0 3
gardamerinos 4:1070977b83e9 4 vector<DigitalOut*> motors;
gardamerinos 4:1070977b83e9 5 vector<int> steps;
gardamerinos 4:1070977b83e9 6
gardamerinos 4:1070977b83e9 7 void step(DigitalOut stepsPin,int voltage){
gardamerinos 4:1070977b83e9 8 stepsPin = voltage;
gardamerinos 4:1070977b83e9 9 }
simon 0:fb6bbc10ffa0 10
simon 0:fb6bbc10ffa0 11 int main() {
gardamerinos 4:1070977b83e9 12 DigitalOut stepperX_DIR(p30);
gardamerinos 4:1070977b83e9 13 DigitalOut stepperY_DIR(p29);
gardamerinos 4:1070977b83e9 14 DigitalOut stepperZ_DIR(p28);
gardamerinos 4:1070977b83e9 15 DigitalOut stepperRot_DIR(p27);
gardamerinos 4:1070977b83e9 16 motors.push_back(new DigitalOut(p21));
gardamerinos 4:1070977b83e9 17 motors.push_back(new DigitalOut(p22));
gardamerinos 4:1070977b83e9 18 motors.push_back(new DigitalOut(p23));
gardamerinos 4:1070977b83e9 19 motors.push_back(new DigitalOut(p24));
gardamerinos 4:1070977b83e9 20 steps.push_back(5000);
gardamerinos 4:1070977b83e9 21 steps.push_back(5000);
gardamerinos 4:1070977b83e9 22 steps.push_back(5000);
gardamerinos 4:1070977b83e9 23 steps.push_back(100);
gardamerinos 4:1070977b83e9 24
gardamerinos 4:1070977b83e9 25 stepperX_DIR = 1;
gardamerinos 4:1070977b83e9 26 stepperY_DIR = 1;
gardamerinos 4:1070977b83e9 27 stepperZ_DIR = 1;
gardamerinos 4:1070977b83e9 28 stepperRot_DIR = 1;
gardamerinos 4:1070977b83e9 29
simon 0:fb6bbc10ffa0 30 while(1) {
gardamerinos 4:1070977b83e9 31 for (int i = 0; i<motors.size();i++){
gardamerinos 4:1070977b83e9 32 if (steps.at(i) == int(0)){
gardamerinos 4:1070977b83e9 33 motors.erase(motors.begin() + i);
gardamerinos 4:1070977b83e9 34 steps.erase(steps.begin()+i);
gardamerinos 4:1070977b83e9 35 }
gardamerinos 4:1070977b83e9 36 }
gardamerinos 4:1070977b83e9 37 for (int i = 0; i<motors.size();i++){
gardamerinos 4:1070977b83e9 38 step(*motors[i],1);
gardamerinos 4:1070977b83e9 39 }
gardamerinos 4:1070977b83e9 40 wait_us(100);
gardamerinos 4:1070977b83e9 41 for (int i = 0; i<motors.size();i++){
gardamerinos 4:1070977b83e9 42 step(*motors.at(i),0);
gardamerinos 4:1070977b83e9 43 }
gardamerinos 4:1070977b83e9 44 wait_us(80);
simon 0:fb6bbc10ffa0 45 }
simon 0:fb6bbc10ffa0 46 }