mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-11 16:07:13 +00:00
add X11 panel setting (among others)
This commit is contained in:
parent
7217569a55
commit
0c291665d8
42
src/main.cpp
42
src/main.cpp
@ -664,47 +664,43 @@ void setup()
|
|||||||
#ifdef PORTDUINO
|
#ifdef PORTDUINO
|
||||||
if (settingsMap[displayPanel] != no_screen) {
|
if (settingsMap[displayPanel] != no_screen) {
|
||||||
DisplayDriverConfig displayConfig;
|
DisplayDriverConfig displayConfig;
|
||||||
char *panels[] = {"NOSCREEN", "ST7789", "ST7735", "ST7735S", "ILI9341", "ILI9488", "ST7796", "HX8357D"};
|
char *panels[] = {"NOSCREEN", "X11", "ST7789", "ST7735", "ST7735S", "ST7796", "ILI9341", "ILI9488", "HX8357D"};
|
||||||
char *touch[] = {"NOTOUCH", "XPT2046", "STMPE610", "GT911", "FT5x06"};
|
char *touch[] = {"NOTOUCH", "XPT2046", "STMPE610", "GT911", "FT5x06"};
|
||||||
#ifdef USE_X11
|
#ifdef USE_X11
|
||||||
if (settingsMap[displayPanel] == no_screen /* x11 */) { // TODO: add x11 enum
|
if (settingsMap[displayPanel] == x11) {
|
||||||
displayConfig.device(DisplayDriverConfig::device_t::X11);
|
displayConfig.device(DisplayDriverConfig::device_t::X11);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
displayConfig.device(DisplayDriverConfig::device_t::CUSTOM_TFT)
|
displayConfig.device(DisplayDriverConfig::device_t::CUSTOM_TFT)
|
||||||
.panel(DisplayDriverConfig::panel_config_t{
|
.panel(DisplayDriverConfig::panel_config_t{.type = panels[settingsMap[displayPanel]],
|
||||||
.type = panels[settingsMap[displayPanel]],
|
.panel_width = (uint16_t)settingsMap[displayWidth],
|
||||||
.panel_width = (uint16_t)settingsMap[displayWidth],
|
.panel_height = (uint16_t)settingsMap[displayHeight],
|
||||||
.panel_height = (uint16_t)settingsMap[displayHeight],
|
.rotation = (bool)settingsMap[displayRotate],
|
||||||
.rotation = (bool)settingsMap[displayRotate],
|
.pin_cs = (int16_t)settingsMap[displayCS],
|
||||||
.pin_cs = (int16_t)settingsMap[displayCS],
|
.pin_rst = (int16_t)settingsMap[displayReset],
|
||||||
.pin_rst = (int16_t)settingsMap[displayReset],
|
.offset_x = (uint16_t)settingsMap[displayOffsetX],
|
||||||
.offset_x = (uint16_t)settingsMap[displayOffsetX],
|
.offset_y = (uint16_t)settingsMap[displayOffsetY],
|
||||||
.offset_y = (uint16_t)settingsMap[displayOffsetY],
|
.offset_rotation = (uint8_t)settingsMap[displayOffsetRotate],
|
||||||
.offset_rotation = 1, // TODO:
|
.invert = settingsMap[displayInvert] ? true : false,
|
||||||
.invert = settingsMap[displayInvert] ? true : false,
|
.rgb_order = (bool)settingsMap[displayRGBOrder]})
|
||||||
.rgb_order = false // TODO:
|
.bus(DisplayDriverConfig::bus_config_t{.freq_write = (uint32_t)settingsMap[displayBusFrequency],
|
||||||
})
|
|
||||||
.bus(DisplayDriverConfig::bus_config_t{.freq_write = 40000000,
|
|
||||||
.freq_read = 16000000,
|
.freq_read = 16000000,
|
||||||
.spi{
|
.spi{
|
||||||
.pin_dc = (int8_t)settingsMap[displayDC], .use_lock = true,
|
.pin_dc = (int8_t)settingsMap[displayDC], .use_lock = true,
|
||||||
// .spi_host = 0 // TODO:
|
// .spi_host = 0 // TODO:
|
||||||
}})
|
}})
|
||||||
.touch(DisplayDriverConfig::touch_config_t{.type = touch[settingsMap[touchscreenModule]],
|
.touch(DisplayDriverConfig::touch_config_t{.type = touch[settingsMap[touchscreenModule]],
|
||||||
//.freq = 2500000,
|
.freq = (uint32_t)settingsMap[touchscreenBusFrequency],
|
||||||
.pin_int = (int16_t)settingsMap[touchscreenIRQ],
|
.pin_int = (int16_t)settingsMap[touchscreenIRQ],
|
||||||
.offset_rotation = 0, // TODO:
|
.offset_rotation = (uint8_t)settingsMap[touchscreenRotate],
|
||||||
.spi{
|
.spi{
|
||||||
.spi_host = 0, // TODO:
|
.spi_host = 0, // TODO:
|
||||||
},
|
},
|
||||||
.pin_cs = (int16_t)settingsMap[touchscreenCS]})
|
.pin_cs = (int16_t)settingsMap[touchscreenCS]})
|
||||||
.light(DisplayDriverConfig::light_config_t{
|
.light(DisplayDriverConfig::light_config_t{.pin_bl = (int16_t)settingsMap[displayBacklight],
|
||||||
.pin_bl = (int16_t)settingsMap[displayBacklight],
|
.pwm_channel = (int8_t)settingsMap[displayBacklightPWMChannel],
|
||||||
.pwm_channel = -1, // TODO:
|
.invert = (bool)settingsMap[displayBacklightInvert]});
|
||||||
.invert = false // TODO:
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
deviceScreen = &DeviceScreen::create(&displayConfig);
|
deviceScreen = &DeviceScreen::create(&displayConfig);
|
||||||
PacketAPI::create(PacketServer::init());
|
PacketAPI::create(PacketServer::init());
|
||||||
|
Loading…
Reference in New Issue
Block a user