From 1645c148e35becff9668cc541be5c850153370eb Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Thu, 17 Nov 2011 18:40:00 +0000 Subject: Simulate usb plugging on the sim better using sim_tasks. Now all threads need to ack the connection like on real target, dircache is unloaded and playback stops accordingly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31009 a1c6a512-1295-4272-9138-f99709370657 --- firmware/common/dircache.c | 2 -- firmware/target/hosted/sdl/button-sdl.c | 5 +---- firmware/usb.c | 8 +++----- 3 files changed, 4 insertions(+), 11 deletions(-) (limited to 'firmware') diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c index 3d7fbd520d..8d264a3e7c 100644 --- a/firmware/common/dircache.c +++ b/firmware/common/dircache.c @@ -864,12 +864,10 @@ static void dircache_thread(void) dircache_initialized = false; break ; -#if (CONFIG_PLATFORM & PLATFORM_NATIVE) case SYS_USB_CONNECTED: usb_acknowledge(SYS_USB_CONNECTED_ACK); usb_wait_for_disconnect(&dircache_queue); break ; -#endif } } } diff --git a/firmware/target/hosted/sdl/button-sdl.c b/firmware/target/hosted/sdl/button-sdl.c index ca1f2e5eb1..837cba4dc4 100644 --- a/firmware/target/hosted/sdl/button-sdl.c +++ b/firmware/target/hosted/sdl/button-sdl.c @@ -317,10 +317,7 @@ static void button_event(int key, bool pressed) if (!pressed) { usb_connected = !usb_connected; - if (usb_connected) - queue_post(&button_queue, SYS_USB_CONNECTED, 0); - else - queue_post(&button_queue, SYS_USB_DISCONNECTED, 0); + sim_trigger_usb(usb_connected); } return; diff --git a/firmware/usb.c b/firmware/usb.c index 4e71c06119..59462b952e 100644 --- a/firmware/usb.c +++ b/firmware/usb.c @@ -782,16 +782,14 @@ void usb_set_hid(bool enable) } #endif /* USB_ENABLE_HID */ -#else /* SIMULATOR || USB_NONE */ +#elif defined(USB_NONE) +/* Dummy functions for USB_NONE */ -#ifdef USB_NONE bool usb_inserted(void) { return false; } -#endif /* USB_NONE */ -/* Dummy simulator functions */ void usb_acknowledge(long id) { id = id; @@ -814,5 +812,5 @@ void usb_wait_for_disconnect(struct event_queue *q) { (void)q; } +#endif /* USB_NONE */ -#endif /* !USB_NONE && !SIMULATOR */ -- cgit v1.2.3