From 8151236d337ca1368dfe0354f0968d3e9f4602fe Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Sun, 30 Jun 2002 14:11:28 +0000 Subject: Added usb_display_info() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1266 a1c6a512-1295-4272-9138-f99709370657 --- firmware/usb.c | 26 +++++++++++++++++++++++--- firmware/usb.h | 1 + 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'firmware') diff --git a/firmware/usb.c b/firmware/usb.c index c6ae306218..3e6f058bf1 100644 --- a/firmware/usb.c +++ b/firmware/usb.c @@ -26,6 +26,7 @@ #include "fat.h" #include "disk.h" #include "panic.h" +#include "lcd.h" #define USB_REALLY_BRAVE @@ -109,7 +110,7 @@ static void usb_thread(void) DEBUGF("USB inserted. Waiting for ack from %d threads...\n", num_acks_to_expect); break; - + case SYS_USB_CONNECTED_ACK: if(waiting_for_ack) { @@ -121,7 +122,7 @@ static void usb_thread(void) maybe even play some games and stuff. However, the current firmware isn't quite ready for this yet. Let's just chicken out and reboot. */ - DEBUGF("All threads have acknowledged. Rebooting...\n"); + DEBUGF("All threads have acknowledged. Continuing...\n"); #ifdef USB_REALLY_BRAVE usb_slave_mode(true); #else @@ -136,6 +137,9 @@ static void usb_thread(void) break; case USB_EXTRACTED: + /* First disable the USB mode */ + usb_slave_mode(false); + /* Tell all threads that we are back in business */ num_acks_to_expect = queue_broadcast(SYS_USB_DISCONNECTED, NULL) - 1; @@ -151,7 +155,6 @@ static void usb_thread(void) if(num_acks_to_expect == 0) { DEBUGF("All threads have acknowledged. We're in business.\n"); - usb_slave_mode(false); } else { @@ -228,6 +231,19 @@ void usb_start_monitoring(void) usb_monitor_enabled = true; } +void usb_display_info(void) +{ + lcd_stop_scroll(); + lcd_clear_display(); + +#ifdef HAVE_LCD_BITMAP + lcd_puts(4, 3, "[USB Mode]"); + lcd_update(); +#else + lcd_puts(0, 0, "[USB Mode]"); +#endif +} + #else /* Dummy simulator functions */ @@ -244,4 +260,8 @@ void usb_start_monitoring(void) { } +void usb_display_info(void) +{ +} + #endif diff --git a/firmware/usb.h b/firmware/usb.h index 8775e672a4..bbdf53f9d9 100644 --- a/firmware/usb.h +++ b/firmware/usb.h @@ -23,5 +23,6 @@ void usb_init(void); void usb_start_monitoring(void); void usb_acknowledge(int id); void usb_wait_for_disconnect(struct event_queue *q); +void usb_display_info(void); #endif -- cgit v1.2.3