summaryrefslogtreecommitdiff
path: root/firmware/target/arm/sandisk/sansa-c200/button-c200.c
diff options
context:
space:
mode:
authorMark Arigo <markarigo@gmail.com>2007-09-06 03:28:58 +0000
committerMark Arigo <markarigo@gmail.com>2007-09-06 03:28:58 +0000
commitdbc6b4e39a8f68708bc20a7b3295662c7871856a (patch)
tree725674ac56a56c80246181f1e42342ada60b7199 /firmware/target/arm/sandisk/sansa-c200/button-c200.c
parent4f3bcbbb11905c95337fcbe670a1b7da477fbf13 (diff)
downloadrockbox-dbc6b4e39a8f68708bc20a7b3295662c7871856a.tar.gz
rockbox-dbc6b4e39a8f68708bc20a7b3295662c7871856a.zip
Sansa c200 port. Rockbox works with sound. Several features are disabled including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/sandisk/sansa-c200/button-c200.c')
-rw-r--r--firmware/target/arm/sandisk/sansa-c200/button-c200.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/firmware/target/arm/sandisk/sansa-c200/button-c200.c b/firmware/target/arm/sandisk/sansa-c200/button-c200.c
new file mode 100644
index 0000000000..eedd937699
--- /dev/null
+++ b/firmware/target/arm/sandisk/sansa-c200/button-c200.c
@@ -0,0 +1,62 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id:$
9 *
10 * Copyright (C) 2007 by Mark Arigo
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#include "system.h"
21#include "button.h"
22#include "backlight.h"
23
24void button_init_device(void)
25{
26 /* TODO...for now, hardware initialisation is done by the c200 bootloader */
27}
28
29bool button_hold(void)
30{
31 return !(GPIOI_INPUT_VAL & 0x80);
32}
33
34/*
35 * Get button pressed from hardware
36 */
37int button_read_device(void)
38{
39 int btn = BUTTON_NONE;
40 static bool hold_button = false;
41 bool hold_button_old;
42
43 /* Hold */
44 hold_button_old = hold_button;
45 hold_button = button_hold();
46
47 /* device buttons */
48 if (!hold_button)
49 {
50 if ( (GPIOB_INPUT_VAL & 0x20)) btn |= BUTTON_POWER;
51 if (!(GPIOG_INPUT_VAL & 0x10)) btn |= BUTTON_UP;
52 if (!(GPIOH_INPUT_VAL & 0x01)) btn |= BUTTON_DOWN;
53 if (!(GPIOI_INPUT_VAL & 0x04)) btn |= BUTTON_LEFT;
54 if (!(GPIOG_INPUT_VAL & 0x02)) btn |= BUTTON_RIGHT;
55 if (!(GPIOL_INPUT_VAL & 0x04)) btn |= BUTTON_SELECT;
56 if (!(GPIOG_INPUT_VAL & 0x01)) btn |= BUTTON_REC;
57 if (!(GPIOL_INPUT_VAL & 0x10)) btn |= BUTTON_VOL_UP;
58 if (!(GPIOL_INPUT_VAL & 0x20)) btn |= BUTTON_VOL_DOWN;
59 }
60
61 return btn;
62}