AgeCommit message (Collapse)AuthorFilesLines
2021-12-05powermgmt: Refactor battery current estimationAidan MacDonald7-55/+45
Create a new battery_current() function to report the the battery's charging/discharging current. Move the old runcurrent() implementation into it and clean up some of the related defines. Change-Id: I7dbe5b6532d291fa72add1cb23b30e3cbac8c3ca
2021-12-05random_playlist.lua bugfixWilliam Wilgus1-1/+2
removing trackks after create appears to cause crashes removing the playlist appears to be sufficient to prevent append to the currently saved random_playlist.m3u8 added yield on screent update, since we have no sleep this could be an issue Change-Id: If04517f852e329088e30885d964f2407a2ebf318
2021-12-05settings: fix a confusing indentation and add missing whitespacesWolfram Sang1-2/+2
Change-Id: I6b0eaeacc300a8db3b618363db0bfc826445217b
2021-12-05powermgmt: Remove an unnecessary functionAidan MacDonald4-27/+9
Remove battery_read_info() which is a simple wrapper function only used by debug screens. Use the polling functions directly to save a bit of code size. Change-Id: I2919f78105bab186f6933dc1823f9fa67fe74f3e
2021-12-05Use LIST_WRAP_UNLESS_HELD consistentlyChristian Soffke3-5/+5
LIST_WRAP_ON seems to only be used in 3 places at this point. - Keybox Plugin - Puzzles Plugin - (File) Properties Plugin Switch them them over to LIST_WRAP_UNLESS_HELD as that is used everywhere else and is arguably preferable (the option to turn off list wrapping completely remains, of course). Change-Id: Id8017dcbb123a0568cb6db527a8966b63ba06d47
2021-12-05Properties Plugin: Fix track or disc number not appearingChristian Soffke1-6/+31
Change-Id: I20e60aefd92a2d9f1a64b6197deb6950144a9781
2021-12-05Restore Album Artist to the default database menuAidan MacDonald1-0/+2
Undo the removal as discussed in g#3947. Change-Id: I5ce291daa17e8fa04cec719d1ed39bf6d08658d2
2021-12-05powermgmt: Small cleanups to battery capacity codeAidan MacDonald8-14/+26
- Don't include the 'battery capacity' setting unless the target allows changing it. - Clean up the preprocessor conditionals used to check for variable battery capacity support. - Don't use a variable for battery capacity unless it is actually needed. Change-Id: I3d8a338f107014f2c5098bc0a44ef0cfb4df9356
2021-12-05fiiom3k: Remove unneeded powermgmt-target.hAidan MacDonald1-0/+0
Change-Id: I6af46c860d62d9bc297467050d43e47bff2049b8
2021-12-05Remove a couple of #ifdefsAidan MacDonald4-4/+0
Give iBasso DX50/DX90 empty adc-target.h headers like all the other hosted targets to avoid special cases. Change-Id: Iaae15642fdec4ff18bc9ac01245753135128f676
2021-12-05powermgmt: Remove outdated definesAidan MacDonald2-8/+2
CHARGING_DEBUG_FILE is not referenced anywhere else so just remove the #ifdef block. Change-Id: Icf4bd4edb7d38bdc86477d7d1f4e7bf9cf697d31
2021-12-05lcd-16bit: rewrite mono_bitmap_partAidan MacDonald1-96/+72
Rewrite the loop to update the framebuffer by rows rather than by columns. This should (a) be more efficient on the majority of targets using horizontal stride framebuffers, (b) skimp a bit on code size and (c) avoid AddressSanitizer errors caused by reading past the end of the source buffer. Change-Id: I238d191d63bfdecd25336fd8879a63d9d6ab7087
2021-12-04Add voicing to top level debug menuWilliam Wilgus1-0/+19
Change-Id: Iffea9ee188cbe74c8c52c7d250a534ff61a17665
2021-12-03PictureFlow: Preliminary fix for infinite loopChristian Soffke1-20/+47
Supposed to prevent situations where PictureFlow enters into an infinite loop while unsuccessfully looking for a slide cache slot. Technically more of a bandaid than a fix at this point, since it masks behavior that shouldn't occur in the first place, but at least it will make the issue essentially unnoticeable by the user for the time being. Change-Id: I8a9b30448949dd53f624eae918484b740b4f873e
2021-12-03PictureFlow: Add alphabetic browsing (iPod&fiiom3k)Christian Soffke1-0/+62
Offers more efficient navigation when number of albums is large. Scrolling with the touch wheel or touch strip works as before, but the prev/next buttons jump between album artists by first letter now. - Keymap has only been adjusted for iPod and Fiio M3K at the moment. - requires separate fix for infinite loop Change-Id: I68da7304d2c7714a5a1aecdf83e937bc9daae3e1
2021-12-03lua random_playlist generatorWilliam Wilgus2-7/+472
uses the database to create random playlists of specified size with the advanced GUI you can.. set the number of songs (up to max playlist buffer) set the number of tracks before a repeat is allowed play the tracks when finished -- fix a parsing bug where first and last entry in database were corrupted -- Incremental loading for very large databases, allows decent speed and lower ram usage Change-Id: Ia95469b6a04625b621129ec61e5db4b2b00adc5e
2021-12-03PictureFlow: Read bitmaps in one goChristian Soffke1-6/+1
As suggested by amachronic, this may significantly benefit performance. Change-Id: I4dcf096278ab8042065cf6dce5ff886cdd27dc3d
2021-12-03PictureFlow: Fix playback behavior after appendingChristian Soffke1-2/+4
- Once items have been appended, the existing playlist can not be reused when selecting an album for regular playback, since the playlist will be out of sync with the album's track list - Don't re-shuffle playlist after appending items Change-Id: I3b6035033ad1d59f9916c711f13737bb0987c4f6
2021-12-02Fix lingering yellow from 8325b59f3bSolomon Peachy1-0/+2
Change-Id: I83b7fbd88b2f47c9bd31943bdc9c4cc8f2d24f4e
2021-12-02Fix red from 8325b59f3bSolomon Peachy1-0/+2
Change-Id: I38f53d1cee1572ef5d82ed07bc184403fa2f7b00
2021-12-02Fix FS#13319Christian Soffke1-1/+8
Change-Id: Ia995e2de51f5d8984dffa90b97d4babb98f21399
2021-12-02Warn before replacing playlist when “Insert” hotkey is usedChristian Soffke1-2/+2
Makes warning for "Insert" hotkey consistent with that of "Insert Shuffled hotkey" (both will result in the current playlist being erased if playback is stopped). Change-Id: I7c6a01438c227a963209b8689ee6941b820a004d
2021-12-02PictureFlow: (grayscale) invert ‘Added to Playlist’ messageChristian Soffke1-13/+19
Feels less interruptive this way, since the background doesn't suddenly switch from dark to light. Also moved message to separate function and added missing lcd_update() after clearing display. Change-Id: Id196554b42fa4de16a6b23136d27358159b746b6
2021-12-02PictureFlow: whitespace fixesChristian Soffke1-1/+1
Change-Id: I53c75c99110c2eeceed52854bc2ca0ec63770a0c
2021-12-02PictureFlow: Warn Before Erasing PlaylistChristian Soffke3-5/+25
Respect system-wide setting, in consistence with browser behavior Change-Id: I7df90554a466ed5ca1b99da179cc7d95360499b6
2021-12-02Make inline functions in headers 'static inline'Aidan MacDonald3-8/+9
Future-proofing against newer versions of GCC/binutils which are stricter about the use of 'inline' functions in headers. Change-Id: Id620812ed340f0d790ba6c5b8b5cb1d700acfbbf
2021-11-29config: Get rid of an (incorrect) duplicate definition for USB_DESIGNWARESolomon Peachy1-1/+0
Change-Id: I9778a1a7b5e2e15b3775dbaed719c64b4e52194b
2021-11-28manual: fix layout of Backlight Exemptions descriptionAidan MacDonald1-6/+6
Use a {description} block rather than an {itemize} since the latter doesn't look very good here. Change-Id: Ic1052085ff1bd523bfa7e3637aa8bf9691eb785f
2021-11-28x1000-installer: remove redundant overflow checkAidan MacDonald1-3/+1
This overflow is impossible to trigger due to the simple relationship between binary and hexadecimal numbers. Change-Id: Ie8243129967abb935a77152a808765318052c979
2021-11-28x1000-installer: map filenames accept only valid charactersAidan MacDonald1-1/+13
Instead of using isgraph(), check for legal FAT32 characters excluding spaces (which are used as field separators). Change-Id: I291f0acb5f24c558099c237d913f4f35ae06b834
2021-11-28x1000-installer: add test for xf_map_parselineAidan MacDonald3-0/+143
Change-Id: I35db43c83dc3964607b95f6b5c300c2fef455ac8
2021-11-28x1000-installer: xf_stream_read_lines bugfixesAidan MacDonald2-11/+12
- Only treat EOF as newline if the line is non-empty to suppress a useless empty line after the end of a file. - Deal with 0- and 1-byte line buffers safely. - Remove whitespace stripping and comment handling which was left over from refactoring. Move it to xf_map_parse() where it belongs. Change-Id: I9f05f4e18ca6dd011ca4cd231f0b5ea37c784778
2021-11-28x1000-installer: tests for xf_stream.cAidan MacDonald5-1/+259
Change-Id: Ib9d1ca0109029f09ff0f8adfc10925c7c9a0f8b9
2021-11-28x1000-installer: simple test suite runnerAidan MacDonald2-59/+79
Change-Id: I0b9ee81cbd8dda593924b2f7c32a1d1d87ce84b0
2021-11-28x1000-installer: add test & code coverage support to makefileAidan MacDonald2-7/+51
Pass COVERAGE=1 to enable clang-based code coverage and pass SANITIZE=1 to enable sanitizers. 'make cov' will run the test app and show a coverage summary. Change-Id: I8a33e8b78665165d8da1818dc01f495f0c52cf06
2021-11-27x1000-installer: Initial commit of new frameworkAidan MacDonald30-0/+2894
This is a new flash installer framework for the X1000 targets. A bunch of this code is *UNTESTED* but there is an external test harness which allows the library to be built and tested on a PC. Once tests are written and the bugs are ironed out this framework will replace the existing installer code. New features: - Update tarballs are MD5-checksummed to guarantee integrity. - The flash map is no longer fixed -- updates are self describing and carry a map file which specifies the areas to update. - Can take full or partial backups with checksums computed on the fly. - Supports an additional verification mode which reads back data after writing to ensure the flash contents were not silently corrupted. Change-Id: I29a89190c7ff566019f6a844ad0571f01fb7192f
2021-11-27x1000: Fix AIC I2S divider clamping with EXCLK sourceAidan MacDonald1-2/+4
Change-Id: I19c2d25bbd7276ac5efd6f6b3b9ee64d6801f972
2021-11-27uisimulator: remove an unused fileAidan MacDonald1-102/+0
Appears to be a holdover from archos. Change-Id: I93a2c04f64a3beff86281943dddc1138a893ff86
2021-11-27usb-designware: fix setup packet error handlingAidan MacDonald1-8/+26
This handles the case where the host sends a new setup packet in the middle of an ongoing control transfer. Change-Id: I1d2e02467e9b813c9827cc0699cb87a500515e31
2021-11-27PictureFlow: Reversible and interruptible animationsChristian Soffke1-4/+74
Makes PF usable on older devices with few FPS, and makes it quicker to navigate on current devices. - PF_BACK while zooming in to zoom out again - PF_SELECT or PF_PREV/PF_NEXT while zooming in to skip animation - PF_BACK while zooming out to skip animation - PF_PREV/PF_NEXT while zooming out to skip animation + scroll - PF_SELECT while zooming out to zoom in again - PF_CONTEXT while zooming out to skip animation and append - PF_CONTEXT while scrolling to append - PF_SELECT while scrolling to zoom in Change-Id: I8d041b53f5990181059fe837a8ca121ebf37a676
2021-11-27Update microtar users to new library APIAidan MacDonald2-16/+17
Change-Id: I8e74efb53b8a8c9a4d69b2a20024434e2868e4e0
2021-11-27microtar: Update to latest upstream commitAidan MacDonald12-558/+1415
This is a major overhaul of the library with some API changes and ease of use improvements, particularly for creating new archives. The updated functionality is intended to support a new X1000 installer framework. Change-Id: Icf192bb546831231d49303fbf529ef1c1ce8905c
2021-11-24Manual: Update Metadata limitationsChristian Soffke2-2/+9
Limit for devices with more than 8MB of memory had previously been increased from 300 to 500 bytes for individual fields, and to 1800 from 900 bytes for buffer containing all fields. See a8846e3 Change-Id: I63305c50f6f486ad321664babdb94052ea9209a9
2021-11-24touchscreen: improved pixelwise scrolling in listsAidan MacDonald1-18/+56
Scrolling via the scrollbar is now a bit smoother -- it's now drawn pixelwise, and dragging it will scroll the list pixelwise instead of rigidly snapping to items. Several other general UX issues were fixed: - List and scrollbar now occupy the full viewport height, to maximize use of screen space. - Fixed issue with last item in the list suddenly appearing or disappearing while scrolling. - Prevented scrolling into blank space after the last item. Change-Id: Ib279ac87ec2f2ffc8834c19ff0af45286e2d6d4d
2021-11-24Shanling Q1: enable multi-touch reportingAidan MacDonald7-44/+139
The FT6x06 driver used for the Shanling Q1's touchscreen has been extended to report more than one touch point. It can also return the gesture detected by the controller, but this doesn't seem to report anything useful on the Q1. Multi-touch is only useful in 3x3 grid mode since the Rockbox button API cannot report more than one touch point. The FiiO M3K uses the same driver so it's been updated to the multi-touch API, but functionality is unchanged. Change-Id: I4de42f44808d6eb902e3da212d8f936b7a5042c7
2021-11-22rb_info plugin and button,action+context name helperWilliam Wilgus12-1/+908
rb_info is just a test plugin just some info from the running rockbox install the real star here is the generator scripts to make actions_helper.c and button_helper.c Change-Id: I23f7bbdae3f2cffca2490c4df40bb13b0b5d5064
2021-11-22jz47x0: Minor code quality improvements in the jz47xx USB driversSolomon Peachy3-11/+19
* Replace magic nubmers with #defined constant * Tweak some logf messages No functional changes! Change-Id: I6a5e4c371a471197a8edbb853967e461621d73f8
2021-11-22Fix: PictureFlow splash() crash on grayscale targetsChristian Soffke1-4/+17
On targets where the grayscale framework is used, splash() won't work (and may crash) if the overlay is not switched off first. This is not reproducible in the simulator. Change-Id: Ia22087c4978c8fa247d6d4c64c4b600e4393eebf
2021-11-22Fix: PictureFlow crashesChristian Soffke1-3/+57
- After appending albums, when memory had been borrowed from the buflib buffer by shifting memory up using buflib_buffer_out() in create_track_index(), memory was later not shifted down using buflib_buffer_in() (the latter was only called after displaying the track list). - The picture loading thread was able to allocate memory from the buflib pool while the main thread was moving the buffer around. Slide loading will now be paused before shifting operations, and continued afterwards. Change-Id: I1c92b6c931fd14ebb885be4bc275148039b76a9a
2021-11-21touchscreen: make quickscreen easier to useAidan MacDonald1-8/+16
In absolute pointing mode, the quickscreen now accepts a touch anywhere in the middle third of the screen edge to trigger an item, and pressing anywhere else on the 'grid' will exit -- the same as how 3x3 mode works. Previously it required a touch inside the text viewport to trigger an item, and exited after any touch outside the viewports. This made it very difficult to use since the text viewports are too small to reliably touch. Change-Id: I971eaeb4a2c67bebef3d7b070a29b897df07b8e7