TFT Refactoring (#19192)
* split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
@ -311,13 +311,40 @@
|
||||
#define IS_ULTIPANEL
|
||||
#endif
|
||||
|
||||
// Compatibility
|
||||
#if ENABLED(FSMC_GRAPHICAL_TFT)
|
||||
#define TFT_CLASSIC_UI
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define TFT_GENERIC
|
||||
#elif ENABLED(SPI_GRAPHICAL_TFT)
|
||||
#define TFT_CLASSIC_UI
|
||||
#define TFT_INTERFACE_SPI
|
||||
#define TFT_GENERIC
|
||||
#elif EITHER(TFT_320x240, TFT_480x320)
|
||||
#define TFT_COLOR_UI
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define TFT_GENERIC
|
||||
#elif EITHER(TFT_320x240_SPI, TFT_480x320_SPI)
|
||||
#define TFT_COLOR_UI
|
||||
#define TFT_INTERFACE_SPI
|
||||
#define TFT_GENERIC
|
||||
#elif ENABLED(TFT_LVGL_UI_FSMC)
|
||||
#define TFT_LVGL_UI
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define TFT_GENERIC
|
||||
#elif ENABLED(TFT_LVGL_UI_SPI)
|
||||
#define TFT_LVGL_UI
|
||||
#define TFT_INTERFACE_SPI
|
||||
#define TFT_GENERIC
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels (LVGL)
|
||||
#if EITHER(TFT_LVGL_UI_SPI, TFT_LVGL_UI_FSMC)
|
||||
#if ENABLED(TFT_LVGL_UI)
|
||||
#define HAS_TFT_LVGL_UI 1
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels
|
||||
#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
|
||||
#if ENABLED(TFT_CLASSIC_UI)
|
||||
#define TFT_SCALED_DOGLCD 1
|
||||
#endif
|
||||
|
||||
@ -325,32 +352,16 @@
|
||||
#define DOGLCD
|
||||
#define IS_ULTIPANEL
|
||||
#define DELAYED_BACKLIGHT_INIT
|
||||
#elif ENABLED(TFT_LVGL_UI_SPI)
|
||||
#elif ENABLED(TFT_LVGL_UI)
|
||||
#define DELAYED_BACKLIGHT_INIT
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h
|
||||
#if ANY(TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC, FSMC_GRAPHICAL_TFT)
|
||||
#define HAS_FSMC_TFT 1
|
||||
#elif ANY(TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI, SPI_GRAPHICAL_TFT)
|
||||
#define HAS_SPI_TFT 1
|
||||
#endif
|
||||
|
||||
// Color UI
|
||||
#if ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI)
|
||||
#if ENABLED(TFT_COLOR_UI)
|
||||
#define HAS_GRAPHICAL_TFT 1
|
||||
#define IS_ULTIPANEL
|
||||
#endif
|
||||
|
||||
// Fewer lines with touch buttons on-screen
|
||||
#if EITHER(TFT_320x240, TFT_320x240_SPI)
|
||||
#define HAS_UI_320x240 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#elif EITHER(TFT_480x320, TFT_480x320_SPI)
|
||||
#define HAS_UI_480x320 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* I2C Panels
|
||||
*/
|
||||
@ -810,3 +821,128 @@
|
||||
#ifndef EXTRUDE_MINTEMP
|
||||
#define EXTRUDE_MINTEMP 170
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TFT Displays
|
||||
*
|
||||
* Configure parameters for TFT displays:
|
||||
* - TFT_DEFAULT_ORIENTATION
|
||||
* - TFT_DRIVER
|
||||
* - TFT_WIDTH
|
||||
* - TFT_HEIGHT
|
||||
* - TFT_INTERFACE_(SPI|FSMC)
|
||||
* - TFT_COLOR
|
||||
* - GRAPHICAL_TFT_UPSCALE
|
||||
*/
|
||||
#if ENABLED(MKS_TS35_V2_0)
|
||||
// Most common: ST7796
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY)
|
||||
#define TFT_WIDTH 480
|
||||
#define TFT_HEIGHT 320
|
||||
#define TFT_INTERFACE_SPI
|
||||
#define GRAPHICAL_TFT_UPSCALE 3
|
||||
#elif ENABLED(MKS_ROBIN_TFT24)
|
||||
// Most common: ST7789
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_HEIGHT 240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif ENABLED(MKS_ROBIN_TFT28)
|
||||
// Most common: ST7789
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_HEIGHT 240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif ENABLED(MKS_ROBIN_TFT32)
|
||||
// Most common: ST7789
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_HEIGHT 240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif ENABLED(MKS_ROBIN_TFT35)
|
||||
// Most common: ILI9488
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#define TFT_WIDTH 480
|
||||
#define TFT_HEIGHT 320
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 3
|
||||
#elif ENABLED(MKS_ROBIN_TFT43)
|
||||
#define TFT_DEFAULT_ORIENTATION 0
|
||||
#define TFT_DRIVER SSD1963
|
||||
#define TFT_WIDTH 480
|
||||
#define TFT_HEIGHT 272
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif ENABLED(MKS_ROBIN_TFT_V1_1R)
|
||||
// ILI9328 or R61505
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_INVERT_X | TFT_INVERT_Y | TFT_EXCHANGE_XY)
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_HEIGHT 240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif EITHER(TFT_TRONXY_X5SA, ANYCUBIC_TFT35)
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#define TFT_DRIVER ILI9488
|
||||
#define TFT_WIDTH 480
|
||||
#define TFT_HEIGHT 320
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 3
|
||||
#elif ENABLED(LONGER_LK_TFT28)
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_HEIGHT 240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#define GRAPHICAL_TFT_UPSCALE 2
|
||||
#elif ENABLED(TFT_GENERIC)
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h
|
||||
#if ENABLED(TFT_INTERFACE_FSMC)
|
||||
#define HAS_FSMC_TFT 1
|
||||
#if ENABLED(TFT_CLASSIC_UI)
|
||||
#define FSMC_GRAPHICAL_TFT
|
||||
#elif ENABLED(TFT_LVGL_UI)
|
||||
#define TFT_LVGL_UI_FSMC
|
||||
#endif
|
||||
#elif ENABLED(TFT_INTERFACE_SPI)
|
||||
#define HAS_SPI_TFT 1
|
||||
#if ENABLED(TFT_CLASSIC_UI)
|
||||
#define SPI_GRAPHICAL_TFT
|
||||
#elif ENABLED(TFT_LVGL_UI)
|
||||
#define TFT_LVGL_UI_SPI
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(TFT_COLOR_UI) && TFT_HEIGHT == 240
|
||||
#if ENABLED(TFT_INTERFACE_SPI)
|
||||
#define TFT_320x240_SPI
|
||||
#elif ENABLED(TFT_INTERFACE_FSMC)
|
||||
#define TFT_320x240
|
||||
#endif
|
||||
#elif ENABLED(TFT_COLOR_UI) && TFT_HEIGHT == 320
|
||||
#if ENABLED(TFT_INTERFACE_SPI)
|
||||
#define TFT_480x320_SPI
|
||||
#elif ENABLED(TFT_INTERFACE_FSMC)
|
||||
#define TFT_480x320
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Fewer lines with touch buttons on-screen
|
||||
#if EITHER(TFT_320x240, TFT_320x240_SPI)
|
||||
#define HAS_UI_320x240 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#elif EITHER(TFT_480x320, TFT_480x320_SPI)
|
||||
#define HAS_UI_480x320 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#endif
|
||||
|
||||
// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046'
|
||||
#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT
|
||||
#undef TOUCH_SCREEN
|
||||
#undef TOUCH_SCREEN_CALIBRATION
|
||||
#define HAS_TOUCH_XPT2046 1
|
||||
#endif
|
||||
|
@ -447,8 +447,6 @@
|
||||
#error "POWER_SUPPLY is now obsolete. Please remove it from Configuration.h."
|
||||
#elif defined(MKS_ROBIN_TFT)
|
||||
#error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. Please update your configuration."
|
||||
#elif defined(TFT_LVGL_UI)
|
||||
#error "TFT_LVGL_UI is now TFT_LVGL_UI_FSMC. Please update your configuration."
|
||||
#elif defined(SDPOWER)
|
||||
#error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/or pins."
|
||||
#elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2)
|
||||
@ -535,6 +533,8 @@
|
||||
#error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. Please update your Configuration.h."
|
||||
#elif defined(EVENT_GCODE_SD_STOP)
|
||||
#error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. Please update your Configuration.h."
|
||||
#elif defined(GRAPHICAL_TFT_ROTATE_180)
|
||||
#error "GRAPHICAL_TFT_ROTATE_180 is now TFT_ROTATION set to TFT_ROTATE_180. Please update your Configuration.h."
|
||||
#elif defined(FIL_RUNOUT_INVERTING)
|
||||
#if FIL_RUNOUT_INVERTING
|
||||
#error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update your Configuration.h."
|
||||
|
Reference in New Issue
Block a user