* Alpha order sub-menus
* WIP Getting Remote types outlined
* WIP building UI
* WIP adding RemoteButton control
* WIP Fix build
* WIP Basic editing support
* Border on the active button
* Make TxView2 sane
* Add easier RGB color creation from uint32
* Center some button icons
* WIP Remote - main UI
* WIP main UI mostly working, can send
* Add 'join' utility
* WIP save/load
* Pre-alloc buttons to prevent focus dangling
* Alpha order settings/debug pages
* Add UI for picking capture and set frequency
* WIP Getting really close now
* Fix path for init name
* Some fit & finish
* Force console scroll area to be multiple of line height. Tons of comments.
* Resize POCSAG console to fill height.
* Make scoll behavior comment clearer
* WIP Refactoring
* WordExtractor building
* Fix buffer sizes and squelch execute
* Move impls to cpp file
* Baud indicator
* WIP new bit extractor
* New approach for bit extraction.
* Code fit and finish
* Fix case on button
* Cleanup
* Adjust rate miss threshold
* Fix count bits error calculation.
* Support for displaying stack on screen after a fault
* Update debug.cpp
* Highlight possible addresses on stack & support Up key
* Add small background white style
* Add small background white style
* Update debug.cpp
* Highlight fault PC in yellow
* Add bg_yellow_small style
* Add bg_yellow_small style
* Clang - trailing space
* Advanced draft decim /4 just waterfall ok
* apply some Kall's corrections + formatting
* Tidy up both decim_factors
* New refine optimizations
* Format issues
* more format issues ...mmmm
* comments update
* WIP Cleanup
* WIP
* WIP - add variant
* Use std::visit to dispatch MultiDecimator -- fluent API
* Clean up comments
* Merge next and fix compilation
* Fix odd loop in BlockDecimator
* Clean up spectrum math
* Descibe spectrum update math better, more clear math.
* Apply spectrum interval correction at 1.5M
* Increase replay buffer to handle x4 ovs
---------
Co-authored-by: Brumi-2021 <ea3hqj@gmail.com>
* Reset color for well-formed message fragments
* better colors
* Fix POGSAG decode state machine
* Invert is_message to make more clear
* Use new escape string constants
* Run ECC twice, better diagnostics
* center status icon
---------
Co-authored-by: kallanreed <kallanreed@noreply.github.com>
* Color strings
* Color strings
* Color strings
* Color strings
* Color strings
* Color strings & fix first group scrolling off screen
* Color strings
* Color strings
* Clang
* Clang
* Clang attempt #3
* Update ui_painter.cpp
* Update ui_widget.cpp
* Clang test
* Clang
* Clang test
* Update ui_about_simple.cpp
* Update lge_app.cpp
* Set bandwidth_filter in pogsac
* WIP pocsag UI revamp
* Settings UI, better console, UI Revamp
* Add baud rate to error messages
* Reset last_addr in error cases
* Show malformed messages as different color vs hiding
* Use light grey to indicate low quality decode
---------
Co-authored-by: kallanreed <kallanreed@noreply.github.com>
* Use new settings in recon
* Trim on string value read, remove dupe entry
* Check update_range flag when setting values
* Add a few saved settings to scanner
* Add copywrite note
* Fixed behavior of auto update m-ranges, added min and max to sd load and save if option not used
* changing xor swap by std::swap
* Fixed consecutive green color
* Non-empty directory check
* Non-empty directory check
* Display error when attempting to delete non-empty directory
* Clang
Delete white-space that the friggin editor added
* is_empty_directory
* is_empty_directory
* is_empty_directory
* Now need to check if it's a directory first
* Default frequency
* Default frequency
* Use sample rate from .ini file if present
* Eliminate unneeded sampling_rate variable
* Eliminate unneeded sampling_rate variable
* Attempt to fix Capture startup hang
* Pump baseband_queue on M4 startup
* Synchronization experiment
* Moved SpectrumCapture member, better hang detection for M0
* Prevent execute from working on members until class has been initialized.
* Formatting
* Remove workaround.
* Rebase on next
* C8 conversion
* C8 conversion
* C8 support
* C8 support
* C8 support
* C8 support
* Don't auto-convert GPS C8 files
* C8 support
* C8 support
* C8 support
* Remove hang workaround (different PR)
* Comment change
* Clang
* Clang
* Clang
* Merged change from PR #1287
* C8 support
* C8 support
* Improve bandwidth display
* Merged minor optimization from PR 1289
* Merge change from PR 1289
* Use complex types for C8/C16 conversion
* C8 support
* C8 support
* C8 support
* C8 support
* Roll back changes
* Roll back C8 changes
* C8 support
* C8 support
* C8 support
* C8 support
* C8 support
* Don't transmit samples past EOF
* Don't transmit samples past EOF
* Clang
* Clang attempt
* Clang attempt
* C8 support
* Clang
* No need to scale progress now that widget is fixed
* Use memcpy vs byte copy, elim progress scaling, correct comments
* Minor optimization in C16->C8 conversion
* Only copy bytes actually read from file
* WIP new edit UI
* Fix textfield highlight
* WIP new edit
* Wrap up first pass of freqman edit
* Fix indexing of options
---------
Co-authored-by: kallanreed <kallanreed@noreply.github.com>
* Added to_string_rounded_freq function
* Added to_string_rounded_freq function
* Clang
* Clang try #2
* Use constexpr for pow10 array
* Additional string_format test cases
* Specify std=c++17 for g++ versions that default to an older standard
* Corrected string_format test cases
* Support showing invalid entries in Freqman and allow minor edits
* Use light_grey instead of grey
* Fix comment
* Fix null in description bug
* Fix spacing in delete entry dialog
* trim in delete modal
* FreqmanDB direct file
* Clear UI for short lists
* Final touches on freqlist UI.
* Support vertical alignment in NewButton
* New buttons in FreqMan
* Wiring up UI to filewrapper actions
* Work around empty file
* WIP freqman changes/memory perf/stash
* Split ui tone_key function out for testing.
* Add more tests and fix bugs.
* Use default max_entries in recond
* Set limit back to 90 for now
* Added fonts viewer (debug) app
* Added fonts viewer (debug) app
* Clang
* Use degree symbol vs asterisk for latitude/longitude degrees
* Save a few bytes by not overriding on_key
* Save a few bytes by not overriding on_key
* Clang
* Use filesystem::path type vs string for BMP file name
* Use filesystem::path type vs string for BMP files
* Use a global const file path string for "/splash.bmp"
* Support for viewing BMP files and setting as Splash screen
* Support for viewing BMP files and setting as Splash screen
* Support for viewing BMP files and setting as Splash screen
* Update ui_ss_viewer.cpp
* Update ui_ss_viewer.hpp
* WIP RadioState init
* TX/RX cleanup
* Update all apps using RadioState and setting modulation mode
* Set apps to use AM mode
* Don't push modulation update in RadioState.
* Support passing overrides to Audio and MicTX
* Support set_nearest on OptionsField, fix recon step
* Fix audio, typo
---------
Co-authored-by: kallanreed <kylereed@manzana.lan>
Co-authored-by: kallanreed <kallanreed@noreply.github.com>
* Generate CTCSS messages at fixed rate regardless of tone freq
* Generate CTCSS messages at fixed rate regardless of tone freq
* Function for generating CTCSS description strings
* Function for generating CTCSS description strings
* Increase width of CTCSS text to include tone freq
* Increase width of CTCSS text field to include frequency
* Use CTCSS tone freq when saving HAM freqs to freq file
* Use function in tone_key.cpp for displaying CTCSS string
* Use function in tone_key.cpp for CTCSS descr strings
* Use function in tone_key.cpp for CTCSS descr strings
* Clang test
* Clang
* Clang
* Support for reading CTCSS tones from FreqMan file
* Clang
* Clean up and eliminate floating point
* Clean up and eliminate floating point
* Corrected CTCSS field length
* Corrected CTCSS field length
* Clang
* Added fn to indicate support for disabling speaker
* Support both mute & speaker disable icons
* Byte grouping for ui_config2_t bitmap
* Fix disabling AK speaker to take effect immediately
* Orange icons vs yellow
* Update app icon colors per current development states
* Darken bright icons on white backgrounds
* Darken bright icons on white backgrounds
* Recon: disabling config while recording
* Capture and Spectre Painter: using freqman set bandwidth option instead of static define
* Recon: light_grey for disable so we can still see the text
* added auto record checbox and functions (audio and raw)
* Changed baseband compile option from -O3 to -O2. Trying lower gave unexpeted and crashing results.
* added 650k SPEC bw
* fix hang if wait is -100
* fixing no SPEC support in scanner
* using emplace_back instead of push_back is giving better results in regards of the memory management and crashes
* we tried with all our best ideas, we don't know why it's better but it outperformed every other allocations method tested
* Cleanings and setting the limit to a working for all apps one
* fixing a guru memory errors, renaming a leftover variable
* removed unneeded set_dirty
* Don't disable DAC when other audio output is using it
* Persistent audio mute revisions
* Moved persistent audio mute code to audio.cpp
* Make "Disable AK speaker amp" take effect immediately
* Set rf direction in RadioState
* centralize cpld load for TX->RX
* Remove calls to load_sram from all apps
* re-add CPLD hack, don't set radio values directly.
---------
Co-authored-by: kallanreed <kallanreed@noreply.github.com>
* fixxing bandwidth application, moved 'continuous' from config page to main page in form of a 'loop' button. Removed looking glass button as it's not configurable to position on a range/signal
* Fix initial freq when no App Settings tpms
* Default POCSAG freq when no App Settings
* Enable Scanner App Settings for Modulation/BW/Step
* Default SONDE freq when no App Settings
* add a little Stash utility.
* add radio state RAII helper.
* first part of radio_state changes
* add radio_state_ to rest of apps
* fix freq_step and format
* fix unused ui_sigfrx: corrected sample rate, added back freq setting
* Allow apps to not use persisted freq.
* use rx_freq for RX mode
* remove direct call to persistant_memory in tx_model
* app_setting defaults, and tx_view to use ctor value
* fixing recon/scanner restarting while on pause and setting a manual start or end
* gui revamping, duplicated options suppressed from config menu
* recon_match_mode set at start
* finely tuned spectrum and marker precision, all modes
* hidding buttons when mode is not supported
* removing on show hide since widget implementation is buggy. Fine tuned values using signal generator to get around the corners
---------
Co-authored-by: GullCode <gullradriel@hotmail.com>
* GCC12 related fixes but still compiles on GCC9
* Suppress warnings about volatile +=
* Enable c++20 if supported by the compiler
On gcc12 we need to use -std=c++20 since constexpr .c_str() on std::string is only officially available since c++20 and the new gcc wouldnt let us use it with older standard
* code format
---------
Co-authored-by: Eisenberger Tamas <e.tamas@iwstudio.hu>
* fix pmem -> make backup_ram_t data members volatile
plus add calculated crc to the pmem debug screen
* rename pmem debug menu to p.mem
As this is how its refered to in the wiki and other screens
* p.mem looked strange with capital P
---------
Co-authored-by: Eisenberger Tamas <e.tamas@iwstudio.hu>
* reset config when holding down select durring boot
it still need to be tripple checked if adc or control init really doesnt use any pmem
* one less magic number :)
* dual key action left+right for pmem reset
---------
Co-authored-by: Eisenberger Tamas <e.tamas@iwstudio.hu>
* Consolidate styles into a Styles class and clean up code
* Format
* Add style_bg_dark_grey for nav bar
* Fix bugs found in PR
* Rename styles
* Add bg_white style
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
Co-authored-by: gullradriel <3157857+gullradriel@users.noreply.github.com>
* Put WFM bandwidth options in ascending order
* Put WFM bandwidth options in ascending order
* Put WFM bandwidth options in ascending order
* Put WFM bandwidth options in ascending order
* Put WFM bandwidth options in ascending order
* Clang formatting attempt
* OptionsField wrapping - for your consideration
Perhaps if OptionsWidget supported wrapping, then it would be easier to dial through all available options without having to know which direction to turn the dial.
* moved pmem setting restore before top bar is loaded
* added a check pmem from sdcard function, replaced occurences, added a save to file on back button
* Added defines for flag file and dump file, changed test func name to should_use_sdcard_for_pmem, used file_exists, removed save and load pmem parameter
* changed a text to a more comprehesible one
* WIP expensive way
* Add default file handling to fileman
* Remove screenshot_reader and tests
* Read data in chunks
* Format
* Fix error text position
* PR feedback
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* changed a hardcoded value by a define, changed the order for the database clean so it happens first, changed load_freqman_file_ex so it can take a max num of freqs as a parameter with a default to FREQMAN_MAX_PER_FILE
* added a swap and a set_db to clear as much as possible before the loading of a category
* added a define for Recon max per files
* remove unneeded comment
* WIP file editing
* WIP file editing
* Add "on_pop" handler to navigation.
* WIP Editing
* WIP for draft
* Fix mock and unit tests, support +newline at end.
* Clean up Painter API and use string_view
* Fix optional rvalue functions
* Fix Result 'take' to be more standard
* FileWrapper stack buffer reads
* Grasping at straws
* Nit
* Move set_on_pop impl to cpp
* Workaround "Open" when file not dirty.
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* simplifications, better precision, less sleeps
* fixing glitches
* fixed res freeze
* correct frequency picking for marker, yay !
* added comments into the code in hard parts
* took out unneeded sleep
Special thanks to users vmakeev, tel, f1ghy, u-foka for their resilience in testing the bunch of bins I've produced to fix the thing :-)
* WIP Move file_wrapper and make testable.
* More tests, get text_editor compiling
* Back to working
* Run formatter
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* Support for 3 levels of rotary encoder sensitivity #965
Backend support; UI will still need to call set function to configure.
* Support for 3 levels of rotary encoder sensitivity #965
Backend support only. UI will still need to be changed to call the set_sensitivity() function to configure.
* Removed trailing space
* Deleted blank lines to see if format checker will be happier
* Simpler support for multiple levels of encoder sensitivity, for issue #965
Removed the convoluted code :-) and instead just using a 2-dimensional array to choose which transition map to use. For now I only have 2 (vs 3) levels enabled as well, to save code space and because high-sensitivity is very touchy.
* Simpler version of configurable encoder sensitivity, issue #965
* Formatting
* Formatting test for Clang
* Formatting test
* Formatting (removed helpful comment)
* Formatting test (remove commented-out code)
* Formatting & swapping medium/low so default mode=0
* Swapped medium/low so default mode=0
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Adding UI & PMEM support to make encoder dial sensitivity configurable, issue #965
* Removed unneeded range check (trusting in pmem checksum)
* reducing memory imprint before launching a nav
* added remove from loaded list in Recon / delete from output file in Scanner functionality
* fix initial color for filename