Silvano Seva
24208db609
New unified audio stream manager
2023-08-30 18:04:25 +02:00
Silvano Seva
adf88611f4
Changed codec_startEncode() and codec_startDecode() input parameter from an audio source/sink to an audio path
2023-08-30 18:04:25 +02:00
Silvano Seva
60b771b375
Added function to get all the informations of a given audio path
2023-08-30 18:04:25 +02:00
Silvano Seva
1011dd1081
Moved audio_stream.h from interfaces to core headers
2023-08-30 18:04:24 +02:00
Ryan Turner
ec57e74bc6
feat(ui): add tooling to generate symbols, add GPS status icon and macro latch icon to the macro menu
...
Ref https://github.com/OpenRTX/OpenRTX/issues/161
2023-08-24 09:32:01 +02:00
Silvano Seva
dcafd07085
Created "peripherals" include folder for non-mandatory drivers, moved rtc.h to peripherals folder.
2023-07-21 08:23:41 +02:00
Silvano Seva
009930f914
Moved get/set of current time to platform interface API
2023-07-21 07:58:29 +02:00
Silvano Seva
2f0d56a8e0
Moved M17 destination callsign directly inside radio state data structure
2023-05-29 22:12:40 +02:00
Silvano Seva
423183700c
Moved M17 CAN to settings
2023-05-29 22:12:40 +02:00
Silvano Seva
e3b66f6a4b
Added channel access number and frame type to M17 data field in radio state, merged TX and RX channel access number fields of rtx configuaration data structure into one.
2023-05-29 22:12:40 +02:00
Silvano Seva
76ded06751
Split UI sources in a default one for the radios and the Module17 one.
2023-05-29 22:12:40 +02:00
Silvano Seva
a89a7523cb
Updated year in copyright headers
2023-02-08 16:33:02 +01:00
Silvano Seva
ae8bba88b6
Updated voice prompt for UTC timezone to support also half hour values, thanks to Joe VK7JS.
2022-10-31 18:04:08 +01:00
Silvano Seva
ce1dc202ae
Added support for half-hour timezones, moved datetime_t struct fields from bitfields to full 8-bit variables, added function to adjust the off-range fields of a datetime_t struct.
2022-10-31 11:41:54 +01:00
vk7js
d5d49fbbb2
Refactored to decouple vp_init from speaking of splash screen.
2022-10-31 08:41:31 +01:00
Silvano Seva
6d9ad2b947
Implementation of audio path manager
2022-10-28 09:47:47 +02:00
Silvano Seva
ad3390696e
Moved audio_path header file from interfaces to core, moved enums of audio source, sink and priority to audio.h
2022-10-28 09:47:47 +02:00
Silvano Seva
5fb11322ac
Code cleanup and refactoring of voice prompts code
2022-10-28 09:47:47 +02:00
vk7js
c7c9c3afc5
Fixed issue of m17 destination not being spoken in summary (long hold f1) if set to broadcast.
2022-10-28 09:47:47 +02:00
vk7js
7cc287643e
Added Broadcast to string table for use with voice prompts. Cleaned up hash key announcement.
2022-10-28 09:47:43 +02:00
vk7js
4ba9b3ec34
Fixed memory overrun caused by buffer being too small.
...
Also fixed satellite count which got broken when I changed the GPS info flags to add more.
2022-10-28 08:30:47 +02:00
vk7js
5829df6dd3
Now read speed, altitude and direction changes on the GPS screen automatically with a forced minimum of 10 seconds between readings to avoid a bit of hysterisis .
...
Can still get full summary on long hold f1.
2022-10-28 08:30:47 +02:00
vk7js
104f18d9e9
Added vp_beepSeries to play a melody.
...
Now play melody on power up if vp level set to Beep.
2022-10-28 08:30:47 +02:00
vk7js
dc285ab023
Moved beep definitions into header beeps.h.
2022-10-28 08:30:47 +02:00
vk7js
f8bfc7fb13
Added mechanism for specifying exactly what is read in the summary.
2022-10-28 08:30:47 +02:00
vk7js
c9ce41a999
Initial beep implementation.
...
Function latch will play high beep when latched and low beep when latch times out.
Menus will play a high beep when you arrow through them and a low beep when you reach the first item.
All keys should play a generic beep sound but this has not been implemented yet.
2022-10-28 08:30:46 +02:00
vk7js
9a250ec994
Added speech feedback to settings/display/timer menu.
2022-10-28 08:30:46 +02:00
vk7js
ac7a2b94a9
Adjusted vp_anounceBuffer to distinguish between a callsign buffer and a regular name buffer.
2022-10-28 08:30:46 +02:00
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
1e87493183
When enter is pressed to change an item's value and edit mode is enabled, indicate this so that the user knows they can actually change the value.
...
Updated voiceprompts.vpc with edit prompt.
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
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
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
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
69b023dd4a
First cut at implementation of vpPlay.
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
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
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
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
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
vk7js
8fab0b1e8c
Added vpLevel and vpPhoneticSpell to settings.
...
These take up 4 bits with 4 bits reserved for on the fly voice rate.
Not yet hooked up to menus.
2022-10-28 08:30:46 +02:00
vk7js
50b29065ae
Adjusted long comment to wrap.
2022-10-28 08:30:46 +02:00
vk7js
a5985dd55d
Added custom dictionary support for common words used in Channel names and contact names (ported from AccessibleGD77).
...
Added 9 custom word prompts. (One unused).
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
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
39cbfbe66f
Added a function which will look up a string in our string table and, if found, returns its offset and use it in order to locate the equivalent voice prompt.
...
Added logic to see if the current menu index has changed.
Added a function to speak the current menu item and its value if the menu index changes.
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
af74978600
If voice prompts can't be loaded then set vpLevel to vpNone.
2022-10-28 08:30:46 +02:00
vk7js
ad07a517bc
Added voice prompt verbosity levels: off, beep, low, medium and high.
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
vk7js
27d1329ac7
Added a few prompts for M17 and DMR used on the UIMode screen but which do not need strings in the strings table as they are displayed in abbreviated form.
2022-10-28 08:30:46 +02:00
vk7js
2373d8374c
more string extraction. moved prompt_fm and prompt_dmr to string table as they are needed by the UI.
2022-10-28 08:30:46 +02:00
vk7js
fd5c5b4979
Got voice prompts code compiling. (certain blocks are commented out until we get codec2 decode figured out).
2022-10-28 08:30:46 +02:00
vk7js
bc5289453e
Round one of adding strings to string table and wordlists.
2022-10-28 08:30:46 +02:00
vk7js
10ddd88f69
Cleanup code to adhere more to coding standard.
...
Got it compiling.
2022-10-28 08:30:46 +02:00
vk7js
c0a04c5564
Adding voicePromptUtils.h/c which will contain the actual functions which call the building blocks to speak radio functions.
2022-10-28 08:30:46 +02:00
vk7js
cdda2a5b90
Added voice prompt for channel.
2022-10-28 08:30:46 +02:00
vk7js
af76afb521
Added vpQueueFrequency to speak frequency with proper handling of decimal place and addition of MHz.
2022-10-28 08:30:46 +02:00
vk7js
1d7432ae3b
Reworked all symbols so that they can be processes via a lookup rather than by individual tests. Added more flags so we can optionally speak different categories of symbols.
2022-10-28 08:30:46 +02:00
vk7js
d5568b8ab3
Adding voice prompts skeleton.
2022-10-28 08:30:46 +02:00
Silvano Seva
bf8a257c2b
Implemented reference counting inside codec2 management module, allowing for multiple calls of codec_init()
2022-10-28 08:30:46 +02:00
Silvano Seva
91d608cc6b
Small reorganization of threads and tasks
2022-09-08 09:11:00 +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
b5fc9b252d
Moved code of compensating filter for MDx PWM-based DAC to a dedicated class.
2022-08-28 12:17:04 +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
1bb574c4fa
Reorganised graphics module and moved graphics.h from interfaces to core folder
2022-07-18 21:30:43 +02:00
tarxvf
ac3c8ea711
Renamed sat_t data structure to gpssat_t, changed signedness of point_t coordinates from unsigned to signed.
...
rename sat_t to gpssat_t to avoid future name collisions
allow signed values in point_t to allow relative values
fix crash when attempting to 'draw' negative absolute pixel values (like when zooming a map)
2022-07-10 09:13:47 +02:00
Silvano Seva
54aa794bf8
Changed file extension of all C++ only header files from .h to .hpp
2022-07-09 18:22:36 +02:00
Silvano Seva
34c90c2485
Moved FIR filter class to a dedicated header file
2022-07-09 18:07:42 +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
810daf7599
Reorganised system initialisation sequence, improved reactivity of UI and device threads
2022-07-02 10:47:19 +02:00
Silvano Seva
23a1a38a3a
Moved mutex for concurrent access to radio state inside state.h/.c, minimized the time spent with state mutex locked when updating the GPS data fields
2022-07-02 10:47:19 +02:00
Silvano Seva
101b33ce6b
Merged keyboard and UI threads, merged GPS and device threads.
2022-07-02 10:47:18 +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
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
52ead401bd
Reorganised GPS task to make it a non-blocking task to be called periodically
2022-07-02 10:28:28 +02:00
Silvano Seva
d16eb04696
Reorganised data structures and functions to manage date and time
2022-07-02 10:28:28 +02:00