summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-07-30Workaround for usb_storage_init_connection() panicCástor Muñoz1-0/+1
For s5l8701, s5l8702 and as3525v2 targets. The crash occurs when USB is inserted or extracted while the playlist is being loaded or updated (it could take a few seconds for huge playlists), at this point all buflib memory is allocated and not freed before usb_starage_init_connection() is executed. This workaround mitigates this panic by using static memory for USB buffers, so this memory cannot be used for other tasks, in addition the problem still persist when playlist load is 'paused' by USB insertion and then updated after USB extraction. Change-Id: Iff1db5a949361fd543e0b494924d1f2906c84b5e
2018-07-29Remove leftover merge conflict markerFranklin Wei1-1/+0
Change-Id: Ie34657fe652d3613429d3fa233faac9608a8b826
2018-07-29Fix syntax error in builds.pmFranklin Wei1-1/+1
This should fix the build system. Change-Id: I7af7628083cf20aa85278dfa3fee70a0ccb2dcc3
2018-07-28Revert "As3525 v1/v2 Add power savings menu"William Wilgus23-537/+52
This reverts commit 6f0320a9535bc1aa81d83fa879ac14d5ee603658. Change-Id: I7425d422a4a0af7a49e9194cfe0bb55d431bc401
2018-07-28Revert "Fix Red on PowerSave in Simulator"William Wilgus9-10/+8
This reverts commit 568b81202ebd24a3f7e9efe0558b5f6beed05b44. Change-Id: I2af42cd53d0ce490bf96c68288e9fbde034c0069
2018-07-28Slightly raise voltage on FuzeV2 devices.Michael Giacomelli1-0/+3
Some devices seem to have trouble accessing the storage at lower voltages.
2018-07-28Fix download link for the MIPS toolchain.Michael Giacomelli1-1/+1
2018-07-28Add cleaned-up xDuoo X3 supportSolomon Peachy114-102/+17349
Cleaned up, rebased, and forward-ported from the xvortex fork. (original credit to vsoftster@gmail.com) Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-07-28Update MIPS toolchain to GCC 4.9.4 and binutils 2.26.1, update configureAmaury Pouly2-7/+3
Change-Id: I4d3dad4521bdf0b0d6ee5d1635ddbf57483d2b42
2018-07-28Fix scroll_engine truncationWilliam Wilgus1-1/+1
fix one off error Change-Id: I9b3b23c9f6c36107e73e511d8cb1bc5cd987e765
2018-07-28Fix Red on PowerSave in SimulatorWilliam Wilgus9-8/+10
Change-Id: Ic5d9de230efceabc2c428e5c78fa6596a5a34840
2018-07-27As3525 v1/v2 Add power savings menuWilliam Wilgus23-52/+537
Allow user to select cpu undervolt There have been quite a few issues across the SANSA AMS line related to CPU undervolting while most players show greatly increased runtime some crash. Rather than constanly upping the voltage we now have a setting with a safe value for all players and the option for lower voltages I plan to add a few other options here later such as disk timings and maybe some other clocks/experimental settings Added: Disk Low speed option for AS3525v2 devices cuts frequency to 12 MHz from 24 MHz Added: Disk Low speed option for AS3525v1 devices cuts frequency to 15.5 MHz from 31 MHz Added: I2c Low Speed AS3525 devices, should be bigger improvement for v1 devices Fixed: Debug menu for AS3525v2 No SDSLOT frequency, Showed IDE freq though it is unused Added: DBOP and SSP underclocking affects display on v1/v2 respectively Fixed: debug menu now has SSP frequency, and SSP_CPSR Update: made settings menu more generic Update: cleaned up code Added: Clip v1 & Fuze v1 didn't have HAVE_ADJUSTABLE_CPU_VOLTAGE. not sure why but, waiting on testing to confirm Added: C200v2 and E200v2 devices and HAVE_ADJUSTABLE_CPU_VOLTAGE. Fixed: v1 devices don't like display timing set lower (dbop) v1 devices don't have a divider set for ssp (causes divide by 0) Fixed: ClipZip display lags with Max SSP divider changed from 0xFE to 0x32 Fixed: v1 devices didn't work properly with highspeed sd cards Added code from http://gerrit.rockbox.org/r/#/c/1704/ Added powersave and IDE interface enable/disable Added: V2 devices now have powersave enabled on sd interface Update: cleaned up code, lang defines, added manual entries Update ssp clock mechanism added calculated ssp divider to clipzip Update turn display clock off when clip+ turns off display Fixed: clipzip wrong register for SSP clock Change-Id: I04137682243be92f0f8d8bf1cfa54fbb1965559b TODO: add other players?
2018-07-27Lua -- Fix device hang when scroll function active on clear_screenWilliam Wilgus2-1/+2
I previously noticed that manually clearing the framebuffer while scroll function was active caused lua to crash I could reproduce in sim and on device but I thought using the plugin supplied rb->lcd_clear_screen was immune to this issue Unfortunately some devices exhibit this behavior with the plugin function as well This patch adds rb->lcd_scroll_stop() before lcd_clear_screen at lua start-up and to the supplied include file lcd.lua Change-Id: I9800145e5c834ea27df5db5f1bca50b0d40faa49
2018-07-26Optimize lcd-ssd1303 driver (clip series)William Wilgus5-82/+228
Saves 100+ bytes (50 of it in iram), saves a bit of power Internal LCD clock decreased but with added efficiency of drawing routines loses only around 2 Hz on the scanrate (~75Hz) while fps is slightly increased Column offsets are now calculated outside the loops saving a few instructions Passing a LCD_NOP command after lcd_update turns off Data/Cmd# gpio saving a bit more power Added a function lcd_write_cmd_triple() that allows 3 commands to be sent at once when enabled with LCD_USE_FIFO_FOR_COMMANDS it sends them back to back without checking FIFO status in between or sending to thhe D/C# Gpio. Makes an assumption about the FIFO being large enough to accept 3 commands after being emptied which should be the case on the clipv1, clipv2, clipplus. I have only enabled it for the clip plus as thats the only device I have to test it on. On clip+ the SSP clock is now turned off when screen is off Change-Id: Ib5fd24697bfe4ac8b8ee017361e789e4a7910d21
2018-07-26Update AS3525 v1/v2 debug menu; add scrolling and missing frequenciesWilliam Wilgus2-200/+201
On the clip zip most debug menu items get cut off and there is no way to read most of the debug menu items. This patch makes the menu button scroll the text 1 character to the right with each press and the center (select) button re-aligns the text Adds SSP frequency(v2) & register Adds SD slot frequency(v2) Change-Id: If4705d6790e25061931ca654062e22fc2e0a6f16
2018-07-25Fix lcd-scroll.c truncation warningsWilliam Wilgus1-1/+1
Change-Id: I312ec7ad06fde5b2f9747661cd2d4ffcb4cbf755
2018-07-25Revert "Ignore truncation in lcd-scroll.c"William Wilgus1-7/+2
This reverts commit 540637ed3334364fe9d1b54cdc96a52f59afda83. Change-Id: I88e71ef47a11818a5acb407ff9c0723d3c197243
2018-07-25Fix playersim CHAR_WIDTH re-definitionWilliam Wilgus1-0/+5
Change-Id: I49d2b3635c62277723665d0bdd68808cc82ca1a9
2018-07-25Ignore truncation in lcd-scroll.cWilliam Wilgus1-2/+7
Change-Id: Id1008300e58cf12ab920c1023354a74a6d32daae
2018-07-25Fix truncation warnings in tree.c, filetree.cWilliam Wilgus2-2/+13
Change-Id: Ic5ae1e5f904a3da4bba07cdef7f4bb003dc091b2
2018-07-25Fix formatting cuesheet.cWilliam Wilgus1-1/+1
Change-Id: I51edd5319882b2928b565c27615e20937399a1f9
2018-07-25Fix truncation warning playlist.c, tree.cWilliam Wilgus2-4/+5
Change-Id: I0c62f06fea3ccb55efa21b719a44a263dedc32e2
2018-07-25Ignore cuesheet title truncationWilliam Wilgus1-1/+7
Change-Id: I0de8a1468379f60140fb30b6c086fe15ea753da2
2018-07-25Revert "Remove truncation from cuesheet"William Wilgus1-3/+1
This reverts commit a81c63160c5d1da3a5c2b407fae58daead6199a8. Change-Id: Ie6d3e780fd6318b6173943167015f78f4a9c327a
2018-07-25Revert "Fix cuesheet printf truncation"William Wilgus1-3/+2
This reverts commit c332180afd8ac408883ba79c6c4d9c86120198e0. Change-Id: Ic7a85a0fe82cd13514e85011e0a5cbd79ec36c2b
2018-07-25Fix cuesheet printf truncationWilliam Wilgus1-2/+3
Change-Id: I48189c3ce29f27d4b3bb4f874c80636c1f0ca6b6
2018-07-25Remove truncation from cuesheetWilliam Wilgus1-1/+3
Lets see if this works.. Change-Id: I1fa7f17a07b3a7b479f987694ffcd59bc4e0bf5b
2018-07-25AMS v1/v2: Fix I2C2_CSPR debug menu entryWilliam Wilgus3-20/+32
I2c controller needs to be enabled in order to read CSPR0, CSPR1 registers function sets CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE and only clears if it wasn't previously enabled Use divider set in register to calculate frequency rather than hard coded divider Change-Id: I54ecc0c1859e906c00f4c2ae8ae2424a4619df98
2018-07-25CLIPPLUS -- Remove un-needed handling for power button button ↵William Wilgus1-7/+9
button_read_device() switching GPIOB in order to read GPIOD96) (power button) is apparently unneeded Change-Id: I1fbf13f67f938806086754cdd5e389ef6746ae5f
2018-07-24Try #4 for lua makeWilliam Wilgus1-2/+5
Last commit was just a test to see if it work this one cleans it up a bit and should be a bit faster Change-Id: Ifdff5c5b78bcc6889506de607193246beccdde6b
2018-07-24Try # 3 for lua make fileWilliam Wilgus2-7/+7
Change-Id: I888612f3339ffcde28602a4e739b08f630de9c28
2018-07-24Lua Fix image saving for 32 bit targets -- update make fileWilliam Wilgus2-10/+22
Hopefully this will fix the build faliures for a few targets Change-Id: I68f6c85513ef589e5f6a50a8efc7bfae9fd62acd
2018-07-23Rocklua -- Extend / Fix rliImageWilliam Wilgus10-89/+3043
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 Wilgus10-3029/+89
This reverts commit 2daec3d3c3d84e7176a22bc073ca5530e8e44c6d. Change-Id: I53ea1f491e3c6d6fb759f426f203f927bd26b1e9
2018-07-22Rocklua -- Extend / Fix rliImageWilliam Wilgus10-89/+3029
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 Sevakis4-42/+29
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 Piekarski6-6/+52
Add a night mode to textviewer. Change-Id: I6ddcd9c3c87473cbbffaeacf63a21ef11c0e5f44
2018-06-28Agptek: Fix headphones detectionMarcin Bukat1-1/+1
Change-Id: Id43bfee7357eef8dda6a617c1207b930f3ea90a0
2018-06-28Agptek: Fix support for empty strings in sysfs helper functionsMarcin Bukat1-5/+19
Change-Id: Id5573059da2b454f5336b3cebce7c09a83a7826f
2018-06-20puzzles: resync with upstreamFranklin Wei36-31461/+144
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 Bukat1-0/+7
Change-Id: I59e9ec8720555c17e882a3a8c7ed0ba281b8d7c7
2018-06-20Agptek Rocker: Add missing lcd_set_active(true) in lcd_init_device()Marcin Bukat2-0/+6
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 Bukat1-2/+2
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 Bukat1-0/+4
Change-Id: I512dc1d5419d4e59a3dd2503ce9da0a826975af1
2018-06-14Agptek Rocker: Slightly tweak build procedureMarcin Bukat2-2/+2
In bootloader build create stripped binary bootloader.rocker Change-Id: Id67bebe82251fac22ad905ad3d49525691816746
2018-06-14Agptek Rocker: Implement lcd_enable()Marcin Bukat4-2/+34
In theory this should slightly improve battery life. Change-Id: Iaf55beb7dbc20e7562017958aeb0386459d49a31
2018-06-14Agptek Rocker: Fix mpegplayer keymapMarcin Bukat1-0/+1
Change-Id: Iba438b49b66dc3bb3fbfc24b74ced9eaab993886
2018-06-13Agptek Rocker: Update tools to alter .upt update imagesMarcin Bukat3-30/+48
Change all references to official rockbox repository Change-Id: I22d305bc6c6f89b8737b2bc15378bfd7fe10621e
2018-06-12puzzles: minor nitpicks to fbb6a2fFranklin Wei1-2/+2
Just some whitespace changes to maintain stylistic consistency. Change-Id: I50b5d52db2795cfcb4155bdffbfb80c1c3773112
2018-06-12puzzles: fix typo introduced by fbb6a2fFranklin Wei1-1/+1
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