From 54ca4fdaf0438c1031408d64e9d6237eea611f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20Vo=C3=9F?= Date: Tue, 7 May 2019 22:11:37 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20f=C3=BCr=20Adminkarten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tonuino.ino | 49 +++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/Tonuino.ino b/Tonuino.ino index 510c502..7d2dd12 100644 --- a/Tonuino.ino +++ b/Tonuino.ino @@ -1456,10 +1456,12 @@ void resetCard() { bool setupFolder(folderSettings * theFolder) { // Ordner abfragen - theFolder->folder = voiceMenu(99, 301, 0, true); + theFolder->folder = voiceMenu(99, 301, 0, true, 0, 0, true); + if (theFolder->folder == 0) return false; // Wiedergabemodus abfragen - theFolder->mode = voiceMenu(9, 310, 310); + theFolder->mode = voiceMenu(9, 310, 310, false, 0, 0, true); + if (theFolder->mode == 0) return false; // // Hörbuchmodus -> Fortschritt im EEPROM auf 1 setzen // EEPROM.update(theFolder->folder, 1); @@ -1472,7 +1474,7 @@ bool setupFolder(folderSettings * theFolder) { if (theFolder->mode == 6) { //theFolder->special = voiceMenu(3, 320, 320); theFolder->folder = 0; - theFolder->mode = 0; + theFolder->mode = 255; } // Spezialmodus Von-Bis if (theFolder->mode == 7 || theFolder->mode == 8 || theFolder->mode == 9) { @@ -1481,21 +1483,23 @@ bool setupFolder(folderSettings * theFolder) { theFolder->special2 = voiceMenu(mp3.getFolderTrackCount(theFolder->folder), 322, 0, true, theFolder->folder, theFolder->special); } + return true; } void setupCard() { mp3.pause(); Serial.println(F("=== setupCard()")); nfcTagObject newCard; - setupFolder(&newCard.nfcFolderSettings); - // Karte ist konfiguriert -> speichern - mp3.pause(); - do { - } while (isPlaying()); - if (newCard.nfcFolderSettings.folder != 0 && newCard.nfcFolderSettings.mode != 0) + if (setupFolder(&newCard.nfcFolderSettings) == true) + { + // Karte ist konfiguriert -> speichern + mp3.pause(); + do { + } while (isPlaying()); writeCard(newCard); + } + delay(1000); } - bool readCard(nfcTagObject * nfcTag) { nfcTagObject tempCard; // Show some details of the PICC (that is: the tag/card) @@ -1637,24 +1641,29 @@ bool readCard(nfcTagObject * nfcTag) { return false; } } - if (isPlaying()) { - mp3.playAdvertisement(260); - } - else { - mp3.start(); - delay(100); - mp3.playAdvertisement(260); - delay(100); - mp3.pause(); + if (tempCard.nfcFolderSettings.mode != 0 && tempCard.nfcFolderSettings.mode != 255) { + if (isPlaying()) { + mp3.playAdvertisement(260); + } + else { + mp3.start(); + delay(100); + mp3.playAdvertisement(260); + delay(100); + mp3.pause(); + } } switch (tempCard.nfcFolderSettings.mode ) { - case 0: mfrc522.PICC_HaltA(); mfrc522.PCD_StopCrypto1(); adminMenu(true); break; + case 0: + case 255: + mfrc522.PICC_HaltA(); mfrc522.PCD_StopCrypto1(); adminMenu(true); break; case 1: activeModifier = new SleepTimer(tempCard.nfcFolderSettings.special); break; case 2: activeModifier = new FreezeDance(); break; case 3: activeModifier = new Locked(); break; case 4: activeModifier = new ToddlerMode(); break; case 5: activeModifier = new KindergardenMode(); break; case 6: activeModifier = new RepeatSingleModifier(); break; + } delay(2000); return false;