diff --git a/src/drv/tft_driver.h b/src/drv/tft_driver.h index 0488a2f3..07d79b7a 100644 --- a/src/drv/tft_driver.h +++ b/src/drv/tft_driver.h @@ -27,6 +27,10 @@ class BaseTft { { return false; } + virtual const char* get_tft_model() + { + return ""; + } }; } // namespace dev diff --git a/src/drv/tft_driver_sdl2.h b/src/drv/tft_driver_sdl2.h index 2b443fad..fdab19bb 100644 --- a/src/drv/tft_driver_sdl2.h +++ b/src/drv/tft_driver_sdl2.h @@ -87,6 +87,10 @@ class TftSdl2 : BaseTft { { return false; } + const char* get_tft_model() + { + return "SDL2"; + } }; } // namespace dev diff --git a/src/drv/tft_driver_tftespi.cpp b/src/drv/tft_driver_tftespi.cpp index e015b567..c0dfcdd1 100644 --- a/src/drv/tft_driver_tftespi.cpp +++ b/src/drv/tft_driver_tftespi.cpp @@ -28,7 +28,7 @@ void TftEspi::show_info() if(tftSetup.tft_driver != 0xE9D) // For ePaper displays the size is defined in the sketch { - LOG_VERBOSE(TAG_TFT, F("Driver : %s"), halDisplayDriverName().c_str()); // tftSetup.tft_driver); + LOG_VERBOSE(TAG_TFT, F("Driver : %s"), haspTft.get_tft_model()); // tftSetup.tft_driver); LOG_VERBOSE(TAG_TFT, F("Resolution : %ix%i"), tftSetup.tft_width, tftSetup.tft_height); } else if(tftSetup.tft_driver == 0xE9D) LOG_VERBOSE(TAG_TFT, F("Driver = ePaper")); @@ -228,6 +228,42 @@ bool TftEspi::is_driver_pin(uint8_t pin) return false; } + +const char* TftEspi::get_tft_model() +{ +#if defined(ILI9341_DRIVER) + return "ILI9341"; +#elif defined(ST7735_DRIVER) + return "ST7735"; +#elif defined(ILI9163_DRIVER) + return "ILI9163"; +#elif defined(S6D02A1_DRIVER) + return "S6D02A1"; +#elif defined(ST7796_DRIVER) + return "ST7796"; +#elif defined(ILI9486_DRIVER) + return "ILI9486"; +#elif defined(ILI9481_DRIVER) + return "ILI9481"; +#elif defined(ILI9488_DRIVER) + return "ILI9488"; +#elif defined(HX8357D_DRIVER) + return "HX8357D"; +#elif defined(EPD_DRIVER) + return "EPD"; +#elif defined(ST7789_DRIVER) + return "ST7789"; +#elif defined(R61581_DRIVER) + return "R61581"; +#elif defined(ST7789_2_DRIVER) + return "ST7789_2"; +#elif defined(RM68140_DRIVER) + return "RM68140"; +#else + return "Other"; +#endif +} + } // namespace dev dev::TftEspi haspTft; diff --git a/src/drv/tft_driver_tftespi.h b/src/drv/tft_driver_tftespi.h index 40da4274..7bc88004 100644 --- a/src/drv/tft_driver_tftespi.h +++ b/src/drv/tft_driver_tftespi.h @@ -35,6 +35,8 @@ class TftEspi : BaseTft { void flush_pixels(lv_disp_drv_t* disp, const lv_area_t* area, lv_color_t* color_p); bool is_driver_pin(uint8_t pin); + const char* get_tft_model(); + private: void tftOffsetInfo(uint8_t pin, uint8_t x_offset, uint8_t y_offset) { diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index ce337b65..3f6a7da7 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -7,6 +7,7 @@ #include "hasplib.h" #include "dev/device.h" +#include "drv/tft_driver.h" //#include "hasp_gui.h" @@ -1050,7 +1051,7 @@ void dispatch_output_statusupdate(const char*, const char*) #endif snprintf_P(buffer, sizeof(buffer), PSTR("\"tftDriver\":\"%s\",\"tftWidth\":%u,\"tftHeight\":%u}"), - Utilities::tft_driver_name().c_str(), (TFT_WIDTH), (TFT_HEIGHT)); + haspTft.get_tft_model(), (TFT_WIDTH), (TFT_HEIGHT)); strcat(data, buffer); } diff --git a/src/hasp/hasp_utilities.cpp b/src/hasp/hasp_utilities.cpp index 5ae92422..1787c2a2 100644 --- a/src/hasp/hasp_utilities.cpp +++ b/src/hasp/hasp_utilities.cpp @@ -54,41 +54,6 @@ int Utilities::format_bytes(size_t filesize, char* buf, size_t len) return snprintf_P(buf, len, PSTR("%d.%d %ciB"), filesize / 10, filesize % 10, labels[unit]); } -std::string Utilities::tft_driver_name() -{ -#if defined(ILI9341_DRIVER) - return "ILI9341"; -#elif defined(ST7735_DRIVER) - return "ST7735"; -#elif defined(ILI9163_DRIVER) - return "ILI9163"; -#elif defined(S6D02A1_DRIVER) - return "S6D02A1"; -#elif defined(ST7796_DRIVER) - return "ST7796"; -#elif defined(ILI9486_DRIVER) - return "ILI9486"; -#elif defined(ILI9481_DRIVER) - return "ILI9481"; -#elif defined(ILI9488_DRIVER) - return "ILI9488"; -#elif defined(HX8357D_DRIVER) - return "HX8357D"; -#elif defined(EPD_DRIVER) - return "EPD"; -#elif defined(ST7789_DRIVER) - return "ST7789"; -#elif defined(R61581_DRIVER) - return "R61581"; -#elif defined(ST7789_2_DRIVER) - return "ST7789_2"; -#elif defined(RM68140_DRIVER) - return "RM68140"; -#else - return "Other"; -#endif -} - #ifndef ARDUINO long map(long x, long in_min, long in_max, long out_min, long out_max) { diff --git a/src/hasp/hasp_utilities.h b/src/hasp/hasp_utilities.h index d8793f93..a94a6f80 100644 --- a/src/hasp/hasp_utilities.h +++ b/src/hasp/hasp_utilities.h @@ -13,7 +13,6 @@ class Utilities { static bool is_true(const char* s); static bool is_only_digits(const char* s); static int format_bytes(size_t filesize, char* buf, size_t len); - static std::string tft_driver_name(); }; #ifndef ARDUINO