Capacitive Touch Screen (GT911) for SKR SE BX (#21843)
Co-authored-by: Msq001 <alansayyeah@gmail.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
committed by
Scott Lahteine
parent
f3e199fcd2
commit
ac11c689f7
@ -1131,6 +1131,9 @@
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY)
|
||||
#define TFT_RES_1024x600
|
||||
#define TFT_INTERFACE_LTDC
|
||||
#if ENABLED(TOUCH_SCREEN)
|
||||
#define TFT_TOUCH_DEVICE_GT911
|
||||
#endif
|
||||
#elif ENABLED(TFT_GENERIC)
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#if NONE(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320)
|
||||
@ -1219,16 +1222,30 @@
|
||||
#define HAS_UI_1024x600 1
|
||||
#endif
|
||||
#if ANY(HAS_UI_320x240, HAS_UI_480x320, HAS_UI_480x272)
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
|
||||
#elif HAS_UI_1024x600
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 12, 13) // Fewer lines with touch buttons onscreen
|
||||
#endif
|
||||
|
||||
// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046'
|
||||
#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT
|
||||
#undef TOUCH_SCREEN
|
||||
#if ENABLED(TFT_CLASSIC_UI)
|
||||
#define HAS_TOUCH_BUTTONS 1
|
||||
#if ENABLED(TOUCH_SCREEN)
|
||||
#if NONE(TFT_TOUCH_DEVICE_GT911, TFT_TOUCH_DEVICE_XPT2046)
|
||||
#define TFT_TOUCH_DEVICE_XPT2046 // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8
|
||||
#endif
|
||||
#if ENABLED(TFT_TOUCH_DEVICE_GT911) // GT911 Capacitive touch screen such as BIQU_BX_TFT70
|
||||
#undef TOUCH_SCREEN_CALIBRATION
|
||||
#undef TOUCH_CALIBRATION_AUTO_SAVE
|
||||
#endif
|
||||
#if !HAS_GRAPHICAL_TFT
|
||||
#undef TOUCH_SCREEN
|
||||
#if ENABLED(TFT_CLASSIC_UI)
|
||||
#define HAS_TOUCH_BUTTONS 1
|
||||
#if ENABLED(TFT_TOUCH_DEVICE_GT911)
|
||||
#define HAS_CAP_TOUCH_BUTTONS 1
|
||||
#else
|
||||
#define HAS_RES_TOUCH_BUTTONS 1
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -371,13 +371,13 @@
|
||||
#endif
|
||||
|
||||
// Full Touch Screen needs 'tft/xpt2046'
|
||||
#if EITHER(TOUCH_SCREEN, HAS_TFT_LVGL_UI)
|
||||
#if EITHER(TFT_TOUCH_DEVICE_XPT2046, HAS_TFT_LVGL_UI)
|
||||
#define HAS_TFT_XPT2046 1
|
||||
#endif
|
||||
|
||||
// Touch Screen or "Touch Buttons" need XPT2046 pins
|
||||
// but they use different components
|
||||
#if EITHER(HAS_TFT_XPT2046, HAS_TOUCH_BUTTONS)
|
||||
#if HAS_TFT_XPT2046 || HAS_RES_TOUCH_BUTTONS
|
||||
#define NEED_TOUCH_PINS 1
|
||||
#endif
|
||||
|
||||
|
@ -3180,21 +3180,11 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Touch Buttons
|
||||
* Touch Screen Calibration
|
||||
*/
|
||||
#if ENABLED(TOUCH_SCREEN) && DISABLED(TOUCH_SCREEN_CALIBRATION)
|
||||
#ifndef TOUCH_CALIBRATION_X
|
||||
#error "TOUCH_CALIBRATION_X must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef TOUCH_CALIBRATION_Y
|
||||
#error "TOUCH_CALIBRATION_Y must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef TOUCH_OFFSET_X
|
||||
#error "TOUCH_OFFSET_X must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef TOUCH_OFFSET_Y
|
||||
#error "TOUCH_OFFSET_Y must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#if ENABLED(TFT_TOUCH_DEVICE_XPT2046) && DISABLED(TOUCH_SCREEN_CALIBRATION) \
|
||||
&& (!defined(TOUCH_CALIBRATION_X) || !defined(TOUCH_CALIBRATION_Y) || !defined(TOUCH_OFFSET_X) || !defined(TOUCH_OFFSET_Y))
|
||||
#error "TOUCH_CALIBRATION_[XY] and TOUCH_OFFSET_[XY] are required for resistive touch screens with TOUCH_SCREEN_CALIBRATION disabled."
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user