Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 0:6cc2c1f459f1
diff -r 000000000000 -r 6cc2c1f459f1 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sun Apr 25 20:02:35 2021 +0000
@@ -0,0 +1,58 @@
+#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);
+ }
+
+ }
+}
\ No newline at end of file