Boah , seid drei Stunden versuche ich einen Fehler in meiner Software zu finden und hab nun endlich den Übeltäter entdeckt…
Von vorne:
Ich wollte in meinen Fork die Strucktur der Eingabeerkennung ändern und habe dafür ein struct erstellt:
struct inputTrigger {
bool pauseTrack;
bool next;
bool previous;
bool volumeUp;
bool volumeDown;
#if defined ANALOG_INPUT
bool shortCut [2 + ANALOG_INPUT_POSITIONS];
#else
bool shortCut [2];
#endif
bool shutDown;
};
Anstatt die Buttons im Main loop zu lesen sollen die neuen Trigger gelesen werden.
Aber immer wenn ich nextTrack gedrückt habe, stürzte die AiO ab und im Seriellen Monitor waren ein paar Echo Fetzen zu erkennen.
Warum?
Ich habe den ganzen relevanten Code durchforstet, immer wieder Zeilen und Blöcke auskommentiert.
Aber es ergab alles keinen Sinn.
Einzig das auskommentiern folgender Zeile half:
myTrigger->next = upButton.wasReleased();
Dann hatte ich eine idee und habe mein struct verändert, so:
struct inputTrigger {
bool pauseTrack;
bool previous;
bool next;
bool volumeUp;
bool volumeDown;
#if defined ANALOG_INPUT
bool shortCut [2 + ANALOG_INPUT_POSITIONS];
#else
bool shortCut [2];
#endif
bool shutDown;
};
previous und next habe ich getauscht.
Dann kam die Bestätigung, nun hat previous den Absturz verursacht.
Eine weiter Änderung des struct brachte dann einen kleinen Erfolg:
struct inputTrigger {
bool pauseTrack;
bool placeHolder; //Bit an dieser Stelle im Flash defekt?????
bool previous;
bool next;
bool volumeUp;
bool volumeDown;
#if defined ANALOG_INPUT
bool shortCut [2 + ANALOG_INPUT_POSITIONS];
#else
bool shortCut [2];
#endif
bool shutDown;
};
Ich habe eine Dummy Variable eingefügt und da schau her der Code läuft wie erwartet.
Meine Vermutung ist folgende und dazu brauche ich eure Einschätzung/Rat:
Jedes mal wenn ich versucht habe ein true
an die Stelle des Struct zu schreiben an der zuerst bool next
, dann bool previous
stand, stürzt der Controller ab. Meine folgerung ist, das die Speicherstelle im RAM defekt ist.
Kann das sein? Kann man das genauer prüfen?
@stephan, @Thorsten habt ihr sowas mit dem LGT8 schon mal erlebt, davon gehört.