From a5e788fe8533f6172b3d6b52d2430fe163f7a6fd Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Sun, 30 Sep 2007 08:18:46 +0000 Subject: slow - but working - IRQ based uart/button driver. change some of the uart function names from CamelCase git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14908 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/olympus/mrobe-500/button-mr500.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'firmware/target/arm/olympus/mrobe-500/button-mr500.c') 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 @@ void button_init_device(void) { /* GIO is the power button, set as input */ - IO_GIO_DIR0|=0x01; + IO_GIO_DIR0 |= 0x01; } inline bool button_hold(void) @@ -48,20 +48,17 @@ inline bool button_hold(void) int button_read_device(void) { char data[5], c; - int val; int i = 0; - int btn = BUTTON_NONE, timeout = BUTTON_TIMEOUT; + int btn = BUTTON_NONE; if ((IO_GIO_BITSET0&0x01) == 0) btn |= BUTTON_POWER; - uartHeartbeat(); - while (timeout > 0) + uart1_heartbeat(); + while (uartAvailable()) { - val = uartPollch(BUTTON_TIMEOUT*100); - if (val > -1) + if (uart1_getch(&c)) { - c = val&0xff; if (i && (data[0] == BUTTON_START_BYTE || data[0] == BUTTON_START_BYTE2)) { data[i++] = c; @@ -94,7 +91,6 @@ int button_read_device(void) break; } } - timeout--; } return btn; } -- cgit v1.2.3