From 06fa584b6d75bb6f30db18e54ceb2c3e48d0c130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20T=C3=B3th?= Date: Sat, 6 Dec 2025 09:03:02 +0100 Subject: [PATCH] Refactor code structure for improved readability and maintainability, imporved matrix read, improved SB button read --- dev/digital/Firmware_TEST/.gitignore | 5 +- .../build/esp32-s3-devkitm-1/firmware.bin | Bin 0 -> 285872 bytes dev/digital/Firmware_TEST/include/FIRMWARE.h | 4 +- .../Firmware_TEST/include/FIRMWARE_DEF.h | 9 +- dev/digital/Firmware_TEST/src/FIRMWARE.cpp | 92 +++++++-- dev/digital/Firmware_TEST/src/main.cpp | 192 +++++++++++------- 6 files changed, 211 insertions(+), 91 deletions(-) create mode 100644 dev/digital/Firmware_TEST/.pio/build/esp32-s3-devkitm-1/firmware.bin diff --git a/dev/digital/Firmware_TEST/.gitignore b/dev/digital/Firmware_TEST/.gitignore index 89cc49c..55b62a8 100644 --- a/dev/digital/Firmware_TEST/.gitignore +++ b/dev/digital/Firmware_TEST/.gitignore @@ -1,4 +1,7 @@ -.pio +.pio/libdeps +.pio/build/project* +.pio/build/esp32-s3-devkitm-1/* +!.pio/build/esp32-s3-devkitm-1/firmware.bin .vscode/.browse.c_cpp.db* .vscode/c_cpp_properties.json .vscode/launch.json diff --git a/dev/digital/Firmware_TEST/.pio/build/esp32-s3-devkitm-1/firmware.bin b/dev/digital/Firmware_TEST/.pio/build/esp32-s3-devkitm-1/firmware.bin new file mode 100644 index 0000000000000000000000000000000000000000..35a9e5aa256d033b7d76739718edb828a8285aec GIT binary patch literal 285872 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 &BQb4`q>|EaL?j1UNBba)w!4>~HGu|* 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�fu? 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 z #include @@ -139,6 +140,7 @@ class SequencerBlock unsigned long _lastStepTime; unsigned long _playStartTime; unsigned long _stepStartTime; + unsigned long _lastAddStepTime; // NEU: Rate-Limiting // Status flags bool _isRecording; diff --git a/dev/digital/Firmware_TEST/include/FIRMWARE_DEF.h b/dev/digital/Firmware_TEST/include/FIRMWARE_DEF.h index f2ee7c4..1e3a5f2 100644 --- a/dev/digital/Firmware_TEST/include/FIRMWARE_DEF.h +++ b/dev/digital/Firmware_TEST/include/FIRMWARE_DEF.h @@ -3,6 +3,7 @@ @author: Erik Tóth @contact: etoth@tsn.at @date: 2025-10-26 + @updated: 2025-12-06 @brief: Header for constant definitions */ @@ -33,10 +34,10 @@ #define PIN_K_C3 5 // DEV. not in use #define PIN_K_C4 6 // DEV. not in use // SEQUENCER BUTTON PINS -#define PIN_SB_1_REC 37 // for PROD. change to 33 / not available on dev board -#define PIN_SB_1_PLAY 38 // for PROD. change to 34 / not available on dev board -#define PIN_SB_2_REC 35 -#define PIN_SB_2_PLAY 36 +#define PIN_SB_1_REC 42 // for PROD. change to 33 / not available on dev board +#define PIN_SB_1_PLAY 41 // for PROD. change to 34 / not available on dev board +#define PIN_SB_2_REC 40 // 35 +#define PIN_SB_2_PLAY 39 // 36 // MISC/INFO PINS #define PIN_ACTIVE -1 // TODO: if any key is played return HIGH #define PIN_REC -1 // TODO: if any sb is recording return HIGH diff --git a/dev/digital/Firmware_TEST/src/FIRMWARE.cpp b/dev/digital/Firmware_TEST/src/FIRMWARE.cpp index f4b510b..b85e75f 100644 --- a/dev/digital/Firmware_TEST/src/FIRMWARE.cpp +++ b/dev/digital/Firmware_TEST/src/FIRMWARE.cpp @@ -3,7 +3,8 @@ @author: Erik Tóth @contact: etoth@tsn.at @date: 2025-10-26 - @brief: Firmware for MCU + @updated: 2025-12-06 + @brief: Firmware für MCU - FIXED VERSION mit Bounds Checks */ #include "FIRMWARE.h" @@ -48,7 +49,7 @@ Keyboard::Keyboard(uint8_t nRows, uint8_t nCols, uint8_t *pinsRow, uint8_t *pins void Keyboard::begin() { for(int i = 0; i < _nRows; i++) pinMode(_pinsRow[i], INPUT_PULLDOWN); - for(int i = 0; i < _nCols; i++) pinMode(_pinsCol[i], OUTPUT); + for(int i = 0; i < _nCols; i++) pinMode(_pinsCol[i], INPUT); } void Keyboard::update() @@ -56,6 +57,7 @@ void Keyboard::update() unsigned long now = millis(); for(uint8_t col = 0; col < _nCols; col++) { + pinMode(_pinsCol[col], OUTPUT); digitalWrite(_pinsCol[col], HIGH); for(uint8_t row = 0; row < _nRows; ++row) { @@ -79,6 +81,7 @@ void Keyboard::update() } } digitalWrite(_pinsCol[col], LOW); + pinMode(_pinsCol[col], INPUT); } if((_nActiveKeys == 1) && _inQueue(NOT_A_KEY)) _nActiveKeys = 0; } @@ -231,7 +234,7 @@ uint8_t CV::_getKeyToVoltageIndex(Key k) return (k.row*_col + k.col); } -// ==================== SequencerBlock ==================== +// ==================== SequencerBlock (FIXED) ==================== /*! * @param maxDurationMS maximum loop duration of recording in milliseconds @@ -252,6 +255,7 @@ SequencerBlock::SequencerBlock(uint16_t maxDurationMS, uint16_t maxStepCount) _lastStepTime = 0; _playStartTime = 0; _stepStartTime = 0; + _lastAddStepTime = 0; // NEU: Rate-Limiting } void SequencerBlock::startRecord() @@ -262,7 +266,8 @@ void SequencerBlock::startRecord() _isRecording = true; _recordStartTime = millis(); _lastStepTime = _recordStartTime; - _lastVoltageCh1 = 0xFFFF; // Ungültiger Wert zum Triggern des ersten Steps + _lastAddStepTime = _recordStartTime; // NEU + _lastVoltageCh1 = 0xFFFF; _lastVoltageCh2 = 0xFFFF; } @@ -276,28 +281,54 @@ void SequencerBlock::stopRecord() void SequencerBlock::addStep(uint16_t voltage_ch1, uint16_t voltage_ch2) { + // KRITISCHE SICHERHEITSPRÜFUNGEN ZUERST if(!_isRecording) return; + + // Prüfe ob wir überhaupt noch Platz haben (mit Sicherheitsabstand!) + if(_stepCount >= _MAX_SEQUENCE_STEPS - 1) + { + Serial.println("\n\r[ERROR] Step limit reached! Stopping recording."); + stopRecord(); + return; + } + if(timeLimitReached()) { + Serial.println("\n\r[WARNING] Time limit reached! Stopping recording."); stopRecord(); return; } unsigned long now = millis(); + // NEU: Rate-Limiting - ignoriere zu häufige Aufrufe + if((now - _lastAddStepTime) < 5) // Mindestens 5ms zwischen Updates + { + return; + } + _lastAddStepTime = now; + // Hat sich die Spannung geändert? bool voltageChanged = (voltage_ch1 != _lastVoltageCh1) || (voltage_ch2 != _lastVoltageCh2); if(voltageChanged) { + // WICHTIG: Prüfe nochmal ob wir Platz haben BEVOR wir schreiben! + if(_stepCount >= _MAX_SEQUENCE_STEPS - 1) + { + Serial.println("\n\r[ERROR] Array full! Stopping recording."); + stopRecord(); + return; + } + // Vorherigen Step abschließen (wenn vorhanden) - if(_stepCount > 0) + if(_stepCount > 0 && _stepCount <= _MAX_SEQUENCE_STEPS) { _finishCurrentStep(); } - // Neuen Step beginnen - if(_canAddStep()) + // Neuen Step beginnen - mit Bounds Check! + if(_stepCount < _MAX_SEQUENCE_STEPS) { _sequence[_stepCount].voltage_ch1 = voltage_ch1; _sequence[_stepCount].voltage_ch2 = voltage_ch2; @@ -312,7 +343,8 @@ void SequencerBlock::addStep(uint16_t voltage_ch1, uint16_t voltage_ch2) else { // Gleiche Spannung - Duration des aktuellen Steps aktualisieren - if(_stepCount > 0) + // WICHTIG: Bounds Check! + if(_stepCount > 0 && _stepCount <= _MAX_SEQUENCE_STEPS) { _sequence[_stepCount - 1].duration = now - _lastStepTime; } @@ -345,9 +377,37 @@ void SequencerBlock::update() { if(!_isPlaying || _stepCount == 0) return; + // WICHTIG: Bounds Check BEVOR wir auf Array zugreifen! + if(_currentStep >= _stepCount || _currentStep >= _MAX_SEQUENCE_STEPS) + { + Serial.println("\n\r[ERROR] Invalid step index in update()!"); + stopPlay(); + return; + } + unsigned long now = millis(); unsigned long elapsed = now - _stepStartTime; + // Sicherung gegen Division durch Null / Endlosschleife + if(_sequence[_currentStep].duration == 0) + { + _currentStep++; + _stepStartTime = now; + + if(_currentStep >= _stepCount) + { + if(_loop) + { + _currentStep = 0; + } + else + { + stopPlay(); + } + } + return; + } + // Prüfen ob aktueller Schritt abgelaufen ist if(elapsed >= _sequence[_currentStep].duration) { @@ -386,7 +446,8 @@ void SequencerBlock::clear() _lastVoltageCh1 = 0; _lastVoltageCh2 = 0; - for(uint8_t i = 0; i < _MAX_SEQUENCE_STEPS; i++) + // Optional: Array löschen (kann je nach Use-Case weggelassen werden) + for(uint16_t i = 0; i < _MAX_SEQUENCE_STEPS; i++) { _sequence[i].voltage_ch1 = 0; _sequence[i].voltage_ch2 = 0; @@ -411,7 +472,7 @@ bool SequencerBlock::timeLimitReached() bool SequencerBlock::stepLimitReached() { - return (_stepCount >= _maxStepCount); + return (_stepCount >= _maxStepCount) || (_stepCount >= _MAX_SEQUENCE_STEPS); } uint16_t SequencerBlock::getStepCount() @@ -422,7 +483,7 @@ uint16_t SequencerBlock::getStepCount() uint16_t SequencerBlock::getCurrentVoltageCh1() { if(!_isPlaying || _stepCount == 0) return 0; - if(_currentStep >= _stepCount) return 0; + if(_currentStep >= _stepCount || _currentStep >= _MAX_SEQUENCE_STEPS) return 0; return _sequence[_currentStep].voltage_ch1; } @@ -430,24 +491,25 @@ uint16_t SequencerBlock::getCurrentVoltageCh1() uint16_t SequencerBlock::getCurrentVoltageCh2() { if(!_isPlaying || _stepCount == 0) return 0; - if(_currentStep >= _stepCount) return 0; + if(_currentStep >= _stepCount || _currentStep >= _MAX_SEQUENCE_STEPS) return 0; return _sequence[_currentStep].voltage_ch2; } uint16_t SequencerBlock::getTotalDuration() { - uint16_t total = 0; - for(uint8_t i = 0; i < _stepCount; i++) + uint32_t total = 0; // uint32 um Overflow zu vermeiden + for(uint16_t i = 0; i < _stepCount && i < _MAX_SEQUENCE_STEPS; i++) { total += _sequence[i].duration; } - return total; + return (total > 65535) ? 65535 : (uint16_t)total; // Clamp auf uint16 } void SequencerBlock::_finishCurrentStep() { if(_stepCount == 0) return; + if(_stepCount > _MAX_SEQUENCE_STEPS) return; // Sicherheitsprüfung unsigned long now = millis(); uint16_t duration = now - _lastStepTime; diff --git a/dev/digital/Firmware_TEST/src/main.cpp b/dev/digital/Firmware_TEST/src/main.cpp index c3d5144..46e1197 100644 --- a/dev/digital/Firmware_TEST/src/main.cpp +++ b/dev/digital/Firmware_TEST/src/main.cpp @@ -1,8 +1,9 @@ /* -* Example Code Three - Dual Channel Sequencer -* TODO: - - add predefined sequence of voltage (e.g. for usage as startup sound) - - implement INFO and MISC pins form file FIRMWARE_DEF.h +* Example Code Three - Dual Channel Sequencer (FIXED) +* - Bounds Checks hinzugefügt +* - Rate-Limiting implementiert +* - Debug-Ausgaben erweitert +* - Stack Overflow verhindert */ #include "FIRMWARE_DEF.h" #include "FIRMWARE.h" @@ -41,9 +42,17 @@ ButtonState btn_sb2_play; const unsigned long DEBOUNCE_DELAY = 50; +// Loop-Status für State Machine +static bool seq1_loop_active = false; +static bool seq2_loop_active = false; + +// NEU: Tracking für Voltage Changes +static uint16_t last_voltage_ch1 = 0xFFFF; +static uint16_t last_voltage_ch2 = 0xFFFF; + bool readButton(byte pin, ButtonState &state) { - bool reading = digitalRead(pin) == HIGH; + bool reading = digitalRead(pin) == LOW; bool buttonPressed = false; if(reading != state.last) @@ -69,10 +78,10 @@ bool readButton(byte pin, ButtonState &state) void initButtons() { - pinMode(PIN_SB_1_REC, INPUT_PULLDOWN); - pinMode(PIN_SB_1_PLAY, INPUT_PULLDOWN); - pinMode(PIN_SB_2_REC, INPUT_PULLDOWN); - pinMode(PIN_SB_2_PLAY, INPUT_PULLDOWN); + pinMode(PIN_SB_1_REC, INPUT_PULLUP); + pinMode(PIN_SB_1_PLAY, INPUT_PULLUP); + pinMode(PIN_SB_2_REC, INPUT_PULLUP); + pinMode(PIN_SB_2_PLAY, INPUT_PULLUP); btn_sb1_rec.current = false; btn_sb1_rec.last = false; @@ -93,7 +102,7 @@ void initButtons() void handleSequencerButtons() { - // Sequencer 1 Record Button + // ===== Sequencer 1 Record Button ===== if(readButton(PIN_SB_1_REC, btn_sb1_rec)) { if(sb1.isRecording()) @@ -106,58 +115,39 @@ void handleSequencerButtons() { if(sb1.isPlaying()) sb1.stopPlay(); sb1.startRecord(); + last_voltage_ch1 = 0xFFFF; // Reset voltage tracking + last_voltage_ch2 = 0xFFFF; Serial.printf("\n\r[SEQ1] Recording started (2 channels)..."); } } - // Sequencer 1 Play Button - 3 Modi: Play / Loop / Stop + // ===== Sequencer 1 Play Button (3 Stati: Play / Loop / Stop) ===== if(readButton(PIN_SB_1_PLAY, btn_sb1_play)) { if(!sb1.isPlaying()) { - // Nicht am Spielen -> Starte Playback (ohne Loop) if(sb1.isRecording()) sb1.stopRecord(); sb1.setLoop(false); + seq1_loop_active = false; sb1.startPlay(); - Serial.printf("\n\r[SEQ1] Playback started (single)\n\r\tSteps: %i, Duartion: %ims", sb1.getStepCount(), sb1.getTotalDuration()); + Serial.printf("\n\r[SEQ1] Playback started (single)\n\r\tSteps: %i, Duration: %ims", + sb1.getStepCount(), sb1.getTotalDuration()); + } + else if(!seq1_loop_active) + { + sb1.setLoop(true); + seq1_loop_active = true; + Serial.printf("\n\r[SEQ1] Loop activated"); } else { - // Am Spielen -> Prüfe Loop-Status - if(!sb1.isPlaying()) // Falls schon gestoppt - { - // Starte neu - sb1.setLoop(false); - sb1.startPlay(); - Serial.printf("\n\r[SEQ1] Playback started (single)"); - } - else - { - // Ist am Spielen - ermittle ob Loop aktiv ist - // Wir testen das indirekt: Wenn ein Sequencer am Ende angekommen ist - // und noch spielt, dann muss Loop aktiv sein - // Alternative: Wir tracken den Loop-Status selbst - static bool seq1_loop_active = false; - - if(!seq1_loop_active) - { - // 2. Klick: Loop aktivieren - sb1.setLoop(true); - seq1_loop_active = true; - Serial.printf("\n\r[SEQ1] Loop activated"); - } - else - { - // 3. Klick: Stop - sb1.stopPlay(); - seq1_loop_active = false; - Serial.printf("\n\r[SEQ1] Playback stopped"); - } - } + sb1.stopPlay(); + seq1_loop_active = false; + Serial.printf("\n\r[SEQ1] Playback stopped"); } } - // Sequencer 2 Record Button + // ===== Sequencer 2 Record Button ===== if(readButton(PIN_SB_2_REC, btn_sb2_rec)) { if(sb2.isRecording()) @@ -170,40 +160,35 @@ void handleSequencerButtons() { if(sb2.isPlaying()) sb2.stopPlay(); sb2.startRecord(); + last_voltage_ch1 = 0xFFFF; // Reset voltage tracking + last_voltage_ch2 = 0xFFFF; Serial.printf("\n\r[SEQ2] Recording started (2 channels)..."); } } - // Sequencer 2 Play Button - 3 Modi: Play / Loop / Stop + // ===== Sequencer 2 Play Button (3 Stati: Play / Loop / Stop) ===== if(readButton(PIN_SB_2_PLAY, btn_sb2_play)) { - static bool seq2_loop_active = false; - if(!sb2.isPlaying()) { - // Nicht am Spielen -> Starte Playback (ohne Loop) if(sb2.isRecording()) sb2.stopRecord(); sb2.setLoop(false); seq2_loop_active = false; sb2.startPlay(); - Serial.printf("\n\r[SEQ2] Playback started (single)"); + Serial.printf("\n\r[SEQ2] Playback started (single)\n\r\tSteps: %i, Duration: %ims", + sb2.getStepCount(), sb2.getTotalDuration()); + } + else if(!seq2_loop_active) + { + sb2.setLoop(true); + seq2_loop_active = true; + Serial.printf("\n\r[SEQ2] Loop activated"); } else { - if(!seq2_loop_active) - { - // 2. Klick: Loop aktivieren - sb2.setLoop(true); - seq2_loop_active = true; - Serial.printf("\n\r[SEQ2] Loop activated"); - } - else - { - // 3. Klick: Stop - sb2.stopPlay(); - seq2_loop_active = false; - Serial.printf("\n\r[SEQ2] Playback stopped"); - } + sb2.stopPlay(); + seq2_loop_active = false; + Serial.printf("\n\r[SEQ2] Playback stopped"); } } } @@ -211,8 +196,28 @@ void handleSequencerButtons() void setup() { Serial.begin(BAUDRATE); + delay(2000); + Serial.printf("\n\r=== FIXED VERSION v2 ==="); + Serial.printf("\n\rSerial OK!"); + keyboard.begin(); - cv.begin(PIN_SDA, PIN_SCL); + + // Fehlerbehandlung für CV-Initialisierung + unsigned long timeout = millis() + 5000; + while(!cv.begin(PIN_SDA, PIN_SCL)) + { + Serial.printf("\n\r[ERROR] CV initialization failed. Retrying..."); + delay(500); + + if(millis() > timeout) + { + Serial.printf("\n\r[FATAL] CV initialization timeout! Check I2C connection."); + break; + } + } + + Serial.printf("\n\r[OK] CV initialized"); + initButtons(); sb1.setLoop(false); @@ -227,11 +232,47 @@ void setup() Serial.printf("\n\r 3rd click: Stop"); Serial.printf("\n\r PIN_SB_2_REC: SEQ2 Record Start/Stop (CH1+CH2)"); Serial.printf("\n\r PIN_SB_2_PLAY: SEQ2 Play Mode (same as SEQ1)"); + Serial.printf("\n\r"); + Serial.printf("\n\rFIXES:"); + Serial.printf("\n\r - Bounds checks in all array accesses"); + Serial.printf("\n\r - Rate limiting (5ms) for addStep()"); + Serial.printf("\n\r - Only call addStep() on voltage change"); + Serial.printf("\n\r - Stack overflow prevention"); Serial.printf("\n\r==============================================\n\r"); } void loop() { + // ===== DEBUG HEARTBEAT ===== + static unsigned long lastDebugPrint = 0; + static unsigned long loopCounter = 0; + + loopCounter++; + + // Debug-Ausgabe alle 5 Sekunden + if(millis() - lastDebugPrint > 5000) + { + Serial.printf("\n\r[HEARTBEAT] Loop count: %lu", loopCounter); + Serial.printf("\n\r[DEBUG] SB1: Rec=%d, Play=%d, Steps=%d", + sb1.isRecording(), sb1.isPlaying(), sb1.getStepCount()); + Serial.printf("\n\r[DEBUG] SB2: Rec=%d, Play=%d, Steps=%d", + sb2.isRecording(), sb2.isPlaying(), sb2.getStepCount()); + Serial.printf("\n\r[DEBUG] Free heap: %lu bytes", ESP.getFreeHeap()); + lastDebugPrint = millis(); + } + + // ===== NON-BLOCKING TIMING SYSTEM ===== + static unsigned long lastLoopTime = 0; + unsigned long now = millis(); + const unsigned long LOOP_INTERVAL = 10; // 10ms + + if((now - lastLoopTime) < LOOP_INTERVAL) + { + return; // Nicht blockierend + } + lastLoopTime = now; + + // ===== NORMALE UPDATE-FUNKTIONEN ===== keyboard.update(); handleSequencerButtons(); @@ -263,14 +304,27 @@ void loop() } } - // Bei Recording: Beide Kanäle aufnehmen + // Bei Recording: Beide Kanäle aufnehmen - NUR bei Änderung! + bool voltageChanged = (voltage_ch1 != last_voltage_ch1) || (voltage_ch2 != last_voltage_ch2); + if(sb1.isRecording()) { - sb1.addStep(voltage_ch1, voltage_ch2); + if(voltageChanged) + { + sb1.addStep(voltage_ch1, voltage_ch2); + last_voltage_ch1 = voltage_ch1; + last_voltage_ch2 = voltage_ch2; + } } + if(sb2.isRecording()) { - sb2.addStep(voltage_ch1, voltage_ch2); + if(voltageChanged) + { + sb2.addStep(voltage_ch1, voltage_ch2); + last_voltage_ch1 = voltage_ch1; + last_voltage_ch2 = voltage_ch2; + } } // CV-Ausgabe: Priorität hat Sequencer-Wiedergabe @@ -306,6 +360,4 @@ void loop() Serial.printf("\n\r[SEQ2] Final: Steps: %i, Duration: %ims", sb2.getStepCount(), sb2.getTotalDuration()); } - - delay(10); } \ No newline at end of file