diff options
Diffstat (limited to 'firmware/drivers/button.c')
-rw-r--r-- | firmware/drivers/button.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 2c33440fef..69d041f65e 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -163,19 +163,8 @@ int button_get(bool block) | |||
163 | int button_get_w_tmo(int ticks) | 163 | int button_get_w_tmo(int ticks) |
164 | { | 164 | { |
165 | struct event ev; | 165 | struct event ev; |
166 | unsigned int timeout = current_tick + ticks; | 166 | queue_wait_w_tmo(&button_queue, &ev, ticks); |
167 | 167 | return (ev.id != SYS_TIMEOUT)? ev.id: BUTTON_NONE; | |
168 | while (TIME_BEFORE( current_tick, timeout )) | ||
169 | { | ||
170 | if(!queue_empty(&button_queue)) | ||
171 | { | ||
172 | queue_wait(&button_queue, &ev); | ||
173 | return ev.id; | ||
174 | } | ||
175 | yield(); | ||
176 | } | ||
177 | |||
178 | return BUTTON_NONE; | ||
179 | } | 168 | } |
180 | 169 | ||
181 | #ifdef HAVE_RECORDER_KEYPAD | 170 | #ifdef HAVE_RECORDER_KEYPAD |