Commit Graph

160 Commits

Author SHA1 Message Date
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
Silvano Seva 45d919f50f Reorganised GPS driver to allow for non-blocking acquisition of NMEA sentences 2022-07-02 10:28:28 +02:00
Silvano Seva 3cc5852ef3 Refactored keyboard thread by moving the keypad scan logic to a dedicated function inside input.h 2022-07-02 10:28:28 +02:00
Silvano Seva 8b5b6ed571 Moved OpenRTX startup code from main.c to dedicated openrtx_init() and openrtx_run() functions in a separate source file. 2022-06-02 10:01:34 +02:00
Silvano Seva 316e588bc3 Updated copyright headers 2022-06-02 09:56:05 +02:00
Niccolò Izzo ae12a2126a Implement codeplug read and write functions
Implemented remaining codeplug functions to read, write and insert
codeplug entries. Fix bugs in ui code. Add unit tests.

TG-428
2022-06-01 16:05:35 +02:00
Niccolò Izzo dc250a25d6 Implement new codeplug interface
The new codeplug interface was implemented for linux and retrofitted to
all the existing OpenRTX platforms. Limited unit testing was also
implemented.

TG-428
2022-06-01 15:59:27 +02:00
Silvano Seva cbd3922325 Cleanup and reorganisation of state header file, new OpenRTX CPS data structure 2022-06-01 15:04:17 +02:00
Silvano Seva c3cfaba4b2 Renamed zones into banks to align to M17 codeplug naming convention. 2022-06-01 14:56:22 +02:00
Silvano Seva ff7a28ff59 RingBuffer class: implemented eraseElement() function, rewritten the pop() function in a cleaner way, fixed a bug in the pop() function causing the not_full condition variable to be never rised. 2022-05-27 21:49:33 +02:00
Silvano Seva 6be567a781 Implementation of a statically allocated ring buffer with blocking and non-blocking push and pop 2022-05-27 21:48:47 +02:00
Silvano Seva e5b5daba85 Moved state variables of PWM compensator and DC removal filter outside the function bodies to allow keeping their consistency among function calls 2022-05-27 21:48:47 +02:00
Silvano Seva b144657257 Moved CODEC2 management to a dedicated module 2022-05-27 21:48:47 +02:00
Silvano Seva 5c90c19bea Data conversion utilities 2022-05-27 21:48:47 +02:00
Silvano Seva ab3d148449 Implemented activation of external flash backup and restore via menu entries 2022-03-22 15:10:52 +01:00
Silvano Seva a1c26b2898 Simple utility functions for backup and restore of external flash memory content 2022-03-22 13:39:08 +01:00
Silvano Seva f513454acf Implementation of xmodem data reception 2022-03-21 17:36:27 +01:00
Niccolò Izzo 48824accb9 Add flash backup and restore menu
Add flash backup and flash restore entries to menu system, to access
these functionalities from the radio itself.

TG-428
2022-03-13 00:21:52 +01:00
Silvano Seva 7e3131d9d1 Implemented xmodem data sending 2022-03-12 23:32:31 +01:00
Silvano Seva e56cf52f28 Partial implementation of xmodem protocol: function for transmission of xmodem packets and small testsuite for dumping the content of external flash memory via xmodem 2022-03-11 19:28:45 +01:00
Silvano Seva 052580df3a Implementation of CCITT CRC16 2022-03-05 11:08:31 +01:00
Silvano Seva 3588f351a1 Created 'core' subfolders inside openrtx/include and openrtx/src containing main OpenRTX source files 2022-03-05 10:39:35 +01:00