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
Dominik Wenger
43a8e08a23
fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20020 a1c6a512-1295-4272-9138-f99709370657
2009-02-16 20:02:09 +00:00
Dominik Wenger
2871963bee
e200v2: make buttons and scrollwheel work. Still ugly as we need to disable interrupts while updating the lcd.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20019 a1c6a512-1295-4272-9138-f99709370657
2009-02-16 19:50:52 +00:00
Thomas Martitz
78e0e85ffb
Redo some parts of my previous commit, thanks Jens and Dave
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19869 a1c6a512-1295-4272-9138-f99709370657
2009-01-27 19:45:00 +00:00
Thomas Martitz
a43b0db3d1
Sansa AMS: Debug screen, shows GPIO and (on the fuze) DBOP input for now, to be extended
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19866 a1c6a512-1295-4272-9138-f99709370657
2009-01-27 11:05:38 +00:00
Michael Giacomelli
4e79f8edc7
Commit updated FS#9569 by Michael Chicoine. Fixes a bug in lcd_update_rect on the e200v2.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19453 a1c6a512-1295-4272-9138-f99709370657
2008-12-16 02:50:39 +00:00
Rafaël Carré
45711ac286
Sansa AMS: centralize clock settings in clock-target.h
...
Reorder system_init() to initialize peripherals not only in bootloader
Use a 65MHz PCLK (and memclk) which will be needed for realtime decoding
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19330 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 20:04:31 +00:00
Rafaël Carré
0b6d65b09e
Sansa AMS: Use a valid PLL setting (248MHz aka maximum fclk)
...
Fix lcd drivers which stopped working after changing the PLL.
Move set_cpu_frequency() to a place where it is actually used.
Remove enable_irq() call already done by the bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19276 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 16:36:32 +00:00
Jonathan Gordon
15671aa476
do not modify the CCU_IO register since we don't use GPIOD (from FS#9569)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19263 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 00:35:25 +00:00
Rafaël Carré
97e907538a
Sansa AMS: implement set_cpu_frequency()
...
Use a 24MHz peripheral clock instead of 64MHz for battery life
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19234 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 16:46:12 +00:00
Rafaël Carré
a6ec0293cc
Sansa AMS: correct timer definition (clk_main == 24MHz / 16)
...
make timer-target.h common to all AMS targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19229 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 14:40:57 +00:00