summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-23usb_storage: Fix a memset in SCSI_INQUIRY that overflowed its bufferSolomon Peachy
The funny thing is that the memset() for the field in question was redundant, as the overall inquiry structure was memset(0) already. Change-Id: I8bec0c93c9317823ff39cf7133535e3bf58fb987
2021-07-22Document an intentional fallthrough in the volume limit menu codeSolomon Peachy
Change-Id: I51d331ff788b73aa84fece63bfdca9c3e08c0384
2021-07-22plugins pong, properties remove dead codeWilliam Wilgus
Change-Id: I6645ff850a637343dde129600f0b5eaa2e4f6d31
2021-07-22tlsf make ~0 explicitly unsigned ~0uWilliam Wilgus
Change-Id: Ib3220df24fee470416ef813b89bdc5f27e455af7
2021-07-22Fix battery_bench bug by using a static buffer for stackAidan MacDonald
Since battery_bench is a TSR (terminate & stay resident) plugin it cannot allocate the plugin buffer -- various parts of the Rockbox core make use of it as temporary storage space. The buffer was used for stack space so this generated false 'Stkov' panics when one of those in-core users overwrote the buffer. The default stack size of 1kb is a bit small, so use 4x the default size to be on the safe side. This also fixes a minor issue where trying to view OS stack usage while battery_bench was running would cause audio dropouts, due to scanning the possibly huge stack with IRQs disabled. Change-Id: I2e6b76f9946db9090c1af61f7aa0a0dac0698c20
2021-07-21autoresume: Properly check the path string, not the pointer.Solomon Peachy
(the pointer is _always_ valid as it's to a fixed buffer) Change-Id: I88489012b76ed3b5b214cf01da1a6260e259fe87
2021-07-21talk.c check for 0 talk clips file descriptor leaks & announce_status fix typoWilliam Wilgus
talk.c potential division by zero warrants a check desowin pointed out multiple fd leaks announce_status.c dumb typo Change-Id: Iae99bd64696afdd9585952245a7a04cdc9f88ef1
2021-07-21Fix announce_status usage of plugin bufferAidan MacDonald
Since this is a TSR plugin, it is not safe to use the plugin buffer. Convert to using static buffers instead. Change-Id: Ic5b297468a99d77d56f5b75e52dafabeb80d2f78
2021-07-20timefuncs.c valid_time() should return false if tm == NULL and not try to derefWilliam Wilgus
luckily no one has yet.. Change-Id: I4117db84b013fa826958aea635daa0a24ee534b6
2021-07-20Small fixes to kbd_create_layoutAidan MacDonald
- Make the argument const since it's not actually mutated - Actually return the size of the buffer used since this is what it was supposed to do (although no existing callers cared anyway) Change-Id: I0802071cf63d4af419f427ff54adca50b14918ad
2021-07-20jztool: add support for Shanling Q1 and Eros QAidan MacDonald
Change-Id: I8e93162d1a9d82e9d132219f2803b1856d24ae6c
2021-07-20FS#13302 - Updated Polish translation (Adam Rak)Aidan MacDonald
Change-Id: I3dd2c75d3e51061b71f3057b1a4ed4f398127ced
2021-07-20talk: Explicitly cast -1 as unsigned before a left shift.Solomon Peachy
The code is explcitly relying on twos complement numerical represntation so this just shuts up the compiler and static analysis warnings. Change-Id: If11cd0a3a4127e8a872a752119d347ac6e09424c
2021-07-18sim: change Eros Q native bitmap to a symlinkAidan MacDonald
Change-Id: Id55ef276af0de52d7cbd8c7cdc6da46f171a01bd
2021-07-18add Eros Q native simulator buildAidan MacDonald
Change-Id: Ifdc882d19020da2e18234d6276409ad3e7efa138
2021-07-18New Port: Eros Q NativeDana Conrad
What works: - LCD: 16-bit RGB565 - all buttons, including scrollwheel - SD Card - Battery level and charging/not charging status - USB - audio - sample rate switching - HP / LO detect, with "safe" fixed LO volume - LO volume will only be put to user-defined max volume if headphones are not present. - rtc - Plugins build, tried a couple and they seem OK - Bootloader, installable to nand via usbboot What doesn't work: - Dual Boot - power on/off has intermittent, low volume audio click (sometimes it's completely silent, sometimes there's a click) - Audio uses 16-bit volume scaling, so clicking/popping is pretty bad at lower volumes - need 32 bit volume scaling, 24 bit I2S data - USB HID keys not yet defined - no jztool support Unknowns: - Stereo Switch pins: Direction select, AC_DC (probably not even hooked up) - What is the actual purpose of the Stereo Swtich? - How does the bluetooth module connect? "Someday" stuff: - get LCD working at higher bit depth - Bluetooth Change-Id: I70dda8fc092c6e3f4352f2245e4164193f803c33
2021-07-18crc32: add fast variant of regular crc_32r functionJames Buren
This relies on a macro, CRC32R_FAST, to select which version to compile with. In tests the fast version is 2x faster at the expense of requiring 960 more bytes for the lookup table. For now the default is the space optimized version but in the future I would like to enable this for ports where we can afford the extra storage and/or memory requirements. Change-Id: I25397dadedc3187bb02b2444f8b8ded77c2509b6
2021-07-17xduoox3ii: Add "Super Slow" filter roll-offSolomon Peachy
I'm not happy with the proliferation of filter-roll-off options but I don't have a less ugly solution. Change-Id: I740fca006fa0c3443a467acfea55b6574d48346b
2021-07-15Fix builds.pm syntax error (1d72d9cf)Solomon Peachy
Change-Id: I7c7e8e7de16157ecc6535a8b461c12430bd376fb
2021-07-15builds: add Shanling Q1 to unstableAidan MacDonald
Change-Id: Ic490b4d68c2faa35dd8cb6733766019aeeb192e7
2021-07-15misc: Fix up a few warnings uncovered by LTOSolomon Peachy
* direct use of memcpy() instead of ci->memcpy() in flac and mod * uninitialized variable in mpegplayer Change-Id: I2d08682d5f66c319780e69e3ff63d600c61d8f5a
2021-07-13New port: Shanling Q1 nativeAidan MacDonald
- Audio playback works - Touchscreen and buttons work - Bootloader works and is capable of dual boot - Plugins are working - Cabbiev2 theme has been ported - Stable for general usage Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps. There's a few minor known issues: - Bootloader must be installed manually using 'usbboot' as there is no support in jztool yet. - Keymaps may be lacking, need further testing and feedback. - Some plugins may not be fully adapted to the screen size and could benefit from further tweaking. - LCD shows abnormal effects under some circumstances: for example, after viewing a mostly black screen an afterimage appears briefly when going back to a brightly-lit screen. Sudden power-off without proper shutdown of the backlight causes a "dissolving" effect. - CW2015 battery reporting driver is buggy, and disabled for now. Battery reporting is currently voltage-based using the AXP192. Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
2021-07-13x1000: revamp MSC driver card detection logicAidan MacDonald
Debounce logic now handles both removal and insertion and verifies the detection is stable for 100ms before taking any action. This solves the bootloader "file not found" issue on the Shanling Q1. It seems a false removal event was generated, causing the filesystem to be automatically unmounted. Probably this is due to some transient noise at boot. Delays didn't solve the problem, probably because the bogus hotplug event was queued, and normal mdelay() would simply delay event delivery. Change-Id: I8b03fb3550309f5a7ab4be0be7465a3dab2d3450
2021-07-13crc32: add fast variant of regular crc_32 functionJames Buren
This relies on a macro, CRC32_FAST, to select which version to compile with. In tests the fast version is 2x faster at the expense of requiring 960 more bytes for the lookup table. For now the default is the speed optimized version but in the future I would like to enable this for ports where we can afford the extra storage and/or memory requirements. Change-Id: I8c7fde6b6ff130f0fdc7c8e472825e25bcdba022
2021-07-12Sansa Connect: Display battery info in debug menuTomasz Moń
Show battery temperature, current, discharge power and available energy in battery debug menu. Change-Id: I799af4e5ca7ec168d726e689264e0f092ebc2bf7
2021-07-11x1000: Unified flash bootloader installerAidan MacDonald
Change-Id: Ib1d41d4e7d663ff8a21eb08108c13568f7408533
2021-07-11x1000: Unified bootloaderAidan MacDonald
Change-Id: Ib1f2ca2a376866c61dd1bd62abd6e31210d11e5c
2021-07-11uisimulator: implement sim_modtimeJames Buren
Change-Id: I1094632df092ba63605631333e939cf30b585a59
2021-07-11zip: include strlcpy.hJames Buren
Change-Id: Ic26a95e35a005837cbd3c8d9318d2cced9b726ff
2021-07-11filesystem: implement os_modtime for unixJames Buren
Change-Id: If030d526f29aa786b5a37402413d804752286cf5
2021-07-11zip: implement zip extraction supportJames Buren
This adds code sufficient to extract files to available storage given a suitable root directory to extract to. It works on an already open zip handle and also supports chain-loading a secondary callback in the event that integration into the process is desired. Change-Id: Id200d8f20d84a0cbd22906470de8bbd21d4525ef
2021-07-10zip: rename modts field to mtimeJames Buren
This brings it more in line with other structs with this exact same data type and usage. Change-Id: I5fe8564750ef28ccd0b12efedca2e6958369f712
2021-07-10Sansa Connect: Ensure LCD starts before backlightTomasz Moń
Extra delay prevents white flash after hold switch release. Change-Id: Ib0d33937dcbb738b913388e7df92ffdf9346c9f9
2021-07-10Sansa Connect: Use deviceid in USB Serial NumberTomasz Moń
Atmel AT88SC6416C CryptoMemory is almost I2C compatible. The device is connected to bitbanged I2C bus shared with compliant I2C devices. Change-Id: Iec54702db1bdfb93c01291eef18ec60391c63b16
2021-07-09configure: fix a typo that could break voice buildsSolomon Peachy
(If you don't have espeak, festival, or flite installed) Change-Id: I5820535c55cc02e32bf31f3e30070b2c1e68ff87
2021-07-09Sansa Connect: Fix reported CPU frequencyTomasz Moń
Make frequency related comments accurate. Disable UART0 clock. Change-Id: I224a3d6656ad53165dcff68ed716fa2c6863240d
2021-07-09DM320: Regorganize LCD and TTB memory layoutTomasz Moń
Do not introduce any change for M:Robe 500 as it uses the two LCD frames in non-obvious way. Sansa Connect and Creative ZVM use only single front framebuffer. Place TTB at DRAM end to minimize memory loss due to alignment. Reserve as little as possible memory for the LCD frames. On Sansa Connect this change extends audio buffer by 858 KiB. Change-Id: I21bdeec4cfba86d71803a39acd651a87e73767e6
2021-07-08build: Nuke the ASMFLAGS workaround for gcc 3.4.xSolomon Peachy
Change-Id: I0f21e9539d39afd54916fa8d84ce798eef474a2c
2021-07-08build: use gcc-ar / gcc-ranlib in preparation for link-time-optimizationSolomon Peachy
Change-Id: If5fd9a8f15200fca9a89999605394f7527387a2b
2021-07-08build: Rename SHARED_LDFLAG to SHARED_LDFLAGSSolomon Peachy
Change-Id: Icb81c72fbcfcdad624112a386ba38a40a830d18f
2021-07-08file/fat: rework utime function as modtime extensionJames Buren
This eliminates the dependence on a special struct since we were only using the modtime anyway. But it no longer fits any known standard APIs so I have converted it to our own extension instead. This can still be adapted to existing hosted APIs if the need arises. Change-Id: Ic8800698ddfd3a1a48b7cf921c0d0f865302d034
2021-07-08Fix yellow in android builds.Solomon Peachy
Change-Id: Ic22908e249f2db85c029e1644c9531a12ed87993
2021-07-08build: Make checkwps use global GCCOPTSSolomon Peachy
Change-Id: I6859d3611b2008bf8a6ec52887d8e278df1ebd9f
2021-07-08x1000: SPL refactoringAidan MacDonald
This streamlines the boot code a bit and reduces target specific boilerplate. The clock init hack used by the bootloader has been "standardized" and works for the main Rockbox binary now, so you can boot rockbox.bin over USB without special hacks. Change-Id: I7c1fac37df5a45873583ce6818eaedb9f71a782b
2021-07-08x1000: more CPM register definitionsAidan MacDonald
Change-Id: Ie6fa343a65a6bd19e578664b10bac771289ed0b3
2021-07-08voice: Corrections to 24-hour time voicing:Solomon Peachy
* Voice leading "Oh" if hours is under 10. (ie "0900" is read as "oh nine hundred hours" Change-Id: I09853909221e0dd6da354f7e4bb9733ff5edca90
2021-07-08Fix warnings introduced in c174d3a5 (redux)Solomon Peachy
Change-Id: Icc871bd9875aa0d092a4fba3e8a6c3a598053854
2021-07-08Revert "Hosted & tool builds need utime.h"Solomon Peachy
This reverts commit a8fd590003774cb5554eaec2d5805d5e5b699fc4. Reason for revert: Inverted polarity and it didn't work anyway. Change-Id: Ife548ce4608405e3243c84a1d72090603fd2decc
2021-07-08Hosted & tool builds need utime.hSolomon Peachy
Should fix the warnings introduced in c174d3a5 Change-Id: Ib4bd863caef4dedf28dadab8b58b9a165ed4ef9b
2021-07-08file/fat: add utime functionJames Buren
This emulates the traditional utime function from UNIX clones to allow for manual updates of the modification timestamp on files and directories. This should only prove useful for non-native targets as those usually have a libc version of utime. Change-Id: Iea8a1d328e78b92c400d3354ee80689c7cf53af8