Working read code with mode button

Dependencies:   SDFileSystem emic2 mbed-rtos mbed

Fork of BAT_senior_design_Testnew by BAT

main.cpp

Committer:
aismail1997
Date:
2017-10-06
Revision:
5:9ed43e974156
Parent:
4:6836f515bb50
Child:
6:cc181f8f2bd1

File content as of revision 5:9ed43e974156:

#include "mbed.h"
#include "Servo.h"

// Azra

PwmOut myservo(p21);
DigitalIn pb1 (p20);
//AnalogIn linpot(p20);
Serial pc(USBTX, USBRX);
DigitalOut myled(LED1);

int main()
{
    // button up: state = 0, button halfway: state = 1; button down: state = 2
    //int state = 0;
    pc.printf("begin\n");
    int state = 2;
    pb1.mode(PullUp);
    wait(.001);
    for(int i=0; i<=3; i++) {
        myservo = i/100.0;
        wait(0.01);
    }
    while(1) {
        // Servo code
        if (pb1 == 1 && state == 2) {
            while(pb1 == 1)
                myled = 1;
            // rotate 90 degrees one way
            for(int i=3; i<=7; i++) {
                myservo = i/100.0;
                wait(0.01);
            }
            state = 1;
        }
        //wait(1.0);
        // rotate 90 degrees other way
        if (pb1 == 1 && state == 1) {
            while(pb1 == 1)
                myled = 0;
            for(int i=7; i>3; i--) {
                myservo = i/100.0;
                wait(0.01);
            }
            //wait(0.1);
            state = 2;
        }
        //wait(1.0);

        // read linear potentiometer
        //if (linpot < 0.5) {
        //float potval = linpot;
        //pc.printf("linear pot: %f\n", potval);
    }
}