summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/button-target.h
diff options
context:
space:
mode:
authorMarcoen Hirschberg <marcoen@gmail.com>2007-04-18 12:22:27 +0000
committerMarcoen Hirschberg <marcoen@gmail.com>2007-04-18 12:22:27 +0000
commitf44f961812c059b69df19ac5bd828986ba10513f (patch)
tree9b19de69126ed041992f31a7c690db841a36af6f /firmware/target/arm/s3c2440/gigabeat-fx/button-target.h
parentc3dcc87aa494934943769b70fd752af1271d196a (diff)
move the Gigabeat from gigabeat/meg-fx to s3c2440/gigabeat-fx to avoid problems with possible ports in the future: Gigabeat S/V (i.mx31 based) and Kenwood HD20GA7/HD20GA9 (s3c2440 based)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13200 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/button-target.h')
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/button-target.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/button-target.h b/firmware/target/arm/s3c2440/gigabeat-fx/button-target.h
new file mode 100644
index 0000000000..ab68e8050f
--- /dev/null
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/button-target.h
@@ -0,0 +1,89 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Linus Nielsen Feltzing
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef _BUTTON_TARGET_H_
+#define _BUTTON_TARGET_H_
+
+#include <stdbool.h>
+#include "config.h"
+
+#define HAS_BUTTON_HOLD
+
+bool button_hold(void);
+void button_init_device(void);
+int button_read_device(void);
+
+/* Toshiba Gigabeat specific button codes */
+
+#define BUTTON_POWER 0x00000001
+#define BUTTON_MENU 0x00000002
+
+#define BUTTON_LEFT 0x00000004
+#define BUTTON_RIGHT 0x00000008
+#define BUTTON_UP 0x00000010
+#define BUTTON_DOWN 0x00000020
+
+#define BUTTON_VOL_UP 0x00000040
+#define BUTTON_VOL_DOWN 0x00000080
+
+#define BUTTON_SELECT 0x00000100
+#define BUTTON_A 0x00000200
+
+
+/* Toshiba Gigabeat specific remote button ADC values */
+/* The remote control uses ADC 1 to emulate button pushes
+ Reading (approx) Button HP plugged in? Remote plugged in?
+ 0 N/A Yes No
+ 125 Play/Pause Cant tell Yes
+ 241 Speaker+ Cant tell Yes
+ 369 Rewind Cant tell Yes
+ 492 Fast Fwd Cant tell Yes
+ 616 Vol + Cant tell Yes
+ 742 Vol - Cant tell Yes
+ 864 None Cant tell Yes
+ 1023 N/A No No
+*/
+
+/*
+ Notes:
+
+ Buttons on the remote are translated into equivalent button presses just
+ as if you were pressing them on the Gigabeat itself.
+
+ We cannot tell if the hold is asserted on the remote. The Hold function on
+ the remote is to block the output of the buttons changing.
+
+ Only one button can be sensed at a time. If another is pressed, the button
+ with the lowest reading is dominant. So, if Rewind and Vol + are pressed
+ at the same time, Rewind value is the one that is read.
+*/
+
+
+
+
+#define BUTTON_MAIN (BUTTON_POWER|BUTTON_MENU|BUTTON_LEFT|BUTTON_RIGHT\
+ |BUTTON_UP|BUTTON_DOWN|BUTTON_VOL_UP|BUTTON_VOL_DOWN\
+ |BUTTON_SELECT|BUTTON_A)
+
+
+#define BUTTON_REMOTE 0
+
+#define POWEROFF_BUTTON BUTTON_POWER
+#define POWEROFF_COUNT 10
+
+#endif /* _BUTTON_TARGET_H_ */