Commit graph

73 commits

Author SHA1 Message Date
Michael Chicoine
17a2f9d8d2 Revert r26350 - fixes FS#11421
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26997 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 18:10:15 +00:00
Tobias Diedrich
68e2023184 Enable display and backlight on panic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26917 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:45:24 +00:00
Rafaël Carré
56220785c1 e200v2: revert r26353
invert setting isn't remembered when backlight goes off and lcd_enable()
is ran again

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26374 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 14:24:10 +00:00
Michael Chicoine
0ae59df3fa Simplify lcd invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26353 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 12:19:26 +00:00
Michael Chicoine
3c1dd03fb3 Simplify lcd_set_flip, lcd_window, and lcd_window_blit
Remove unneeded defines
Whitespace cleanup

Thanks to Rafaël Carré for finding the simpler register settings.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26350 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 05:15:28 +00:00
Thomas Martitz
e4cda5ff2c Fix yellow. Another function unneeded in the bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25484 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:23:30 +00:00
Thomas Martitz
ae69e92008 as2525(v2): We don't need yuv blitting/greylib support in the bootloader so don't compile it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25483 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:17:11 +00:00
Thomas Martitz
f376fd2f4a Fuzev2: Scrollwheel works like a charm :)
Move scrollwheel parsing function into separate file as it's reused.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25425 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 16:07:56 +00:00
Thomas Martitz
fbc8f0c469 Update on even pixel boundaries on the e200v2 for best performance (was forgotten in r24198).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24337 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 21:31:53 +00:00
Thomas Martitz
dc07c79263 Sansa AMS: Time has shown that switching between 16 and 32bit mode costs much time (due to the micro delay needed), so do 32bit transfers unconditionally for lcd updates at the cost of updating slightly larger rectangles (gives upto 15% speed up, nearly at maximum now).
Unify this optimized dbop transfer function and re-use it more often (it still handles 16bit transfers).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24198 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 22:21:41 +00:00
Thomas Martitz
5fd54dee4f e200v2/Fuze: Correct and simplify clipping clipping code in lcd_update_rect().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24197 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 19:35:36 +00:00
Rafaël Carré
57667c51cf Sansa AMS: refactor DBOP button reading (e200v2/Fuze/c200v2)
This gets rid of LCD glitches on Sansa Fuze, and now LCD transfers can
get interrupted by button reading

Flyspray: FS #10603
Author: Bertrik Sikken

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24192 a1c6a512-1295-4272-9138-f99709370657
2010-01-06 23:41:36 +00:00
Rafaël Carré
3992f18982 Sansa e200v2: LCD
- Cosmetics change to reduce the diff with lcd-fuze.c:
 - remove useless headers
 - move/remove/change comments
 - rename functions
 - fix casts

Now the differences with fuze lcd code are mostly:
- lcd_window* code
- _display_on() / as3525_dbop_init()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24182 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 21:35:31 +00:00
Michael Chicoine
4eafd23f42 FS#10744 - Fuze: Last line of screen's pixels doesn't change when switching themes and using plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23452 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 23:15:33 +00:00
Michael Chicoine
10f46b3c8a fix an off-by-one error in lcd_update_rect()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23359 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 15:42:26 +00:00
Thomas Martitz
e4921d6ab5 Speed up lcd_update_rect by ~2.5% by counting towards 0 in the loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23329 a1c6a512-1295-4272-9138-f99709370657
2009-10-24 16:01:53 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Rafaël Carré
6bd92a74d3 Fix "lcd driver speed up" on e200v2
Flyspray: FS#10272
Author: Michael Chicoine

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22859 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 18:54:42 +00:00
Bertrik Sikken
66d5bd7cf8 Sansa Fuze/e200v2: protect lcd a little better against concurrent access
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22838 a1c6a512-1295-4272-9138-f99709370657
2009-09-26 10:47:10 +00:00
Thomas Martitz
6f9fde95a5 Move the FIFO emptying up, as having it after lcd_write_single_data16() causes problems with uneven transfers (I'm not sure why).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22581 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 02:06:37 +00:00
Thomas Martitz
b9093b2b35 Fuze/e200v2: Speed up the LCD further by letting the FIFO fill until it's full instead of keeping it almost empty.
The blue bars I previously had with this way are fixed by blocking DBOP output while reading buttons from GPIO.
We reached the maximum fps even at unboosted now (100.0 fps at lcd_update(), DBOP can't do more). Optimisation to YUV stuff is still possible though.
The e200v2 scrollwheel is very improved due to the this and the previous speedup since the chance of getting the wheel read blocked is greatly decreased with faster updates.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22578 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 00:42:22 +00:00
Dominik Wenger
a56199c49e Apply the lcd speed fix from fuze also to e200v2. Improves speed by a factor ~2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22575 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 20:45:26 +00:00
Bertrik Sikken
978f3798a9 Apply FS#10447 - e200v2 lcd driver cleanup by Michael Chicoine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22210 a1c6a512-1295-4272-9138-f99709370657
2009-08-08 14:37:42 +00:00
Michael Giacomelli
e362aeb61f Commit FS#10413 by Michael Chicoine. Fixes upside down menu in mpegplayer when watching videos with the screen inverted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21942 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 01:38:17 +00:00
Thomas Martitz
8fb4aea702 FS#10284 - "Sansa e200v2 & Fuze: Merge the button driver into 1 file" by Dustin Skoracki
Those two drivers were so similar, merging them is worth a few more #ifdefs.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21474 a1c6a512-1295-4272-9138-f99709370657
2009-06-22 22:24:58 +00:00
Bertrik Sikken
3589be4bdd Sansa e200v2: use = instead of |= when setting GPIO level
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21224 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 19:48:30 +00:00
Jack Halpin
a0c4b8bffb git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21182 a1c6a512-1295-4272-9138-f99709370657 2009-06-03 13:11:21 +00:00
Rafaël Carré
c8f22f5a8f Sansa AMS : don't use the SHAREDBSS_ATTR since we don't have a coprocessor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21171 a1c6a512-1295-4272-9138-f99709370657
2009-06-02 22:45:02 +00:00
Rafaël Carré
ef9aacb2e0 FS#10245 by Jack Halpin : Adjust Clocking scheme on Sansa AMS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21088 a1c6a512-1295-4272-9138-f99709370657
2009-05-26 18:44:02 +00:00
Rafaël Carré
adb978a44d Sansa AMS: Various fixes/enhancements for clock frequencies
Fix CGU_DBOP setting

Set PCLK to the exact frequency (62MHz, not the maximal frequency)

Use a better comment for CLK_DIV macro

Use preprocessor safety checks for clock divider sizes to avoid future mistakes (not for SD_IDENT frequency since that check is handled by mci_set_clock_divider)

Use maximal IDE frequency of 66MHz (like OF), not 90MHz like written in AS3525 datasheet. The IDE chip is somehow linked to internal storage, and a too high frequency could affect the storage driver.

Use the same DBOP frequency of 32MHz for all models (like OF, verified clip, fuze, e200v2 and m200v4), compromise between performance and battery life could be added in the future for each target
Performance increase on Sansa Fuze with DBOP freq. set to 64MHz: +12% fps for lcd_update, +1% fps for yuv

Thanks to daytona955 on the forums for his help

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20923 a1c6a512-1295-4272-9138-f99709370657
2009-05-13 08:27:20 +00:00
Rafaël Carré
b1d03ccee7 FS#10118 & FS#10165 : lcd_blit_yuv() for Sansa Fuze & Sansa e200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20919 a1c6a512-1295-4272-9138-f99709370657
2009-05-12 13:22:39 +00:00
Thomas Martitz
3c5e67516b FS#10151 - e200v2: scrollwheel acceleration by Dustin Skoracki. Improves the scroll wheel acceleration on the e200v2 mainly by not decrementing the counter which which causes the acceleration if a wheel read was missed due to lcd operation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20822 a1c6a512-1295-4272-9138-f99709370657
2009-04-29 20:50:12 +00:00
Thomas Martitz
8e8c36019c FS#10126 - lcd_e200v2 cleanup by Michael Chicoine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20801 a1c6a512-1295-4272-9138-f99709370657
2009-04-26 11:14:19 +00:00
Thomas Martitz
ace509a2ff FS#10158 - e200v2 button delay revisited by Michael Chicoine to fix some weirdnesses with button reading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20800 a1c6a512-1295-4272-9138-f99709370657
2009-04-26 11:05:53 +00:00
Bertrik Sikken
dccdce6c3c Remove unnecessary #include "adc.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20791 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 22:24:59 +00:00
Thomas Martitz
e29358c154 Fix FS#10128 - The View IO Ports debug menu showed weird dbop values (sometimes FFFF prepended), due to sign-extension. Switch to unsigned short to fix it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20757 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 20:11:01 +00:00
Thomas Martitz
aef5731d71 FS#10148 by Dustin Skoracki, removes a redundant check for != BUTTON_NONE in the scrollwheel drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20744 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 17:05:36 +00:00
Thomas Martitz
42f5973177 Few Fuze/e200v2 button fixes. Don't read the scrollwheel when the hold button is active and rename a variable to describe better what it is for.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20701 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 17:10:52 +00:00
Thomas Martitz
c48f4c6be4 FS#10127 - Sansa e200v2: wrapping in menus by Dustin Skoracki and me. Implements better list wrap handling mostly by taking Fuze's scrollwheel driver, but with tweaks w.r.t. to BUTTON_REPEAT to make it work on the e200v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20700 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 14:08:43 +00:00
Thomas Martitz
e5e41c3a82 FS#10120 - fuze/e200v2: poll the wheel more often (every 5ms). This makes the scrollwheel behavior nearly perfect (decent acceleration, no direction changes if you turn to fast).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20699 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 10:28:06 +00:00
Michael Giacomelli
30b888cb58 Commit fs#9959 by Jack Halpin. Removes delays from the Sansa e200v2 button driver and cleans up the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20676 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 15:19:59 +00:00
Michael Giacomelli
b94b12cd20 Commit FS#10043 by Michael Chicoine for the Sansa e200v2. Implements LCD sleeping, cleans up unused GPIOs and implements LCD flipping/invert.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20670 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 01:44:05 +00:00
Bertrik Sikken
a87aad3284 Add missing powermgmt-e200v2.c file from FS#9968
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20466 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 19:22:12 +00:00
Thomas Martitz
4ed387d603 Fix reds and yellows (hopefully). Some targets apparently didn't properly #ifdef lcd_enable and lcd_sleep code out, so that it got partly active in the bootloader; rename the ui simulator stub fixes most reds; for the clip: move the hook code into lcd-1bit-vert.c which should fix the bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20333 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 03:36:36 +00:00
Thomas Martitz
b7739fbf1c Rework lcd_enabled and lcd_set/call_enable hook
a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before
b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:43:47 +00:00
Thomas Martitz
f6f426eda4 e200v2: fix broken lcd driver and cleanup a little bit further.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20063 a1c6a512-1295-4272-9138-f99709370657
2009-02-20 15:10:49 +00:00
Thomas Martitz
1ad58f9757 Sansa e200v2: Some LCD driver changes (none with functional changes):
1) put window addressing in a seperate function like on the fuze
2) use fb_data instead of unsigned short
3) change clipping a bit

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20051 a1c6a512-1295-4272-9138-f99709370657
2009-02-19 20:40:00 +00:00
Thomas Martitz
740e5a2ffe Show DBOP in the e200v2's view IO ports menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20042 a1c6a512-1295-4272-9138-f99709370657
2009-02-18 17:46:11 +00:00
Thomas Martitz
5e3b4fe3f8 Return old button value if lcd_button_supprt was blocked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20041 a1c6a512-1295-4272-9138-f99709370657
2009-02-18 17:43:38 +00:00
Thomas Martitz
30255d53da Get rid of disabling irq. Simply blocking does it too, it also caused problems (particulary with scrolling lines).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20040 a1c6a512-1295-4272-9138-f99709370657
2009-02-18 16:38:16 +00:00