diff --git a/src/main.cpp b/src/main.cpp index 1868d98c7..0a1305014 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -761,8 +761,17 @@ void setup() #if defined(USE_SH1107_128_64) screen_model = meshtastic_Config_DisplayConfig_OledType_OLED_SH1107; // keep dimension of 128x64 + screen_geometry = GEOMETRY_128_64; #endif + // if we have one of the fixed overrides in the settings, adjust display type accordingly. + if (screen_model == meshtastic_Config_DisplayConfig_OledType_OLED_SH1107) { + screen_geometry = GEOMETRY_128_128; + } else if (screen_model == meshtastic_Config_DisplayConfig_OledType_OLED_SH1107_128_64) { + screen_model == meshtastic_Config_DisplayConfig_OledType_OLED_SH1107; + screen_geometry = GEOMETRY_128_64; + } + #if !MESHTASTIC_EXCLUDE_I2C #if !defined(ARCH_STM32WL) if (acc_info.type != ScanI2C::DeviceType::NONE) {