diff --git a/firmware/application/apps/ui_settings.cpp b/firmware/application/apps/ui_settings.cpp index 06fdd12ea..e157cf87a 100644 --- a/firmware/application/apps/ui_settings.cpp +++ b/firmware/application/apps/ui_settings.cpp @@ -398,8 +398,8 @@ SetFrequencyCorrectionView::SetFrequencyCorrectionView(NavigationView& nav) { button_freq_rx_correction.on_select = [this, &nav](Button& button) { auto new_view = nav.push(portapack::persistent_memory::config_converter_freq()); new_view->on_changed = [this, &button](rf::Frequency f) { - if (f > 4000000) - f = 4000000; + if (f >= MAX_FREQ_CORRECTION) + f = MAX_FREQ_CORRECTION; portapack::persistent_memory::set_config_freq_rx_correction(f); // Retune to take converter change in account receiver_model.set_tuning_frequency(portapack::persistent_memory::tuned_frequency()); @@ -411,8 +411,8 @@ SetFrequencyCorrectionView::SetFrequencyCorrectionView(NavigationView& nav) { button_freq_tx_correction.on_select = [this, &nav](Button& button) { auto new_view = nav.push(portapack::persistent_memory::config_converter_freq()); new_view->on_changed = [this, &button](rf::Frequency f) { - if (f > 4000000) - f = 4000000; + if (f >= MAX_FREQ_CORRECTION) + f = MAX_FREQ_CORRECTION; portapack::persistent_memory::set_config_freq_tx_correction(f); // Retune to take converter change in account receiver_model.set_tuning_frequency(portapack::persistent_memory::tuned_frequency()); diff --git a/firmware/application/apps/ui_settings.hpp b/firmware/application/apps/ui_settings.hpp index 730b0cac0..20b1de055 100644 --- a/firmware/application/apps/ui_settings.hpp +++ b/firmware/application/apps/ui_settings.hpp @@ -33,6 +33,8 @@ namespace ui { +#define MAX_FREQ_CORRECTION 4294967295 // maximum possible for an uint32_t + struct SetDateTimeModel { uint16_t year; uint8_t month; diff --git a/firmware/common/portapack_persistent_memory.cpp b/firmware/common/portapack_persistent_memory.cpp index 33722cbdc..a7cfd9f3e 100644 --- a/firmware/common/portapack_persistent_memory.cpp +++ b/firmware/common/portapack_persistent_memory.cpp @@ -297,9 +297,9 @@ struct data_t { int64_t converter_frequency_offset; // frequency correction - int16_t frequency_rx_correction; + uint32_t frequency_rx_correction; bool updown_frequency_rx_correction; - int16_t frequency_tx_correction; + uint32_t frequency_tx_correction; bool updown_frequency_tx_correction; constexpr data_t() @@ -795,16 +795,16 @@ bool config_freq_rx_correction_updown() { void set_freq_rx_correction_updown(bool v) { data->updown_frequency_rx_correction = v; } -int16_t config_freq_tx_correction() { +uint32_t config_freq_tx_correction() { return data->frequency_tx_correction; } -int16_t config_freq_rx_correction() { +uint32_t config_freq_rx_correction() { return data->frequency_rx_correction; } -void set_config_freq_tx_correction(uint16_t v) { +void set_config_freq_tx_correction(uint32_t v) { data->frequency_tx_correction = v; } -void set_config_freq_rx_correction(uint16_t v) { +void set_config_freq_rx_correction(uint32_t v) { data->frequency_rx_correction = v; } diff --git a/firmware/common/portapack_persistent_memory.hpp b/firmware/common/portapack_persistent_memory.hpp index 3cb1a2651..c16181db8 100644 --- a/firmware/common/portapack_persistent_memory.hpp +++ b/firmware/common/portapack_persistent_memory.hpp @@ -189,10 +189,10 @@ bool config_freq_tx_correction_updown(); void set_freq_tx_correction_updown(bool v); bool config_freq_rx_correction_updown(); void set_freq_rx_correction_updown(bool v); -int16_t config_freq_tx_correction(); -int16_t config_freq_rx_correction(); -void set_config_freq_tx_correction(uint16_t v); -void set_config_freq_rx_correction(uint16_t v); +uint32_t config_freq_tx_correction(); +uint32_t config_freq_rx_correction(); +void set_config_freq_tx_correction(uint32_t v); +void set_config_freq_rx_correction(uint32_t v); void set_clock_hidden(bool v); void set_clock_with_date(bool v); void set_config_login(bool v);