summaryrefslogtreecommitdiff
path: root/apps/debug_menu.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2009-05-17 13:45:14 +0000
committerFrank Gevaerts <frank@gevaerts.be>2009-05-17 13:45:14 +0000
commitb4e2db5cc544c4609f4a20fc3ef111070cf00815 (patch)
tree21c5efbf9785466ee054189f4a5db9fefb1ea75f /apps/debug_menu.c
parent8d5dbf4c147818dba3c42f79fea70b09c6dac4e6 (diff)
downloadrockbox-b4e2db5cc544c4609f4a20fc3ef111070cf00815.zip
rockbox-b4e2db5cc544c4609f4a20fc3ef111070cf00815.tar.gz
rockbox-b4e2db5cc544c4609f4a20fc3ef111070cf00815.tar.bz2
rockbox-b4e2db5cc544c4609f4a20fc3ef111070cf00815.tar.xz
Add HID related bits to the debug menu (work by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20976 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/debug_menu.c')
-rw-r--r--apps/debug_menu.c74
1 files changed, 56 insertions, 18 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 6c6ed08..f1a4c4d 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -112,8 +112,11 @@
#include "as3514.h"
#endif
-#if defined(HAVE_USBSTACK)
+#ifdef HAVE_USBSTACK
#include "usb_core.h"
+#ifdef USB_HID
+#include "usbstack/usb_hid.h"
+#endif
#endif
/*---------------------------------------------------*/
@@ -191,7 +194,7 @@ static int dbg_threads_action_callback(int action, struct gui_synclist *lists)
int selpos = gui_synclist_get_sel_pos(lists);
#if NUM_CORES > 1
if (selpos >= NUM_CORES)
- remove_thread(&threads[selpos - NUM_CORES]);
+ remove_thread(threads[selpos - NUM_CORES].id);
#else
remove_thread(&threads[selpos]);
#endif
@@ -2583,8 +2586,9 @@ static bool dbg_scrollwheel(void)
}
#endif
-#if defined (HAVE_USBSTACK) \
- && (defined(ROCKBOX_HAS_LOGF) && defined(USB_SERIAL) || defined(USB_HID))
+#if defined (HAVE_USBSTACK)
+
+#if defined(ROCKBOX_HAS_LOGF) && defined(USB_SERIAL)
static bool toggle_usb_core_driver(int driver, char *msg)
{
bool enabled = !usb_core_driver_enabled(driver);
@@ -2594,24 +2598,55 @@ static bool toggle_usb_core_driver(int driver, char *msg)
return false;
}
-#if 0 && defined(USB_STORAGE)
-static bool toggle_usb_mass_storage(void)
-{
- return toggle_usb_core_driver(USB_DRIVER_MASS_STORAGE,"USB Mass Storage");
-}
-#endif
-#if defined(ROCKBOX_HAS_LOGF) && defined(USB_SERIAL)
static bool toggle_usb_serial(void)
{
return toggle_usb_core_driver(USB_DRIVER_SERIAL,"USB Serial");
}
#endif
-#if defined(USB_HID)
-static bool toggle_usb_hid(void)
+#ifdef USB_HID
+static bool hid_send_cmd(consumer_usage_page_t cmd, char *msg)
{
- return toggle_usb_core_driver(USB_DRIVER_HID, "USB HID");
+ (void)msg;
+
+ if (!usb_core_driver_enabled(USB_DRIVER_HID)) {
+ splashf(HZ, "Send failed. Driver is disabled");
+ return false;
+ }
+
+ usb_hid_send_consumer_usage(cmd);
+ logf("Sent %s command", msg);
+
+ return false;
+}
+static bool usb_hid_send_play_pause(void)
+{
+ return hid_send_cmd(PLAY_PAUSE, "Play/Pause");
+}
+static bool usb_hid_send_stop(void)
+{
+ return hid_send_cmd(STOP, "Stop");
+}
+static bool usb_hid_send_scan_previous_track(void)
+{
+ return hid_send_cmd(SCAN_PREVIOUS_TRACK, "Scan previous track");
+}
+static bool usb_hid_send_scan_next_track(void)
+{
+ return hid_send_cmd(SCAN_NEXT_TRACK, "Scan next track");
+}
+static bool usb_hid_send_mute(void)
+{
+ return hid_send_cmd(MUTE, "Mute");
+}
+static bool usb_hid_send_volume_decrement(void)
+{
+ return hid_send_cmd(VOLUME_DECREMENT, "Vol Down");
+}
+static bool usb_hid_send_volume_increment(void)
+{
+ return hid_send_cmd(VOLUME_INCREMENT, "Vol Up");
}
#endif
#endif
@@ -2751,14 +2786,17 @@ static const struct the_menu_item menuitems[] = {
{"logfdump", logfdump },
#endif
#if defined(HAVE_USBSTACK)
-#if 0 && defined(USB_STORAGE)
- {"USB Mass-Storage driver", toggle_usb_mass_storage },
-#endif
#if defined(ROCKBOX_HAS_LOGF) && defined(USB_SERIAL)
{"USB Serial driver (logf)", toggle_usb_serial },
#endif
#if defined(USB_HID)
- {"USB HID driver", toggle_usb_hid },
+ {"USB HID play/pause", usb_hid_send_play_pause },
+ {"USB HID stop", usb_hid_send_stop },
+ {"USB HID prev track", usb_hid_send_scan_previous_track },
+ {"USB HID next track", usb_hid_send_scan_next_track },
+ {"USB HID mute", usb_hid_send_mute },
+ {"USB HID vol down", usb_hid_send_volume_decrement },
+ {"USB HID vol up", usb_hid_send_volume_increment },
#endif
#endif /* HAVE_USBSTACK */
#ifdef CPU_BOOST_LOGGING