summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c')
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c
index 3e5be7c22f..bc163b1070 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c
@@ -128,12 +128,6 @@ inline bool button_hold(void)
128 return false; 128 return false;
129} 129}
130 130
131static void remote_heartbeat(void)
132{
133 char data[5] = {0x11, 0x30, 0x11^0x30, 0x11+0x30, '\0'};
134 uart1_puts(data, 5);
135}
136
137#define TOUCH_MARGIN 8 131#define TOUCH_MARGIN 8
138char r_buffer[5]; 132char r_buffer[5];
139int r_button = BUTTON_NONE; 133int r_button = BUTTON_NONE;
@@ -142,13 +136,14 @@ int button_read_device(int *data)
142 int retval, calbuf; 136 int retval, calbuf;
143 static int oldbutton = BUTTON_NONE; 137 static int oldbutton = BUTTON_NONE;
144 138
139 static long last_touch = 0;
140
145 r_button=BUTTON_NONE; 141 r_button=BUTTON_NONE;
146 *data = 0; 142 *data = 0;
147 143
148 if (touch_available) 144 if (touch_available)
149 { 145 {
150 short x,y; 146 short x,y;
151 static long last_touch = 0;
152 bool send_touch = false; 147 bool send_touch = false;
153 tsc2100_read_values(&x, &y, &last_z1, &last_z2); 148 tsc2100_read_values(&x, &y, &last_z1, &last_z2);
154 if (TIME_BEFORE(last_touch + HZ/5, current_tick)) 149 if (TIME_BEFORE(last_touch + HZ/5, current_tick))
@@ -175,7 +170,14 @@ int button_read_device(int *data)
175 last_touch = current_tick; 170 last_touch = current_tick;
176 touch_available = false; 171 touch_available = false;
177 } 172 }
178 remote_heartbeat(); 173 else
174 {
175 /* Touch hasn't happened in a while, clear the bits */
176 if(last_touch+3>current_tick)
177 {
178 oldbutton&=(0xFF);
179 }
180 }
179 181
180 if ((IO_GIO_BITSET0&0x01) == 0) 182 if ((IO_GIO_BITSET0&0x01) == 0)
181 { 183 {