Evan Zhang / Mbed 2 deprecated StepperMotorSong

Dependencies:   mbed mbed-rtos

main.cpp

Committer:
aurora_aeterna
Date:
2021-04-25
Revision:
1:58fce6cd1c51
Parent:
0:6cc2c1f459f1

File content as of revision 1:58fce6cd1c51:

#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);
    
    //parse length here
    int   length = 100;
    
    float notes1 [length];
    float durs1  [length];
    
    // copy above for more lines of notes
    
    //parsing of notes, needs to partse 
    
    //parsing of durs
    
    //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 < length; i++) {
        t1.attach(&f1, &Flipper::flip, notes[i]);
        wait(durs[i]);
        }
        
    }
}