From d6725b6f4301f183cc165e22d7bd108a8c8998f0 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Sun, 4 Jun 2023 18:22:20 +0200 Subject: [PATCH] fix display during send/receive --- include/constants.h | 2 +- src/MEGAfm.cpp | 34 ++++++++++++++++------------------ src/leds.cpp | 4 +++- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/include/constants.h b/include/constants.h index 2ec5c9f..8c902b5 100644 --- a/include/constants.h +++ b/include/constants.h @@ -6,7 +6,7 @@ #define MEGAFM_CONSTANTS_H const byte kVersion0 = 3; -const byte kVersion1 = 1; +const byte kVersion1 = 2; const byte kDefaultSeq[16] = {0, 0, 0, 0, 12, 12, 12, 12, 0, 0, 12, 0, 0, 12, 12, 0}; diff --git a/src/MEGAfm.cpp b/src/MEGAfm.cpp index 4368b4c..94f4c75 100644 --- a/src/MEGAfm.cpp +++ b/src/MEGAfm.cpp @@ -461,19 +461,6 @@ void setup() { Serial.begin(31250); // midiSetup(); - mux(14); - if (!digitalRead(A1)) { - sendReceive = 2; // preset down = send midi dump - bank = 0; - showSendReceive(); - } - mux(5); - if (!digitalRead(A1)) { - sendReceive = 1; // preset up = get midi dump - bank = 0; - showSendReceive(); - } - mux(13); if ((!digitalRead(A1)) || ((EEPROM.read(0) == 255) && (EEPROM.read(1) == 255) && (EEPROM.read(2) == 255) && (EEPROM.read(3) == 255))) { @@ -512,8 +499,11 @@ void setup() { for (int i = 0; i < 16; i++) { readMux(); } - loadPreset(); - loadPreset(); + + if (!sendReceive) { + loadPreset(); + loadPreset(); + } bendUp = EEPROM.read(3959); if ((bendUp > 48) || (!bendUp)) { @@ -530,8 +520,16 @@ void setup() { mpe = 0; } - if (preset == 0) { - digit(0, 0); - digit(1, 0); + mux(14); + if (!digitalRead(A1)) { + sendReceive = 2; // preset down = send midi dump + bank = 0; + showSendReceive(); + } + mux(5); + if (!digitalRead(A1)) { + sendReceive = 1; // preset up = get midi dump + bank = 0; + showSendReceive(); } } diff --git a/src/leds.cpp b/src/leds.cpp index 4cac12f..f6f9b75 100644 --- a/src/leds.cpp +++ b/src/leds.cpp @@ -218,6 +218,8 @@ void leftDot() { void showSendReceive() { + showPresetNumberTimeout = 0; + ledSet(16, 0); ledSet(17, 0); ledSet(18, 0); @@ -240,7 +242,7 @@ void showSendReceive() { int lastValue; void ledNumber(int value) { - if (!displayFreeze) { + if (!displayFreeze && !sendReceive) { if (value == 666) { //.5 digit(0, 21); digit(1, 5);