* sort contents of generated apps/lang/english.list
* Ignore all entries with a source of 'none'
* Filter out all destination strings not present in master english list
* Always require '-e' argument
Change-Id: Ic86c0cb6c44139465cba6b6ce840131efe217c4d
* Use 16-bit audio output
* More audio tweaks (mute on startup, working volume control)
* Treat the rotary input as a scroll wheel (works now)
To-dos:
* Better global keymap (incorporate touchscreen)
* Turn on plugins and define the approximately eight bajillion keymaps
* Still have some audible pops when we turn on, need to figure out why
* Default Cabbiev2 comes off as rather crappy on this device
...I don't know how much work I will do on this thing, as the limited
number of physical controls (and a lack of a line-out) mean I'd never
want to use this thing myself.
Change-Id: I37229d92766495219ee989d9ae48b5ed79bd45f5
* Add a crude keymap
* Use native "hardware mute" for audiohw_mute()
* Properly handle touchscreen inputs
* Can now play back music, with some warts..
Broken:
* rotary wheel still doesn't work
* audio garbled/distorted a bit
* no volume control
Change-Id: I040217035a7bf3983b0e269fca3408eedd972cd0
* Only bootloader builds
* Plugins disabled
* No keymaps to anything else
* No simulator
* Touchscreen not wired up yet
* Audio still untested
Bugs:
* rotary encoder does nothing in bootloader
(might be bootloader bug, might be something else)
Other stuff pulled in:
* Unify all of the (identical!) hibyos makefiles
* Rename the "bootloader" to more generic name
Change-Id: I6d8a3b58de726db8e89cf193c90960a070a575c2
For example, LANG_TIME_SET_BUTTON has these:
*: none
aigoerosq,erosqnative,gogearsa9200,samsungyh*: "PLAY = Set"
gigabeat*,iaudiom5,iaudiox5,ipod*,iriverh10,iriverh10_5gb,mrobe100,sansac200*,sansaclip*,sansaconnect,sansae200*,sansafuze*: "SELECT = Set"
iriverh100,iriverh120,iriverh300: "NAVI = Set"
mpiohd300: "ENTER = Set"
mrobe500: "HEART = Set"
rtc: "ON = Set"
vibe500: "OK = Set"
But all of these players will match their name _and_ the generic 'rtc'
feature that enables use of this phrase. The language tooling
always used the final match in the list, so this resulted in
most devices showing the generic (and incorrect) 'ON = Set" instead
of the device-specific strings.
This patch changes the behavior so that only a match with the device
model itself can override the previously used string.
Change-Id: I93ee11b1e4925c39edaecdcbc13ccc51ed176a45
The tooling will always use the *final* match, which may or may not be
what is desired. Treat this as a bug, and complain appropriately.
However, there is a special case. The RTC set screen uses strings that
include the device button names. There should be an entry for the
specific device, but if not, we wanted to fall back to the string
specified by the 'rtc' feature flag as opposed to falling back to the
default, empty string.
To still support this, add a special "FALLBACK" value; If we end up
using this for a device, the tooling will treat this as a bug, and
complain accordingly.
This should fix FS#13615 and FS13616, and may introduce build failures
on targets that are missing appropriate entries. We'll see.
Change-Id: Ie78bb247f968e19d450a0fbf6e1177b6d01126a1
12b9419006 stripped out leading/trailing whitespace, but the Latvian
translation used a blank string for VOICE_OH which got wiped out.
This string is only used when voicing the time, eg: 12:05 is spoken in
English as "twelve oh five". Doing a little digging into Latvian, it
seems that for 24 hour clocks it would be voiced as "<twelve> nulle <five>"
instead, so I changed VOICE_OH to that.
Now for 12-hour clocks, it seems Latvian would voice "12:05" as "<five
past twelve>" but we don't currently have the ability to voice things
in this manner. Will be addressed in a future patch.
Change-Id: I2c1bcd2e9caff508de3199da29c2e994e9d00c3c
Languages:
* Get rid of leading space on LANG_ID3_VBR [ " (VBR)" ]
* Fix up sole user to insert the space programmically
updatelang:
* strip leading and trailing spaces on all phrases except VOICE_PAUSE
voice.pl
* Debug logging with UTF-8 output
* Explicitly delete tab character from voiced strings
Change-Id: Ie466793479ce15ce7a9553770583a070530e7afd
All translations with at least 80% coverage are upated.
Most of these also got a few mechanical corrections as well.
Change-Id: Id4cf5e6c066cb7cd0a73bcd5ad68135c9aeb3294
The Echo R1 is a new open-hardware music player design, based
on the STM32H743 microcontroller. Schematics and hardware
documentation for it can be found here:
- https://github.com/amachronic/echoplayer
This is an incomplete port. The bootloader can be loaded using
OpenOCD and it can draw to the LCD using SPI. SDRAM is working
but hasn't been extensively tested.
Change-Id: Ifd2bee15c49868fbc989683d3ca14dce48bf3e18
It was actually defined but not actually mapped in.
Also shut up a warning in the peakmeter code when not using a color
display.
Both caught by -Wunused-const-variable
Change-Id: Ie2403c0cd77e6fdf3468fd45115a1e0f228238e8
-Wunterminates-string-initialization will complain if we try to shove
a "string" into a fixed array that is too small. Sometimes this is
intentional; when you are merely using "string" as a standin for
"non-terminated sequence of bytes". In these cases we need to mark
the "string" as "not actually a string" with an attribute. Applies to
GCC >=8, but this warning isn't pulled in by -Wextra until GCC >= 15.
Change-Id: Ib94410a22f4587940b16cf03d539fbadc3373686
It may make sense to only show these in the
file browser, where you'd expect to do more
general file operations involving other folders.
Change-Id: I008569d2017811ee54b4449acb30359843f35294
Even though ARMv7-M has a hardware divider, 64-bit division is
handled in software and needs a div0 handler. The libgcc routines
call __aeabi_{i,l}div0 so we alias those to __div0.
Change-Id: I5152c43d39e25e03f31404753f13978a614aca06
M-profile cores manage interrupts differently from classic cores
and lack the FIQ. Split the interrupt management parts out into
separate headers but keep the endian swapping routines (which are
not profile-dependent) in the common system-arm header.
The initial part of the vector table is common to all Cortex-M
CPUs and is intended to be included by the target linker script,
with the vendor-specific part of the vector table appended to it.
Change-Id: Ib2ad5b9dc41db27940e39033cfef4308923db66d
ARMv7-M has hardware division, so it doesn't require __div0
or any support functions for 32-bit division.
Change-Id: I840683a1a77d737f378899ca4bcf858216b81014
When the database isn't loaded into RAM,
or the "quick" load setting is enabled,
filenames for tracks must be retrieved
from disk.
With a single track selected, this
can cause a delay before its context
menu is displayed.
Since filenames are only needed after the
user has selected something from the menu,
it makes sense to defer retrieval until
disk access becomes inevitable.
Change-Id: I72b57eff3102b50f3e19441119e20aad903b1f2b