summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Heiner <jheiner@rockbox.org>2002-08-23 02:17:00 +0000
committerJustin Heiner <jheiner@rockbox.org>2002-08-23 02:17:00 +0000
commit2630245cb9a6504269951738363b1c07479bdc52 (patch)
treecf6d5627f0984c2edf6dd8582795d33e9fca4311
parent754651efdda04556a605f0db62cd1d92bdfbd46b (diff)
downloadrockbox-2630245cb9a6504269951738363b1c07479bdc52.tar.gz
rockbox-2630245cb9a6504269951738363b1c07479bdc52.zip
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
-rw-r--r--apps/menu.c21
-rw-r--r--firmware/usb.c6
2 files changed, 26 insertions, 1 deletions
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 @@
22#include "button.h" 22#include "button.h"
23#include "kernel.h" 23#include "kernel.h"
24#include "debug.h" 24#include "debug.h"
25#include "usb.h"
25#include "panic.h" 26#include "panic.h"
26#include "settings.h" 27#include "settings.h"
27#include "status.h" 28#include "status.h"
@@ -213,8 +214,10 @@ void menu_exit(int m)
213 214
214void menu_run(int m) 215void menu_run(int m)
215{ 216{
217 bool laststate;
218
216 menu_draw(m); 219 menu_draw(m);
217 220
218 while(1) { 221 while(1) {
219 switch( button_get_w_tmo(HZ/2) ) { 222 switch( button_get_w_tmo(HZ/2) ) {
220#ifdef HAVE_RECORDER_KEYPAD 223#ifdef HAVE_RECORDER_KEYPAD
@@ -278,6 +281,22 @@ void menu_run(int m)
278 break; 281 break;
279#endif 282#endif
280 283
284#ifndef SIMULATOR
285 case SYS_USB_CONNECTED:
286#ifdef HAVE_LCD_BITMAP
287 laststate = statusbar(false);
288#endif
289 usb_acknowledge(SYS_USB_CONNECTED_ACK);
290 usb_wait_for_disconnect(&button_queue);
291 menu_draw(m);
292#ifdef HAVE_LCD_BITMAP
293 statusbar(laststate);
294#else
295 lcd_icon(ICON_PARAM, true);
296#endif
297 break;
298#endif
299
281 default: 300 default:
282 break; 301 break;
283 } 302 }
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)
185 waiting_for_ack = true; 185 waiting_for_ack = true;
186 DEBUGF("USB extracted. Waiting for ack from %d threads...\n", 186 DEBUGF("USB extracted. Waiting for ack from %d threads...\n",
187 num_acks_to_expect); 187 num_acks_to_expect);
188#ifdef HAVE_LCD_CHARCELLS
189 lcd_icon(ICON_USB, false);
190#endif
188 break; 191 break;
189 192
190 case SYS_USB_DISCONNECTED_ACK: 193 case SYS_USB_DISCONNECTED_ACK:
@@ -369,5 +372,8 @@ void usb_display_info(void)
369 lcd_update(); 372 lcd_update();
370#else 373#else
371 lcd_puts(0, 0, "[USB Mode]"); 374 lcd_puts(0, 0, "[USB Mode]");
375 lcd_icon(ICON_PARAM, false);
376 lcd_icon(ICON_AUDIO, false);
377 lcd_icon(ICON_USB, true);
372#endif 378#endif
373} 379}