bleh

Dependencies:   mbed mbed-rtos

Committer:
aurora_aeterna
Date:
Sun Apr 25 22:45:01 2021 +0000
Revision:
1:58fce6cd1c51
Parent:
0:6cc2c1f459f1
with arrays;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cawald18 0:6cc2c1f459f1 1 #include "mbed.h"
cawald18 0:6cc2c1f459f1 2 #include "rtos.h"
cawald18 0:6cc2c1f459f1 3 #include "notes.h"
cawald18 0:6cc2c1f459f1 4 Thread motor;
cawald18 0:6cc2c1f459f1 5
cawald18 0:6cc2c1f459f1 6 Serial pc(USBTX, USBRX); // tx, rx
cawald18 0:6cc2c1f459f1 7 /*void playNote(PwmOut motor, float note){
cawald18 0:6cc2c1f459f1 8 motor.period(1/note);
cawald18 0:6cc2c1f459f1 9 motor.write(.5f);
cawald18 0:6cc2c1f459f1 10 }*/
cawald18 0:6cc2c1f459f1 11
cawald18 0:6cc2c1f459f1 12
cawald18 0:6cc2c1f459f1 13 class Flipper {
cawald18 0:6cc2c1f459f1 14 public:
cawald18 0:6cc2c1f459f1 15 Flipper(PinName pin) : _pin(pin) {
cawald18 0:6cc2c1f459f1 16 _pin = 0;
cawald18 0:6cc2c1f459f1 17 }
cawald18 0:6cc2c1f459f1 18 void flip() {
cawald18 0:6cc2c1f459f1 19 _pin = !_pin;
cawald18 0:6cc2c1f459f1 20 }
cawald18 0:6cc2c1f459f1 21 private:
cawald18 0:6cc2c1f459f1 22 DigitalOut _pin;
cawald18 0:6cc2c1f459f1 23 };
cawald18 0:6cc2c1f459f1 24
cawald18 0:6cc2c1f459f1 25 DigitalOut led1(LED1);
cawald18 0:6cc2c1f459f1 26 Flipper f(p21);
cawald18 0:6cc2c1f459f1 27 Flipper f1(p22);
cawald18 0:6cc2c1f459f1 28 Ticker t;
cawald18 0:6cc2c1f459f1 29 Ticker t1;
cawald18 0:6cc2c1f459f1 30
cawald18 0:6cc2c1f459f1 31 int main() {
aurora_aeterna 1:58fce6cd1c51 32 //float note1 = 1.0/(NOTE_A4*2);
aurora_aeterna 1:58fce6cd1c51 33 //float note2 = 1.0/(NOTE_CS5*2);
aurora_aeterna 1:58fce6cd1c51 34 //float note2m = 1.0/(NOTE_C5*2);
aurora_aeterna 1:58fce6cd1c51 35 //float note3 = 1.0/(NOTE_E5*2);
aurora_aeterna 1:58fce6cd1c51 36
aurora_aeterna 1:58fce6cd1c51 37 //parse length here
aurora_aeterna 1:58fce6cd1c51 38 int length = 100;
aurora_aeterna 1:58fce6cd1c51 39
aurora_aeterna 1:58fce6cd1c51 40 float notes1 [length];
aurora_aeterna 1:58fce6cd1c51 41 float durs1 [length];
aurora_aeterna 1:58fce6cd1c51 42
aurora_aeterna 1:58fce6cd1c51 43 // copy above for more lines of notes
aurora_aeterna 1:58fce6cd1c51 44
aurora_aeterna 1:58fce6cd1c51 45 //parsing of notes, needs to partse
aurora_aeterna 1:58fce6cd1c51 46
aurora_aeterna 1:58fce6cd1c51 47 //parsing of durs
aurora_aeterna 1:58fce6cd1c51 48
aurora_aeterna 1:58fce6cd1c51 49 //t.attach(&f, &Flipper::flip, note1); // the address of the object, member function, and interval
aurora_aeterna 1:58fce6cd1c51 50 //t1.attach(&f1, &Flipper::flip, note2);
cawald18 0:6cc2c1f459f1 51 pc.printf("Hello World!\n");
aurora_aeterna 1:58fce6cd1c51 52 //pc.printf("%f",note1);
cawald18 0:6cc2c1f459f1 53 // spin in a main loop. flipper will interrupt it to call flip
cawald18 0:6cc2c1f459f1 54 while(1) {
aurora_aeterna 1:58fce6cd1c51 55 for(int i = 0; i < length; i++) {
aurora_aeterna 1:58fce6cd1c51 56 t1.attach(&f1, &Flipper::flip, notes[i]);
aurora_aeterna 1:58fce6cd1c51 57 wait(durs[i]);
cawald18 0:6cc2c1f459f1 58 }
cawald18 0:6cc2c1f459f1 59
cawald18 0:6cc2c1f459f1 60 }
cawald18 0:6cc2c1f459f1 61 }