/** * ESP32 Soundboard * * Hendriks Projekt * * https://dev.xd0.de/hendrik/soundboard */ #include "Arduino.h" #include "hardware.h" #include "keyboard.h" #include "sdcard.h" #include "sound.h" #include "wifi.h" #define VERSION "0.0" Keyboard keyboard; SDCard sdcard; Sound sound; Wifi wifi; static const char *soundFile[3][3] = {{"/T0.wav", "/T1.wav", "/T2.wav"}, {"/T3.wav", "/T4.wav", "/T5.wav"}, {"/T6.wav", "/T7.wav", "/T8.wav"}}; void setup() { // initialize LED digital pin as an output. pinMode(LED_PIN, OUTPUT); Serial.begin(115200); Serial.println("-------------------------------------"); Serial.print("Soundboard v."); Serial.println(VERSION); Serial.println("https://dev.xd0.de/hendrik/soundboard"); Serial.println("-------------------------------------"); keyboard.init(); sdcard.mount(); sound.init(); wifi.init(); static const char *bootSound = "/boot.wav"; //xTaskCreate(&(Sound::play_task), "play_task", 3072, (void*)bootSound, 5, &xTaskSound); } void loop() { bool touched = false; bool playing = false; for(int i=0; i<=9; i++) { if (keyboard.getTouchDetected(i) == true) { touched = true; Serial.print("touch "); Serial.println(i, DEC); if (playing == false) { playing == true; Serial.println("main loop touched==true: new task"); sound.play(soundFile[i/3][i%3]); } } } if (touched == true) { // turn the LED on (HIGH is the voltage level) digitalWrite(LED_PIN, HIGH); } else { // turn the LED off by making the voltage LOW digitalWrite(LED_PIN, LOW); } wifi.loop(); // wait for a second delay(50); }