~

Dependencies:   4DGL-uLCD-SE SDFileSystem

Revision:
1:4ed94566512a
Parent:
0:570683b2d0c9
Child:
2:20b2a7eb4bd8
--- a/main.cpp	Fri Sep 16 00:42:41 2016 +0000
+++ b/main.cpp	Fri Sep 16 03:29:36 2016 +0000
@@ -1,13 +1,36 @@
 #include "mbed.h"
 
+AnalogOut aout(p18);
+AnalogIn ain(p15);
 DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
 
-// main() runs in its own thread in the OS
-// (note the calls to Thread::wait below for delays)
-int main() {
-    while (true) {
-        led1 = !led1;
-        Thread::wait(500);
+int main()
+{
+    // part 1 A
+    const double pi = 3.141592653589793238462;
+    const double amplitude = 1.0f;
+    const double offset = 65535/2; // 0xFFFF/2
+    double rads = 0.0;
+    uint16_t sample = 0;
+    
+    while(1) {
+        // analog out 
+        
+        for (int i = 0; i < 720; i++) {
+            rads = (pi * i) / 180.0f;
+            sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset);
+            aout.write_u16(sample);
+        }
+        
+        
+        // analog in
+        led1 = (ain > 0.2f) ? 1 : 0;
+        led2 = (ain > 0.4f) ? 1 : 0;
+        led3 = (ain > 0.6f) ? 1 : 0;
+        led4 = (ain > 0.8f) ? 1 : 0;
+        wait(.01);
     }
-}
-
+}
\ No newline at end of file