Commit graph

2671 commits

Author SHA1 Message Date
Thomas Martitz
2a8eacdbfc Buflib: Make shrinking and buflib_available() smarter.
* shrinking now considers freespace just before the alloc-to-be-shrinked,
  that means less (or sometimes none at all) is taken from the audio buffer.
* core_available() now searches for the best free space, instead of simply the end,
  i.e. it will not return 0 if the audio buffer is allocated and there's free space
  before it. It also runs a compaction to ensure maximum contiguous memory.

audio_buffer_available() is also enhanced. It now considers the 256K reserve buffer,
and returns free buflib space instead if the audio buffer is short.

This all fixes the root problem of FS#12344 (Sansa Clip+: PANIC occurred when
dircache is enabled), that alloced from the audio buffer, even if it was very
short and buflib had many more available as free space before it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31006 a1c6a512-1295-4272-9138-f99709370657
2011-11-17 17:55:02 +00:00
Andrew Ryabinin
b6252abb25 fix target id for HiFiMAN HM-801
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31001 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 16:07:06 +00:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +00:00
Jonathan Gordon
be716c0be8 Finally commit FS#5111 - piezo clicker for ipods!
Origional implementation by Robert Keevil with contributions from Frederik Vestre,  Stoyan Stratev, Craig Elliott, Michael Sparmann,  Thomas Schott, Rosso Maltese, and syncs from a bunch of other people!

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30995 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 10:25:43 +00:00
Amaury Pouly
7fec08927b fuze+: fix backlight to have a real zero
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30978 a1c6a512-1295-4272-9138-f99709370657
2011-11-14 19:46:09 +00:00
Amaury Pouly
2a45f7772b fuze+: fix backlight calculations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30977 a1c6a512-1295-4272-9138-f99709370657
2011-11-14 19:14:34 +00:00
Andree Buschmann
169b3048e3 Use the timeout api for the gui boost implementation. This ensures that the CPU will be unboosted after the defined timeout, the former implementation could stay boosted in several situations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30975 a1c6a512-1295-4272-9138-f99709370657
2011-11-13 18:00:28 +00:00
Bertrik Sikken
61f61c9773 Sansa clip zip: correct USB vendor/product id
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30970 a1c6a512-1295-4272-9138-f99709370657
2011-11-13 15:10:56 +00:00
Andree Buschmann
f1ee740f2b Finally submit GUI boost (FS#8668). With this change the CPU is boosted (with a 1 second timeout) on scrollwheel activity in the list, main menu, tree and std context. For now GUI boost is only enabled on scrollwheel targets. The code can easily be enhanced to work with other targets as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30967 a1c6a512-1295-4272-9138-f99709370657
2011-11-11 19:40:32 +00:00
Thomas Martitz
1280f322ec Fix build errors and warnings in the lcd drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30940 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 22:04:43 +00:00
Thomas Martitz
f443e7bbf7 Support for transparency in 32bit bitmaps on color targets.
This uses the alpha blending capabilities introduced with anti-aliased fonts
to draw bitmaps with transparency information. The bmp loader is extended to read
this information (pass FORMAT_TRANSPARENT in format). The alpha information will
be used when drawing the bitmap.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30937 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 21:36:49 +00:00
Thomas Martitz
13209604c1 Add new lcd_bmp and lcd_bmp_part APIs.
This new APIs wrap around lcd_[mono|transparent]_bitmap/_part calls and
handle all kinds bitmaps. The intended use is to draw bitmaps that
come from read_bmp_fd/_file.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30936 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 21:34:46 +00:00
Jonathan Gordon
f19f3efb07 Redo r30826 (and hopefully not reintroduce font issues) which cleans up the font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30932 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 10:09:33 +00:00
Jonathan Gordon
452a3ce274 Put icons on buflib:
Removes the max icon size limitation and doesnt waste RAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30931 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 09:36:35 +00:00
Torne Wuff
569285794b Bulk convert all DOS line endings to UNIX.
For the git migration we want a nice clean repository with UNIX line
endings. git does not use svn:eol-style, we just need the file contents to be
sane.

Sorry everybody. I know this messes up blame.

Scumbag *NIX developer says migrating to git will make line ending issues go
away; commits giant change to svn which changes line endings anyway. :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30924 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:44:25 +00:00
Jens Arnold
ae601954aa Make usage of TALK_PARTIAL_LOAD actually Ondio specific. MMC is not always slow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30917 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 14:25:33 +00:00
Michael Sparmann
661311256a Commit FS#12209 by Vencislav Atanasov: iPod 6g/classic usb product id
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30911 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 12:06:20 +00:00
Michael Sparmann
2ce48832d8 iPod Classic: Set LCD controller configuration register during initialization and don't rely on the bootloader doing that (closes FS#12233)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30908 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 11:35:21 +00:00
Andrew Ryabinin
2164aab902 Added HiFiMAN HM-801 target. FS#12355. This also renames tda1543.{ch} used by HM-60x to dummy_codec.{ch} as it works for PCM1704 used by HM-801.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30891 a1c6a512-1295-4272-9138-f99709370657
2011-11-03 11:53:02 +00:00
Bertrik Sikken
58543296c9 Sansa clip zip: attempt to fix the pixel format swappedness for good
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30873 a1c6a512-1295-4272-9138-f99709370657
2011-10-31 20:17:04 +00:00
Bertrik Sikken
94fc46b730 Sansa clip zip: fix colours of icons, logos, album art
* configure display for RGB (instead of BGR) colour coding
* fix logo bitmap to correct size of 96x30
* fix pixel format to RGB565 swapped

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30859 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 22:36:47 +00:00
Bertrik Sikken
0edf98c9d7 Sansa clip zip: update target configuration with correct battery capacity, album art
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30856 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 20:08:13 +00:00
Bertrik Sikken
e90f961593 Sansa clip zip: update mkamsboot and fix various drivers to make it boot to the main firmware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30853 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 17:08:05 +00:00
Thomas Martitz
93c6c79e8d Better fix for FS#12337. Use 0 to make the line height calculated from the font height, as before r30773.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30850 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 15:16:02 +00:00
Michael Giacomelli
b25cd7d892 Revert swap channel feature as we're presently in a feature freeze. I'll recommit after the release is branched.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30841 a1c6a512-1295-4272-9138-f99709370657
2011-10-26 18:37:50 +00:00
Michael Giacomelli
a02bd81c03 Fix red by committing the entire patch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30838 a1c6a512-1295-4272-9138-f99709370657
2011-10-26 18:24:14 +00:00
Fred Bauer
e299eb3ea3 Add functions font_set_ui() and font_get_ui(). The font returned by FONT_UI used to be fixed at zero but since buflib-fonts (r30589) can be different, depending on the order of loads and unloads. Fixes broken behavoir in virtual keyboard (FS#12336), lyrics player (FS#12306), and hopefully, FS#12337
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30826 a1c6a512-1295-4272-9138-f99709370657
2011-10-22 17:13:33 +00:00
Fred Bauer
04a015dde0 Provide font_lock(). Font_get_bits() or ..width() may have to read glyph cache misses from disk so provide a means to lock the buflib memory during the wait.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30814 a1c6a512-1295-4272-9138-f99709370657
2011-10-21 18:05:52 +00:00
Amaury Pouly
43673e9e28 imx233/fuze+: fix codec prototype header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30796 a1c6a512-1295-4272-9138-f99709370657
2011-10-18 22:03:29 +00:00
Thomas Martitz
a13e9644b5 - Fix some reds by implementing lcd_get_dpi().
- Use the list item centering capabilities in the plugin lib
- Bump plugin ABI for the changed viewport struct (sort the API too).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30775 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:28:35 +00:00
Thomas Martitz
3b12634e6b Commit FS#12321 - Touchscreen: List line padding, to more easily select lines
This adds line padding to lists on touchscreens,
in order to make lists reasonably useful without huge fonts.

It's configurable:
* Automatic (default, line height calculated using a lcd dpi aware function)
* Off (status quo, line height = font height)
* X pixels (from 2 to 50 in even steps)

The automatic setting should/aims to Just Work Out Of The Box on all targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30773 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 17:38:10 +00:00
Michael Sevakis
feddfdb2d9 Gigabeat S/i.MX31/wm8978: Clean up clocking information in the general wmcodec/pcm drivers and move it to the target's wmcodec/i2s files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30771 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 15:37:14 +00:00
Fred Bauer
8c9017211e Faster cached font loading. FS#12333
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30769 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 13:17:04 +00:00
Marcin Bukat
32f763c39a Add HiFiMAN HM-60x target(s). FS#12319 by Andrew Ryabinin with some (small) modification by me. This also splits rk27xx lcd driver into lcdif-rk27xx and lcd controller specific part. Some modifications to the pcm driver have been made to allow using codecs in slave mode (as TDA1543 used in hifiman is slave only i2s codec).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30765 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 10:32:19 +00:00
Fred Bauer
899865a70b Fix Yellow: missing proto
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30761 a1c6a512-1295-4272-9138-f99709370657
2011-10-16 13:28:44 +00:00
Fred Bauer
100974162d FS:12299 Font glyph cache is no longer saved. Each font will now have its own glyph cache file with the extension '.gc' Includes a temporary fix that delays saving the file to prevent the creation of multiple gc files with same name. Mostly JD Gordon's code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30760 a1c6a512-1295-4272-9138-f99709370657
2011-10-16 13:18:46 +00:00
Amaury Pouly
eb94b23db0 imx233/fuze+: declare 3d audio capability, update lang accordingly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30732 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 12:29:37 +00:00
Thomas Martitz
5783505b99 Add two macros for char*-based pointer arithmetic and use it in font.c
This fixes errornous pointer addition (+ on a short*), which crashed in some situation.
Fixes FS#12317 and should hopefully get the clips booting again.

Thanks to Jonathan Gordon for spotting the bad pointer arithmetic.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30724 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 19:29:18 +00:00
Amaury Pouly
7e8877e871 imx233/fuze+: enable plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30700 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 20:33:14 +00:00
Amaury Pouly
4157c23c6f imx233/fuze+: don't use iram in plugins and in codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30641 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:39:30 +00:00
Bertrik Sikken
93e748ac84 IAP: use a state machine for handling iap packets, based on FS#12135
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30598 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:19:33 +00:00
Jonathan Gordon
83cfbf4e51 Allow fonts to use smaller buffers than the default size. use font_load_ex() to speficiy the buffer size. If the font is already loaded with a smaller buffer it will be reloaded to use the new size. Also fix an issue where handles would get lost if fonts fail to load in skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30592 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:52:16 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Bertrik Sikken
f323300b82 Sansa clipzip: make main build compile (plugins still disabled)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30588 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 11:21:01 +00:00
Bertrik Sikken
b1298c2c44 Sansa AMS/AMSv2: analog front-end register CVDD/DCDC3 doesn't exist in AMSv2, so don't modify it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30579 a1c6a512-1295-4272-9138-f99709370657
2011-09-21 21:48:19 +00:00
Michael Sevakis
c222f38c03 Remove obsolete USB_DETECT_BY_DRV define throughout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30549 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 16:42:43 +00:00
Michael Sevakis
82259b7af5 Move AMSv1 (AMSv2 had been done already) to using setup packet request to detect a host.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30547 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 15:26:57 +00:00
Michael Sevakis
207131c53b Convert ARC USB driver code to always use setup packet detection and remove the bus-reset-based detection method for it. This prevents false USB detection from chargers or other accesories that aren't actually a host but can trigger the bus reset condition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30546 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 14:05:07 +00:00
Amaury Pouly
3d46b080fd imx233/fuze+: use random size for plugin and codec buf (must be non-zero for init attr)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30522 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 23:38:42 +00:00
Szymon Dziok
dad541a391 HDD6330: fix the behavior of the lcd during shutdown (fading out), disable poweroff while charging for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30520 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 21:14:11 +00:00