Complete Build
Dependencies: 4DGL-uLCD-SE1 Motor SDFileSystem X_NUCLEO_53L0A1 mbed-rtos mbed BotwithWavePlayerLevel
Fork of BotWithBluetoothLIDARV2 by
main.cpp@12:af37c8938aaf, 2017-10-06 (annotated)
- Committer:
- bdragon52
- Date:
- Fri Oct 06 01:20:24 2017 +0000
- Revision:
- 12:af37c8938aaf
- Parent:
- 11:0309bef74ba8
- Child:
- 13:ab6bbdd2447a
2 threads
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
emilmont | 1:491820ee784d | 1 | #include "mbed.h" |
mbed_official | 11:0309bef74ba8 | 2 | #include "rtos.h" |
bdragon52 | 12:af37c8938aaf | 3 | #include "uLCD_4DGL.h" |
bdragon52 | 12:af37c8938aaf | 4 | #include "SDFileSystem.h" |
bdragon52 | 12:af37c8938aaf | 5 | #include "wave_player.h" |
bdragon52 | 12:af37c8938aaf | 6 | |
bdragon52 | 12:af37c8938aaf | 7 | |
bdragon52 | 12:af37c8938aaf | 8 | SDFileSystem sd(p5, p6, p7, p9, "sd"); //SD card |
bdragon52 | 12:af37c8938aaf | 9 | |
bdragon52 | 12:af37c8938aaf | 10 | AnalogOut DACout(p18); |
bdragon52 | 12:af37c8938aaf | 11 | |
bdragon52 | 12:af37c8938aaf | 12 | wave_player waver(&DACout); |
emilmont | 1:491820ee784d | 13 | |
bdragon52 | 12:af37c8938aaf | 14 | PwmOut red(p23); |
bdragon52 | 12:af37c8938aaf | 15 | PwmOut blue(p21); |
bdragon52 | 12:af37c8938aaf | 16 | PwmOut green(p22); |
bdragon52 | 12:af37c8938aaf | 17 | |
bdragon52 | 12:af37c8938aaf | 18 | PwmOut myled(LED1); |
bdragon52 | 12:af37c8938aaf | 19 | uLCD_4DGL uLCD(p28,p27,p30); |
bdragon52 | 12:af37c8938aaf | 20 | |
bdragon52 | 12:af37c8938aaf | 21 | Thread thread2; |
bdragon52 | 12:af37c8938aaf | 22 | Thread thread3; |
bdragon52 | 12:af37c8938aaf | 23 | Thread thread4; |
bdragon52 | 12:af37c8938aaf | 24 | float y=0.0; |
emilmont | 1:491820ee784d | 25 | |
bdragon52 | 12:af37c8938aaf | 26 | void t2() { |
emilmont | 1:491820ee784d | 27 | while (true) { |
bdragon52 | 12:af37c8938aaf | 28 | int a=20; |
bdragon52 | 12:af37c8938aaf | 29 | int r=8; |
bdragon52 | 12:af37c8938aaf | 30 | uLCD.background_color(BLACK); |
bdragon52 | 12:af37c8938aaf | 31 | uLCD.cls(); |
bdragon52 | 12:af37c8938aaf | 32 | uLCD.filled_circle(a, 80-(y*80)+25, r, BLUE); |
bdragon52 | 12:af37c8938aaf | 33 | uLCD.line(3,25,13,25,RED); |
bdragon52 | 12:af37c8938aaf | 34 | uLCD.line(3,105,13,105,RED); |
bdragon52 | 12:af37c8938aaf | 35 | |
bdragon52 | 12:af37c8938aaf | 36 | //while(b<100){ |
bdragon52 | 12:af37c8938aaf | 37 | // uLCD.filled_circle(a, b, r, BLUE); |
bdragon52 | 12:af37c8938aaf | 38 | // b=b+1; |
bdragon52 | 12:af37c8938aaf | 39 | // uLCD.filled_circle(a, b-1, r, BLACK); |
bdragon52 | 12:af37c8938aaf | 40 | // uLCD.filled_circle(a, b, r, BLUE); |
bdragon52 | 12:af37c8938aaf | 41 | // Thread::wait(1000.0*0.002); |
bdragon52 | 12:af37c8938aaf | 42 | // } |
bdragon52 | 12:af37c8938aaf | 43 | //while(b>50){ |
bdragon52 | 12:af37c8938aaf | 44 | // uLCD.filled_circle(a, b, r, BLUE); |
bdragon52 | 12:af37c8938aaf | 45 | // b=b-1; |
bdragon52 | 12:af37c8938aaf | 46 | // uLCD.filled_circle(a, b+2, r, BLACK); |
bdragon52 | 12:af37c8938aaf | 47 | // uLCD.filled_circle(a, b, r, BLUE); |
bdragon52 | 12:af37c8938aaf | 48 | //Thread::wait(1000.0*0.002); |
bdragon52 | 12:af37c8938aaf | 49 | // } |
bdragon52 | 12:af37c8938aaf | 50 | |
bdragon52 | 12:af37c8938aaf | 51 | |
bdragon52 | 12:af37c8938aaf | 52 | Thread::wait(1000.0*0.02); |
bdragon52 | 12:af37c8938aaf | 53 | |
bdragon52 | 12:af37c8938aaf | 54 | } |
bdragon52 | 12:af37c8938aaf | 55 | } |
bdragon52 | 12:af37c8938aaf | 56 | |
bdragon52 | 12:af37c8938aaf | 57 | void t3() { |
bdragon52 | 12:af37c8938aaf | 58 | while (true) { |
bdragon52 | 12:af37c8938aaf | 59 | |
bdragon52 | 12:af37c8938aaf | 60 | Thread::wait(1000); |
bdragon52 | 12:af37c8938aaf | 61 | } |
bdragon52 | 12:af37c8938aaf | 62 | } |
bdragon52 | 12:af37c8938aaf | 63 | |
bdragon52 | 12:af37c8938aaf | 64 | void t4() { |
bdragon52 | 12:af37c8938aaf | 65 | while (true) { |
bdragon52 | 12:af37c8938aaf | 66 | |
mbed_official | 11:0309bef74ba8 | 67 | Thread::wait(1000); |
emilmont | 1:491820ee784d | 68 | } |
emilmont | 1:491820ee784d | 69 | } |
emilmont | 1:491820ee784d | 70 | |
bdragon52 | 12:af37c8938aaf | 71 | |
bdragon52 | 12:af37c8938aaf | 72 | |
emilmont | 1:491820ee784d | 73 | int main() { |
bdragon52 | 12:af37c8938aaf | 74 | thread2.start(t2); |
bdragon52 | 12:af37c8938aaf | 75 | thread3.start(t3); |
bdragon52 | 12:af37c8938aaf | 76 | thread4.start(t4); |
bdragon52 | 12:af37c8938aaf | 77 | |
emilmont | 1:491820ee784d | 78 | |
bdragon52 | 12:af37c8938aaf | 79 | while(1) { |
bdragon52 | 12:af37c8938aaf | 80 | for(double x=0.0; x <= 3.14159; x = x + 0.0314159) { |
bdragon52 | 12:af37c8938aaf | 81 | y = sin(x); |
bdragon52 | 12:af37c8938aaf | 82 | red= y*y*y; |
bdragon52 | 12:af37c8938aaf | 83 | blue= y*y*y; |
bdragon52 | 12:af37c8938aaf | 84 | green= y*y*y; |
bdragon52 | 12:af37c8938aaf | 85 | Thread::wait(1000.0*.025); |
bdragon52 | 12:af37c8938aaf | 86 | } |
bdragon52 | 12:af37c8938aaf | 87 | red= 0.0; |
bdragon52 | 12:af37c8938aaf | 88 | blue= 0.0; |
bdragon52 | 12:af37c8938aaf | 89 | green= 0.0; |
bdragon52 | 12:af37c8938aaf | 90 | Thread::wait(1000.0*2.5); |
emilmont | 1:491820ee784d | 91 | } |
bdragon52 | 12:af37c8938aaf | 92 | |
bdragon52 | 12:af37c8938aaf | 93 | |
bdragon52 | 12:af37c8938aaf | 94 | |
bdragon52 | 12:af37c8938aaf | 95 | |
emilmont | 1:491820ee784d | 96 | } |