Evan Zhang / Mbed 2 deprecated StepperMotorSong4180

Dependencies:   mbed mbed-rtos SDFileSystem11

main.cpp

Committer:
cawald18
Date:
2021-04-25
Revision:
0:6cc2c1f459f1
Child:
1:ddbed1542633

File content as of revision 0:6cc2c1f459f1:

#include "mbed.h"
#include "rtos.h"
#include "notes.h"
Thread motor;

Serial pc(USBTX, USBRX); // tx, rx
/*void playNote(PwmOut motor, float note){
    motor.period(1/note);
    motor.write(.5f);
    }*/


class Flipper {
public:
    Flipper(PinName pin) : _pin(pin) {
        _pin = 0;
    }
    void flip() {
        _pin = !_pin;
    }
private:
    DigitalOut _pin;
};
 
DigitalOut led1(LED1);
Flipper f(p21);
Flipper f1(p22);
Ticker t;
Ticker t1;
 
int main() {
    float note1 = 1.0/(NOTE_A4*2);
    float note2 = 1.0/(NOTE_CS5*2);
    float note2m = 1.0/(NOTE_C5*2);
    float note3 = 1.0/(NOTE_E5*2);
    t.attach(&f, &Flipper::flip, note1); // the address of the object, member function, and interval
    t1.attach(&f1, &Flipper::flip, note2);
    pc.printf("Hello World!\n");
    pc.printf("%f",note1);
    // spin in a main loop. flipper will interrupt it to call flip
    while(1) {
        for(int i = 0; i < 10; i++) {
        t1.attach(&f1, &Flipper::flip, note2);
        led1 = !led1;
        wait(0.2);
        t1.attach(&f1, &Flipper::flip, note3);
        wait(0.2);
        }
        for(int i = 0; i < 10; i++) {
        t1.attach(&f1, &Flipper::flip, note2m);
        led1 = !led1;
        wait(0.2);
        t1.attach(&f1, &Flipper::flip, note3);
        wait(0.2);
        }
        
    }
}