Sound update
Dependencies: 4DGL-uLCD-SE Physac-MBED PinDetect SDFileSystem mbed-rtos mbed
Diff: main.cpp
- Revision:
- 11:e00a208bd85a
- Parent:
- 10:f5a84133bd65
- Child:
- 12:5d913b57da7c
diff -r f5a84133bd65 -r e00a208bd85a main.cpp --- a/main.cpp Tue Nov 29 22:51:16 2022 +0000 +++ b/main.cpp Tue Nov 29 23:05:30 2022 +0000 @@ -13,57 +13,62 @@ PwmOut rGb(p24); PwmOut rgB(p25); PwmOut PWMout(p21); -wave_player waver(&DACout,&PWMout); +wave_player waver(&DACout); volatile bool game1 = false; volatile bool game2 = false; -void thread2(void const *argument){ +void thread2(void const *argument) +{ } -void thread3(void const *argument){ +void thread3(void const *argument) +{ FILE *wave_file; - PWNout.period(1.0/400000.0); - while (game1 == false && game2 == false){ + PWMout.period(1.0/400000.0); + while (game1 == false && game2 == false) { wave_file=fopen("/sd/MiiMenu.wav","r"); waver.play(wave_file); fclose(wave_file); } - while (game1 == true && game2 == false){ + while (game1 == true && game2 == false) { wave_file=fopen("/sd/tetris.wav","r"); waver.play(wave_file); fclose(wave_file); } - while (game2 == true && game1 == false){ + while (game2 == true && game1 == false) { wave_file=fopen("/sd/WiiPlayAirHockey.wav","r"); waver.play(wave_file); fclose(wave_file); } } -void thread4(void const *argument){ +void thread4(void const *argument) +{ + float x = 0.0; while(1) { - float x = 0.0; //get a new random number for PWM x = rand() / float(RAND_MAX); //add some exponential brightness scaling //for more of a fast flash effect x = x*x*x; Rgb = x; - rGb = x * dim; - rgB = x * dim; + rGb = x; + rgB = x; //fast update rate for welding flashes Thread::wait(20); //add a random pause between welds - if (rand() / float(RAND_MAX) > 0.97) { + if (rand() / float(RAND_MAX) > 0.95) { Rgb = 0; rGb = 0; rgB = 0; Thread::wait(4000.0 * rand() / float(RAND_MAX)); } + } } -int main() { +int main() +{ Thread thread2(thread2); Thread thread3(thread3); Thread thread4(thread4);