Commit graph

166 commits

Author SHA1 Message Date
Tomer Shalev
31c18116de USB: Use explicit casting when setting wTotalLength field in descriptor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23157 a1c6a512-1295-4272-9138-f99709370657
2009-10-13 19:50:23 +00:00
Tomer Shalev
de45938554 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22916 a1c6a512-1295-4272-9138-f99709370657
2009-10-04 14:23:55 +00:00
Frank Gevaerts
7d11b7ac03 get rid of one hardcoded 512. SECTOR_SIZE is still there. It should probably move up (to storage.h?) so fat and usb storage can share it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22869 a1c6a512-1295-4272-9138-f99709370657
2009-10-01 20:33:52 +00:00
Tomer Shalev
8c5141b32e Commit "FS#10468 - USB HID: Show keypad mode on screen"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22852 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 10:06:04 +00:00
Frank Gevaerts
1eeab430a1 Add const to usb_serial_send() buffer.
Flyspray: FS#10519
Author: Amaury Pouly



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22422 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 05:30:40 +00:00
Frank Gevaerts
f10a3c7bed Limit usb_serial packets to 32 bytes. It's unclear why this is needed, but usb serial packets larger than 96 bytes seem to never be sent.
Thanks to Amaury Pouly for investigating this


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22285 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 20:35:01 +00:00
Frank Gevaerts
ceccec503e Move yearday_to_daymonth() to usb_storage.c. It's the only user, this function is pretty specific, and it seems to be the cleanest way to avoid ram usage increases for unrelated targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22259 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 20:03:59 +00:00
Frank Gevaerts
2dc50471ca Consolidate day of week calculation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22258 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 19:30:19 +00:00
Frank Gevaerts
61cf783371 Fix "statement with no effect" warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22256 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 18:07:14 +00:00
Frank Gevaerts
ed73a3274c Add support for setting the clock using a special SCSI command. This is the same method that itunes uses, and there are host-side tools for it (e.g. libgpod)
Flyspray: FS#10514
Author: Laurent Papier and myself



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22255 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 17:54:47 +00:00
Bertrik Sikken
d767883a41 Various files: make functions static if they're local or make sure there is a proper #include if not
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22184 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:28:25 +00:00
Maurus Cuelenaere
f060b9764d Remove USB storage defines from USB core
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22018 a1c6a512-1295-4272-9138-f99709370657
2009-07-23 23:05:26 +00:00
Frank Gevaerts
e409fba7f8 Flyspray: FS#10326
Author: Tomer Shalev

Adds a USB HID sample application, a plugin tha allows to send HID commands while connected in non-storage mode.
This also removes the HID stuff in the debug menu. Testing is now easily doable from the plugin
Also general HID updates


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21953 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 12:58:29 +00:00
Frank Gevaerts
c0a5a67387 Commit FS#9545, storage cleanup and multi-driver support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21933 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 22:28:49 +00:00
Frank Gevaerts
057a5802cd ignore write data if the length doesn't match what we expect. This avoids the data corruption caused by FS#10319, but doesn't solve the root cause yet (patch by Martin Ritter)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21521 a1c6a512-1295-4272-9138-f99709370657
2009-06-26 15:14:49 +00:00
Frank Gevaerts
4f2dfcc01b always call the class driver init function. This is needed because they are called before the usb_core_enable_driver() calls, so depending on enabled status breaks things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21069 a1c6a512-1295-4272-9138-f99709370657
2009-05-24 20:46:57 +00:00
Frank Gevaerts
c61a75173b Reorganise USB stack defines. Now config.h decides which class drivers get enabled instead of usb_core.h
Also enable HID, and use that as the dummy class instead of charging-only for controllers that have working interrupt transfers.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21053 a1c6a512-1295-4272-9138-f99709370657
2009-05-23 14:30:20 +00:00
Frank Gevaerts
bca3d3dca4 Fix #ifdef nesting to allow USB_HID to be built without USB_CHARGING_ONLY (FS#10236 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21052 a1c6a512-1295-4272-9138-f99709370657
2009-05-23 12:41:46 +00:00
Frank Gevaerts
fba4be213f Don't force double-buffering for sd devices. They apparently are not faster with it, ans possibly actually slower
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20999 a1c6a512-1295-4272-9138-f99709370657
2009-05-20 16:57:17 +00:00
Frank Gevaerts
792a7a6086 Use different read and write buffer sizes. Due to interaction between common transfer sizes used by most OSes (64k) and the double-buffering system we use for writes, writes need a smaller buffer to make sure that USB and disk I/O can overlap.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20988 a1c6a512-1295-4272-9138-f99709370657
2009-05-19 18:51:03 +00:00
Frank Gevaerts
c8d6a02c5a Speed up USB storage by being a bit smarter in ordering transfer setups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20982 a1c6a512-1295-4272-9138-f99709370657
2009-05-18 19:45:24 +00:00
Frank Gevaerts
2bc6b7c5cd Add usb_hid_usage_tables.h for HID to actually compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20963 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 15:30:39 +00:00
Frank Gevaerts
69a4117c1d Add working USB HID driver, by Tomer Shalev (part of his GSoC work).
This needs support for usb interrupt transfers, so there are some changes in various USB drivers as well (only usb-drv-arc supports it at this point, others won't have working HID yet).

HID is disabled for now, as the apps/ part is not included yet.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20962 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 15:30:09 +00:00
Frank Gevaerts
685cee87be fix send_command_result() size checking for the SCSI_REQUEST_SENSE case (thanks to Tomer Shalev, FS#10203)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20914 a1c6a512-1295-4272-9138-f99709370657
2009-05-11 23:00:56 +00:00
Maurus Cuelenaere
1ab19d0b9b Disable usage of USB serial descriptor when no unique one is available
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20761 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 20:24:23 +00:00
Frank Gevaerts
2a085f4477 Add preliminary HID driver. It doesn't do anything yet, but that should change soon (FS#10116 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20750 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 21:17:18 +00:00
Frank Gevaerts
08b04cc587 reorganise usb_core.c a bit, to make the code more readable and more maintainable (FS#10150 by Tomer Shalev))
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20748 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 19:53:32 +00:00
Frank Gevaerts
4bff30a77f simplify and cleanup usb_serial.c (FS#10149 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20746 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 19:25:59 +00:00
Frank Gevaerts
00b407b04f USB related Cosmetics, whitespace and readability fixes (FS#10147 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20737 a1c6a512-1295-4272-9138-f99709370657
2009-04-18 21:32:41 +00:00
Frank Gevaerts
3314f389ba Allow class drivers to reuse the core data buffer for control transfers. This doesn't make much difference right now, but it should keep HID memory usage lower (once HID is ready) (FS#10146 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20735 a1c6a512-1295-4272-9138-f99709370657
2009-04-18 20:40:50 +00:00
Frank Gevaerts
ab09322b7a Add a PACK_DESCRIPTOR macro to make the class drivers a bit more readable (FS#10145 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20733 a1c6a512-1295-4272-9138-f99709370657
2009-04-18 20:04:52 +00:00
Frank Gevaerts
463e20271b Fix some whitespace issues (including tabs that slipped in somehow) (FS#10144 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20731 a1c6a512-1295-4272-9138-f99709370657
2009-04-18 18:17:29 +00:00
Frank Gevaerts
a8b6f1cb7b Fix unintentional usage of relatively unknown C features (FS#10119, found by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20685 a1c6a512-1295-4272-9138-f99709370657
2009-04-11 12:55:34 +00:00
Maurus Cuelenaere
697869e892 Revert r20617 for now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20624 a1c6a512-1295-4272-9138-f99709370657
2009-04-05 13:11:38 +00:00
Maurus Cuelenaere
b4f6b259ef Don't leave LOGF_ENABLE enabled...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20619 a1c6a512-1295-4272-9138-f99709370657
2009-04-04 20:58:39 +00:00
Maurus Cuelenaere
2ca376cce8 Use the audio buffer in USB storage for ISP1583-having targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20617 a1c6a512-1295-4272-9138-f99709370657
2009-04-04 18:16:36 +00:00
Frank Gevaerts
0ece30a726 Commit FS#10015 - Use chained transfer descriptor to speed up USB transfers on PP and iMX31
(not exactly the same. This one actually works)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20570 a1c6a512-1295-4272-9138-f99709370657
2009-03-29 19:56:21 +00:00
Nicolas Pennequin
396aeafa6c Correct Björn's name in various file headers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20491 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 17:08:46 +00:00
Frank Gevaerts
105fe0679d Don't swamp the system with broadcast messages that nobody is listening to yet anyway.
Also, these messages should probably be done in a different way, like an update every second (or maybe half-second)
This should fix FS#10006


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20294 a1c6a512-1295-4272-9138-f99709370657
2009-03-11 20:54:32 +00:00
Frank Gevaerts
871db6f5d9 Allow the user to leave MSC mode by pressing the USB POWER button (the one that's used to go to usb power mode on plugin) when the host OS hasn't locked the device.
This only works for devices that expose a removable device, so for now the gigabeat S is out of luck.
(slightly modified from FS#9993)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20244 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 18:45:19 +00:00
Frank Gevaerts
ec602b7e75 send the USB broadcast events at a less busy time
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20142 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 19:39:28 +00:00
Frank Gevaerts
3b141d9c80 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
2009-02-28 16:25:07 +00:00
Frank Gevaerts
afedfcf44e Leave "usb mode" when all LUNs are ejected again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20139 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 15:16:54 +00:00
Frank Gevaerts
b6a1af2a9b Adds the possibility to show nice "do not disconnect" screens/icons on the USB screen. A proof-of-concept for the actual screen is at FS#9969
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20138 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 14:47:18 +00:00
Frank Gevaerts
80410f21b9 remove SERIALIZE_WRITES. The reason for it (the SD bug) is gone, so there's no point in keeping this
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20098 a1c6a512-1295-4272-9138-f99709370657
2009-02-24 18:30:32 +00:00
Dave Chapman
dff46d20e6 Commit my patch from FS#9940 - fix the invalid active flags in the Gigabeat S MBR on the fly in the UMS driver. It is hypothosized that actually changing these on the disk will make the OF more likely to reformat the data partition during recovery - but that is not confirmed. So we play it safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20085 a1c6a512-1295-4272-9138-f99709370657
2009-02-22 18:25:16 +00:00
Frank Gevaerts
3e7715d2f5 small usb serial fixes. This seems to work fine on imx31, but for some reason it sometimes stops sending data on portalplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20077 a1c6a512-1295-4272-9138-f99709370657
2009-02-21 16:36:54 +00:00
Frank Gevaerts
88eb592cf4 more fixes. There's still something wrong as it sometimes suddenly stops sending data. Disconnecting and reconnecting gets it going again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20072 a1c6a512-1295-4272-9138-f99709370657
2009-02-21 00:28:40 +00:00
Frank Gevaerts
2c3517d67a Fix ringbuffer handling. This will hopefully fix the hang-on-fast-send issue
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20064 a1c6a512-1295-4272-9138-f99709370657
2009-02-20 15:20:31 +00:00
Frank Gevaerts
67a5c56103 usb serial on PP seems to have broken. Fix it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20023 a1c6a512-1295-4272-9138-f99709370657
2009-02-16 21:45:40 +00:00