Commit graph

8670 commits

Author SHA1 Message Date
Bertrik Sikken
2f620b8af3 ipod nano 1g: enable LCD invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30182 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 22:05:16 +00:00
Bertrik Sikken
1f72825444 ipod nano 1g: show lcd type debug info, make more room for iap debug info
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30181 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 21:21:31 +00:00
Thomas Martitz
b2f52477df Android: Change headphone detection to call into native.
Making a JNI call from tick tasks is not permitted as the underlying thread
is not attached to the Java VM. This is an error and crashes in the emulator
(which has stricter JNI checks enabled by default).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30173 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 23:44:56 +00:00
Frank Gevaerts
b8bfa84d1b Fix "variable 'result' set but not used" warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30172 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 21:06:30 +00:00
Frank Gevaerts
6c5c3495ca Disable ipod video battery capacity default detection for bootloader and simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30171 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 20:55:59 +00:00
Frank Gevaerts
aa27d47782 Set the default battery capacity for ipod video properly depending on detected RAM size.
Also set up a callback for the battery capacity setting (for all players) so changes take effect without having to reboot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30170 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 20:48:16 +00:00
Marcin Bukat
31b7ecb09b rk27xx - use more correct function to map between percived lightness and PWM fill factor when setting backlight brightness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30168 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 18:29:30 +00:00
Marcin Bukat
5d9b230168 rk27xx - implement cache_commit_discard(). Cache is still not enabled in crt0.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30167 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 06:49:03 +00:00
Marcin Bukat
f1c7fba5a4 rk27xx - add missing interrupt source
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30166 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 22:30:53 +00:00
Marcin Bukat
8fba4fb937 rk27xx - fix (hopefully) adc readings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30164 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 22:00:17 +00:00
Thomas Martitz
33de9cdaef Android: Refactor some of the glue code.
* Cleanup RockboxService.java by moving the battery and
  headphone monitors to separate classes and detaching their instances
* Move those monitors and RockboxTelephony.java into a new
  monitors subdirectory
* Call those monitors all the same from native code by creating
  the objects there

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30160 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 21:02:47 +00:00
Thomas Martitz
1b7ff725c6 Revert "Introduce bsearch() and use it in tagtree.c."
It was committed by accident (it's on FS still).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30157 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:57:50 +00:00
Thomas Martitz
74ab227b58 Introduce bsearch() and use it in tagtree.c.
bsearch() is a general purpose binary search function for arrays.
It's supposedly faster than looping over arrays.
The array needs to be sorted in ascending order under the provided
comparison function. If the key and array element are of the same kind,
then the same compare function can be used for qsort() and bsearch().

Code taken from glibc.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30155 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:55:20 +00:00
Marcin Bukat
cad91ed938 rk27xx - fix backlight driver - now one can set brightness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30138 a1c6a512-1295-4272-9138-f99709370657
2011-07-14 17:06:44 +00:00
Amaury Pouly
5a2681161b imx233/fuze+: make SOURCES more correct, implement i2c for fmradio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30135 a1c6a512-1295-4272-9138-f99709370657
2011-07-09 17:14:05 +00:00
Miika Pekkarinen
e06bb54d12 Initialize the d_names_start pointer correctly in dircache. This should
prevent d_names data from being overwritten (likely causing garbage in
file browser and other strange symptoms).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30122 a1c6a512-1295-4272-9138-f99709370657
2011-07-04 17:13:48 +00:00
Amaury Pouly
86c64d4151 imx233: add missing i2c file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30121 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:22:09 +00:00
Amaury Pouly
e36b20c4a1 imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30120 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:18:41 +00:00
Michael Sevakis
22b6def065 Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 11:55:38 +00:00
Rafaël Carré
a1e1892b0f as3525: make interrupts struct static and merge declaration & definition
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30116 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:49:09 +00:00
Amaury Pouly
e34eaf300c imx233/fuze+: simplify ssp pin code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30113 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:28:06 +00:00
Amaury Pouly
88f75d096e imx233/fuze+: don't compile {touchpad code,sd} in bootloader mode, fix style in mmc
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30112 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:21:06 +00:00
Amaury Pouly
82ecc75e68 imx233/fuze+: make config.h more correct, remove logo from bootloader, update linker file and crt0 to produce a single blob into dram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30111 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:12:10 +00:00
Miika Pekkarinen
563a185ff4 Fixed incorrect dircache reallocation during tagcache commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30108 a1c6a512-1295-4272-9138-f99709370657
2011-07-01 13:38:20 +00:00
Amaury Pouly
617d1e9f6b imx233/fuze+: ssp, dma, mmc now work properly, partially implement cpu frequency changing, implement panic waiting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30104 a1c6a512-1295-4272-9138-f99709370657
2011-06-30 17:31:40 +00:00
Michael Sevakis
8c47ed15e9 Get M5 building again by moving the downmix buffer out of IRAM for now. Everything should still work. It doesn't have any apparently measurable effect on pure playback CPU usage as seen from the buffering thread screen compared to earlier tests on the same file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30101 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 13:43:47 +00:00
Michael Sevakis
5ff641fb81 Do some adjustments to alleviate IRAM congestion on some targets from r30097. Include removing pointless IRAM declarations in pcmbuf.c because that callback code runs at a fairly relaxed pace. M5 is still the biggest problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30100 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 09:39:13 +00:00
Michael Sevakis
40ff07140d Get android to build. Forgo optimized mixing code for app builds for the moment; work it out later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30099 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 07:47:29 +00:00
Michael Sevakis
a2b6703a36 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 06:37:04 +00:00
Bertrik Sikken
f0a601dab6 Define an LCD_DPI for the mini2440 (this change makes the mini2440 compile again)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30068 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 15:29:32 +00:00
Thomas Martitz
88234fa921 Fix loading dircache stat on h100. Relocating the data was broken due to struct alignment problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30051 a1c6a512-1295-4272-9138-f99709370657
2011-06-22 14:18:22 +00:00
Frank Gevaerts
7763869e10 Workaround/fix (I'm not sure!) for buffer_alloc() returning unaligned addresses in case other parts of the code increase audiobuf behind buffer.c's back.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30049 a1c6a512-1295-4272-9138-f99709370657
2011-06-21 22:04:17 +00:00
Miika Pekkarinen
2bc133dce9 Try to handle dircache rebuild event properly. Playlist should now
cache new pointers to dircache items when dircache goes
offline and comes back onlineagain (during tagcache commit). This
should prevent wrong filenames to appear in playlist.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30047 a1c6a512-1295-4272-9138-f99709370657
2011-06-21 17:42:31 +00:00
Thomas Martitz
2b61f7ce64 Use ALIGN_UP() macro for alignment, in a more correct way also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30041 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:58 +00:00
Thomas Martitz
287d69d7c4 Dircache: A bit of follow-up code cleanup suggested by Amaury Pouly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30040 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:52 +00:00
Thomas Martitz
3b29aa49d3 Optimize new dircache_copy_path so that the helper (strlcat) doesn't need to walk through the entire string repeatedly.
Also fix a off-by-one.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30039 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:47 +00:00
Thomas Martitz
af7aaae478 Dircache: Don't expose struct dircache_entry and pointers into the cache, use IDs instead.
Only integer IDs are exposed from dircache with this. This way the cache is isolated from other modules.
This is needed for my buflib gsoc project.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30038 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:42 +00:00
Thomas Martitz
0b9c57d33e Dircache: Move struct maindata declaration to dircache.c and actually check for DIRCACHE_MAGIC when loading from disk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30037 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:35 +00:00
Thomas Martitz
52abbb186d Dircache: Change internal cache layout.
The dircache_entry structs are now allocated subsequently from the front, allowing to treat them as an array.  The d_names are allocated from the back (in reverse order, growing downwards).
This allows the cache to be moved around (needed for my buflib gsoc project). It is utilized when loading the cache from disk (on the h100), now the pointer to the cache begin doesn't need to be the same across reboots anymore.

This should save a bit memory usage, since there's no need for aligning padding bytes after d_names anymore.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30036 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:30 +00:00
Thomas Martitz
b67f4a1824 Fix dircache_size calculation bug introcuced 3 revisions ago.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30035 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:26 +00:00
Thomas Martitz
e063725534 Dircache: Return the size of the result string in dircache_copy_path() so that callers don't need to call strlen on it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30034 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:15 +00:00
Thomas Martitz
38da400e58 Dircache: Rework and simplify dircache_copy_path().
Use a recursive helper function with strlcat to build up the path backwards. This way the tree doesn't need to be walked twice and no extraneous size calculation is needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30033 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:10 +00:00
Thomas Martitz
60e4f20c38 Dircache: Remove dircache_entry::name_len.
It's reduntant, and enlarges the dircache unnecessarily. Saves 4 byte per file in the whole filesystem.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30032 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:07:35 +00:00
Thomas Martitz
26ec41b028 Move buffer.h to firmware/include.h to replace a useless malloc header.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30026 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 19:32:43 +00:00
Andree Buschmann
8d7eb5d59e Submit final part of FS#12154. Optimization for WM8758 used in iPod Video: Significantly reduce popping noise during startup. Additionally improve crosstalk, THD and noise level. Thanks to Seheon Ryu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30025 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 18:52:31 +00:00
Andree Buschmann
f0c032a523 Submit first part of FS#12154. Whitespace removal and correction of several defines in WM8758 driver according to data sheet, no functional change. Thanks to Seheon Ryu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30024 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 18:37:51 +00:00
Jens Arnold
91ce4b2a60 Optional dual-boot support in iAudio X5 and M5 bootloader, based on FS#5289.
In order to enable it, #define HAVE_DUALBOOT when building the bootloader.
Do not use the automatically created x5_fw.bin or m5_fw.bin, but use mkboot
to create a new firmware file from an OF x5_fw.bin resp. m5_fw.bin and
bootloader.bin.

The dual-boot bootloader boots the OF when pressing Play (main or remote) for
more than 3 seconds. Hold it a bit longer because the OF also checks buttons.
Short press boots rockbox.

As a bonus, the Play button read (for hold check) is done a bit earlier for
single-boot mode as well.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30018 a1c6a512-1295-4272-9138-f99709370657
2011-06-19 17:23:18 +00:00
Amaury Pouly
2cf3313382 fuze+: add more clocking code, add dma code, add ssp code, add stub usb code, update storage to SD + MMC, beginning of the driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30010 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 22:30:58 +00:00
Michael Sevakis
d4800fa385 Coldfire: Fix the modification of IMR. Interrupts must be masked at the core level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30009 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 03:09:47 +00:00
Thomas Martitz
d43e8ea5a2 Slightly more typesafe ALIGN_DOWN/UP macros.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30004 a1c6a512-1295-4272-9138-f99709370657
2011-06-14 14:21:43 +00:00