Browse Source

Reset calibration screen touch timer on click (#19951)

Victor Oliveira 3 years ago
parent
commit
12e8861a1c
No account linked to committer's email address
2 changed files with 7 additions and 7 deletions
  1. 2
    2
      Marlin/src/lcd/tft/touch.cpp
  2. 5
    5
      Marlin/src/lcd/tft/touch.h

+ 2
- 2
Marlin/src/lcd/tft/touch.cpp View File

@@ -61,7 +61,7 @@ void Touch::init() {
61 61
   enable();
62 62
 }
63 63
 
64
-void Touch::add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data) {
64
+void Touch::add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, intptr_t data) {
65 65
   if (controls_count == MAX_CONTROLS) return;
66 66
 
67 67
   controls[controls_count].type = type;
@@ -306,7 +306,7 @@ bool MarlinUI::touch_pressed() {
306 306
   return touch.is_clicked();
307 307
 }
308 308
 
309
-void add_control(uint16_t x, uint16_t y, TouchControlType control_type, int32_t data, MarlinImage image, bool is_enabled, uint16_t color_enabled, uint16_t color_disabled) {
309
+void add_control(uint16_t x, uint16_t y, TouchControlType control_type, intptr_t data, MarlinImage image, bool is_enabled, uint16_t color_enabled, uint16_t color_disabled) {
310 310
   uint16_t width = Images[image].width;
311 311
   uint16_t height = Images[image].height;
312 312
   tft.canvas(x, y, width, height);

+ 5
- 5
Marlin/src/lcd/tft/touch.h View File

@@ -85,9 +85,9 @@ enum TouchControlType : uint16_t {
85 85
 
86 86
 typedef void (*screenFunc_t)();
87 87
 
88
-void add_control(uint16_t x, uint16_t y, TouchControlType control_type, int32_t data, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED);
88
+void add_control(uint16_t x, uint16_t y, TouchControlType control_type, intptr_t data, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED);
89 89
 inline void add_control(uint16_t x, uint16_t y, TouchControlType control_type, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED) { add_control(x, y, control_type, 0, image, is_enabled, color_enabled, color_disabled); }
90
-inline void add_control(uint16_t x, uint16_t y, screenFunc_t screen, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED) { add_control(x, y, MENU_SCREEN, (int32_t)screen, image, is_enabled, color_enabled, color_disabled); }
90
+inline void add_control(uint16_t x, uint16_t y, screenFunc_t screen, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED) { add_control(x, y, MENU_SCREEN, (intptr_t)screen, image, is_enabled, color_enabled, color_disabled); }
91 91
 
92 92
 typedef struct __attribute__((__packed__)) {
93 93
   TouchControlType type;
@@ -95,7 +95,7 @@ typedef struct __attribute__((__packed__)) {
95 95
   uint16_t y;
96 96
   uint16_t width;
97 97
   uint16_t height;
98
-  int32_t data;
98
+  intptr_t data;
99 99
 } touch_control_t;
100 100
 
101 101
 typedef struct __attribute__((__packed__)) {
@@ -158,7 +158,7 @@ class Touch {
158 158
 
159 159
   public:
160 160
     static void init();
161
-    static void reset() { controls_count = 0; touch_time = -1; current_control = NULL; }
161
+    static void reset() { controls_count = 0; touch_time = 0; current_control = NULL; }
162 162
     static void clear() { controls_count = 0; }
163 163
     static void idle();
164 164
     static bool is_clicked() {
@@ -171,7 +171,7 @@ class Touch {
171 171
     static void disable() { enabled = false; }
172 172
     static void enable() { enabled = true; }
173 173
 
174
-    static void add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data = 0);
174
+    static void add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, intptr_t data = 0);
175 175
 
176 176
     static touch_calibration_t calibration;
177 177
     static void calibration_reset() { calibration = {TOUCH_CALIBRATION_X, TOUCH_CALIBRATION_Y, TOUCH_OFFSET_X, TOUCH_OFFSET_Y, TOUCH_ORIENTATION}; }

Loading…
Cancel
Save