Commit graph

2072 commits

Author SHA1 Message Date
Jonathan Gordon
8efb8f97c4 lcd drivers: split lcd_gradient_rect so it is actually useful
lcd_gradient_rect() was only usable to draw list lines, so split
it up and make a generic gradient draw function available to apps/

Change-Id: I665911a90fef239b5e06592ea2763cbeeb74c83f
2012-03-01 00:10:17 +11:00
Jonathan Gordon
2c71aa9feb lcd/skin_engine: Add the ability to draw onto the backdrop layer
The framebuffer the lcd driver uses can now be changed on the fly
which means that regular lcd_* drawing functions can draw onto the
"backdrop" buffer. The skin engine can use this to create layered
effects.

Add the tag %VB to a viewport to draw that viewport onto the
backdrop layer. If you want to draw an image onto the backdrop
framebuffer use %x(backdrop filename) instead of %X() inside
a viewport with %VB.

Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc
2012-02-28 23:03:04 +11:00
Jonathan Gordon
b37e6bc8c1 lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
Change all lcd drivers to using a pointer to the static framebuffer
instead of directly accessing the static array. This will let us
later do fun things like dynamic framebuffer sizes (RaaA) or
ability to use different buffers for different layers (dynamic
skin backdrops!)

Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-28 11:44:59 +11:00
Amaury Pouly
7d599b4311 radio: include power.h in drivers for tuner_power()
Change-Id: I1ef8917b28b6d955e456c0b3737d41d356f34ec3
2012-02-25 16:07:17 +01:00
Amaury Pouly
906e90eb7b Move radio power handling from apps/ to drivers.
Remove direct calls to tuner_power(...) in apps/ and let
the driver manage tuner power with the RADIO_SLEEP setting.

Change-Id: I37cd0472e60db5d666dae1b9fe4755dd65c03edd
Reviewed-on: http://gerrit.rockbox.org/84
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-02-25 15:59:08 +01:00
Bertrik Sikken
43a940c8cb rds: add basic RDS clock-time support
Change-Id: I931182ccd20cf8899f3ce9b6b8d7c7c5f4ea006f
2012-02-18 11:02:13 +01:00
Bertrik Sikken
565a4b5baa rds: make programme identification (pi) decoding safer, show pi in the debug screen
Change-Id: I8b547400f4a28ee387157848b9640a3361df937f
2012-02-16 20:49:06 +01:00
Amaury Pouly
1a083cdacc imx233/fuze+: fix a typo, handle volume differently because of the line1/dac mode difference.
The headphone volume register value reads differently in Line1 and DAC mode.
Since the volume is not set again when switching between playback and radio,
we need to remember the hp volume and reapply setting when changing the mode.

Change-Id: I8fbd344f78653c19d81a39dd3f680ec6885cb1ec
2012-02-03 20:04:39 +01:00
Amaury Pouly
ac4d648958 fuze+: use the si4700 internal oscillator and set a pin on power down (seems important)
Change-Id: If737438ddb726e51e0a725e27bc93950eb3657bd
2012-02-01 17:51:01 +01:00
Marcin Bukat
0499aff9d0 WM8750: Extend recording gain range.
Use two stage amplification (PGA gain and digital stage gain)
combined to extend recgain range to -17.25 +60.0dB.

Change-Id: I4df8af801730b7efb2d35096de077ba31d331222
2012-01-25 09:31:34 +01:00
Thomas Martitz
de1bcfa24f Fix incomplete comment.
Change-Id: I1874b4e64b3ae19689a0230f10ea623a4d0d1dea
2012-01-22 22:45:10 +01:00
Rafaël Carré
4fc27c16ae adc-as3514.c : move to drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31629 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 02:33:43 +00:00
Rafaël Carré
8552824284 ascodec-target.h: remove
move prototypes to ascodec.h
move code to ascodec*.c

YPR0: use adc-as3514.c instead of duplicating it

TODO: merge as3514.h and ascodec.h ?

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31626 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 01:43:16 +00:00
Rafaël Carré
f3ad239a76 cowond2's power-target.h -> rename in pmu-target.h
other targets (ipod nano2g / classic) use that name for pmu

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31618 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 22:39:14 +00:00
Michael Sevakis
302937e586 Coldfire: Fix alpha bitmap drawing from messing up the emac status register.
It failed to restore macsr to the expected default (FRAC/SAT) which caused DSP
functions like tone control filter calculation to fail (resulting in noise).
The FFT plugin was also affected.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31589 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 23:00:14 +00:00
Thomas Martitz
0f71475606 android: move pcm_shutdown() to audiohw_close() now that it's properly called from powermgmt.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31551 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 00:10:47 +00:00
Thomas Martitz
c1bd9b0361 Rework powermgmt to enable code re-use on appliation and sims.
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application)
to break powermgmt.c's assumption about the ability to read battery voltage.
There's now additionally percentage (android) and remaining time measure
(maemo). No measure at all also works (sdl app). If voltage can't be measured,
then battery_level() is king and it'll be used for power_history and runtime
estimation.

* Implement target's API in the simulator, i.e. _battery_voltage(), so it
doesn't need to implement it's own powermgmt.c and other stubs. Now
the sim behaves much more like a native target, although it still
changes the simulated battery voltage quickly,

* Other changes include include renaming battery_adc_voltage() to
_battery_voltage(), for consistency with the new target functions and
making some of the apps code aware that voltage and runtime estimation
is not always available.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 23:44:38 +00:00
Rafaël Carré
568c441fd8 usb-target.h: remove
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31498 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:55 +00:00
Rafaël Carré
a51879dd01 creative zvm isp1583 defines: move to isp1583.h
zvm is the only user of this file

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31495 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:32 +00:00
Amaury Pouly
094e62a528 imx233/fuze+: implement rtc (time only, alarm still to implement)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31473 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 13:35:45 +00:00
Michael Sevakis
2403f38c1f RDS: Use a define that doesn't imply any particular hardware dependency.
Theoretically, anything with the capability could implement the decoding
action in an ISR on any radio chip supporting RDS.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31464 a1c6a512-1295-4272-9138-f99709370657
2011-12-29 14:55:49 +00:00
Michael Sevakis
7b596416bf Gigabeat S: Update RDS processing to use asynchronous I2C rather than thread.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31462 a1c6a512-1295-4272-9138-f99709370657
2011-12-29 12:02:49 +00:00
Thomas Martitz
1dcc834e59 ypr0: Remove last #ifdef in as3514.
It's now using completely the same driver as Sansa daps.
This also increases the volume range.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31428 a1c6a512-1295-4272-9138-f99709370657
2011-12-25 18:23:10 +00:00
Thomas Martitz
a1d3ed2534 ypr0: Cleanup and simplify ascodec functions. Fix audiohw_{pre,post}init() not being called.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31423 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 17:59:43 +00:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Boris Gjenero
6c97145e7d Add missing includes found using -Wmissing-declarations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31396 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 18:02:50 +00:00
Boris Gjenero
14c2e677fd Make more local functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31395 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 17:36:18 +00:00
Bertrik Sikken
8c19dcd598 FS#12370: Initial RDS support for Si4701/Si4703 tuner (beast and clip zip)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31346 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 20:24:19 +00:00
Michael Sevakis
95e6043d5e Convert remaining memframe LCDs that can be convert to common code.
Massage the way it interfaces a bit to make things more flexible.
The chroma_buf scheme on Sansa Connect and Creative ZVx calling the
lcd_write_yuv420_lines implementation in lcd-as-memframe.S with five params
with a chroma buffer that the function can't use wouldn't work anyway so just
have them use the stock implementation (really, how was that working?).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31335 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 23:40:39 +00:00
Jonathan Gordon
e9e5d6ae10 OOPS, style got lost in scrolling lines with r31247, so put it back
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31314 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:30:17 +00:00
Michael Sevakis
71bb87e3fc Fix r31311 red and yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31312 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:24:35 +00:00
Michael Sevakis
62facd1ff2 Collect some of the memory frame LCD C code.
For this commit: Sansa e200v1, Gigabeat F, Gigabeat S and Mini2440 are
changed over. Quite a number of other targets probably can be as well.

General LCD code is moved out of the target drivers into
drivers/lcd-memframe.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31311 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:07:11 +00:00
Jonathan Gordon
13f1b08388 Allow scrolling lines to have their content changed without restarting the scroll line. This means skin lines with dynamic tags can be updated in realtime instead of delayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31247 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 12:53:19 +00:00
Jonathan Gordon
b3caa01062 Fix FS#12237 (caused by r30302) where centered skin text isnt eqactly centered
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31246 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 09:48:52 +00:00
Bertrik Sikken
5515a7a880 RDA5802 tuner: use channel spacing of 100 kHz when possible (instead of always 50 kHz)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31213 a1c6a512-1295-4272-9138-f99709370657
2011-12-11 17:38:49 +00:00
Rafaël Carré
07cfc30e50 lcd_blit_yuv(): don't use weak attribute when building for windows
current gcc/binutils don't support weak attribute correctly
see http://sourceware.org/bugzilla/show_bug.cgi?id=9687

fix FS#12427

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31193 a1c6a512-1295-4272-9138-f99709370657
2011-12-09 20:56:40 +00:00
Boris Gjenero
e4dbcc414b FS#12418 - Merge prototypes from ata-target.h files into new file ata-driver.h. After this change:
- ata.h is for users of ata.c
- ata-driver.h is for functions implemented by target-specific code and used by ata.c
- ata-target.h is for target-specific defines


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31182 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:23:53 +00:00
Michael Sevakis
d09818d745 Fix sim errors in r31180.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31181 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 20:05:48 +00:00
Tomasz Moń
bac6a70184 Sansa Connect: Revise codec initialization/shutdown.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31149 a1c6a512-1295-4272-9138-f99709370657
2011-12-05 09:53:23 +00:00
Tomasz Moń
2ee9facc11 Power management is to be kept in target tree due to being target specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31136 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 09:48:10 +00:00
Tomasz Moń
de712eebbd Sansa Connect: Add TPS65021 (Power Management) driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31135 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 08:24:08 +00:00
Szymon Dziok
c31f7d0121 HDD6330: introduce a new button (BUTTON_TAP), based on the hardware support for gestures. From now on some things are accessible by tapping on the vertical scroll strip. Reorganize, fix and remap some of the keymaps, add missing keymap for the recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31132 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 23:13:17 +00:00
Rafaël Carré
6b5dff4c7b lcd-16bit: move lcd_bitmap and lcd_bitmap_transparent to common code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31131 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 22:39:08 +00:00
Rafaël Carré
26851eaaa9 lcd-16bit: move common code to lcd-16bit-common.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31130 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 22:19:17 +00:00
Rafaël Carré
1414e83743 lcd_blit_yuv: move to lcd-16bit-common.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31129 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 21:48:34 +00:00
Rafaël Carré
d7802133fd lcd_blit_yuv: move from sdl driver to lcd16bit-common
Declare as weak, so it can be overridden by targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31127 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 21:39:33 +00:00
Tomasz Moń
66c53d528f Sansa Connect: Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31120 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 15:21:12 +00:00
Boris Gjenero
e5a7388fc7 If Rockbox never turns off ATA power, don't compile code for turning it back on. Note that ATA power may still need to be turned on when starting, so that code in ata_init() always remains.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31079 a1c6a512-1295-4272-9138-f99709370657
2011-11-27 17:40:57 +00:00
Boris Gjenero
a99d9eca0b Add STORAGE_INIT_ATTR to static ata.c functions that are only called via ata_init().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31067 a1c6a512-1295-4272-9138-f99709370657
2011-11-27 04:56:47 +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