| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
| |
right now.
Change-Id: I3050b97d10d9b4705321d8e37faf4d5a6c58485b
|
| |
|
|
| |
Change-Id: Ibd17bba201427b4bc0e45f29b246c20bd493c7d6
|
| |
|
|
|
|
|
| |
A thread polls the appropriate GPIO pin for sd card presence and mounts
using the mount system call.
Change-Id: I31ab41c4120f4af64eb6998b7e7b6f9051585efb
|
| |
|
|
|
|
|
|
|
| |
The external storage will be created during make install, as simext folder in
the build directory. Upon pressing the e key the sim will mount (virtually
) this into the root directory. It can be accessed in the same way as an
sd/mmc card on real targets. This requires quite some path trickery in io.c.
Change-Id: I2fa9070a3146101ec5655b5b4115ca349d1d4bf4
|
| |
|
|
|
|
|
|
| |
Part of this change is to align sdlapp builds to other application targets
in that the sim_* wrappers are not used anymore (except for sim_read/write).
Path mangling is now done in rbpaths.c as well.
Change-Id: I9726da73b50a83d9e1a1840288de16ec01ea029d
|
| |
|
|
| |
Change-Id: I93afc8e7a989e3e5a85ff7df70b839fb64c0cdef
|
| |
|
|
|
|
|
|
|
| |
The virtual external storage can be inserted/extracted with the e key. This
has little effect because there is no way to access the storage (yet, a later
commit will change this). Except on ondio where the mmc needs to be
extracted before entering USB (like on real target).
Change-Id: I523402832f3b4ae71e0603b281aba4fb8592a897
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CONFIG_STORAGE & STORAGE_HOSTFS allows to use parts of the storage_* API to be
compiled for application targets without compiling storage.c or performing
actually raw storage access. This is primarily to enable application targets to
implement HAVE_MULTIVOMULE/HAVE_HOTSWAP (in a later commit).
SIMULATOR uses the same mechanism without explicitely defining STORAGE_HOSTFS
(how to add a bit to an existing preprocessor token?).
Change-Id: Ib3f8ee0d5231e2ed21ff00842d51e32bc4fc7292
|
| |
|
|
|
|
| |
Fits better and including dir.h is more messy for some places.
Change-Id: I3ec30dcc1ac2734ad3844c903238b6cc2f4e134c
|
| |
|
|
| |
Change-Id: If45e71248c1572afc0be43f49fb9c78736ee0dae
|
| |
|
|
| |
Change-Id: I5f90a9816e9b7ca817fcb3195b63891fda5236f5
|
| |
|
|
| |
Change-Id: I4a46bf8d792c3286a367d3b962362d048eeb0619
|
| |
|
|
| |
Change-Id: If59aaacdea9f57932464a1615f2b80e410ec50dc
|
| |
|
|
| |
Change-Id: Ifbc8b10cebb3b7b126f1d6a212f6731f91e234e4
|
| |
|
|
| |
Change-Id: I37b85e23e6af92939700d640dbea74c646f49b7b
|
| |
|
|
| |
Change-Id: Ie7387b6dbd58565611b58af7bbba092dd58bdbd5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the ZEN, the LCD is fed continuously by the DMA and this refresh needs to
be stop when the bootloader gives control to the firmware, otherwise the DMA
will source data from invalid region and it might even lock-up if the new
code touches the memory setup. Work around this by properly stopping the LCD
driver: the bootloader assumes that if the target defines HAVE_LCD_ENABLE
in bootloader build (which is unusual) then it needs to stop the LCD. Since
stopping the LCD could produce funny screens, power down backlight
which is expected to power down the LCD too, giving a nice black screen
instead of some random pixels.
Change-Id: I7ce5ba9bfd08e596907c4ff8f80feb189f0576ce
|
| |
|
|
|
|
|
|
|
|
|
|
| |
zenxfi2: add support for internal storage on the SD version
The code can now skip devices marked as PROBE if they fail to init, thus
making it possible to handle various kinds of internal storages. The current
code probably doesn't interplay nicely since it acquires pins and never
release them so it will probably break NAND code when it's ready but NAND code
is not ready yet anyway.
Change-Id: I4cb962de4215661e521743a3f511445dbbf28673
|
| |
|
|
|
|
|
|
|
| |
This is the basic port to the new target Samsung
YP-R1, which runs on a similar platform as YP-R0.
Port is usable, although there are still
some optimizations that have to be done.
Change-Id: If83a8e386369e413581753780c159026d9e41f04
|
| |
|
|
|
|
| |
DEBUG builds.
Change-Id: Ic274bfb4a8e1a1a10f9a54186b9173dbc0faa4c8
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The builtin sysfont does not have an associated buflib_alloc_data
(because it's builtin right?). font_get_{width,bits} accessed a field of
it for all fonts which crashed on some systems but not on mine.
Solution: Move this field to struct font directly.
The cache size calculated was also busted.
Fixes FS#12944 and most likely FS#12938.
Change-Id: I32303c4335a12a6c421fdca34f7ece851aac12ca
|
| |
|
|
| |
Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
|
| |
|
|
|
|
|
|
| |
This reclaims ~6kB of ram.
Change-Id: Iafdc661b1cf4445669c08c79205043792b8d14c3
Reviewed-on: http://gerrit.rockbox.org/718
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
The font engine can now perform cache lookups even if the font file is
closed, if the font was disabled with the new font_disable_all() function.
It is highly probable that the lookup succeeds but in the cache-miss case
a blank, full-width glyph will be returned.
Change-Id: I3c97e747d2a0ba30c7b495c6118c9f029d265b56
|
| |
|
|
| |
Change-Id: I329b12a8e90b4721b644ac326dfe75e52ce6c2b8
|
| |
|
|
| |
Change-Id: I8b72a9c333d8a9dbcb62c366a9af298f1dd9b2f7
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
start/stop of scrolling.
With the new lcd_putsxy_scroll_func() code can register custom scroll functions
(put_line() makes use of that). In order for the custom scroller to be able
to properly manage its userdata pointer (set via struct scrollinfo::userdata)
the scroll engine must inform the scroller about start and stop of scrolling.
To inform about start the lcd_scroll_* functions now return true when
the line will scroll. To inform about stop the scroll engine calls into the
scroller one last time, with the text set to NULL.
put_line() can use this to release the userdata registered per scrolling line
so that it can be recycled.
This fixes that some scrolling lines became glitchy after some time because
the userdata was recycled too early.
Change-Id: Iff0a6ce2a4f9ae2bada1b8e62f4f5950224942a9
|
| |
|
|
|
|
|
|
|
|
|
| |
This is used by lcd_puts_scroll_worker() to render the line immediately
instead of waiting for the next scroll tick when only the text was updated.
Previously lcd_puts_scroll_worker() did not render anything in this case
which could lead to visible blinking.
This fixes blinking scrolling lines with dynamic text in the skin engine.
Change-Id: I475bde8c8eb7c92f505e3c5ecf4d32bb90690536
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If logf is enabled, panic() will print the last lines. On small
screens this is more or less useless, but on large screens it
can be very useful for debugging.
Change-Id: I26dfc76e9ac4a2ddc2def8db1616a04f943dbba3
Reviewed-on: http://gerrit.rockbox.org/709
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Tested: Frank Gevaerts <frank@gevaerts.be>
|
| |
|
|
|
|
| |
This reclaims over 7kB of ram.
Change-Id: I4a89c9a673ada7959311f320900060f6db303c07
|
| |
|
|
| |
Change-Id: Ib8adcb4c70f2dd3ddd25da8f0606f48926dfd89e
|
| |
|
|
|
|
|
|
|
| |
Greylib performed a horrible hack and stored fg and bg patterns in other
struct viewport fields. One of them was just removed. So instead of
this hack simply enable the *_pattern fields for mono targets as well,
so that greylib can use them normally.
Change-Id: Ib0842ebcc97f5bf9d9382b4471903afa2f96f39f
|
| |
|
|
|
|
|
| |
These where used for line styling during scrolling, which is now done in apps/,
The viewport struct doesn't need to record these anymore.
Change-Id: I810d9dcb2644b00a798c6e75acab69c74a78e77f
|
| |
|
|
|
|
|
|
|
|
| |
This logic is moved into apps (put_line()) which can better handle line
decorations with respect to scrolling, mulitline and other complications.
Firmware doesn't need this. The remaining drawing function know only one style,
that is foreground on background/backdrop (changing drawmode is still supported).
Change-Id: I707060edc388a7d723a7d09b0cf5cbda6ec56708
|
| |
|
|
|
|
|
|
| |
Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().
Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and lcd_puts_scroll_style_xyoffset().
With this functions removed there is no exported function in firmware left
that draws line decorations. Also no function supports specifying an y-offset
anymore (was used for pixel accurate positioning of otherwise strictly line-based
API calls).
Both should be handled in apps/ now.
Change-Id: Iba4b28ccc6e686c7db63e34b51ad4badae983fce
|
| |
|
|
| |
Change-Id: Ia4f943b3738ab6e66b0e3f1507c629b36d7eba94
|
| |
|
|
| |
Change-Id: I24da23d132f933fe647416dc58e8f50879715423
|
| |
|
|
| |
Change-Id: Id2c64c116f79b8e61a7af49b9072b3e884ffb455
|
| |
|
|
| |
Change-Id: I39749bf3db915e5a8ddb6e6f25eb201ea0aaf981
|
| |
|
|
|
|
| |
and lcd_puts_scroll_style_offset().
Change-Id: Ia84ae88020d06a1cb634942ab5e635fd5d10ac66
|
| |
|
|
|
|
|
|
| |
It is similar to lcd_gradient_fillrect(), except that it only draws a part
of the complete gradient. This can be used to draw only the bottom half
of a full gradient.
Change-Id: Ib47cc5237f6966e35ba07988bddbb00fd97adf96
|
| |
|
|
|
|
|
|
|
|
|
| |
This function supports installing a custom scroll callback. This will be
called when the scrollengine redraws the line. It allows to draw extended
styles (or anything your can possible imagine) along with the text.
It is also strictly pixel-based, the first pixel-based function that supports
scrolling.
Change-Id: I57f81ac7b3d08b877aea4cb8afa882f175ebcdfc
|
| |
|
|
| |
Change-Id: I033db3d3a838f0a950ce7707de6a0cd4b2595d93
|
| |
|
|
|
|
|
| |
system.h doesn't need it on its own and this change makes it less
dependant on Rockbox internals.
Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
|
| |
|
|
|
|
|
|
| |
Some seldomly used drawmode combinations did not work in conjunction with
alpha bitmaps and backdrops. Now all should work (see comment added) by using
more bits.
Change-Id: I2bc96ecf471fa8c1a608a321a235b9c8527b3dc5
|
| |
|
|
|
|
|
|
|
| |
85 is already used by HIFI E.T. MA8C.
Change-Id: I7f30d6b1acbebd6152d11fa46ec87d95e6a809e7
Reviewed-on: http://gerrit.rockbox.org/703
Reviewed-by: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.
As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.
Change-Id: I52123012208d04967876a304451d634e2bef3a33
|
| |
|
|
| |
Change-Id: Ie36e48742c0ed9aa3fd6f49aa034a11d2492327c
|
| |
|
|
|
|
| |
error).
Change-Id: I29243bb36b6cec1471bd6c0afc64e00547a68c50
|