Skip to content

Commit f0b4df9

Browse files
authored
Fix menu flicker (#132)
1 parent 1a1af86 commit f0b4df9

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

src/main.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -351,9 +351,9 @@ static uint8_t NormalizeTransportType(uint8_t type) {
351351
? type
352352
: Transport::WIFI_UDP;
353353
#elif defined(ZEDMD_NO_NETWORKING)
354-
return type == Transport::SPI ? Transport::SPI : Transport::USB;
354+
return Transport::USB;
355355
#else
356-
return type <= Transport::SPI ? type : Transport::USB;
356+
return Transport::USB;
357357
#endif
358358
}
359359

@@ -776,6 +776,7 @@ void AcquireNextBuffer() {
776776
void CheckMenuButton() {
777777
#ifndef DISPLAY_RM67162_AMOLED
778778
if (!digitalRead(FORWARD_BUTTON_PIN)) {
779+
ClearScreen();
779780
settingsMenu = true;
780781
SaveSettingsMenu();
781782
delay(20);
@@ -2061,7 +2062,7 @@ void setup() {
20612062
} else {
20622063
if (position == 3) position = forward ? 4 : 2;
20632064
}
2064-
#ifdef DMDREADER
2065+
#if defined (DMDREADER) || defined(PICO_BUILD)
20652066
if (position == 5) position = forward ? 6 : 4;
20662067
#endif
20672068

@@ -2147,6 +2148,15 @@ void setup() {
21472148
if (up || down) {
21482149
switch (position) {
21492150
case 1: { // Exit
2151+
ClearScreen();
2152+
SaveLum();
2153+
SaveRgbOrder();
2154+
#if defined(ARDUINO_ESP32_S3_N16R8) || defined(PICO_BUILD)
2155+
SaveUsbPackageSizeMultiplier();
2156+
SaveDebug();
2157+
#elif (DMDREADER)
2158+
SaveColor();
2159+
#endif
21502160
Restart();
21512161
break;
21522162
}
@@ -2158,7 +2168,6 @@ void setup() {
21582168

21592169
display->SetBrightness(brightness);
21602170
DisplayLum(255, 191, 0);
2161-
SaveLum();
21622171
break;
21632172
}
21642173
case 3: { // USB Package Size
@@ -2170,7 +2179,6 @@ void setup() {
21702179
DisplayNumber(usbPackageSizeMultiplier * 32, 4,
21712180
7 * (TOTAL_WIDTH / 128) + (16 * 4),
21722181
(TOTAL_HEIGHT / 2) + 4, 255, 191, 0);
2173-
SaveUsbPackageSizeMultiplier();
21742182
break;
21752183
}
21762184
#ifdef DMDREADER
@@ -2187,7 +2195,6 @@ void setup() {
21872195
display->DisplayText(ColorString(loopbackColor),
21882196
7 * (TOTAL_WIDTH / 128) + (6 * 4),
21892197
TOTAL_HEIGHT / 2 + 4, 255, 191, 0);
2190-
SaveColor();
21912198
break;
21922199
}
21932200
#else
@@ -2233,7 +2240,6 @@ void setup() {
22332240
if (++debug > 1) debug = 0;
22342241
DisplayNumber(debug, 1, 7 * (TOTAL_WIDTH / 128) + (6 * 4),
22352242
(TOTAL_HEIGHT / 2) - 10, 255, 191, 0);
2236-
SaveDebug();
22372243
break;
22382244
}
22392245
case 7: { // RGB order
@@ -2251,7 +2257,6 @@ void setup() {
22512257
rgbMode = 5;
22522258
RefreshSetupScreen();
22532259
DisplayRGB(255, 191, 0);
2254-
SaveRgbOrder();
22552260
break;
22562261
}
22572262
case 8: { // LED Test

0 commit comments

Comments
 (0)