* 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>
* fixing overflow by one in ../firmware/baseband/dsp_goertzel.cpp by expanding the original array size
* fix underflow by -1 if seq is not stopping the loop
* 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.