vk7js
9f5a45954d
When GPS is disabled, and you choose the GPS menu item, announce GPS off rather than nothing.
2022-10-28 08:30:46 +02:00
vk7js
8cb9272881
Added vp_announceScreen to automatically announce informational screens such as VFO, channel, ...
2022-10-28 08:30:46 +02:00
Silvano Seva
158b38d113
Clearing buffer index and length of codec2 data when the reproduction of a voice prompt is completed
2022-10-28 08:30:46 +02:00
Silvano Seva
cad026f902
Renamed vp_clearCurrPrompt() to vp_flush(), added a vp_stop() function allowing to stop an in-progress voice prompt but without flushing the data buffer
2022-10-28 08:30:46 +02:00
Silvano Seva
d81a4220d1
Fixed voice prompt bugs
...
Fixed following voice prompt bugs:
1. Now say OpenRTX when powering on if vp enabled to let user know radio is on.
2. When switching back to VFO or channel mode from menus, now anounce VFO info or channel info.
3. When entering first digit of frequency in VFO input mode, say it.
4. Refixed issue of concatenating menus rather than clearing menu.
2022-10-28 08:30:46 +02:00
Silvano Seva
1383e3d61e
Reset prompt buffer position to zero once VP had finished speaking so that another play would replay the buffer
2022-10-28 08:30:46 +02:00
Silvano Seva
99408a5455
Added function to announce generic on/off toggle settings.
2022-10-28 08:30:46 +02:00
Silvano Seva
33867ec009
Fixed speaking of voice prompt level when changing from the menu.
2022-10-28 08:30:46 +02:00
Silvano Seva
7a78ece920
Fixed announcement of ctcss tones, now the decimal point gets announced.
2022-10-28 08:30:46 +02:00
Silvano Seva
a40cba2430
Added missing entry in VP table and fixed off-by-one for string table lookups.
2022-10-28 08:30:46 +02:00
Silvano Seva
10dcf04a92
Fixed concurrency issue inside audio codec module: after calling codec_stop() the codec resulted free before the effective shutdown of the internal thread, causing codec_decode() to lock inside the outputStream_start() in case of a fast sequence of decode - stop - decode
2022-10-28 08:30:46 +02:00
Silvano Seva
d0d603901e
Implemented storage of voice prompts data inside the binary executable image. Voice prompts data is placed in .rodata section at link time
2022-10-28 08:30:46 +02:00
Silvano Seva
cf842306c2
Partially refactored UI code
2022-10-28 08:30:46 +02:00
Silvano Seva
42b262c437
Refactored voicePromptUtils.h and voicePromptUtils.c
2022-10-28 08:30:46 +02:00
Silvano Seva
c5f109efa5
Refactored voicePrompts.c
2022-10-28 08:30:46 +02:00
Silvano Seva
df5341e103
Refactored voicePrompts.h, aligned function names of voice prompt API to OpenRTX coding style
2022-10-28 08:30:46 +02:00
Silvano Seva
5840f459fa
Renamed UIStrings.h/.c to ui_strings.h/.c and refactored their content
2022-10-28 08:30:46 +02:00
Niccolò Izzo
8eca684a7d
Voice prompts bugfixes:
...
- added missing initialization of codec2 in voice prompts code
- discarding the voice prompt header as we only support 3200 bit rate
- fixed wrong offset in pick vpQueueStringTableEntry
- fixed bug in vpInit causing voiceprompts to hang
2022-10-28 08:30:46 +02:00
vk7js
5bb7fc96a8
Renamed a few variables for case consistency, reimplemented vpTick and call from same place as ui_updateFSM to continue playing voice prompts.
2022-10-28 08:30:46 +02:00
vk7js
befc892068
When reading codec2 data, pad out to a multiple of 8 bytes with 0s so that when frames are pushed from the buffer, we don't get garbage at the ends of prompts which are not an exact multiple of 8 bytes.
2022-10-28 08:30:46 +02:00
vk7js
69b023dd4a
First cut at implementation of vpPlay.
2022-10-28 08:30:46 +02:00
vk7js
6b83af622c
Corrected vpDataOffset, now use ftell to obtain file offset after reading in header and toc. Added better verification that the TOC was actually read.
2022-10-28 08:30:46 +02:00
vk7js
e09ce7e95a
Added function implementation to read voiceprompts.vpc header, then read in the table of contents into ram, and then on request, read the codec2 data into the codec2 buffer given an offset and length into the data.
2022-10-28 08:30:46 +02:00
Niccolò Izzo
1f71789a9d
Apply clang-format
2022-10-28 08:30:46 +02:00
vk7js
29de1d36d4
Added a couple of comments and added whitespace between a couple of functions. No code changes.
2022-10-28 08:30:46 +02:00
vk7js
bec9ec0218
Added call to ReleaseFunctionLatchIfNeeded to status event branch of fsm so that the function latch will be released when needed without having to wait for a key press.
2022-10-28 08:30:46 +02:00
vk7js
9038745b6f
extracted logic for testing if the function key is latched into its own function for readability.
2022-10-28 08:30:46 +02:00
vk7js
bc7ce57f9b
Reworked function latch. Now, the latch is silently released on the next key press event which is outside the timeout.
2022-10-28 08:30:46 +02:00
vk7js
da935ff710
Added function menu latch.
...
1. If the moni key is long pressed by itself (no digit), function key latches.
2. It remains latched for 3 seconds.
3. If a subsequent key is pressed during this time, the timer is restarted at 3 seconds again, allowing the user to say increase the ctcss code while keeping the function latched.
4. If no key is pressed, the timer is allowed to lapse and the function unlatched.
2022-10-28 08:30:46 +02:00
vk7js
895a5ce780
Fixed error in AnnounceMenuIfNeeded, it was speaking the name twice rather than the name and value.
2022-10-28 08:30:46 +02:00
vk7js
611bd3d142
Fixed error in announceText(): wrong flags were passed to vpQueueString
2022-10-28 08:30:46 +02:00
vk7js
d57700c607
removed old comment and unnecessary code.
2022-10-28 08:30:46 +02:00
vk7js
6e4af40346
hooked up warning messages. May need tweaking.
...
Msg may repeat on keyup.
2022-10-28 08:30:46 +02:00
vk7js
1f36e9b9d8
Added voice prompt to warn that during backup/restore no voice prompts will be available.
...
Note that this is stil not hooked up.
2022-10-28 08:30:46 +02:00
vk7js
7cd3f1d49a
Added announceSettingsTimeDate and hooked up to f1 on that screen.
2022-10-28 08:30:46 +02:00
vk7js
29bde26f4f
Added announceBackupScreen() and announceRestoreScreen()
2022-10-28 08:30:46 +02:00
vk7js
b1c07e3d3f
Added speech for About screen.
2022-10-28 08:30:46 +02:00
vk7js
8527b8a6ef
Add GPS voiceprompts announcing
...
Removed flag parameters from summary and GPSInfo,
hooked up the GPS info so that if the GPS screen is active,
long hold f1 will read the GPS summary and f1 will repeat the last
voice prompt like on the VFO and channel screens.
2022-10-28 08:30:46 +02:00
vk7js
c0371dad2a
Added pauses between lots of info in summary for comprehensibility.
2022-10-28 08:30:46 +02:00
vk7js
46e3900462
corrected gps summary to use a stingized float for the compass bearing.
...
Also fixed another warning.
2022-10-28 08:30:46 +02:00
vk7js
c24af62000
added more to GPS summary and fixed a couple of warnings.
2022-10-28 08:30:46 +02:00
vk7js
4b604e255f
Added a few more voice prompts for the GPS screen: latitude, longitude, north, south, east,west, speed, altitude.
2022-10-28 08:30:46 +02:00
vk7js
0a4ed4009c
Added announceGPSInfo so we can read something meaningful for the GPS screen (not yet hooked up).
2022-10-28 08:30:46 +02:00
vk7js
c3667313ba
Extracted announceM17Info logic to its own function.
2022-10-28 08:30:46 +02:00
vk7js
339131a5b7
Added M17 dst_addr to channel summary.
...
Added zone name to channel summary if called from memmory mode.
2022-10-28 08:30:46 +02:00
vk7js
74ab9cbbf6
Fixed voice menu, it will now display as: Voice off, Voice Beep, or Voice 1 through 3.
2022-10-28 08:30:46 +02:00
vk7js
206e827aeb
Implement three levels of verbosity
...
Implemented the three levels of verbosity, besides none and beep:
1. Low: menus will speak but frequency and channel changes will just beep.
2. Medium: everything will speak but extra descriptions are eliminated except where ambiguity might occur.
3. High: Like medium except extra descriptions are spoken unles rapidly keying through menus in which case only the value will be spoken.
2022-10-28 08:30:46 +02:00
vk7js
16abf941d4
Added Voice menu to settings.
...
The Voice menu has two options:
Level: off, beep, level 1, level 2, level 3,
Phonetic: off, on.
2022-10-28 08:30:46 +02:00
vk7js
2102c15602
Hook up voice prompts in main startup routine
...
1. Call vpCacheInit() from the main startup routine.
2. If voice prompts are successfully loaded, and the hash key is held down, and the vp level is less than low, vp level is set to high.
3. If voice prompts are not loaded, and the level was set to something higher than beep, it is set to beep so that at a minimum, the user gets some beep feedback. If it was already set to off, nothing is changed.
2022-10-28 08:30:46 +02:00
vk7js
62ae110a19
Added more to the channel/vfo summary for M17 and DMR.
...
1. added contact name,
2. added timeslot and color code.
3. added new voice prompts.
2022-10-28 08:30:46 +02:00