1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
William Wilgus 1f63604e2c Fuze PLUS Fix lcd_update_rect()
Lcd_update rect was hanging during horizontal screen update x = 238 and width = 2
which was within the bounds of the screen, this seems to be a weird corner case
but more testing needs done.

Update_rect now properly bounded between 0 - screen w/h
--Cleaned up code

Pixels in x are now multiples of 4.

Datasheet states:
-------------------------------------------------------------------------------------------
WORD_LENGTH=0 implies the input frame buffer is RGB 16 bits per pixel.
DATA_FORMAT_16_BIT field indicates if the pixels are in RGB 555 or RGB 565 format.
Limitations:
— BYTE_PACKING_FORMAT [3:0] should be 0x3 or 0xC if there is only one pixel per word.
— If there are two pixels per word, BYTE_PACKING_FORMAT [3:0] should be 0xF and
H_COUNT will be restricted to be a multiple of 2 pixels.

and

WORD_LENGTH=3 indicates that the input frame-buffer is RGB 24 bits per pixel (RGB 888). If
BYTE_PACKING_FORMAT [3:0] is 0x7, it indicates that there is only one pixel per 32-bit word
and there is no restriction on H_COUNT.
Limitations:
— If BYTE_PACKING_FORMAT [3:0] is 0xF, it indicates that the pixels are packed, i.e. there
are 4 pixels in 3 words or 12 bytes. In that case, H_COUNT must be a multiple of 4 pixels.
-------------------------------------------------------------------------------------------

We are using 16 bits per pixel and byte_packing = 0xF but device crashes with multiple of 2 pixels

Behaviour can be verified with plugin - oscilloscope, Horizontal mode device hangs as indicator
reaches right of screen

Change-Id: I1445f5334f4e7fe59304c65c76b47d0daa0614b2
2018-05-25 22:48:01 +02:00
..
asm fix warning in lcd-as-memframe.c 2017-09-17 15:13:52 +02:00
common Don't enable full vuprintf file in bootloader. Saves ~2KB packed space when patching clip+ OF. 2018-05-23 00:07:57 +01:00
decompressor Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
drivers Fix Remove lcd_scroll_worker from bootloader except remote displays/charcell 2018-05-25 19:16:45 +02:00
export Port of Duke Nukem 3D 2017-12-23 21:01:26 -05:00
include Implement a much more capable vuprintf() 2017-11-21 05:00:27 -05:00
kernel Fix dangerous casts 2017-02-04 17:24:47 +01:00
libc stdio compat layer for plugins 2017-12-23 20:54:56 -05:00
target Fuze PLUS Fix lcd_update_rect() 2018-05-25 22:48:01 +02:00
test Limit more variables to file scope 2015-01-11 21:40:51 +01:00
usbstack Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
arabjoin.c
arabjoin.h
ata_idle_notify.c Fix reds. 2014-03-14 23:43:45 +01:00
backlight-sw-fading.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
backlight.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
buflib.c buflib: Switch from term "cookie" to "metadata" 2015-01-02 19:26:03 +01:00
COPYING
core_alloc.c Make a few local variables static 2015-01-11 18:02:43 +01:00
debug.c
eeprom_settings.c
enc_base.c FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
events.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
firmware.make Fix makefile not rebuilding rbversion.h in some cases 2016-09-23 23:03:23 +02:00
font.c Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00
font_cache.c fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
general.c Undo hacks to meant to get around string formatting limitations 2017-11-21 05:01:14 -05:00
hangul.c
ifp_usb_serial.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
load_code.c Fix various reds. Some includes needed fixup. 2014-03-03 19:10:48 +01:00
logf.c Implement a much more capable vuprintf() 2017-11-21 05:00:27 -05:00
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00
pcm.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
pcm_mixer.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sampr.c
pcm_sw_volume.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
powermgmt.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
profile.c
README
rolo.c rolo.c: Change 'int errno' to 'int err' 2017-11-07 16:48:07 -05:00
rom.lds rombox: Do not copy .init section to ram on startup. 2014-01-20 10:42:02 +01:00
screendump.c Fix warnings in firmware/screendump.c 2015-02-24 16:55:26 -05:00
scroll_engine.c Remove lcd_scroll_worker from bootloader except remote displays and charcell 2018-05-23 00:37:27 +01:00
sdmmc.c
sound.c Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
SOURCES Implement a much more capable vuprintf() 2017-11-21 05:00:27 -05:00
storage.c Unify storage threads into one 2017-10-26 14:35:41 -04:00
system.c AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
timer.c
tuner.c Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
usb.c Fix a few missed things in 16454efc (and hopefully clear the red). 2017-10-26 16:32:53 -04:00

See docs/README