mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-02-24 00:29:58 -05:00
Starting freq fixes when no App Settings, and support for App Settings in Scanner App (Mode/BW/Step only) (#1153)
* 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
This commit is contained in:
parent
6298388fe1
commit
a5c7eb2fbc
@ -69,6 +69,9 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) {
|
|||||||
&sym_ignore,
|
&sym_ignore,
|
||||||
&console});
|
&console});
|
||||||
|
|
||||||
|
if (!settings_.loaded())
|
||||||
|
receiver_model.set_target_frequency(initial_target_frequency);
|
||||||
|
|
||||||
receiver_model.set_modulation(ReceiverModel::Mode::NarrowbandFMAudio);
|
receiver_model.set_modulation(ReceiverModel::Mode::NarrowbandFMAudio);
|
||||||
receiver_model.enable();
|
receiver_model.enable();
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ class POCSAGAppView : public View {
|
|||||||
void focus() override;
|
void focus() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static constexpr uint32_t initial_target_frequency = 466175000;
|
||||||
bool logging() const { return check_log.value(); };
|
bool logging() const { return check_log.value(); };
|
||||||
bool ignore() const { return check_ignore.value(); };
|
bool ignore() const { return check_ignore.value(); };
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ TPMSAppView::TPMSAppView(NavigationView&) {
|
|||||||
&recent_entries_view});
|
&recent_entries_view});
|
||||||
|
|
||||||
if (!settings_.loaded())
|
if (!settings_.loaded())
|
||||||
receiver_model.set_sampling_rate(initial_target_frequency);
|
receiver_model.set_target_frequency(initial_target_frequency);
|
||||||
|
|
||||||
receiver_model.enable();
|
receiver_model.enable();
|
||||||
|
|
||||||
|
@ -299,10 +299,10 @@ ScannerView::ScannerView(
|
|||||||
freqman_set_modulation_option(field_mode);
|
freqman_set_modulation_option(field_mode);
|
||||||
freqman_set_step_option(field_step);
|
freqman_set_step_option(field_step);
|
||||||
|
|
||||||
// Default starting modulation (these may be overridden in SCANNER.TXT)
|
// Default starting modulation (from saved App Settings if enabled, and may be overridden in SCANNER.TXT)
|
||||||
change_mode(AM_MODULATION); // Default modulation
|
field_mode.set_by_value((OptionsField::value_t)receiver_model.modulation()); // Reflect the mode into the manual selector
|
||||||
field_mode.set_by_value(AM_MODULATION); // Reflect the mode into the manual selector
|
field_step.set_by_value(receiver_model.frequency_step()); // Default step interval (Hz)
|
||||||
field_step.set_by_value(9000); // Default step interval (Hz)
|
change_mode((freqman_index_t)field_mode.selected_index_value());
|
||||||
|
|
||||||
// FUTURE: perhaps additional settings should be stored in persistent memory vs using defaults
|
// FUTURE: perhaps additional settings should be stored in persistent memory vs using defaults
|
||||||
rf::Frequency stored_freq = receiver_model.target_frequency();
|
rf::Frequency stored_freq = receiver_model.target_frequency();
|
||||||
@ -457,7 +457,7 @@ ScannerView::ScannerView(
|
|||||||
|
|
||||||
// Step field was changed (Hz) -- only affects manual Search mode
|
// Step field was changed (Hz) -- only affects manual Search mode
|
||||||
field_step.on_change = [this](size_t, OptionsField::value_t v) {
|
field_step.on_change = [this](size_t, OptionsField::value_t v) {
|
||||||
(void)v; // prevent compiler Unused warning
|
receiver_model.set_frequency_step(v);
|
||||||
|
|
||||||
if (manual_search && scan_thread) {
|
if (manual_search && scan_thread) {
|
||||||
// Restart scan thread with new step value
|
// Restart scan thread with new step value
|
||||||
@ -758,24 +758,21 @@ void ScannerView::change_mode(freqman_index_t new_mod) { // Before this, do a s
|
|||||||
freqman_set_bandwidth_option(new_mod, field_bw);
|
freqman_set_bandwidth_option(new_mod, field_bw);
|
||||||
baseband::run_image(portapack::spi_flash::image_tag_am_audio);
|
baseband::run_image(portapack::spi_flash::image_tag_am_audio);
|
||||||
receiver_model.set_modulation(ReceiverModel::Mode::AMAudio);
|
receiver_model.set_modulation(ReceiverModel::Mode::AMAudio);
|
||||||
field_bw.set_by_value(0);
|
field_bw.set_by_value(receiver_model.am_configuration());
|
||||||
receiver_model.set_am_configuration(field_bw.selected_index_value());
|
|
||||||
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_am_configuration(n); };
|
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_am_configuration(n); };
|
||||||
break;
|
break;
|
||||||
case NFM_MODULATION: // bw 16k (2) default
|
case NFM_MODULATION:
|
||||||
freqman_set_bandwidth_option(new_mod, field_bw);
|
freqman_set_bandwidth_option(new_mod, field_bw);
|
||||||
baseband::run_image(portapack::spi_flash::image_tag_nfm_audio);
|
baseband::run_image(portapack::spi_flash::image_tag_nfm_audio);
|
||||||
receiver_model.set_modulation(ReceiverModel::Mode::NarrowbandFMAudio);
|
receiver_model.set_modulation(ReceiverModel::Mode::NarrowbandFMAudio);
|
||||||
field_bw.set_by_value(2);
|
field_bw.set_by_value(receiver_model.nbfm_configuration());
|
||||||
receiver_model.set_nbfm_configuration(field_bw.selected_index_value());
|
|
||||||
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_nbfm_configuration(n); };
|
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_nbfm_configuration(n); };
|
||||||
break;
|
break;
|
||||||
case WFM_MODULATION:
|
case WFM_MODULATION:
|
||||||
freqman_set_bandwidth_option(new_mod, field_bw);
|
freqman_set_bandwidth_option(new_mod, field_bw);
|
||||||
baseband::run_image(portapack::spi_flash::image_tag_wfm_audio);
|
baseband::run_image(portapack::spi_flash::image_tag_wfm_audio);
|
||||||
receiver_model.set_modulation(ReceiverModel::Mode::WidebandFMAudio);
|
receiver_model.set_modulation(ReceiverModel::Mode::WidebandFMAudio);
|
||||||
field_bw.set_by_value(0);
|
field_bw.set_by_value(receiver_model.wfm_configuration());
|
||||||
receiver_model.set_wfm_configuration(field_bw.selected_index_value());
|
|
||||||
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_wfm_configuration(n); };
|
field_bw.on_change = [this](size_t, OptionsField::value_t n) { receiver_model.set_wfm_configuration(n); };
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -95,6 +95,9 @@ class ScannerView : public View {
|
|||||||
// void set_parent_rect(const Rect new_parent_rect) override;
|
// void set_parent_rect(const Rect new_parent_rect) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
app_settings::SettingsManager settings_{
|
||||||
|
"scanner", app_settings::Mode::RX};
|
||||||
|
|
||||||
NavigationView& nav_;
|
NavigationView& nav_;
|
||||||
RxRadioState radio_state_{};
|
RxRadioState radio_state_{};
|
||||||
|
|
||||||
|
@ -65,6 +65,9 @@ SondeView::SondeView(NavigationView& nav) {
|
|||||||
&button_see_qr,
|
&button_see_qr,
|
||||||
&button_see_map});
|
&button_see_map});
|
||||||
|
|
||||||
|
if (!settings_.loaded())
|
||||||
|
receiver_model.set_target_frequency(initial_target_frequency);
|
||||||
|
|
||||||
field_frequency.set_value(receiver_model.target_frequency());
|
field_frequency.set_value(receiver_model.target_frequency());
|
||||||
field_frequency.set_step(500); // euquiq: was 10000, but we are using this for fine-tunning
|
field_frequency.set_step(500); // euquiq: was 10000, but we are using this for fine-tunning
|
||||||
field_frequency.on_change = [this](rf::Frequency f) {
|
field_frequency.on_change = [this](rf::Frequency f) {
|
||||||
|
@ -55,6 +55,8 @@ namespace ui {
|
|||||||
|
|
||||||
class SondeView : public View {
|
class SondeView : public View {
|
||||||
public:
|
public:
|
||||||
|
static constexpr uint32_t initial_target_frequency = 402700000;
|
||||||
|
|
||||||
SondeView(NavigationView& nav);
|
SondeView(NavigationView& nav);
|
||||||
~SondeView();
|
~SondeView();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user