Commit graph

439 commits

Author SHA1 Message Date
Thomas Martitz
fd9e256890 Use equivalent puts_scroll() call.
Change-Id: I09e5046f153a276fa6eb047e040b8f752e73d03c
2013-04-14 18:04:46 +02:00
Michael Sevakis
f49e750531 Move fixedpoint.h to be accessible in /firmware.
Will need it soon enough.

Combine the contents of all the various fixedpoint.h files.
Not moving fixedpoint.c for now since I'm not sure where it
should be and it causes some dependency issues.

Change-Id: Ideacbca2ca78f9158c2b114b113c274f68e908d5
2013-04-10 13:28:35 -04:00
Michael Sevakis
f5b7134f59 Consolidate identical fixedpoint exp and ln functions.
grey_core.c and fixedpoint.c each had their own copies. grey_core.c
can use the ones fixedpoint.c. fixedpoint.c gets the more complete and
optimized version of fp_16exp from grey_core.c.

Change-Id: I43ee3add60796b06ed12012fbbd91815d64675a6
2013-04-09 19:07:35 -04:00
Richard Quirk
212e7808d5 Use crc32 of filename to resume tracks
As well as using an index, which breaks when a file is added or
removed, use the crc32 of the filename. When the crc32 check passes the
index is used directly. When it fails, the slow path is taken checking
each file name in the playlist until the right crc is found. If that fails
the playlist is started from the beginning.

See http://www.rockbox.org/tracker/6411

Bump plugin API and nvram version numbers

Change-Id: I156f61a9f1ac428b4a682bc680379cb6b60b1b10
Reviewed-on: http://gerrit.rockbox.org/372
Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-02 08:29:38 +01:00
Michael Sevakis
371c86bf3f Adapt OSD in plugin lib to be greylib compatible.
Requires addition of viewports and alternate framebuffers to greylib
which are essentially similar to the core implementation except that
the framebuffer can be any size and relationship to a viewport. Drawing
is always fully clipped to the intersecting area.

Adapt oscilloscope.c to the API change. FFT will use the new features
(later update).

Get rid of silly and wrong lcd_bmp_part use in OSD. Remove it from
plugin API (must be made incompatible now).

Change-Id: Iafa5e2174148fb8ad11db6b9d4add0dcabc5c563
2012-12-18 19:16:26 -05:00
Michael Sevakis
0f8aedbe94 Add a true waveform display to the oscilloscope plugin.
* Adds some additional niftyness like a floating popup display that
is implemented in an OSD library for use by other plugins.

* Speed changes are now gradual for both views and follow a curve
derived from some fiddling around to get a nice feel.

* Refined a few behavioral things overall.

It needs a bit of help from a direct PCM channel callback so it may
capture PCM for waveform display. Also need a few other core routines
to help out for the OSD.

Messes with some keymaps. Some targets need keymaps to access the
different views. Some devices can't support the additional view
because it requires a large buffer ( > 1 s) for samples.

If the plugin buffer is small, they can still use the popup display
since the plugin is also much smaller in that case.

Slow speed waveform needs some refining so it draws gradually like
a real oscilloscope but I'll stick with what it is, for the moment.

Change-Id: Ieb5b7922a2238264e9b19a58cb437739194eb036
Reviewed-on: http://gerrit.rockbox.org/245
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-12-05 02:03:58 +01:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)

Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
2012-10-24 14:02:41 +02:00
Thomas Martitz
d523fd6e64 load_code/overlay: Don't close plugin handle before calling the plugin.
Doesnt fix an actual bug because closing a handle is a no-op on all
native targets and others dont use overlay.

Change-Id: Ie55e3fd4abd08b174d86ca25aed54a970dddbebd
2012-05-26 22:57:21 +02:00
Frank Gevaerts
9db0cf0f93 Fix typo in error message
Change-Id: I69c87fac21b034b639fbce4324397b273d66d41b
2012-05-19 18:53:17 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00
Andrew Ryabinin
6ee3fc81d9 hm801: Add support for plugins.
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Jean-Louis Biasini
c978665025 Fuze+ PLA_EXIT slight mapping cleanup
1) On all non PLA plugin, power button is used for exit. For consistency,
we set PLA_EXIT to power button.
2) Manual updated accordingly

Change-Id: Ia4b8fce13bad2f8dc0710cdb29ccf6c74b3fd9c4
Reviewed-on: http://gerrit.rockbox.org/91
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-02-09 16:43:53 +01:00
Marcin Bukat
5863361fbf MPIOs: keymap tweaks
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2012-02-02 14:55:51 +01:00
Thomas Martitz
aba5c47dd6 pluginlib_touchscreen: Rework API to offer wait-for-button APIs.
The old touchscreen_get() needed an external button_get() call. Now two APIs are
added that do this call internally. This way they behave similar to get_action.

The old API is preserved (but renamed) since it's used in reversi.

Change-Id: I24902c64a357f2fdd7d0c2f5371cbfd20f34f1c8
2012-01-27 09:15:05 +01:00
Thomas Martitz
6eeca7096d PLA: Add map for android. Directional keys not available in point mode due to
touchscreen.

Fix cowond2 select repeat at the same time.

Change-Id: I3ee0c2a3fdc74978c159335949c183d36d5d29af
2012-01-27 09:15:05 +01:00
Thomas Martitz
8a43603975 Fix flag for the viewport. Text is supposed to be centered.
Change-Id: I8b29787fb99e0469c9e4a0b0ea08e61d3ff92589
2012-01-23 01:08:11 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery.
Don't build it for hosted targets.

Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21 18:39:19 +01:00
Jean-Louis Biasini
7f26a10d31 fuzeplus: update plugins keymaps (FS#12405)
Signed-off-by: Amaury Pouly <amaury.pouly@gmail.com>

Change-Id: Ib94cec07c80892eb50471c87b83e2701911ea0d7
2012-01-15 02:29:30 +01:00
Amaury Pouly
fdf574adb4 fuze+: Update plugin keymaps (FS#12405). Thanks to Jean-Louis Biasini
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31598 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:00:55 +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
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
Boris Gjenero
415f579bf3 Fix assembler .size directives. Currently used binutils don't complain, but 2.21.1 treats these as errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30945 a1c6a512-1295-4272-9138-f99709370657
2011-11-09 19:20:33 +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
Amaury Pouly
afb49fb452 fuze+: add pluginlib keymap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30640 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:39:23 +00:00
Marcin Bukat
6d5671a8d8 rk27xx - enable a few test plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30459 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:39:49 +00:00
Thomas Martitz
42f10e04df Remove buflib from the pluginlib and use the core one.
buflib_get_data() isn't inlined for plugins anymore, but can be if really needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30387 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 16:48:36 +00:00
Thomas Jarosch
9dcde3571c Also fix uninitialized variables in xlcd_scroll_up()/xlcd_scroll_down()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30354 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 20:47:44 +00:00
Thomas Jarosch
bc6dd127e3 Fix use of uninitialized memory in xlcd_scroll_left() / xlcd_scroll_right() in special cases
Only valid for:
LCD_PIXELFORMAT == HORIZONTAL_PACKING && LCD_DEPTH != 2

Found by "cppcheck".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30348 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 19:34:15 +00:00
Michael Giacomelli
0497adffcf Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes an incorrect assumption in the ADX decoder that sizeof(int) == 32 when performing fixed point math. Update comments in the fixed point library to correct this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29927 a1c6a512-1295-4272-9138-f99709370657
2011-05-26 21:22:29 +00:00
Thomas Jarosch
f9f89cf5cb RaaA: Fix write locations of plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 23:43:54 +00:00
Thomas Martitz
bf1ca7041e Hopefully all green now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29263 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:51:11 +00:00
Thomas Martitz
c64e5e675a Fix remaining reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29262 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:38:36 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear what the function does.
* Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp.
No functional change except lamp.
See aslo FS#9883.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 12:29:16 +00:00
Marcin Bukat
c2c7628464 HD300 - greylib callibration data (taken from iAudio M5 - works well)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28713 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:31 +00:00
Marcin Bukat
dd61702fb0 HD300 - plugins keymaps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:14 +00:00
Robert Menes
450a4e4380 Commit a few more GoGear HDD6330 keymaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28445 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:58:08 +00:00
Marcin Bukat
59ba8fea22 MPIO HD200: rename button defines to adhere how they are labeled on the device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28443 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:44:34 +00:00
Teruaki Kawashima
f2dbbf45de lamp plugin:
-handles sys_events.
-disable idle poweroff (part of FS#11578 by Hayden Pearce.)
-correct button table in the manual.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28429 a1c6a512-1295-4272-9138-f99709370657
2010-11-01 13:37:00 +00:00
Robert Menes
0c8b5594ae Add plugin keymaps to fft for the GoGear SA9200.
Also fix some errors in pluginlib_actions.c which
were causing the SA9200 build to crap out when
building plugins, and also disable plugins for the
SA9200 in the configure script (no idea why they
were enabled in the first place!)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28316 a1c6a512-1295-4272-9138-f99709370657
2010-10-21 02:45:06 +00:00
Thomas Martitz
3022a60cc2 Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman.
The parameter wasn't used yet and it's not clear whether it should be a absolute or relative viewport.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28242 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 01:19:55 +00:00
Thomas Martitz
5462ef728f Add _rect to {draw,fill}_viewport as suggested by Jonathan Gordon to reduce the chance to confuse it with update_viewport().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28240 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:35:03 +00:00
Thomas Martitz
8a0152bd4a Two new lcd/multi screen api convinience functions: draw_viewport(), fill_viewport().
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()).
In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:15:05 +00:00
Thomas Martitz
bf301fdbb6 Fix a few div0 cases forgotten in r27684 to enable enabling asm optimizations for android builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28235 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:43:40 +00:00
Teruaki Kawashima
462771066b correct comment in configfile.h, FS#11292 by Chris Savery.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28234 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:34:07 +00:00
Teruaki Kawashima
38e88f35f4 use different function to resize bitmap for greylib.
it is confusing that same function expects different data type (fb_data or unsigned char) depending on the target.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28233 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:24:11 +00:00
Marcin Bukat
2dbe569aff fix red
simple_resize_bitmap() can deal with greylib now but I missed
that it was compiled only for LCD_DEPTH > 1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28187 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 21:09:03 +00:00
Marcin Bukat
289e862695 fix bitmap scallers smooth_resize_bitmap() and simple_resize_bitmap() to properly handle LCD_STRIDEFORMAT == VERTICAL_STRIDE case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28185 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 20:38:08 +00:00
Thomas Martitz
0d4585b28f Extend lc_open() to also being able to load overlay plugins.
For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
2010-09-09 16:17:21 +00:00