~
Dependencies: 4DGL-uLCD-SE SDFileSystem
Diff: main.cpp
- 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