From 2630245cb9a6504269951738363b1c07479bdc52 Mon Sep 17 00:00:00 2001 From: Justin Heiner Date: Fri, 23 Aug 2002 02:17:00 +0000 Subject: Added NSauzede's patch to detect USB while in a Menu. It also adds the USB icon to the player while in USB mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1935 a1c6a512-1295-4272-9138-f99709370657 --- apps/menu.c | 21 ++++++++++++++++++++- firmware/usb.c | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/apps/menu.c b/apps/menu.c index 79919f19af..1f04ef2249 100644 --- a/apps/menu.c +++ b/apps/menu.c @@ -22,6 +22,7 @@ #include "button.h" #include "kernel.h" #include "debug.h" +#include "usb.h" #include "panic.h" #include "settings.h" #include "status.h" @@ -213,8 +214,10 @@ void menu_exit(int m) void menu_run(int m) { + bool laststate; + menu_draw(m); - + while(1) { switch( button_get_w_tmo(HZ/2) ) { #ifdef HAVE_RECORDER_KEYPAD @@ -278,6 +281,22 @@ void menu_run(int m) break; #endif +#ifndef SIMULATOR + case SYS_USB_CONNECTED: +#ifdef HAVE_LCD_BITMAP + laststate = statusbar(false); +#endif + usb_acknowledge(SYS_USB_CONNECTED_ACK); + usb_wait_for_disconnect(&button_queue); + menu_draw(m); +#ifdef HAVE_LCD_BITMAP + statusbar(laststate); +#else + lcd_icon(ICON_PARAM, true); +#endif + break; +#endif + default: break; } diff --git a/firmware/usb.c b/firmware/usb.c index 624c2c6c1e..2e978ff54e 100644 --- a/firmware/usb.c +++ b/firmware/usb.c @@ -185,6 +185,9 @@ static void usb_thread(void) waiting_for_ack = true; DEBUGF("USB extracted. Waiting for ack from %d threads...\n", num_acks_to_expect); +#ifdef HAVE_LCD_CHARCELLS + lcd_icon(ICON_USB, false); +#endif break; case SYS_USB_DISCONNECTED_ACK: @@ -369,5 +372,8 @@ void usb_display_info(void) lcd_update(); #else lcd_puts(0, 0, "[USB Mode]"); + lcd_icon(ICON_PARAM, false); + lcd_icon(ICON_AUDIO, false); + lcd_icon(ICON_USB, true); #endif } -- cgit v1.2.3