f
Dependencies: Speaker mbed wave_player mbed-rtos 4DGL-uLCD-SE LCD_fonts SDFileSystem_OldbutworkswithRTOS
main.cpp
- Committer:
- apaks180
- Date:
- 2019-02-21
- Revision:
- 6:bb887c1a381b
- Parent:
- 5:5f393c6b02cb
File content as of revision 6:bb887c1a381b:
#include "mbed.h" #include "rtos.h" #include "uLCD_4DGL.h" #include "stdio.h" #include "Speaker.h" #include "banner.h" #include "SDFileSystem.h" #include "wave_player.h" RawSerial pc(USBTX, USBRX); RawSerial dev(p28,p27); AnalogOut DACout(p18); wave_player waver(&DACout); SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card uLCD_4DGL uLCD(p13,p14,p11); PwmOut RGBLED_r(p23); PwmOut RGBLED_g(p24); PwmOut RGBLED_b(p25); BusOut leds(LED1,LED2,LED3,LED4); Mutex lcd_mutex; //Thread screen; //Thread lights; //Thread audio; //Thread count; void dev_recv() { while(dev.readable()) { pc.putc(dev.getc()); } } void pc_recv() { while(pc.readable()) { dev.putc(pc.getc()); } } void thread1(void const *args) { int i=0; int x; // while(true) { // thread loop if(i==0){ x=0xFF0000; } else if (i==1){ x=0xFFFFFF; } else{ x=0x0000FF; } lcd_mutex.lock(); uLCD.filled_rectangle(0,0,128, 100, x); lcd_mutex.unlock(); i++; i=i%3; Thread::wait(100); // } } void thread5(void const *args) { int i = 0; // while(true) { // thread loop if(i==0){ RGBLED_r = 1; RGBLED_g = 0; RGBLED_b = 0; } else if(i==1){ RGBLED_r = 1; RGBLED_g = 1; RGBLED_b = 1; } else{ RGBLED_r = 0; RGBLED_g = 0; RGBLED_b = 1; } i++; i=i%3; Thread::wait(673); // wait 1.5s // } } //// Thread 6 //// Speaker void thread6(void const *args) { // while(true) { // thread loop FILE *wave_file; printf("\r\n\nHello, wave world!\n\r"); Thread::wait(1000); wave_file=fopen("/sd/banner2.wav","r"); if(wave_file==NULL) printf("file open error!\n\n\r"); waver.play(wave_file); fclose(wave_file); // } } void thread7(void const *args) { int i = 0; while(true) { // thread loop i++; printf("thread 1: %d\n", i); Thread::wait(1000); // wait 0.25s } } //void bluetooth(void const *args){ // while(1){ // if(dev.getc()=='a'){ // Thread t6(thread6); // } // if(dev.getc()=='s'){ // Thread t1(thread1); // } // if(dev.getc()=='l'){ // Thread t5(thread5); // } // if(dev.getc()=='c'){ // Thread t7(thread7); // } // Thread::wait(100); // } //} int main() { // int j; uLCD.cls(); pc.baud(9600); dev.baud(9600); pc.attach(&pc_recv, Serial::RxIrq); dev.attach(&dev_recv, Serial::RxIrq); // Thread blue(bluetooth); while(1) { if(dev.getc()=='a'){ Thread audio(thread6); } if(dev.getc()=='s'){ Thread screen(thread1); } if(dev.getc()=='l'){ Thread light(thread5); } if(dev.getc()=='c'){ Thread count(thread7); } // sleep(); } // Thread t1(thread1); //start thread1 //Thread t2(thread2); //start thread2 //Thread t3(thread3); //start thread3 //Thread t4(thread4); //start thread4 // Thread t5(thread5); //start thread5 // Thread t6(thread6); //start thread6 // Thread t7(thread7); //start thread7 }