ich habe meinen Tonuino nun endlich auch fertig gebaut, aktuell habe ich die DEV mit „Clickencoder“ drauf (https://github.com/Ullergr/TonUINO_KY040/). Es zeigt sich jedoch, dass mein Sohn gerne die Funktion „Pause wenn Karte entfernt“ hätte. Ich selbst scheitere leider dabei den Clickencoder in die Version von mcgreg einzubauen.
Hat jemand zufällig schon beide Versionen zusammen gemerged?
Hallo, um mal konkreter zu werden, ich habe ein Problem damit, die Lautstärkeregelung in die loop einzubauen. In dem Fork von ullegr (https://github.com/Ullergr/TonUINO_KY040/) wird hier eine do … while Schleife eingebaut:
void loop() {
checkStandbyAtMillis();
mp3.loop();
// Modifier : WIP!
if (activeModifier != NULL) {
activeModifier->loop();
}
// Buttons werden nun über JS_Button gehandelt, dadurch kann jede Taste
// doppelt belegt werden
readButtons();
// admin menu
if (( upButton.pressedFor(LONG_PRESS) || downButton.pressedFor(LONG_PRESS)) && upButton.isPressed() && downButton.isPressed()) {
mp3.pause();
do {
readButtons();
} while (upButton.isPressed() || downButton.isPressed());
readButtons();
adminMenu();
return;
}
if (pauseButton.wasReleased()) {
if (activeModifier != NULL)
if (activeModifier->handlePause() == true)
return;
if (ignorePauseButton == false)
if (isPlaying()) {
mp3.pause();
setstandbyTimer();
}
else if (knownCard) {
mp3.start();
disablestandbyTimer();
}
ignorePauseButton = false;
} else if (pauseButton.pressedFor(LONG_PRESS) &&
ignorePauseButton == false) {
if (activeModifier != NULL)
if (activeModifier->handlePause() == true)
return;
if (isPlaying()) {
uint8_t advertTrack;
if (myFolder->mode == 3 || myFolder->mode == 9) {
advertTrack = (queue[currentTrack - 1]);
}
else {
advertTrack = currentTrack;
}
// Spezialmodus Von-Bis für Album und Party gibt die Dateinummer relativ zur Startposition wieder
if (myFolder->mode == 8 || myFolder->mode == 9) {
advertTrack = advertTrack - myFolder->special + 1;
}
mp3.playAdvertisement(advertTrack);
}
else {
playShortCut(0);
}
ignorePauseButton = true;
}
if (upButton.pressedFor(LONG_PRESS)) {
if (isPlaying()) {
if (!mySettings.invertVolumeButtons) {
volumeUpButton();
}
else {
nextButton();
}
}
else {
playShortCut(1);
}
ignoreUpButton = true;
} else if (upButton.wasReleased()) {
if (!ignoreUpButton)
if (!mySettings.invertVolumeButtons) {
nextButton();
}
else {
volumeUpButton();
}
ignoreUpButton = false;
}
if (downButton.pressedFor(LONG_PRESS)) {
if (isPlaying()) {
if (!mySettings.invertVolumeButtons) {
volumeDownButton();
}
else {
previousButton();
}
}
else {
playShortCut(2);
}
ignoreDownButton = true;
} else if (downButton.wasReleased()) {
if (!ignoreDownButton) {
if (!mySettings.invertVolumeButtons) {
previousButton();
}
else {
volumeDownButton();
}
}
ignoreDownButton = false;
}
// Ende der Buttons
#ifdef POTI
potiVolume();
#endif
handleCardReader();
}
Hallo, ich wollte das Thema nochmal nach oben holen und fragen ob sich das einer der Programmierprofis mir einen Tipp geben kann.
Vielen Dank schon Mal.
Gruß Florian