Commit Graph

160 Commits

Author SHA1 Message Date
vk7js c0eba3866e Added voice feedback for the M17 Settings Menu:
1. Added vp_announceBuffer to speak a prompt, edit mode and string buffer.
2. Added logic to the vp_announceScreen for m17Settings read-only mode.
3. Added logic for handling edit mode.
4. Removed vpCaps flag from several places because it is irrelevant when input only supports caps.
2022-10-28 08:30:46 +02:00
vk7js 5ed0121780 Fixed announcement of channel number/name in summary and when changing channel. 2022-10-28 08:30:46 +02:00
vk7js 2139f5e391 Refactored to add generic function for speaking int settings. Made brightness and contrast prompt use this. 2022-10-28 08:30:46 +02:00
vk7js 04e7f044ff Added announcement of Brightness when changing from the Settings/Display menu. 2022-10-28 08:30:46 +02:00
vk7js 52479d10b5 Minor cleanup
Added Accessibility menu name to string table for voice prompt announcement.
Removed unnecessary comment.
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 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 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 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 df5341e103 Refactored voicePrompts.h, aligned function names of voice prompt API to OpenRTX coding style 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 7cd3f1d49a Added announceSettingsTimeDate and hooked up to f1 on that screen. 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 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 07d971ecfb Hooked up repeat last voice prompt and summary to f1 if vpLevel is higher than beep. 2022-10-28 08:30:46 +02:00
vk7js 537a20eef5 Add prompts for brightness and squelch
Added support for announcing macros for adjusting brightness and squelch.
Added voiceprompt for squelch.
2022-10-28 08:30:46 +02:00
vk7js e74eccfffd Added support for macro 6 announcing the cycling of radio mode. 2022-10-28 08:30:46 +02:00
vk7js d19e0d57ec Added bandwidth and power announcements
Added bandwidth and power announcement for both macro and summary.
Added new voice prompts for bandwidth and power.
2022-10-28 08:30:46 +02:00
vk7js 68926a72c4 Began work on the macros screen.
Toggling tone or enabling/disabling (macros 1 and 2) now supported.
Added new voice prompt for tone.
2022-10-28 08:30:46 +02:00
vk7js 0a410fe336 Speak only when values change
Changed the function which determines if we should speak the new menu
item to make it also check if a menu item's value changes.
2022-10-28 08:30:46 +02:00
vk7js e691f37f88 Extracted and added a few more strings to the string table and created voice prompts for those strings. 2022-10-28 08:30:46 +02:00
vk7js 46fab4642b Make VFO accessible through voice prompts
Added calls to various voice prompt functions in the UI so that VFO is basically accessible.
1. When entering digits in VFO mode.
2. When digits exceed 3, point will be announced.
3. When user enters sufficient digits to move from RX field to TX field, or if user presses Enter to move to TX field.
4. When both rx and tx frequencies have been completed.
2022-10-28 08:30:46 +02:00
vk7js d68f01ffbc Insert voice prompt utility function in UI code
Began calling voice prompt utility functions from places such as:
1. arrowing up and down in VFO mode (read new frequencies)
2. up and down in memory mode: read new channel name.
3. up and down in VFO input mode: announce receive or transmit,
4. when starting to enter a frequency: announce receive and the first digit.
2022-10-28 08:30:46 +02:00
Niccolò Izzo b3a861a47c Usability improvements
Remove DMR from macro menu until we actually support it.
Remove print of M17 source callsign
Bank and channel visualization is more compact to make room for
additional data on a single screen.
Refactor mode screen to fit all data into a single screen.
2022-10-28 08:30:46 +02:00
tarxvf 37c9e0dbc3 macro menu mode change: catch invalid states 2022-10-18 14:07:48 +02:00
Niccolò Izzo 25d6c20ef0 Reorder macro menu functions
Swapped brightness and tone increase and decrease to be more intuitive.
2022-09-27 22:35:50 +02:00
Niccolò Izzo 5ff74aaaa7 Add FM tone decrease Macro
Reorganize macro menu buttons to enable tone decrease and eliminate
channel save as it was not yet implemented.
2022-09-27 22:35:50 +02:00
Niccolò Izzo 6a9ce50f6b Usability improvements
Remove DMR from macro menu until we actually support it.
Remove print of M17 source callsign
Bank and channel visualization is more compact to make room for
additional data on a single screen.
Refactor mode screen to fit all data into a single screen.
2022-09-27 22:35:50 +02:00
Silvano Seva 94baec6981 Changed the granularity of VFO frequency input mode from tens to hundreds: this reduces the number of digits to be inserted to seven and avoids the line to overflow towards the bottom 2022-09-02 07:54:32 +02:00
Silvano Seva 48cd81ee7c Changed to 'static' some variables inside UI module 2022-08-28 11:49:10 +02:00
Silvano Seva b26d783429 Small optimisation of UI management: perform an update and render of the graphics only when necessary 2022-08-28 11:49:03 +02:00
Silvano Seva 84d66ca1b3 Changed parameters of ui_pushEvent(): now it accepts event type and payload instead of a single element, this cleans the code up a little bit 2022-08-10 18:05:02 +02:00
Silvano Seva f1dbfbfe1f Fixed compilation warnings 2022-08-04 22:22:56 +02:00
Silvano Seva 5f40ceceb3 Added field to state data structure containing the current operating state of the device. Implemented clean shutdown of all the threads. 2022-07-02 10:47:19 +02:00
Silvano Seva 4528e102a2 Moved the UI event queue inside the UI engine itself, UI FSM update now becomes a periodic task 2022-07-02 10:28:28 +02:00
Silvano Seva 40337e7c97 Removed radio model name from UI info page 2022-07-02 10:28:28 +02:00
Silvano Seva 2fc89bf583 Renamed 'HAS_GPS' and 'HAS_RTC' to, respectively, 'GPS_PRESENT' and 'RTC_PRESENT' 2022-07-02 10:28:28 +02:00
Silvano Seva 6d10f52b5b Clean termination of all the threads on device shutdown 2022-07-02 10:28:28 +02:00
Silvano Seva bc0c80edf6 Displaying of current heap usage in info page 2022-07-02 10:28:28 +02:00
Silvano Seva 52ead401bd Reorganised GPS task to make it a non-blocking task to be called periodically 2022-07-02 10:28:28 +02:00