mirror of
https://github.com/xfjx/TonUINO.git
synced 2025-08-27 23:49:48 +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:
99
Tonuino.ino
99
Tonuino.ino
@@ -41,7 +41,7 @@ struct adminSettings {
|
||||
bool locked;
|
||||
long standbyTimer;
|
||||
bool invertVolumeButtons;
|
||||
folderSettings shortCuts[3];
|
||||
folderSettings shortCuts[4];
|
||||
};
|
||||
|
||||
adminSettings mySettings;
|
||||
@@ -125,6 +125,7 @@ void resetSettings() {
|
||||
mySettings.shortCuts[0].folder = 0;
|
||||
mySettings.shortCuts[1].folder = 0;
|
||||
mySettings.shortCuts[2].folder = 0;
|
||||
mySettings.shortCuts[3].folder = 0;
|
||||
writeSettingsToFlash();
|
||||
}
|
||||
|
||||
@@ -165,15 +166,19 @@ void loadSettingsFromFlash() {
|
||||
Serial.println(mySettings.invertVolumeButtons);
|
||||
}
|
||||
|
||||
/// Funktionen für den Standby Timer (z.B. über Pololu-Switch oder Mosfet)
|
||||
|
||||
void setstandbyTimer() {
|
||||
Serial.println(F("=== setstandbyTimer()"));
|
||||
if (mySettings.standbyTimer != 0 && !isPlaying())
|
||||
sleepAtMillis = millis() + (mySettings.standbyTimer * 1000);
|
||||
else
|
||||
sleepAtMillis = 0;
|
||||
Serial.println(sleepAtMillis);
|
||||
}
|
||||
|
||||
void disablestandbyTimer() {
|
||||
Serial.println(F("=== disablestandby()"));
|
||||
sleepAtMillis = 0;
|
||||
}
|
||||
|
||||
@@ -254,10 +259,10 @@ static void nextTrack(uint16_t track) {
|
||||
|
||||
static void previousTrack() {
|
||||
Serial.println(F("=== previousTrack()"));
|
||||
if (myCard.mode == 1 || myCard.mode == 7) {
|
||||
Serial.println(F("Hörspielmodus ist aktiv -> Track von vorne spielen"));
|
||||
mp3.playFolderTrack(myCard.folder, currentTrack);
|
||||
}
|
||||
/* if (myCard.mode == 1 || myCard.mode == 7) {
|
||||
Serial.println(F("Hörspielmodus ist aktiv -> Track von vorne spielen"));
|
||||
mp3.playFolderTrack(myCard.folder, currentTrack);
|
||||
}*/
|
||||
if (myCard.mode == 2 || myCard.mode == 8) {
|
||||
Serial.println(F("Albummodus ist aktiv -> vorheriger Track"));
|
||||
if (currentTrack != firstTrack) {
|
||||
@@ -388,6 +393,34 @@ void readButtons() {
|
||||
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() {
|
||||
do {
|
||||
mp3.loop();
|
||||
@@ -397,8 +430,6 @@ void loop() {
|
||||
|
||||
// admin menu
|
||||
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();
|
||||
do {
|
||||
readButtons();
|
||||
@@ -437,31 +468,33 @@ void loop() {
|
||||
}
|
||||
|
||||
if (upButton.pressedFor(LONG_PRESS)) {
|
||||
Serial.println(F("Volume Up"));
|
||||
if (volume < mySettings.maxVolume) {
|
||||
mp3.increaseVolume();
|
||||
volume++;
|
||||
}
|
||||
if (!mySettings.invertVolumeButtons)
|
||||
volumeUpButton();
|
||||
else
|
||||
nextButton();
|
||||
ignoreUpButton = true;
|
||||
} else if (upButton.wasReleased()) {
|
||||
if (!ignoreUpButton)
|
||||
nextTrack(random(65536));
|
||||
else
|
||||
ignoreUpButton = false;
|
||||
if (!mySettings.invertVolumeButtons)
|
||||
nextButton();
|
||||
else
|
||||
volumeUpButton();
|
||||
ignoreUpButton = false;
|
||||
}
|
||||
|
||||
if (downButton.pressedFor(LONG_PRESS)) {
|
||||
Serial.println(F("Volume Down"));
|
||||
if (volume > mySettings.minVolume) {
|
||||
mp3.decreaseVolume();
|
||||
volume--;
|
||||
}
|
||||
if (!mySettings.invertVolumeButtons)
|
||||
volumeDownButton();
|
||||
else
|
||||
previousButton();
|
||||
ignoreDownButton = true;
|
||||
} else if (downButton.wasReleased()) {
|
||||
if (!ignoreDownButton)
|
||||
previousTrack();
|
||||
else
|
||||
ignoreDownButton = false;
|
||||
if (!mySettings.invertVolumeButtons)
|
||||
previousButton();
|
||||
else
|
||||
volumeDownButton();
|
||||
ignoreDownButton = false;
|
||||
}
|
||||
// Ende der Buttons
|
||||
} while (!mfrc522.PICC_IsNewCardPresent());
|
||||
@@ -516,7 +549,7 @@ void loop() {
|
||||
if (myCard.mode == 5) {
|
||||
Serial.println(F("Hörbuch Modus -> kompletten Ordner spielen und "
|
||||
"Fortschritt merken"));
|
||||
currentTrack = EEPROM.read(myCard.folder);
|
||||
currentTrack = max(1,EEPROM.read(myCard.folder));
|
||||
mp3.playFolderTrack(myCard.folder, currentTrack);
|
||||
}
|
||||
// Spezialmodus Von-Bin: Hörspiel: eine zufällige Datei aus dem Ordner
|
||||
@@ -565,11 +598,12 @@ void loop() {
|
||||
}
|
||||
|
||||
void adminMenu() {
|
||||
disablestandbyTimer();
|
||||
mp3.pause();
|
||||
Serial.println(F("=== adminMenu()"));
|
||||
knownCard = false;
|
||||
|
||||
int subMenu = voiceMenu(9, 900, 900);
|
||||
int subMenu = voiceMenu(10, 900, 900);
|
||||
if (subMenu == 1) {
|
||||
resetCard();
|
||||
mfrc522.PICC_HaltA();
|
||||
@@ -586,6 +620,12 @@ void adminMenu() {
|
||||
else if (subMenu == 6) {
|
||||
// create master card
|
||||
}
|
||||
else if (subMenu == 7) {
|
||||
// Tasten mit einem Shortcut konfigurieren
|
||||
}
|
||||
else if (subMenu == 8) {
|
||||
// Den Standbytimer konfigurieren
|
||||
}
|
||||
else if (subMenu == 9) {
|
||||
// Ordner abfragen
|
||||
nfcTagObject tempCard;
|
||||
@@ -617,7 +657,16 @@ void adminMenu() {
|
||||
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();
|
||||
setstandbyTimer();
|
||||
}
|
||||
|
||||
int voiceMenu(int numberOfOptions, int startMessage, int messageOffset,
|
||||
|
@@ -136,6 +136,10 @@ say -v Anna "Einzelkarten für einen Ordner erstellen." -o 0909.aiff
|
||||
sox 0909.aiff 0909.wav pitch 800
|
||||
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
|
||||
sox 0920.aiff 0920.wav pitch 800
|
||||
lame -b 128 0920.wav 0920_eq_intro.mp3
|
||||
|
Reference in New Issue
Block a user