diff options
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-500/button-mr500.c')
-rw-r--r-- | firmware/target/arm/olympus/mrobe-500/button-mr500.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/firmware/target/arm/olympus/mrobe-500/button-mr500.c b/firmware/target/arm/olympus/mrobe-500/button-mr500.c index 7410875fd1..1d0d2714a8 100644 --- a/firmware/target/arm/olympus/mrobe-500/button-mr500.c +++ b/firmware/target/arm/olympus/mrobe-500/button-mr500.c | |||
@@ -37,7 +37,7 @@ | |||
37 | void button_init_device(void) | 37 | void button_init_device(void) |
38 | { | 38 | { |
39 | /* GIO is the power button, set as input */ | 39 | /* GIO is the power button, set as input */ |
40 | IO_GIO_DIR0|=0x01; | 40 | IO_GIO_DIR0 |= 0x01; |
41 | } | 41 | } |
42 | 42 | ||
43 | inline bool button_hold(void) | 43 | inline bool button_hold(void) |
@@ -48,20 +48,17 @@ inline bool button_hold(void) | |||
48 | int button_read_device(void) | 48 | int button_read_device(void) |
49 | { | 49 | { |
50 | char data[5], c; | 50 | char data[5], c; |
51 | int val; | ||
52 | int i = 0; | 51 | int i = 0; |
53 | int btn = BUTTON_NONE, timeout = BUTTON_TIMEOUT; | 52 | int btn = BUTTON_NONE; |
54 | 53 | ||
55 | if ((IO_GIO_BITSET0&0x01) == 0) | 54 | if ((IO_GIO_BITSET0&0x01) == 0) |
56 | btn |= BUTTON_POWER; | 55 | btn |= BUTTON_POWER; |
57 | 56 | ||
58 | uartHeartbeat(); | 57 | uart1_heartbeat(); |
59 | while (timeout > 0) | 58 | while (uartAvailable()) |
60 | { | 59 | { |
61 | val = uartPollch(BUTTON_TIMEOUT*100); | 60 | if (uart1_getch(&c)) |
62 | if (val > -1) | ||
63 | { | 61 | { |
64 | c = val&0xff; | ||
65 | if (i && (data[0] == BUTTON_START_BYTE || data[0] == BUTTON_START_BYTE2)) | 62 | if (i && (data[0] == BUTTON_START_BYTE || data[0] == BUTTON_START_BYTE2)) |
66 | { | 63 | { |
67 | data[i++] = c; | 64 | data[i++] = c; |
@@ -94,7 +91,6 @@ int button_read_device(void) | |||
94 | break; | 91 | break; |
95 | } | 92 | } |
96 | } | 93 | } |
97 | timeout--; | ||
98 | } | 94 | } |
99 | return btn; | 95 | return btn; |
100 | } | 96 | } |