mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-26 13:25:54 +00:00
🚸 ColorUI Touch Calibrate in CW order
This commit is contained in:
parent
6bc42300a1
commit
a0e3dea8b8
@ -396,9 +396,9 @@
|
|||||||
FORCE_INLINE constexpr T operator|(T x, T y) { return static_cast<T>(static_cast<int>(x) | static_cast<int>(y)); } \
|
FORCE_INLINE constexpr T operator|(T x, T y) { return static_cast<T>(static_cast<int>(x) | static_cast<int>(y)); } \
|
||||||
FORCE_INLINE constexpr T operator^(T x, T y) { return static_cast<T>(static_cast<int>(x) ^ static_cast<int>(y)); } \
|
FORCE_INLINE constexpr T operator^(T x, T y) { return static_cast<T>(static_cast<int>(x) ^ static_cast<int>(y)); } \
|
||||||
FORCE_INLINE constexpr T operator~(T x) { return static_cast<T>(~static_cast<int>(x)); } \
|
FORCE_INLINE constexpr T operator~(T x) { return static_cast<T>(~static_cast<int>(x)); } \
|
||||||
FORCE_INLINE T & operator&=(T &x, T y) { return x &= y; } \
|
FORCE_INLINE T & operator&=(T &x, T y) { x = x & y; return x; } \
|
||||||
FORCE_INLINE T & operator|=(T &x, T y) { return x |= y; } \
|
FORCE_INLINE T & operator|=(T &x, T y) { x = x | y; return x; } \
|
||||||
FORCE_INLINE T & operator^=(T &x, T y) { return x ^= y; }
|
FORCE_INLINE T & operator^=(T &x, T y) { x = x ^ y; return x; }
|
||||||
|
|
||||||
// C++11 solution that is standard compliant. <type_traits> is not available on all platform
|
// C++11 solution that is standard compliant. <type_traits> is not available on all platform
|
||||||
namespace Private {
|
namespace Private {
|
||||||
|
@ -1782,20 +1782,22 @@
|
|||||||
#define HAS_UI_1024x600 1
|
#define HAS_UI_1024x600 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Number of text lines the screen can display (may depend on font used)
|
||||||
|
// Touch screens leave space for extra buttons at the bottom
|
||||||
#if ANY(HAS_UI_320x240, HAS_UI_480x272)
|
#if ANY(HAS_UI_320x240, HAS_UI_480x272)
|
||||||
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
|
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
|
||||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 8, 9) // Fewer lines with touch buttons onscreen
|
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 8, 9)
|
||||||
#else
|
#else
|
||||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
|
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||||
#endif
|
#endif
|
||||||
#elif HAS_UI_480x320
|
#elif HAS_UI_480x320
|
||||||
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
|
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
|
||||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 9, 10) // Fewer lines with touch buttons onscreen
|
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 9, 10)
|
||||||
#else
|
#else
|
||||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
|
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||||
#endif
|
#endif
|
||||||
#elif HAS_UI_1024x600
|
#elif HAS_UI_1024x600
|
||||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 12, 13) // Fewer lines with touch buttons onscreen
|
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 12, 13)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046'
|
// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046'
|
||||||
|
@ -784,6 +784,7 @@ void MarlinUI::draw_status_message(const bool blink) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if HAS_PRINT_PROGRESS
|
#if HAS_PRINT_PROGRESS
|
||||||
|
|
||||||
#define TPOFFSET (LCD_WIDTH - 1)
|
#define TPOFFSET (LCD_WIDTH - 1)
|
||||||
static uint8_t timepos = TPOFFSET - 6;
|
static uint8_t timepos = TPOFFSET - 6;
|
||||||
static char buffer[8];
|
static char buffer[8];
|
||||||
@ -837,6 +838,7 @@ void MarlinUI::draw_status_message(const bool blink) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // HAS_PRINT_PROGRESS
|
#endif // HAS_PRINT_PROGRESS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -596,8 +596,8 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
|
|||||||
|
|
||||||
#endif // HAS_CUTTER
|
#endif // HAS_CUTTER
|
||||||
|
|
||||||
|
|
||||||
#if HAS_PRINT_PROGRESS // UNTESTED!!!
|
#if HAS_PRINT_PROGRESS // UNTESTED!!!
|
||||||
|
|
||||||
#define TPOFFSET (LCD_WIDTH - 1)
|
#define TPOFFSET (LCD_WIDTH - 1)
|
||||||
static uint8_t timepos = TPOFFSET - 6;
|
static uint8_t timepos = TPOFFSET - 6;
|
||||||
|
|
||||||
@ -648,6 +648,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // HAS_PRINT_PROGRESS
|
#endif // HAS_PRINT_PROGRESS
|
||||||
|
|
||||||
#if ENABLED(LCD_PROGRESS_BAR)
|
#if ENABLED(LCD_PROGRESS_BAR)
|
||||||
|
@ -773,7 +773,7 @@ void MarlinUI::draw_status_screen() {
|
|||||||
u8g.drawBox(PROGRESS_BAR_X + 1, PROGRESS_BAR_Y + 1, progress_bar_solid_width, 2);
|
u8g.drawBox(PROGRESS_BAR_X + 1, PROGRESS_BAR_Y + 1, progress_bar_solid_width, 2);
|
||||||
|
|
||||||
// Progress strings
|
// Progress strings
|
||||||
if (PAGE_CONTAINS(EXTRAS_BASELINE - INFO_FONT_ASCENT, EXTRAS_BASELINE - 1)){
|
if (PAGE_CONTAINS(EXTRAS_BASELINE - INFO_FONT_ASCENT, EXTRAS_BASELINE - 1)) {
|
||||||
ui.rotate_progress();
|
ui.rotate_progress();
|
||||||
lcd_put_u8str(PROGRESS_BAR_X, EXTRAS_BASELINE, bufferc);
|
lcd_put_u8str(PROGRESS_BAR_X, EXTRAS_BASELINE, bufferc);
|
||||||
}
|
}
|
||||||
|
@ -510,8 +510,8 @@ U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// clear last cross
|
// clear last cross
|
||||||
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].x;
|
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].x;
|
||||||
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].y;
|
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].y;
|
||||||
drawCross(x, y, TFT_MARLINBG_COLOR);
|
drawCross(x, y, TFT_MARLINBG_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,10 +519,10 @@ U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT,
|
|||||||
if (stage < CALIBRATION_SUCCESS) {
|
if (stage < CALIBRATION_SUCCESS) {
|
||||||
// handle current state
|
// handle current state
|
||||||
switch (stage) {
|
switch (stage) {
|
||||||
case CALIBRATION_TOP_LEFT: str = GET_TEXT_F(MSG_TOP_LEFT); break;
|
case CALIBRATION_TOP_LEFT: str = GET_TEXT_F(MSG_TOP_LEFT); break;
|
||||||
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT_F(MSG_BOTTOM_LEFT); break;
|
case CALIBRATION_TOP_RIGHT: str = GET_TEXT_F(MSG_TOP_RIGHT); break;
|
||||||
case CALIBRATION_TOP_RIGHT: str = GET_TEXT_F(MSG_TOP_RIGHT); break;
|
|
||||||
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT_F(MSG_BOTTOM_RIGHT); break;
|
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT_F(MSG_BOTTOM_RIGHT); break;
|
||||||
|
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT_F(MSG_BOTTOM_LEFT); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1420,7 +1420,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
|
|||||||
|
|
||||||
case MLEVEL_BL:
|
case MLEVEL_BL:
|
||||||
if (draw)
|
if (draw)
|
||||||
drawMenuItem(row, ICON_AxisBL, F("Bottom Left"));
|
drawMenuItem(row, ICON_AxisBL, GET_TEXT_F(MSG_BOTTOM_LEFT));
|
||||||
else {
|
else {
|
||||||
popupHandler(Popup_MoveWait);
|
popupHandler(Popup_MoveWait);
|
||||||
if (use_probe) {
|
if (use_probe) {
|
||||||
@ -1443,7 +1443,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
|
|||||||
break;
|
break;
|
||||||
case MLEVEL_TL:
|
case MLEVEL_TL:
|
||||||
if (draw)
|
if (draw)
|
||||||
drawMenuItem(row, ICON_AxisTL, F("Top Left"));
|
drawMenuItem(row, ICON_AxisTL, GET_TEXT_F(MSG_TOP_LEFT));
|
||||||
else {
|
else {
|
||||||
popupHandler(Popup_MoveWait);
|
popupHandler(Popup_MoveWait);
|
||||||
if (use_probe) {
|
if (use_probe) {
|
||||||
@ -1466,7 +1466,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
|
|||||||
break;
|
break;
|
||||||
case MLEVEL_TR:
|
case MLEVEL_TR:
|
||||||
if (draw)
|
if (draw)
|
||||||
drawMenuItem(row, ICON_AxisTR, F("Top Right"));
|
drawMenuItem(row, ICON_AxisTR, GET_TEXT_F(MSG_TOP_RIGHT));
|
||||||
else {
|
else {
|
||||||
popupHandler(Popup_MoveWait);
|
popupHandler(Popup_MoveWait);
|
||||||
if (use_probe) {
|
if (use_probe) {
|
||||||
@ -1489,7 +1489,7 @@ void JyersDWIN::menuItemHandler(const uint8_t menu, const uint8_t item, bool dra
|
|||||||
break;
|
break;
|
||||||
case MLEVEL_BR:
|
case MLEVEL_BR:
|
||||||
if (draw)
|
if (draw)
|
||||||
drawMenuItem(row, ICON_AxisBR, F("Bottom Right"));
|
drawMenuItem(row, ICON_AxisBR, GET_TEXT_F(MSG_BOTTOM_RIGHT));
|
||||||
else {
|
else {
|
||||||
popupHandler(Popup_MoveWait);
|
popupHandler(Popup_MoveWait);
|
||||||
if (use_probe) {
|
if (use_probe) {
|
||||||
|
@ -60,10 +60,10 @@ namespace ExtUI {
|
|||||||
void onPrintTimerStopped() { dgus.timerEvent(AC_timer_stopped); }
|
void onPrintTimerStopped() { dgus.timerEvent(AC_timer_stopped); }
|
||||||
void onPrintDone() {}
|
void onPrintDone() {}
|
||||||
|
|
||||||
void onFilamentRunout(const extruder_t) { dgus.filamentRunout(); }
|
void onFilamentRunout(const extruder_t) { dgus.filamentRunout(); }
|
||||||
|
|
||||||
void onUserConfirmRequired(const char * const msg) { dgus.confirmationRequest(msg); }
|
void onUserConfirmRequired(const char * const msg) { dgus.confirmationRequest(msg); }
|
||||||
void onStatusChanged(const char * const msg) { dgus.statusChange(msg); }
|
void onStatusChanged(const char * const msg) { dgus.statusChange(msg); }
|
||||||
|
|
||||||
void onHomingStart() { dgus.homingStart(); }
|
void onHomingStart() { dgus.homingStart(); }
|
||||||
void onHomingDone() { dgus.homingComplete(); }
|
void onHomingDone() { dgus.homingComplete(); }
|
||||||
|
@ -62,8 +62,8 @@ void lv_update_touch_calibration_screen() {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// clear last cross
|
// clear last cross
|
||||||
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].x;
|
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].x;
|
||||||
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].y;
|
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].y;
|
||||||
drawCross(x, y, LV_COLOR_BACKGROUND.full);
|
drawCross(x, y, LV_COLOR_BACKGROUND.full);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,9 +72,9 @@ void lv_update_touch_calibration_screen() {
|
|||||||
// handle current state
|
// handle current state
|
||||||
switch (stage) {
|
switch (stage) {
|
||||||
case CALIBRATION_TOP_LEFT: str = GET_TEXT(MSG_TOP_LEFT); break;
|
case CALIBRATION_TOP_LEFT: str = GET_TEXT(MSG_TOP_LEFT); break;
|
||||||
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT(MSG_BOTTOM_LEFT); break;
|
|
||||||
case CALIBRATION_TOP_RIGHT: str = GET_TEXT(MSG_TOP_RIGHT); break;
|
case CALIBRATION_TOP_RIGHT: str = GET_TEXT(MSG_TOP_RIGHT); break;
|
||||||
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT(MSG_BOTTOM_RIGHT); break;
|
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT(MSG_BOTTOM_RIGHT); break;
|
||||||
|
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT(MSG_BOTTOM_LEFT); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,7 +310,7 @@ static bool get_point(int16_t *x, int16_t *y) {
|
|||||||
|
|
||||||
#if ENABLED(TOUCH_SCREEN_CALIBRATION)
|
#if ENABLED(TOUCH_SCREEN_CALIBRATION)
|
||||||
const calibrationState state = touch_calibration.get_calibration_state();
|
const calibrationState state = touch_calibration.get_calibration_state();
|
||||||
if (state >= CALIBRATION_TOP_LEFT && state <= CALIBRATION_BOTTOM_RIGHT) {
|
if (WITHIN(state, CALIBRATION_TOP_LEFT, CALIBRATION_BOTTOM_LEFT)) {
|
||||||
if (touch_calibration.handleTouch(*x, *y)) lv_update_touch_calibration_screen();
|
if (touch_calibration.handleTouch(*x, *y)) lv_update_touch_calibration_screen();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -173,7 +173,10 @@ class TFT_String {
|
|||||||
static uint16_t *string() { return data; }
|
static uint16_t *string() { return data; }
|
||||||
static uint16_t width() { return span; }
|
static uint16_t width() { return span; }
|
||||||
static uint16_t center(const uint16_t width) { return span > width ? 0 : (width - span) / 2; }
|
static uint16_t center(const uint16_t width) { return span > width ? 0 : (width - span) / 2; }
|
||||||
static uint16_t vcenter(const uint16_t height) { return (height + font_header->capitalAHeight + 1) / 2 > font_header->fontAscent ? (height + font_header->capitalAHeight + 1) / 2 - font_header->fontAscent : 0 ; }
|
static uint16_t vcenter(const uint16_t height) {
|
||||||
|
const uint16_t mid = (height + font_header->capitalAHeight + 1) / 2;
|
||||||
|
return mid > font_header->fontAscent ? mid - font_header->fontAscent : 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern TFT_String tft_string;
|
extern TFT_String tft_string;
|
||||||
|
@ -440,8 +440,8 @@ void MarlinUI::clear_lcd() {
|
|||||||
stage = touch_calibration.calibration_start();
|
stage = touch_calibration.calibration_start();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].x;
|
x = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].x;
|
||||||
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_RIGHT)].y;
|
y = touch_calibration.calibration_points[_MIN(stage - 1, CALIBRATION_BOTTOM_LEFT)].y;
|
||||||
tft.canvas(x - 15, y - 15, 31, 31);
|
tft.canvas(x - 15, y - 15, 31, 31);
|
||||||
tft.set_background(COLOR_BACKGROUND);
|
tft.set_background(COLOR_BACKGROUND);
|
||||||
}
|
}
|
||||||
@ -450,10 +450,10 @@ void MarlinUI::clear_lcd() {
|
|||||||
|
|
||||||
if (stage < CALIBRATION_SUCCESS) {
|
if (stage < CALIBRATION_SUCCESS) {
|
||||||
switch (stage) {
|
switch (stage) {
|
||||||
case CALIBRATION_TOP_LEFT: tft_string.set(GET_TEXT(MSG_TOP_LEFT)); break;
|
case CALIBRATION_TOP_LEFT: tft_string.set(GET_TEXT(MSG_TOP_LEFT)); break;
|
||||||
case CALIBRATION_BOTTOM_LEFT: tft_string.set(GET_TEXT(MSG_BOTTOM_LEFT)); break;
|
case CALIBRATION_TOP_RIGHT: tft_string.set(GET_TEXT(MSG_TOP_RIGHT)); break;
|
||||||
case CALIBRATION_TOP_RIGHT: tft_string.set(GET_TEXT(MSG_TOP_RIGHT)); break;
|
|
||||||
case CALIBRATION_BOTTOM_RIGHT: tft_string.set(GET_TEXT(MSG_BOTTOM_RIGHT)); break;
|
case CALIBRATION_BOTTOM_RIGHT: tft_string.set(GET_TEXT(MSG_BOTTOM_RIGHT)); break;
|
||||||
|
case CALIBRATION_BOTTOM_LEFT: tft_string.set(GET_TEXT(MSG_BOTTOM_LEFT)); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ void disable_steppers();
|
|||||||
bool lcd_sleep_task();
|
bool lcd_sleep_task();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void draw_heater_status(uint16_t x, uint16_t y, const int8_t Heater);
|
void draw_heater_status(uint16_t x, uint16_t y, const int8_t heater);
|
||||||
void draw_fan_status(uint16_t x, uint16_t y, const bool blink);
|
void draw_fan_status(uint16_t x, uint16_t y, const bool blink);
|
||||||
|
|
||||||
void text_line(const uint16_t y, uint16_t color=COLOR_BACKGROUND);
|
void text_line(const uint16_t y, uint16_t color=COLOR_BACKGROUND);
|
||||||
|
@ -103,10 +103,10 @@ bool TouchCalibration::handleTouch(const uint16_t x, const uint16_t y) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (calibration_state) {
|
switch (calibration_state) {
|
||||||
case CALIBRATION_TOP_LEFT: calibration_state = CALIBRATION_BOTTOM_LEFT; break;
|
case CALIBRATION_TOP_LEFT: calibration_state = CALIBRATION_TOP_RIGHT; break;
|
||||||
case CALIBRATION_BOTTOM_LEFT: calibration_state = CALIBRATION_TOP_RIGHT; break;
|
|
||||||
case CALIBRATION_TOP_RIGHT: calibration_state = CALIBRATION_BOTTOM_RIGHT; break;
|
case CALIBRATION_TOP_RIGHT: calibration_state = CALIBRATION_BOTTOM_RIGHT; break;
|
||||||
case CALIBRATION_BOTTOM_RIGHT: validate_calibration(); break;
|
case CALIBRATION_BOTTOM_RIGHT: calibration_state = CALIBRATION_BOTTOM_LEFT; break;
|
||||||
|
case CALIBRATION_BOTTOM_LEFT: validate_calibration(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,9 +43,9 @@ typedef struct __attribute__((__packed__)) {
|
|||||||
|
|
||||||
enum calibrationState : uint8_t {
|
enum calibrationState : uint8_t {
|
||||||
CALIBRATION_TOP_LEFT = 0x00,
|
CALIBRATION_TOP_LEFT = 0x00,
|
||||||
CALIBRATION_BOTTOM_LEFT,
|
|
||||||
CALIBRATION_TOP_RIGHT,
|
CALIBRATION_TOP_RIGHT,
|
||||||
CALIBRATION_BOTTOM_RIGHT,
|
CALIBRATION_BOTTOM_RIGHT,
|
||||||
|
CALIBRATION_BOTTOM_LEFT,
|
||||||
CALIBRATION_SUCCESS,
|
CALIBRATION_SUCCESS,
|
||||||
CALIBRATION_FAIL,
|
CALIBRATION_FAIL,
|
||||||
CALIBRATION_NONE,
|
CALIBRATION_NONE,
|
||||||
@ -73,12 +73,12 @@ public:
|
|||||||
calibration_state = CALIBRATION_TOP_LEFT;
|
calibration_state = CALIBRATION_TOP_LEFT;
|
||||||
calibration_points[CALIBRATION_TOP_LEFT].x = 30;
|
calibration_points[CALIBRATION_TOP_LEFT].x = 30;
|
||||||
calibration_points[CALIBRATION_TOP_LEFT].y = 30;
|
calibration_points[CALIBRATION_TOP_LEFT].y = 30;
|
||||||
calibration_points[CALIBRATION_BOTTOM_LEFT].x = 30;
|
|
||||||
calibration_points[CALIBRATION_BOTTOM_LEFT].y = TFT_HEIGHT - 31;
|
|
||||||
calibration_points[CALIBRATION_TOP_RIGHT].x = TFT_WIDTH - 31;
|
calibration_points[CALIBRATION_TOP_RIGHT].x = TFT_WIDTH - 31;
|
||||||
calibration_points[CALIBRATION_TOP_RIGHT].y = 30;
|
calibration_points[CALIBRATION_TOP_RIGHT].y = 30;
|
||||||
calibration_points[CALIBRATION_BOTTOM_RIGHT].x = TFT_WIDTH - 31;
|
calibration_points[CALIBRATION_BOTTOM_RIGHT].x = TFT_WIDTH - 31;
|
||||||
calibration_points[CALIBRATION_BOTTOM_RIGHT].y = TFT_HEIGHT - 31;
|
calibration_points[CALIBRATION_BOTTOM_RIGHT].y = TFT_HEIGHT - 31;
|
||||||
|
calibration_points[CALIBRATION_BOTTOM_LEFT].x = 30;
|
||||||
|
calibration_points[CALIBRATION_BOTTOM_LEFT].y = TFT_HEIGHT - 31;
|
||||||
failed_count = 0;
|
failed_count = 0;
|
||||||
return calibration_state;
|
return calibration_state;
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ uint8_t TouchButtons::read_buttons() {
|
|||||||
|
|
||||||
#if ENABLED(TOUCH_SCREEN_CALIBRATION)
|
#if ENABLED(TOUCH_SCREEN_CALIBRATION)
|
||||||
const calibrationState state = touch_calibration.get_calibration_state();
|
const calibrationState state = touch_calibration.get_calibration_state();
|
||||||
if (WITHIN(state, CALIBRATION_TOP_LEFT, CALIBRATION_BOTTOM_RIGHT)) {
|
if (WITHIN(state, CALIBRATION_TOP_LEFT, CALIBRATION_BOTTOM_LEFT)) {
|
||||||
if (touch_calibration.handleTouch(x, y)) ui.refresh();
|
if (touch_calibration.handleTouch(x, y)) ui.refresh();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -48,10 +48,12 @@ void W25QXXFlash::init(uint8_t spiRate) {
|
|||||||
* STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1
|
* STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1
|
||||||
* so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2
|
* so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2
|
||||||
*/
|
*/
|
||||||
#if SPI_DEVICE == 1
|
#ifndef SPI_CLOCK_MAX
|
||||||
#define SPI_CLOCK_MAX SPI_CLOCK_DIV4
|
#if SPI_DEVICE == 1
|
||||||
#else
|
#define SPI_CLOCK_MAX SPI_CLOCK_DIV4
|
||||||
#define SPI_CLOCK_MAX SPI_CLOCK_DIV2
|
#else
|
||||||
|
#define SPI_CLOCK_MAX SPI_CLOCK_DIV2
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
uint8_t clock;
|
uint8_t clock;
|
||||||
switch (spiRate) {
|
switch (spiRate) {
|
||||||
|
Loading…
Reference in New Issue
Block a user