summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-24Lua Fix image saving for 32 bit targets -- update make fileWilliam Wilgus
Hopefully this will fix the build faliures for a few targets Change-Id: I68f6c85513ef589e5f6a50a8efc7bfae9fd62acd
2018-07-23Rocklua -- Extend / Fix rliImageWilliam Wilgus
Some devices(1-bit / 2-bit displays) have packed bit formats that need to be unpacked in order to work on them at a pixel level. This caused a few issues on 1 & 2-bit devices: Greatly Oversized data arrays for bitmaps Improper handling of native image data Framebuffer data was near unusable without jumping through hoops Conversion between native addressing and per pixel addressing incurs extra overhead but it is much faster to do it on the 'C' side rather than in lua. Not to mention the advantage of a unified interface for the end programer ------------------------------------------------------------------- Adds a sane way to access each pixel of image data Adds: -------------------------------------------------------------------- img:clear([color],[x1],[y1],[x2],[y2]) (set whole image or a portion to a particular value) -------------------------------------------------------------------- img:invert([x1],[y1],[x2],[y2]) (inverts whole image or a portion) -------------------------------------------------------------------- img:marshal([x1],[y1],[x2],[y2],[funct]) (calls funct for each point defined by rect of x1,y1 x2,y2 returns value and allows setting value of each point return nil to terminate early) -------------------------------------------------------------------- img:points([x1],[y1],[x2],[y2],[dx],[dy]) (returns iterator function that steps delta-x and delta-y pixels each call returns value of pixel each call but doesn't allow setting to a new value compare to lua pairs method) -------------------------------------------------------------------- img:copy(src,[x1],[y1],[x2],[y2],[w],[h],[clip][operation][clr/funct]) (copies all or part of an image -- straight copy or special ops optionally calls funct for each point defined by rect of x1, y1, w, h and x2, y2, w, h for dest and src images returns value of dst and src and allows setting value of each point return nil to terminate early) -------------------------------------------------------------------- img:line(x1, y1, x2, y2, color) -------------------------------------------------------------------- img:ellipse(x1, y1, x2, y2, color, [fillcolor] -------------------------------------------------------------------- Fixed handling of 2-bit vertical integrated screens Added direct element access for saving / restoring native image etc. Added more data to tostring() handler and a way to access individual items Added equals method to see if two variables reference the same image address (doesn't check if two separate images contain the same 'picture') Optimized get and set routines Fixed out of bound x coord access shifting to next line Added lua include files to expose new functionality Finished image saving routine Static allocation of set_viewport struct faster + saves ram over dynamic Cleaned up code Fixed pixel get/set for 1/2 bit devices Fixed handling for 24-bit devices (32?) ------------------------------------------------------------------------- Example lua script to follow on forums ------------------------------------------------------------------------- Change-Id: I8a9ff0ff72aacf4b1662767ccb2b312fc355239c
2018-07-22Revert "Rocklua -- Extend / Fix rliImage"William Wilgus
This reverts commit 2daec3d3c3d84e7176a22bc073ca5530e8e44c6d. Change-Id: I53ea1f491e3c6d6fb759f426f203f927bd26b1e9
2018-07-22Rocklua -- Extend / Fix rliImageWilliam Wilgus
Some devices(1-bit / 2-bit displays) have packed bit formats that need to be unpacked in order to work on them at a pixel level. This caused a few issues on 1 & 2-bit devices: Greatly Oversized data arrays for bitmaps Improper handling of native image data Framebuffer data was near unusable without jumping through hoops Conversion between native addressing and per pixel addressing incurs extra overhead but it is much faster to do it on the 'C' side rather than in lua. Not to mention the advantage of a unified interface for the end programer ------------------------------------------------------------------- Adds a sane way to access each pixel of image data Adds: -------------------------------------------------------------------- img:clear([color],[x1],[y1],[x2],[y2]) (set whole image or a portion to a particular value) -------------------------------------------------------------------- img:invert([x1],[y1],[x2],[y2]) (inverts whole image or a portion) -------------------------------------------------------------------- img:marshal([x1],[y1],[x2],[y2],[funct]) (calls funct for each point defined by rect of x1,y1 x2,y2 returns value and allows setting value of each point return nil to terminate early) -------------------------------------------------------------------- img:points([x1],[y1],[x2],[y2],[dx],[dy]) (returns iterator function that steps delta-x and delta-y pixels each call returns value of pixel each call but doesn't allow setting to a new value compare to lua pairs method) -------------------------------------------------------------------- img:copy(src,[x1],[y1],[x2],[y2],[w],[h],[clip][operation][clr/funct]) (copies all or part of an image -- straight copy or special ops optionally calls funct for each point defined by rect of x1, y1, w, h and x2, y2, w, h for dest and src images returns value of dst and src and allows setting value of each point return nil to terminate early) -------------------------------------------------------------------- img:line(x1, y1, x2, y2, color) -------------------------------------------------------------------- img:ellipse(x1, y1, x2, y2, color, [fillcolor] -------------------------------------------------------------------- Fixed handling of 2-bit vertical integrated screens Added direct element access for saving / restoring native image etc. Added more data to tostring() handler and a way to access individual items Added equals method to see if two variables reference the same image address (doesn't check if two separate images contain the same 'picture') Optimized get and set routines Fixed out of bound x coord access shifting to next line Added lua include files to expose new functionality Finished image saving routine Static allocation of set_viewport struct faster + saves ram over dynamic Cleaned up code Fixed pixel get/set for 1/2 bit devices ------------------------------------------------------------------------- Example lua script to follow on forums ------------------------------------------------------------------------- Change-Id: I7b9c1fd699442fb683760f781021091786c18509
2018-07-04AMS v1/v2: Remove sd_enabled as an externally-visible variable.Michael Sevakis
Also removes the sd_enable() function call. It was only used in the debug screen on AMSv1 and not used at all on AMS v2. For v1,obtain debug info in a struture passed to a dedicated debug info function so that enabling and disabling the controller isn't racy. Change-Id: I7c44693bc2df5a1f16168b05b3abfe622f9584ce
2018-07-04Textviewer night modeMoshe Piekarski
Add a night mode to textviewer. Change-Id: I6ddcd9c3c87473cbbffaeacf63a21ef11c0e5f44
2018-06-28Agptek: Fix headphones detectionMarcin Bukat
Change-Id: Id43bfee7357eef8dda6a617c1207b930f3ea90a0
2018-06-28Agptek: Fix support for empty strings in sysfs helper functionsMarcin Bukat
Change-Id: Id5573059da2b454f5336b3cebce7c09a83a7826f
2018-06-20puzzles: resync with upstreamFranklin Wei
This brings the source to upstream commit 506b073 (though I have made some extra commits on top of that). Notably this includes a fix for a double-free bug that I myself introduced upstream. Change-Id: I02671586bbc34d63e05398ee971271fed42538cf
2018-06-20Fix yellow for LCD_DEPTH == 32Marcin Bukat
Change-Id: I59e9ec8720555c17e882a3a8c7ed0ba281b8d7c7
2018-06-20Agptek Rocker: Add missing lcd_set_active(true) in lcd_init_device()Marcin Bukat
This should fix problem introduced in 5c015ad resulting in not updating screen properly in wps. Change-Id: Ie36b6edfcfc7d425c84381402adae79d77fcc92f
2018-06-20Volume adjustment in WPS ignored AUDIOHW_SETTING valuesMarcin Bukat
AUDIOHW_SETTING() defines number of decimals and step size. This is taken into account in sound menu but ignored in WPS. This was not a problem so far since all drivers used 0 decimal places and step size equal 1. Change-Id: I3466d6651c46a24cb5114eae1e1747293a76a1a6
2018-06-14Agptek Rocker: Add to builds.pmMarcin Bukat
Change-Id: I512dc1d5419d4e59a3dd2503ce9da0a826975af1
2018-06-14Agptek Rocker: Slightly tweak build procedureMarcin Bukat
In bootloader build create stripped binary bootloader.rocker Change-Id: Id67bebe82251fac22ad905ad3d49525691816746
2018-06-14Agptek Rocker: Implement lcd_enable()Marcin Bukat
In theory this should slightly improve battery life. Change-Id: Iaf55beb7dbc20e7562017958aeb0386459d49a31
2018-06-14Agptek Rocker: Fix mpegplayer keymapMarcin Bukat
Change-Id: Iba438b49b66dc3bb3fbfc24b74ced9eaab993886
2018-06-13Agptek Rocker: Update tools to alter .upt update imagesMarcin Bukat
Change all references to official rockbox repository Change-Id: I22d305bc6c6f89b8737b2bc15378bfd7fe10621e
2018-06-12puzzles: minor nitpicks to fbb6a2fFranklin Wei
Just some whitespace changes to maintain stylistic consistency. Change-Id: I50b5d52db2795cfcb4155bdffbfb80c1c3773112
2018-06-12puzzles: fix typo introduced by fbb6a2fFranklin Wei
When zoomed in, the original commit made a mono bitmap (a.k.a. text) always have the red component set to 255. This would cause drawn text to always be red. Fixed. Change-Id: Iec06256a3a783948c60c70557de042b375224448
2018-06-12Add XRGB8888 native formatMarcin Bukat
This got lost somehow during Agptek port merge Change-Id: Ie84463ba523d2307466b49354867117e7393a440
2018-06-12Silence warningsMarcin Bukat
Change-Id: Ied5ad7d3c193427892b681f95b44fcac5af0e16e
2018-06-12Cleanup commentMarcin Bukat
Change-Id: If39a5d2f64a9453a9b9b0cf0a2e3ad36027978ff
2018-06-12bmp2rb: Add XRGB 32bit native formatMarcin Bukat
Change-Id: Ic4af5a7c53c032e58dc252d1f69001d7aafd7f26
2018-06-12Fix merge errors which broke sony linux targetsMarcin Bukat
Change-Id: Ic0c618c6e2034609d1964bb3e9ff96c7a7cf1d40
2018-06-12Fix MIPS threading code to compile with older compilerMarcin Bukat
Official rockbox mips gcc is old and doesn't support symbolic register names in inline assembly Change-Id: If67230d06e28ccf31b0f8f8e1b622275fed3f6ff
2018-06-12Fix merge errorMarcin Bukat
Change-Id: If1b5258bb86e477ac4cb1adb95f6c887a2ef8810
2018-06-12Fix ipod classic buildMarcin Bukat
Change-Id: I55a2849bd1a22b40c0f75dcaeac481866f7dbf61
2018-06-12Agptek Rocker: Callibrate power discharge/charge curveMarcin Bukat
Thanks 'elakir' and 'pechenyh' rockbox forum users for performing battery bench. Change-Id: I25d350deaa805a9ecdc236f81f0ad127a169de52
2018-06-12Agptek Rocker: Fix keymap in time/date screenMarcin Bukat
Change-Id: Ic852d856bd1687cc277ccae8246963d15b6c0c75
2018-06-12Agptek Rocker: Fix saving time in hwclockMarcin Bukat
Rocker is configured with CST (China Standard Time) timezone which is UTC+8. Time in RTC is stored in UTC. Change-Id: Ib9c03e0f0a1d3ea3a69f238cb083809ea9386e2a
2018-06-12Agptek Rocker: fix rockboy palleteMarcin Bukat
Contributed by Aapo Tahkola. Change-Id: Ibee14d4f307b2198c5c47f9593734bd5d31d379b
2018-06-12Agptek Rocker: Implement RTC supportMarcin Bukat
Add define in config file to enable RTC support in rockbox, Fix time_menu.c to include radio.h only when tuner is present Implement time setting function on linux (was empty stub) Not tested. Change-Id: I40e6c4a6c1b66ada9cf4e698e502e221d0fc44df
2018-06-12Agptek Rocker: Add bass, treble and balance controlsMarcin Bukat
Change-Id: Ib84620850bbdc81afbdfff1610a0be7eab4f0ac0
2018-06-12Agptek Rocker: Implement USB mass storage driverMarcin Bukat
Agptek uses composite android driver. Change-Id: Iece188ad640f3dfd24c171946c14da4c3516b6d5
2018-06-12Agptek Rocker: Make simulator compile and runMarcin Bukat
There are some things to fix left but at least it starts and you can navigate. Change-Id: I76084bfc50334deeb55f46a10e97b5d6639815ac
2018-06-12Agptek Rocker: Build pluginsMarcin Bukat
Patch provided by Aapo Tahkola. Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
2018-06-12Agptek Rocker: Restrict root directory to SD onlyMarcin Bukat
Actual / of underlying linux OS should not be available to user. I am still not sure if implementation is correct. It doesn't perform any relative path sandboxing for example. Change-Id: Ic577a10f3947f6e950e2c4d03173f9f207395eb7
2018-06-12Agptek Rocker: Add tools to work with OF update imagesMarcin Bukat
Original firmware update is provided as .upt file. This file is actually ISO9660 image containing uBoot, kernel image and UBIFS rootfs and additional control files. Installing bootloader means patching UBIFS rootfs image. Change-Id: Ica86d1189dc1d5f3131d2035d8b87c8d08ec36b5
2018-06-12Agptek Rocker: Initial commitMarcin Bukat
Change-Id: I26b51106c7b1c36a603fba6d521e917d79b5a95b
2018-06-12mipsel-rockbox-linux toolchain build fixMarcin Bukat
If we use mips-rockbox-linux target resulting toolchain is big endian. If we use mipsel-rockbox-linux build fail since linux doesn't have separate archs for BE and LE mips. So we tweak arch passed to linux-headers stage to fix this. Change-Id: Iccae529998d1cd8f3429fa3b2ca4f030122f23bb
2018-06-12Add generic linux MIPS toolchainAmaury Pouly
Change-Id: I9f8927e348421bd8592d62eb61f6acf324d5f3a4
2018-06-05Fix lua failure to catch divide by zero and NaN exceptionsWilliam Wilgus
I can only assume in the course of the original conversion to fixed point math in RbLua the fact that division by zero and NaN handling was to be caught as a graceful exception by the floating point handler was overlooked. As a result lua doesn't handle these exceptions and instead results in a panic on the device. This patch fixes this handling in the lexer for compile time Inf and Nan results and in the luavm for runtime division by zero (Inf) I missed the runtime exception of n%0 added checks for that as well.. Change-Id: I7746c087ea93678e5875f15ec6fe3f29f26bdb31
2018-06-05Make short press of SELECT in FMS return ACTION_NONE on Sansa FuzeWilliam Wilgus
Fixes action fall through of select|release on fuze during FMS screen allowing detection of unmapped button Change-Id: I53945766263d8710f31621a4c9ad50cec7be2b0d
2018-06-05Fix FMS Volume-long press Up and Down button actions for SANSA CLIP derivativesWilliam Wilgus
When long pressing PLAY/PAUSE and FM_MODE on devices that use the clip keymap the volume changes in addition to toggling PLAY/PAUSE and SCAN/SEEK,this patch removes the volume functionality as these devices provide dedicated volume buttons Change-Id: I3ab5af6da07900417c31c7a1036343b32b950e4e
2018-06-05Add file view menu to file browserWilliam Wilgus
Allows changing file sort options directly through context menu in the file browser rather than having to exit the browser and go through General Settings>File_View Change-Id: Iec124d512dcb934bd261b2144a699c23f536c165
2018-05-31Revert "rocklib -- Fix Red"William Wilgus
This reverts commit 37a20dffb6c285e625f049820a6aaadbbd7952aa. Change-Id: Ibf3a56f2b84e0e4af4c2ed890bc22b3555ab24ae
2018-05-31Revert "Rocklua -- Clean-up source"William Wilgus
This reverts commit 0565f671181f10e6eb38156d9f409825e2513290. Removing Typedef from rliimage Change-Id: Ib14241785c73de8ba6dc18ac76bec35eaed4661d
2018-05-28rocklib -- Fix RedWilliam Wilgus
Change-Id: I83b967a266837ebdf887e0f2c2d169a69af9e287
2018-05-28Rocklua -- Clean-up sourceWilliam Wilgus
Change-Id: I11dad15320f209655fd72c2365fe29afd65057d3
2018-05-28Lua liolibWilliam Wilgus
Add Whitespace to EOF Change-Id: Iac253e7905c59518040d39bb5033e35f0deea948