diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c index bc163b1070..00096ce2ad 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/button-mr500.c | |||
@@ -186,27 +186,26 @@ int button_read_device(int *data) | |||
186 | } | 186 | } |
187 | 187 | ||
188 | retval=uart1_gets_queue(r_buffer, 5); | 188 | retval=uart1_gets_queue(r_buffer, 5); |
189 | do | 189 | |
190 | for(calbuf=0;calbuf<4;calbuf++) | ||
190 | { | 191 | { |
191 | for(calbuf=0;calbuf<4;calbuf++) | 192 | if((r_buffer[calbuf]&0xF0)==0xF0 && (r_buffer[calbuf+1]&0xF0)!=0xF0) |
192 | { | 193 | break; |
193 | if((r_buffer[calbuf]&0xF0)==0xF0 && (r_buffer[calbuf+1]&0xF0)!=0xF0) | 194 | } |
194 | break; | 195 | calbuf++; |
195 | } | 196 | if(calbuf==5) |
196 | calbuf++; | 197 | calbuf=0; |
197 | if(calbuf==5) | 198 | if(retval>=0) |
198 | calbuf=0; | 199 | { |
199 | if(retval>=0) | 200 | uart1_clear_queue(); |
200 | { | 201 | r_button |= r_buffer[calbuf]; |
201 | r_button |= r_buffer[calbuf]; | 202 | oldbutton=r_button; |
202 | oldbutton=r_button; | 203 | } |
203 | } | 204 | else |
204 | else | 205 | { |
205 | { | 206 | r_button=oldbutton; |
206 | r_button=oldbutton; | 207 | } |
207 | } | 208 | |
208 | } while((retval=uart1_gets_queue(r_buffer, 5))>=5); | ||
209 | |||
210 | return r_button; | 209 | return r_button; |
211 | } | 210 | } |
212 | 211 | ||
@@ -226,6 +225,5 @@ void GIO14(void) | |||
226 | read_battery_inputs(); | 225 | read_battery_inputs(); |
227 | break; | 226 | break; |
228 | } | 227 | } |
229 | //touch_available = true; | ||
230 | IO_INTC_IRQ2 = (1<<3); /* IRQ_GIO14 == 35 */ | 228 | IO_INTC_IRQ2 = (1<<3); /* IRQ_GIO14 == 35 */ |
231 | } | 229 | } |