1
0
mirror of https://github.com/xfjx/TonUINO.git synced 2025-08-28 12:09:51 +02:00

Funktion der Up-/Down-Tasten kann jetzt im Adminmenü (Punkt 10) vertauscht werden (also lange für Songwechsen und kurz für Lautstärke)

This commit is contained in:
Thorsten Voß
2018-12-23 18:08:38 +01:00
parent 96e8b95bd1
commit 999fed1104
2 changed files with 78 additions and 25 deletions

View File

@@ -41,7 +41,7 @@ struct adminSettings {
bool locked; bool locked;
long standbyTimer; long standbyTimer;
bool invertVolumeButtons; bool invertVolumeButtons;
folderSettings shortCuts[3]; folderSettings shortCuts[4];
}; };
adminSettings mySettings; adminSettings mySettings;
@@ -125,6 +125,7 @@ void resetSettings() {
mySettings.shortCuts[0].folder = 0; mySettings.shortCuts[0].folder = 0;
mySettings.shortCuts[1].folder = 0; mySettings.shortCuts[1].folder = 0;
mySettings.shortCuts[2].folder = 0; mySettings.shortCuts[2].folder = 0;
mySettings.shortCuts[3].folder = 0;
writeSettingsToFlash(); writeSettingsToFlash();
} }
@@ -165,15 +166,19 @@ void loadSettingsFromFlash() {
Serial.println(mySettings.invertVolumeButtons); Serial.println(mySettings.invertVolumeButtons);
} }
/// Funktionen für den Standby Timer (z.B. über Pololu-Switch oder Mosfet)
void setstandbyTimer() { void setstandbyTimer() {
Serial.println(F("=== setstandbyTimer()"));
if (mySettings.standbyTimer != 0 && !isPlaying()) if (mySettings.standbyTimer != 0 && !isPlaying())
sleepAtMillis = millis() + (mySettings.standbyTimer * 1000); sleepAtMillis = millis() + (mySettings.standbyTimer * 1000);
else else
sleepAtMillis = 0; sleepAtMillis = 0;
Serial.println(sleepAtMillis);
} }
void disablestandbyTimer() { void disablestandbyTimer() {
Serial.println(F("=== disablestandby()"));
sleepAtMillis = 0; sleepAtMillis = 0;
} }
@@ -254,10 +259,10 @@ static void nextTrack(uint16_t track) {
static void previousTrack() { static void previousTrack() {
Serial.println(F("=== previousTrack()")); Serial.println(F("=== previousTrack()"));
if (myCard.mode == 1 || myCard.mode == 7) { /* if (myCard.mode == 1 || myCard.mode == 7) {
Serial.println(F("Hörspielmodus ist aktiv -> Track von vorne spielen")); Serial.println(F("Hörspielmodus ist aktiv -> Track von vorne spielen"));
mp3.playFolderTrack(myCard.folder, currentTrack); mp3.playFolderTrack(myCard.folder, currentTrack);
} }*/
if (myCard.mode == 2 || myCard.mode == 8) { if (myCard.mode == 2 || myCard.mode == 8) {
Serial.println(F("Albummodus ist aktiv -> vorheriger Track")); Serial.println(F("Albummodus ist aktiv -> vorheriger Track"));
if (currentTrack != firstTrack) { if (currentTrack != firstTrack) {
@@ -388,6 +393,34 @@ void readButtons() {
downButton.read(); downButton.read();
} }
void volumeUpButton() {
Serial.println(F("=== volumeUp()"));
if (volume < mySettings.maxVolume) {
mp3.increaseVolume();
volume++;
}
Serial.println(volume);
}
void volumeDownButton() {
Serial.println(F("=== volumeUp()"));
if (volume > mySettings.minVolume) {
mp3.decreaseVolume();
volume--;
}
Serial.println(volume);
}
void nextButton() {
nextTrack(random(65536));
delay(1000);
}
void previousButton() {
previousTrack();
delay(1000);
}
void loop() { void loop() {
do { do {
mp3.loop(); mp3.loop();
@@ -397,8 +430,6 @@ void loop() {
// admin menu // admin menu
if ((pauseButton.pressedFor(LONG_PRESS) || upButton.pressedFor(LONG_PRESS) || downButton.pressedFor(LONG_PRESS)) && pauseButton.isPressed() && upButton.isPressed() && downButton.isPressed()) { if ((pauseButton.pressedFor(LONG_PRESS) || upButton.pressedFor(LONG_PRESS) || downButton.pressedFor(LONG_PRESS)) && pauseButton.isPressed() && upButton.isPressed() && downButton.isPressed()) {
Serial.println(F("ADMIN MENU"));
Serial.println(F("=========="));
mp3.pause(); mp3.pause();
do { do {
readButtons(); readButtons();
@@ -437,31 +468,33 @@ void loop() {
} }
if (upButton.pressedFor(LONG_PRESS)) { if (upButton.pressedFor(LONG_PRESS)) {
Serial.println(F("Volume Up")); if (!mySettings.invertVolumeButtons)
if (volume < mySettings.maxVolume) { volumeUpButton();
mp3.increaseVolume(); else
volume++; nextButton();
}
ignoreUpButton = true; ignoreUpButton = true;
} else if (upButton.wasReleased()) { } else if (upButton.wasReleased()) {
if (!ignoreUpButton) if (!ignoreUpButton)
nextTrack(random(65536)); if (!mySettings.invertVolumeButtons)
else nextButton();
ignoreUpButton = false; else
volumeUpButton();
ignoreUpButton = false;
} }
if (downButton.pressedFor(LONG_PRESS)) { if (downButton.pressedFor(LONG_PRESS)) {
Serial.println(F("Volume Down")); if (!mySettings.invertVolumeButtons)
if (volume > mySettings.minVolume) { volumeDownButton();
mp3.decreaseVolume(); else
volume--; previousButton();
}
ignoreDownButton = true; ignoreDownButton = true;
} else if (downButton.wasReleased()) { } else if (downButton.wasReleased()) {
if (!ignoreDownButton) if (!ignoreDownButton)
previousTrack(); if (!mySettings.invertVolumeButtons)
else previousButton();
ignoreDownButton = false; else
volumeDownButton();
ignoreDownButton = false;
} }
// Ende der Buttons // Ende der Buttons
} while (!mfrc522.PICC_IsNewCardPresent()); } while (!mfrc522.PICC_IsNewCardPresent());
@@ -516,7 +549,7 @@ void loop() {
if (myCard.mode == 5) { if (myCard.mode == 5) {
Serial.println(F("Hörbuch Modus -> kompletten Ordner spielen und " Serial.println(F("Hörbuch Modus -> kompletten Ordner spielen und "
"Fortschritt merken")); "Fortschritt merken"));
currentTrack = EEPROM.read(myCard.folder); currentTrack = max(1,EEPROM.read(myCard.folder));
mp3.playFolderTrack(myCard.folder, currentTrack); mp3.playFolderTrack(myCard.folder, currentTrack);
} }
// Spezialmodus Von-Bin: Hörspiel: eine zufällige Datei aus dem Ordner // Spezialmodus Von-Bin: Hörspiel: eine zufällige Datei aus dem Ordner
@@ -565,11 +598,12 @@ void loop() {
} }
void adminMenu() { void adminMenu() {
disablestandbyTimer();
mp3.pause(); mp3.pause();
Serial.println(F("=== adminMenu()")); Serial.println(F("=== adminMenu()"));
knownCard = false; knownCard = false;
int subMenu = voiceMenu(9, 900, 900); int subMenu = voiceMenu(10, 900, 900);
if (subMenu == 1) { if (subMenu == 1) {
resetCard(); resetCard();
mfrc522.PICC_HaltA(); mfrc522.PICC_HaltA();
@@ -586,6 +620,12 @@ void adminMenu() {
else if (subMenu == 6) { else if (subMenu == 6) {
// create master card // create master card
} }
else if (subMenu == 7) {
// Tasten mit einem Shortcut konfigurieren
}
else if (subMenu == 8) {
// Den Standbytimer konfigurieren
}
else if (subMenu == 9) { else if (subMenu == 9) {
// Ordner abfragen // Ordner abfragen
nfcTagObject tempCard; nfcTagObject tempCard;
@@ -617,7 +657,16 @@ void adminMenu() {
waitForTrackToFinish(); waitForTrackToFinish();
} }
} }
else if (subMenu == 10) {
// Funktion der Lautstärketasten umdrehen
int temp = voiceMenu(2, 933, 933, false);
if (temp == 2)
mySettings.invertVolumeButtons = true;
else
mySettings.invertVolumeButtons = false;
}
writeSettingsToFlash(); writeSettingsToFlash();
setstandbyTimer();
} }
int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,

View File

@@ -136,6 +136,10 @@ say -v Anna "Einzelkarten für einen Ordner erstellen." -o 0909.aiff
sox 0909.aiff 0909.wav pitch 800 sox 0909.aiff 0909.wav pitch 800
lame -b 128 0909.wav 0909_batch_cards.mp3 lame -b 128 0909.wav 0909_batch_cards.mp3
say -v Anna "Funktion der Lautstärke Tasten umdrehen." -o 0910.aiff
sox 0910.aiff 0910.wav pitch 800
lame -b 128 0910.wav 0910_batch_cards.mp3
say -v Anna "Bitte wähle eine Einstellung für den EQ mit den Lautstärke Tasten aus und bestätige sie mit der Pause Taste." -o 0920.aiff say -v Anna "Bitte wähle eine Einstellung für den EQ mit den Lautstärke Tasten aus und bestätige sie mit der Pause Taste." -o 0920.aiff
sox 0920.aiff 0920.wav pitch 800 sox 0920.aiff 0920.wav pitch 800
lame -b 128 0920.wav 0920_eq_intro.mp3 lame -b 128 0920.wav 0920_eq_intro.mp3