From 3b141d9c80115e778b87aa621fe13b80e952396d Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Sat, 28 Feb 2009 16:25:07 +0000 Subject: Also broadcast transfer information for use by fancy USB screens git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20140 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/kernel.h | 2 ++ firmware/usbstack/usb_storage.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 8b55a57daa..b8f2b906fd 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h @@ -66,6 +66,8 @@ #define SYS_USB_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 2) #define SYS_USB_DISCONNECTED_ACK MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 3) #define SYS_USB_LUN_LOCKED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 4) +#define SYS_USB_READ_DATA MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 5) +#define SYS_USB_WRITE_DATA MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 6) #define SYS_POWEROFF MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 0) #define SYS_CHARGER_CONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 1) #define SYS_CHARGER_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 2) diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index ed9efd67c3..5f28638224 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -966,6 +966,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) cbw->command_block[8]); //logf("scsi read %d %d", cur_cmd.sector, cur_cmd.count); + queue_broadcast(SYS_USB_READ_DATA, (lun<<16)+cur_cmd.count); if((cur_cmd.sector + cur_cmd.count) > block_count) { send_csw(UMS_STATUS_FAIL); @@ -1015,6 +1016,8 @@ static void handle_scsi(struct command_block_wrapper* cbw) cur_cmd.count = block_size_mult * (cbw->command_block[7] << 8 | cbw->command_block[8]); + + queue_broadcast(SYS_USB_WRITE_DATA, (lun<<16)+cur_cmd.count); /* expect data */ if((cur_cmd.sector + cur_cmd.count) > block_count) { send_csw(UMS_STATUS_FAIL); -- cgit v1.2.3