Complete Build

Dependencies:   4DGL-uLCD-SE1 Motor SDFileSystem X_NUCLEO_53L0A1 mbed-rtos mbed BotwithWavePlayerLevel

Fork of BotWithBluetoothLIDARV2 by Brandon Weiner and Carlos Tallard

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?

UserRevisionLine numberNew 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 }