Commit graph

35818 commits

Author SHA1 Message Date
Aidan MacDonald
ec164c389c usb: introduce new control request API
Change-Id: I6545d8985ab683c026f28f6a7c0e23b40d0a6506
2021-10-16 15:58:43 -04:00
William Wilgus
71cc1e78fd Open_plugins.c bugfix address of packed struct element
helpful gcc warning after g#3895 change to packed struct

Change-Id: I89f765da94eeee14c606ea8ebaab5e219dceb2ac
2021-10-16 11:04:17 -04:00
William Wilgus
15ee740060 Open Plugins search by langids
On language change Stored plugins may fail to run due
to hashing on lang dependent string

allows searching by langid when the supplied key is LANG_PTR

Fixes error on hash flush where previous entry was not restored

Adds routine to update file in-place (for ATA targets)
Other targets make a temp file to copy entries

breaking changes:
ROCKBOXDIR is no longer hashed since
/.rockbox directory may soon be able to be changed
packed attribute added to op data structure -- oops

Change-Id: Ieead26609559b9c5bdadc6a95227cb2bfbb9f71c
2021-10-16 10:18:44 -04:00
William Wilgus
6fb942d8ff skin engine - fail gracefully when %Sx is used on non lang id string
CheckWPS doesn't catch errors involving translated strings
Instead of breaking old themes when the langids no long exist
return "<ERR>"

Change-Id: I0d744cd48bb5a27e735fce3f6f740450d1f6a55a
2021-10-13 18:02:19 -04:00
Dana Conrad
e0468074fe ErosQNative: Remove duplicate play_last_sample() call
My brain dun goofed, oops

Change-Id: Ifd57310f3ba105cdc37c4342691cbc589a492310
2021-10-06 17:36:53 -05:00
James Buren
c0a59b9a6a usbstack: Revise usb string descriptor table to use enum values for indices
This makes it possible for macros of conditionally included string
descriptors to get a correct index no matter what other usb drivers
are enabled or disabled due to the nature behavior of enums.

Change-Id: I8ccebbd316605bed0f5d90b6b73fab4a333c02fa
2021-10-06 17:59:17 -04:00
Aidan MacDonald
4be81c2385 x1000: tweak USB fifo sizes
The old sizes limited the number of usable endpoints and were
unnecessarily large.

Change-Id: Ia17d3b62ecc40c8ca289d78f2275c7842c09deed
2021-10-06 22:40:52 +01:00
Dana Conrad
67d4da5342 ErosQNative: Initialize AIC FIFO to -1
Write -1 to AIC_DR to initialize the "last sample"
to -1 in order to prevent power-on clicks.

It appears necessary to completely fill the FIFO,
otherwise I was able to get a click out of it, however
uncommon it was.

Not only does this prevent a click when first
playing a song after power-on, but it also seems to prevent
any click at all when powering on - previously, a small
click may have been heard when first booting.

Change-Id: I2b81c2fa6af9809ef1c354d7a08ca8f9893a7690
2021-10-06 17:31:30 -04:00
Aidan MacDonald
465c216636 Fix includes in usb_class_driver.h
Change-Id: I602ec80d02b5f4f586386026a6312d048fa7dac3
2021-10-06 21:31:42 +01:00
Aidan MacDonald
3ae6fbc600 x1000: default to sending 0 samples on underflow
Previously it used the last sample, which turns out to be broken.
The AIC appears to send out a random non-zero sample continously
after boot -- probably because the last sample is uninitialized by
the hardware. Disabling playback is supposed to make it send zero
samples irregardless of the LSMP bit according to the docs, but it
doesn't seem to work this way.

- Change eliminates the white noise heard on the M3K after boot.
- Change has no adverse effects on the Q1.
- Leave Eros Q on the old setting since sending zeros exacerbates
  clicking due to DAC's automute feature.

Change-Id: I9996793fc34f4475b19700d076b11505353b3836
2021-10-05 12:46:01 +01:00
Aidan MacDonald
fd568d90a4 m3k: don't use mixer controls for volume control
According to a forum user, there's an audible click when changing
the volume between -32 and -32.5 dB with some headphones. Fix this
by not (ab)using the DAC digital mixer for volume control.

The mixer only provides an extra -6 dB of hardware volume range,
so the only side effect is that software volume will now kick in
at -32 dB instead of -38 dB.

Change-Id: If24d9bc0058eff3c1a29aefb155a2e378522623c
2021-10-05 12:46:00 +01:00
William Wilgus
0a1d25d27a Sansa E200v1 Bootloader ensure USB unplug is detected
Change-Id: Ibec5bf5e0f7a518fafc7b9fb8b95d420ef4ddfc0
2021-10-04 16:42:36 -04:00
William Wilgus
e6740ed562 Sansa E200v1 Bootloader add break statement to exit to load fw
Change-Id: I2516adc28d439dcbdb56f1ac51bd12d619a5f3d8
2021-10-04 16:02:06 -04:00
William Wilgus
7c67a48332 Sansa E200v1 Bootloader attempt at enabling USB in boot loader
there is a 1MB free region that is used to load the firmware but we
shouldn't need that till after a USB connection

so here is my 2nd try

Change-Id: I2552db3a7fba019d7e7188984432f758ddafe548
2021-10-04 10:56:33 -04:00
Aidan MacDonald
75524a7eec Shanling Q1: default to USB force charging
Force charging must be set or the Q1 will not draw 500 mA from
an AC adapter (see 0ca0940f01).

Change-Id: I4ec6dc7728a5aa4d7f07580556efb960948c24a8
2021-10-02 16:14:17 +01:00
William Wilgus
a62fdf4751 scroll engine, allow clipped text in viewport
loosen the requirements on the scroll viewport allow clipped text

Change-Id: I7099d423ccfbd7bae12e6ba43b8a6b4b864175b7
2021-10-02 10:31:04 -04:00
Aidan MacDonald
3a89fdee96 x1000: fix hang that may occur in USB mode
Upon getting a USB reset, the USB core will update charging
current by calling usb_charging_maxcurrent_change(). On all
current X1000 targets this may cause a hang, since changing
the charge current involves a blocking I2C transaction.

Eg. if the host issues a reset when we're already configured
as part of error recovery, the change from 500 mA -> 100 mA
will cause a hang.

Change-Id: I5b45272c01fa16b179ae3d16bbc50c7fab9a416b
2021-10-02 15:09:46 +01:00
Dana Conrad
d435bb77b5 Yes/No Screen Keymap: add fallbacks to targets lacking them
With the addition of ignoring unknown actions to the yes/no
screen, several (mostly older) targets won't have keys defined
to cancel out of the yes/no screen.

Adding fallbacks to standard context to correct this.

Targets:
Shanling Q1 - changed, untested (doesn't appear sim has buttons mapped)
Sansa Connect - changed, untested (can't figure out sim keys)

HM60x - changed, untested (sim won't build)
HM801 - changed, untested (sim won't build)
ihifi - changed, untested (sim won't build)
MA - changed, untested (sim won't build)

M3 - changed, tested on sim
X5 - changed, tested on sim
MPIO HD300 - changed, sim tested
MPIO HD200 - changed, sim tested (remote not tested)
Vibe 500 - changed, sim tested

Change-Id: Ib5290ada8e12bb845d3840e481e8533515b42e95
2021-10-02 10:07:02 -04:00
William Wilgus
95b10ac74e Add ability to dump cpu boost log to disk, include thread names
0.) B 0 /rockbox/apps/main.c:405
1.) B 1 /rockbox/firmware/kernel/thread.c thread[dircache]:1508
2.) B 2 /rockbox/apps/tagcache.c:4772
3.) U 3 /rockbox/apps/tagcache.c:4793

add logic to show count after log rolls over
clean-up

Change-Id: Ibda0a56e5d8d89aa8b7649f4f9fa64eb1ff0e08f
2021-09-30 21:13:22 -04:00
Solomon Peachy
5883cb4a52 languages: Prefer the translated <dest> over a <voice> that is identical to English
A lot of our translations have voice phrases that are identical
to English, even though they are translated in the display text.

In these scenarios, just use the translated text when generating
the voice files.  These will still be flagged as problems by the
translation web site!

Change-Id: I39a9888eaad650e4c847cccc60bd89cf44ae150a
2021-09-29 10:54:19 -04:00
Solomon Peachy
757766e807 languages: Prefer translated <dest> over untranslated english <voice>
When a prase is translated but the voice is not, default to using
the translated phrase over the untranslated English voice

Change-Id: Ie2cb1c6d0c370f450586b8a4653f1a073f8aec9d
2021-09-29 10:07:51 -04:00
Solomon Peachy
2ebe69b67a voice: Enable nightly Serbian & Norweigan voice generation.
The general rule is that languages with at least 90% coverage are
enabled.

Change-Id: I610b17dae95477f251067f75995502d089fc9094
2021-09-29 06:45:16 -04:00
William Wilgus
cb2ee6b6cb voice_thread.c ensure cpu gets re-boosted after Q_VOICE_STOP event
when the voice system is doing queued voice clips you can get a
voice_stop event which cancels the cpu boost
but the quiet count was not reset to 0
next clip may play unboosted causing stuttering

just boost unconditionally on Q_PLAY
it'll unboost after timeout if unneeded

Change-Id: Ib39df5d9f8a9e41299147a885048cf1361180dd6
2021-09-29 01:18:00 -04:00
William Wilgus
b662ff945a Bugfix AS3525 usb driver unboosted the cpu without first boosting it
Change-Id: Id2d45870a9128b19ace0e8d5c16d3b3fa4b923dd
2021-09-29 01:17:45 -04:00
James Smith
4f450b6e11 Revert "Playlist Viewer: Add file properties to playlist entry menu."
This reverts commit 67716c6b46.

Reason for revert: Only partially working on bare-metal ports, so revert this for now.

Change-Id: I5cea7d2b6466a43aaff4c3eb90ab5d7aee736a5b
2021-09-29 00:53:48 -04:00
James Smith
a7f2d1ffb4 Revert "Fix the build for 67716c6b."
This reverts commit 483563a1b2.

Reason for revert: Only partially works.

Change-Id: I28e412bf4eeb515cf72845f27d5772746cebc5e5
2021-09-29 00:53:29 -04:00
Solomon Peachy
eeacffbd15 voice: Allow voiced date format to be overridden
This adds LANG_VOICED_DATE_FORMAT, a format string with these tokens:

 Y  4-digit year
 A  Month name
 m  numeric month
 d  numeric day of month

The default (english) is '23 January 2013'
In comparison, english-us is 'January 23 2013'

Change-Id: I055a3287c104260dec63bba58d36fdae9df1ed16
2021-09-28 21:58:11 -04:00
Solomon Peachy
70e72e01d2 talk: Add support for languages that swap the tens position in numbers
For example, English would say "231" as "two hundred thirty one" but
many other languages would say "two hundred one and thirty"

So, if VOICE_NUMERIC_TENS_SWAP_SEPARATOR is not an empty string, swap
the tens and ones position and use that string ("and" in the above
example) as the voiced separator.

Change-Id: I69f8064d44b3995827327cabae6ad352bf257d04
2021-09-28 17:25:28 -04:00
Solomon Peachy
3cc7509e81 voice: Add default presets for Danish.
(The language remains <75% translated)

Change-Id: I7c9b7627e745aafc60a3d8965e7aceaa63c7664c
2021-09-28 17:25:28 -04:00
William Wilgus
fe5c1c8126 Revert "voice_thread.c ensure cpu gets re-boosted after Q_VOICE_STOP event"
This reverts commit 4695f80230.

Reason for revert: Something else is unboosting the thread this is a red herring

Change-Id: I0e71e0065b13129bbf59d45416c15799c446dcad
2021-09-28 01:27:52 -04:00
William Wilgus
4695f80230 voice_thread.c ensure cpu gets re-boosted after Q_VOICE_STOP event
reset quiet counter after Q_VOICE_STOP

when the voice system is doing un-queued voice clips you can get a
voice_stop event which cancels the cpu boost but the quiet count was not reset
next clip will play unboosted causing stuttering

Change-Id: Icaada443e2399bf146e30bebee599db5b379063a
2021-09-27 23:36:49 -04:00
Dana Conrad
6d98c9e6b2 ErosQ Native: Adjust battery % scale
Adjust the battery scale to be a little better. I've set
the 100% (discharge) point to be where the battery sags to
when it is done charging but still plugged in.

Not quite sure how best to set the charge scale, it's just
equal to the discharge scale for now.

Change-Id: I9a2730c0b2051300af9eeddb4f67164f38a29002
2021-09-26 18:27:53 -04:00
Solomon Peachy
38b2648f48 win32: Add a stub for os_modtime() to make sim builds happy
Change-Id: Iea90776df2a92777c8e07c5a6b6635b6734d6690
2021-09-26 09:31:58 -04:00
Solomon Peachy
412e76b487 configure: --no-ccache must disable CCACHE for $HOSTCC too!
Accomplish this by setting CCACHE_DISABLE=true

Change-Id: Ie930fc4e828ebb7a29234c1a8f371980489d5668
2021-09-20 20:14:37 -04:00
Aidan MacDonald
672bbe434b usb: rename usb_drv_recv() to usb_recv_recv_nonblocking()
IMHO the current name is somewhat misleading:

- usb_drv_send() is blocking and we have usb_drv_send_nonblocking()
  for the non-blocking case. This inconsistent naming can only
  promote confusion. (And what would we call a blocking receive?)

- Other hardware abstraction APIs in Rockbox are usually blocking:
  storage, LCD, backlight, audio... in other words, blocking is the
  default expected behavior, with non-blocking calls being a rarity.

Change-Id: I05b41088d09eab582697674f4f06fdca0c8950af
2021-09-20 22:41:29 +01:00
Aidan MacDonald
99f333c64f usb_hid: fix accidental fallthrough
Successful SET REPORT requests would spuriously fail because of the
fall through to GET REPORT.

Change-Id: I8e7d1a1120afc6975d07d47b11c12c9e9ca51dd2
2021-09-20 17:38:56 -04:00
James D. Smith
483563a1b2 Fix the build for 67716c6b.
Change-Id: I3917f64313345cf39d6105a0c0bc2f2a4617be8a
2021-09-19 21:28:10 -06:00
Dana Conrad
0ca0940f01 Make USB Charging default value configurable per device
A reasonable default assumption for a user
would be that they can plug their device into
a USB AC adapter and it will charge with as much
current as it reasonably can. With the previous
default, an AC adapter will only do 100mA, basically
a trickle charge.

Make this configurable default per-device, so as not
to break old devices without testing.

Define TARGET_USB_CHARGING_DEFAULT to USB_CHARGING_FORCE
to use the new default.

Tested on both erosQ Native and M3K.

Change-Id: I77265d356a41d67357ebc6e9f7e0c25a37b74931
2021-09-19 21:13:09 -04:00
James D. Smith
5765deb08e Add Fabrice Bellard to the CREDITS.
Change-Id: I62ec626007408d1d760b048cfd4899128c54be4a
2021-09-19 21:06:09 -04:00
James D. Smith
760277e096 Dir cache: Fix resume of relative path playlists.
Slightly modified from original patch by Fabrice Bellard.

Change-Id: I9ae04fa460f0f1b9c616e6f99505d4c5d4358f68
2021-09-19 21:05:58 -04:00
James D. Smith
67716c6b46 Playlist Viewer: Add file properties to playlist entry menu.
Change-Id: I8fb0da7d117e4a011345bae7f6137ab3253fea4f
2021-09-19 21:05:38 -04:00
Solomon Peachy
5312fe6bda FS13255: Partial update of Hungarian Translation (Gergely Békési)
(plus a lot of patch rebaseing by myself)

Change-Id: I184638147daceb5b60838763bc3d12a2959b337f
2021-09-19 00:05:48 -04:00
James D. Smith
60125f6bc9 Pictureflow: Update for tag_virt_canonicalartist.
Change-Id: Ie9fc906b6f863347174b383b01514961b307c4f1
2021-09-17 21:42:05 -04:00
James D. Smith
fb04b9b5ee Database: Merge 'Album Artist' entry with 'Artist' entry.
-Link 'Artist' entry to canonicalartist field.
-Convert all possible users of artist field to canonicalartist.
-Tweak 'Same as current -> Artist' menu to also include albumartist field matches.

Change-Id: I52e87cc0bd6ca50f1645447819ca55669df37354
2021-09-17 21:42:05 -04:00
James D. Smith
fcb9c06852 Database: Fix tag_albumartist; new tag_virt_canonicalartist.
Change-Id: I1d887f8a9d6690b8286407d2502432b0497cfeb9
2021-09-17 21:42:05 -04:00
Solomon Peachy
cb0f4599e1 FS#13304: Updated Dutch translation (Issa Beganović)
Change-Id: I8daaac6feea07eb114259b1e39338979e8a630fa
2021-09-17 21:30:22 -04:00
Solomon Peachy
7bf3b08303 FS#13309: Updated Polish Translation (Adam Rak)
Change-Id: Ie808def000b00514b2929a2aaef6082fc7daa9be
2021-09-17 21:22:23 -04:00
Solomon Peachy
52d4339c3f Synchronize english-us "translation"
Change-Id: I6cdedbced816bce223b9f7579d5fcd0af091f81a
2021-09-17 21:22:23 -04:00
James D. Smith
78f0dc8175 File properties plugin: Add bitrate.
Change-Id: I6160c50685ce1615ef295a472f25cb608b2e6feb
2021-09-16 17:52:53 -06:00
James D. Smith
a9d3e09611 File properties plugin: Add frequency.
Change-Id: I27453b39b5e4a6b4f97eff27a36c8ef2772ec092
2021-09-16 17:52:53 -06:00