MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / getDisplayDriver

Method getDisplayDriver

Drivers/EspLcdCompat/Source/EspLcdDisplay.cpp:94–130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94std::shared_ptr<tt::hal::display::DisplayDriver> EspLcdDisplay::getDisplayDriver() {
95 assert(lvglDisplay == nullptr); // Still attached to LVGL context. Call stopLvgl() first.
96 if (displayDriver == nullptr) {
97 auto lvgl_port_config = getLvglPortDisplayConfig(ioHandle, panelHandle);
98
99 tt::hal::display::ColorFormat color_format;
100 if (lvgl_port_config.color_format == LV_COLOR_FORMAT_I1) {
101 color_format = tt::hal::display::ColorFormat::Monochrome;
102 } else if (lvgl_port_config.color_format == LV_COLOR_FORMAT_RGB565) {
103 if (rgbElementOrder == LCD_RGB_ELEMENT_ORDER_RGB) {
104 if (lvgl_port_config.flags.swap_bytes) {
105 color_format = tt::hal::display::ColorFormat::RGB565Swapped;
106 } else {
107 color_format = tt::hal::display::ColorFormat::RGB565;
108 }
109 } else {
110 if (lvgl_port_config.flags.swap_bytes) {
111 color_format = tt::hal::display::ColorFormat::BGR565Swapped;
112 } else {
113 color_format = tt::hal::display::ColorFormat::BGR565;
114 }
115 }
116 } else if (lvgl_port_config.color_format == LV_COLOR_FORMAT_RGB888) {
117 color_format = tt::hal::display::ColorFormat::RGB888;
118 } else {
119 check(false, "unsupported driver");
120 }
121
122 displayDriver = std::make_shared<EspLcdDisplayDriver>(
123 panelHandle,
124 lvgl_port_config.hres,
125 lvgl_port_config.vres,
126 color_format
127 );
128 }
129 return displayDriver;
130}

Callers 1

Calls 1

checkFunction · 0.50

Tested by

no test coverage detected