summaryrefslogtreecommitdiffstats
path: root/firmware/export
AgeCommit message (Collapse)AuthorFilesLines
3 daysplatform: hiby: Increase CODEC_SIZE to 1 MbRoman Artiukhin2-2/+2
Unifies codec size with most targets. Apart from other things increased size improves seek accuracy in long m4b audiobooks. Tested on Agptek Rocker and XDuoo X3II Related discussion: https://www.rockbox.org/tracker/task/13049#comment44591 Change-Id: Id246969e78386b71ac66aace128cfba72a3f209e
2024-01-02Fix CODEC_AAC_SBR_DEC check with undefined CONFIG_CPUroman.artiukhin1-4/+9
Define CONFIG_CPU if not defined This fix makes sure that AAC-LC decoding is used both on device and simulator. It's important for testing purposes as proper AAC-LC decoding requires changes both in decoder and in metadata handling. Fixup for 4cd65b9d9. Change-Id: Idef88825458761fffa3f5c5f4f221b555c509d89
2024-01-02ErosQ Native ES9018K2M: Add digital filters capabilityDana Conrad2-2/+14
Setting not yet hidden for older hardware revision. Change-Id: Iaaa5727e63c38de578a6bbc73498ae1073180e65
2024-01-02ErosQ New Revision HW volumeDana Conrad3-2/+79
Add HW volume control via ES9018K2M, and reorganize eros_qn_codec.c/.h, audiohw-erosqnative.c. This automatically detects the presence of the new DAC and uses its hardware volume scaling. If not present, use same SWVOL we have been using so far. Add debug menu readout of SWVOL/I2C result. Break out es9018k2m stuff into its own file so that maybe it can be useful to other ports. Note that we may need to get smarter about detecting the DAC type if/when another model emerges. Change-Id: I586a1cf7f150dd6b4e221157859825952840af56
2023-12-31Fix red in 4cd65b9d9Solomon Peachy1-4/+4
Change-Id: Ic3f136f5c88c46da68b78bc21ddefdf9fdbf2745
2023-12-31Codecs: mp4: Disable SBR decoding for PP5002 - PP5022 platformsroman.artiukhin1-0/+4
Includes ipod video (5G) and earlier models, sansa c200 and others players not capable to decode AAC-HE. Allows to play backward compatible files as AAC-LC. Change-Id: Ic9f5c0f255d9a4308c3414d402f8f27f4328ca94
2023-11-23Revert "Extend path_append_ex to truncate compname, remove some strmemdupa"William Wilgus1-1/+1
This reverts commit dbe20d453d5e93bd0f1188a8851c6cf4fd230b26. Reason for revert: Crashes ipod Classic Change-Id: I9ea329ce73383535353832d17c7c5e494e5ad516
2023-11-19Extend path_append_ex to truncate compname, remove some strmemdupaWilliam Wilgus1-1/+1
remove some duplicated strings previously allocd off the stack just removing string duplications that are easily handled with truncation now available with path_append_ex() this also has an advantage of less stack used in worst case scenarios Change-Id: I3a43e33ef8a8c36599e4c6c036a0ccdd8ed0c883
2023-11-09Playlist slight optimizations for playlist_resumeWilliam Wilgus1-0/+2
Change-Id: I766ce032a9b6b36d750a9231ff9f5d5a0167e5a5
2023-10-27sansaclipplus: enable usb-hid mouse supportUwe Kleine-König1-0/+1
Change-Id: Ifbebf9ff8474882a29378515e010e9c9d39df5c3
2023-10-01Remove structec APIAidan MacDonald1-33/+0
In my opinion this API is just not very useful - design is kind of questionable. There are hidden limits on the struct size and bugs on 64-bit platforms due to assuming sizeof(long) == 4. At the end of the day, the only major user was the tagcache and it's actually less code size to do endian swapping manually. Change-Id: I451c7f1a10cf3e28744c32c0f1f39a710d5cc100
2023-09-30powermgmt: Remove CURRENT_USBAidan MacDonald1-7/+0
CURRENT_USB overrides CURRENT_NORMAL when USB is plugged. It defaults to 2 mA and wasn't defined on any target, but this doesn't make sense to me. After all, the current drawn by the CPU or other components won't change just because USB was plugged in. As far as I can tell, the only side effect of removing this is reducing the estimated USB charging current. This might mean CURRENT_MAX_CHG should be increased by CURRENT_NORMAL on some (all?) targets to compensate, but I'm not sure which targets would be affected. Change-Id: I5aa5c3893ae1e4ce6b8803ab4e8c897d534eb08f
2023-09-28disk: Remember the partition number for each volumeAidan MacDonald1-0/+3
Change-Id: Ied6b0a558eec57435f9299f3e3326714f5e3cdca
2023-09-28disk: Add "struct volumeinfo" to store volume related infoAidan MacDonald1-0/+6
Change-Id: Ifd338d38db127d7896c43d1d25e70d0fae29fa1c
2023-09-09Ability to control backlight for soft lock actionroman.artiukhin1-1/+1
See Settings -> General Settings -> Display -> LCD Settings -> Backlight on Lock Change-Id: I201cb1c2907bb6842bf5d0b7a657e9db27aa905a
2023-08-17Remove obsolete alias for audio_record functionChristian Soffke1-1/+0
Rockbox doesn't support HW codec anymore Change-Id: Ia20d3f02f0d9db88b23cf9074e4d76aa21fd53b0
2023-05-21disk: Support GUID Partition Tables (GPT)Solomon Peachy1-0/+3
Notes: * Currently limited to 32-bit sector addresses due to internal Rockbox APIs. So this means a practical limit of 2TiB per drive. * Only 'General Data' GPT partition type is recognised, as that's what SD cards seem to use for exFAT/FAT32. Note that _booting_ off GPT-partitioned drive will require rebuilding the various rockbox bootloaders, and even then there may be platform limitations that preclude this. Change-Id: Ibfaae1960adcb1e81976d4b60dd596c6d16318e4
2023-04-08[Feature] Supress voice during sleep timer shutdownWilliam Wilgus1-0/+1
if show_shutdown_message == false and sleep timer is active talk will be disabled on shutdown Change-Id: Ia660e753700f3e283691f41797ef7a77a2d9a8d9
2023-03-23Fix unified syntax in ARM inline assemblyAidan MacDonald1-0/+10
GCC 4.9 always emits assembly with divided syntax. Setting unified syntax in inline assembly causes the assembler to complain about GCC's generated code, because the directive extends past the scope of the inline asm. Fix this by setting divided mode at the end of the inline assembly block. The assembler directives are hidden behind macros because later versions of GCC won't need this workaround: they can be told to use the unified syntax with -masm-syntax-unified. Change-Id: Ic09e729e5bbb6fd44d08dac348daf6f55c75d7d8
2023-03-23Using ARM Unified Assembler LanguageChris Chua1-2/+3
Change-Id: Iae32a8ba8eff6087330e458fafc912a12fee4509
2023-02-15font.c cleanupWilliam Wilgus1-1/+1
find_font_index can use font_filename_matches_loaded_id() font_path_to_glyph_path doesn't need strcat Change-Id: I8d1d36a68abbc700078d651eed930035641b6240
2023-02-15[BugFix] font.c filename was movableWilliam Wilgus1-1/+1
stupid bug on my part font_filename was pointing to a movable alloc therefore that data could be moved out from under the returned pointer instead pin the internal calls to core_get_data and remove font_filename in favor of a function that checks if a filename matches the loaded font as this was all it was used for anyway Change-Id: Iebb47ffe3f81aa9d5e3968975f26d64283633ffc
2023-01-22Add perceptual volume adjustmentAidan MacDonald1-0/+4
The perceived loudness change of a change in volume depends on the listening volume: at high volumes a 1 dB increment is noticeable, but at low volumes a larger increment is needed to get a comparable change in loudness. Perceptual volume adjustment accounts for this fact, and divides the hardware volume range into a number of steps. Each step changes the dB volume by a variable amount, with most of the steps concentrated at higher volumes. This makes it possible to sweep over the entire hardware volume range quickly, without losing the ability to finely adjust the volume at normal listening levels. Use "Volume Adjustment Mode" in the system settings menu to select perceptual volume mode. The number of steps used is controlled by "Number of Volume Steps". (Number of steps has no effect in direct adjustment mode.) It's still possible to set a specific dB volume level from the sound settings menu when perceptual volume is enabled, and perceptual volume does not affect the volume displayed by themes. Change-Id: I6f91fd3f7c5e2d323a914e47b5653033e92b4b3b
2023-01-22ErosQNative: Enable Line Out capabilities on new revision playersDana Conrad1-1/+1
The newer players have some changed hardware, but most importantly the line out now appears to be routed through the stereo switch instead of being hardwired directly off the DAC. Disable muting the headphone amp, enable switching the stereo switch, and rename some of the GPIOs to be more generic since the DAC, headphone amp, and stereo switch all appear to have changed. Change-Id: I220fe5e37bcbcd959b544183e1fcf70673a83c13
2023-01-15buflib: Add malloc-backed buflibAidan MacDonald1-0/+1
This is intended for improving the effectiveness of tools like ASAN when debugging memory errors in the sim. It's not meant to be a serious allocator for hosted targets. Enable it by changing the buflib backend in config.h. Change-Id: I0cf23cefa47ee35dede7b49e0e5b72dac60e8d3e
2023-01-15buflib: Add CONFIG_BUFLIB_BACKEND for selecting a buflib backendAidan MacDonald1-0/+7
Defaults to the normal "mempool" backend, which is currently the only implementation. Change-Id: I56d034a6e0f5edc90c39526d1551945eec6ca336
2023-01-13fix red from #641e91aa2fSolomon Peachy1-1/+2
Change-Id: I7e648a7bdf1d706258afd49c1edd63655b2d2830
2023-01-13jz47xx: Add support for INIT regionSolomon Peachy1-1/+1
Change-Id: I100cd661e9b1225167463542800c6aafbc3c17b3
2023-01-12Fix red in 7e5fc4076aAidan MacDonald1-0/+2
Change-Id: I1704ea0de243bff05262556723daea5b3531558b
2023-01-12Add INIT_ATTR to i2c_init()Aidan MacDonald5-5/+5
It's usually only called from init() in main.c, so this is safe. There is one more call in system-dm320.c from system_init(), but that's also "safe". I don't know if it's okay to call i2c_init() twice, but presumably it works... Change-Id: I9c1cd918d162d9955f7cf03209e836cbd5e30c57
2023-01-12Add INIT_ATTR to system_init()Aidan MacDonald1-0/+6
On single-core targets, system_init() is only called from init() in main.c, which is also INIT_ATTR, so this is safe. Multi-core targets additionally call system_init() from cop_main(), which isn't marked INIT_ATTR. I'm fairly certain that it would be safe to add INIT_ATTR to cop_main() with a bit of refactoring, but I don't have a way of testing it. So for now, leave INIT_ATTR off for multi-core targets. Change-Id: I8fe4358f975880ca317d46bda01d7d9db529d3e3
2023-01-04[BugFix] Fix some Shif related UB -- ASANWilliam Wilgus1-3/+3
these are the low hanging fruit identified by ASAN cast the byte values before shift Change-Id: Ifc5645354a10c15ccd09d1343e1705857a51e011
2023-01-02Add locked actions to all soft lock targetsWilliam Wilgus3-3/+0
fiio m3k native is currently the only player with defined buttons different from the standard mapping. This allows the user to use the keyremap plugin to specify differing keymaps for their device in the locked state Change-Id: Ie0b447bba0d5978e8d23fed423df30c794afc6f9
2023-01-02clean up button.c optimize !filter_first_keypressWilliam Wilgus1-4/+0
do a bit of cleanup in button_tick move filter_first_keypress to a function pointer Change-Id: Iefb05c1a182c1e15cfb5bca8e2ef31a710d15eba
2022-12-31[FixRed] ClipV2 has a hold button -- news to meWilliam Wilgus1-1/+0
HAVE_LOCKED_ACTIIONS requires !defined(HAVE_HOLD_BUTTON) Change-Id: I1e98c282f17d11f08ea80cd5963b331a3ae19387
2022-12-31[Feature/Bugfix] keyremap add Context flagsWilliam Wilgus3-0/+3
Add context flags to keyremap CONTEXT_LOCKED CONTEXT_REMOTE CONTEXT_REMOTE_LOCKED --CONTEXT_PLUGIN-- Removed -- Plugins need a custom action list supplied and a method of supplying them Change-Id: I5201d275ad0ab6130c2d05d5afb0c450f5c1746c
2022-12-31x1000: Enable support for INIT_ATTRAidan MacDonald1-1/+1
Enable INIT_ATTR support in config.h. Load init code to the codec buffer, following the convention used by other targets that support INIT_ATTR. Change-Id: I8935fbaa100f0013bb328d71c4a49ec2ffafd003
2022-12-20ata: Prevent powering-off ATA hardwre if it reports as mSATA or m.2Solomon Peachy1-0/+3
As those form factors are typically not runtime removable and as such expect to always being powered up. This is an experimental change, and we might revert it if it doens't help Change-Id: I61187f297866f64589a546352828a0ff8169fa30
2022-12-01Add rectangle utility functionsAidan MacDonald1-0/+75
Change-Id: Iebcddfc36733aab5131d2fcb9fd8c8a32eff84b8
2022-11-12make splash split on control charactersWilliam Wilgus1-1/+1
splits on spaces also considers \r\n\f\v\t as mandatory breaks I'm still working on the strptokspn function my goal is to use it directly rather than storing the matched char and modifying the source string with \0 in order to tokenize the output --Done Change-Id: I7f378b5b9c4df8f10899b9a55a98950afb3931dc
2022-10-13Revert "Remove YUV blitting functions and LCD modes"Solomon Peachy2-2/+11
This reverts commit fe6aa21e9eb88f49005863efd2003d0982920048. Change-Id: I8bb1e5d6c52ed1478002d2140ef494ec5d62b8e3
2022-10-03Remove YUV blitting functions and LCD modesAidan MacDonald2-11/+2
None of this is needed now that mpegplayer is gone. Change-Id: I360366db8513e4d988021e8d7b7d8eb09930efb8
2022-10-03mrobe500: Fix missing parentheses in #defineAidan MacDonald1-1/+1
Change-Id: Ifbba50a951fb3212eabe430dfef6868a7ad5e391
2022-09-30Define LCD_STRIDEFORMAT unconditionallyAidan MacDonald2-4/+8
Instead of putting "#ifdef LCD_STRIDEFORMAT" at every usage of the macro it's simpler to have config.h define LCD_STRIDEFORMAT to the default of horizontal stride when the target leaves it unspecified. Change-Id: Ib187012aad65ac678dbd837b1464a83bad722411
2022-09-27FS#13361: Fix some compilation under MacOS (Michael Landherr)Solomon Peachy1-2/+10
Change-Id: Id7e0576e355a1d71493fb7b277fd92f38b7edab4
2022-09-27lcd: Remove HAVE_VIEWPORT_CLIPAidan MacDonald2-6/+0
This was only enabled for the mrobe500 and sansaconnect targets. Most targets are therefore running without this "safety" measure, and presumably we'd have noticed long ago if there was a problem. So in all likelihood this is just a bunch of dead code that we don't need to carry around. Change-Id: I7d27701a38b1c2a985ee73fa6f277ad215d8d385
2022-09-25Fix red in e75a3fb8Aidan MacDonald1-0/+5
Change-Id: I2e98f68d03df757688b6c556b69d934c12f40a7c
2022-07-12ipod6g: increase plugin buffer size from 512 KiB to 2 MiBChristian Soffke1-5/+3
The iPod classic/6G comes with 64MB of RAM. This brings it in line with the plugin buffer size of some other targets that have the same amount of RAM, such as the Fiio M3K, and enables the use of PictureFlow for users with very large databases. Change-Id: I1ccae1cacda7a243139f4887f54bd35cc8e501cf
2022-07-10x1000: fix linux boot USB issuesAidan MacDonald1-0/+3
If the USB controller is active when we hand over to Linux it'll often trigger "irq nobody cared" warnings. Disabling the controller before boot prevents that. Also move the USB PHY bit workaround from the dualboot cleanup hook to the main Linux boot function. Mainline kernels don't clear these bits either. Change-Id: Ieaf896c3b8c3e58a8c47de5afeb384ae2511a5fa
2022-06-21usb: remove "Ask" USB Mode (FS#13317)Aidan MacDonald1-1/+0
USB ask mode is basically a footgun: it can't work on native targets and doesn't work reliably on hosted ones, and it continually produces a slow trickle of problems. FS#13317 gives a rundown of the issues. Removing the setting seems like the best solution for now, since a fix would be pretty involved. This partially reverts 60f581e8f5. The USB Mode setting is left in place so the option can be added back later in a non-buggy way. Change-Id: Ie01b28dd2ed95a31b509a7834d85bac8eb866098