mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-12-24 23:09:26 -05:00
parent
37386c29cb
commit
2ae639412d
@ -859,19 +859,13 @@ void ReconView::on_statistics_update(const ChannelStatistics& statistics) {
|
|||||||
uint32_t local_recon_lock_duration = recon_lock_duration;
|
uint32_t local_recon_lock_duration = recon_lock_duration;
|
||||||
|
|
||||||
chrono_end = chTimeNow();
|
chrono_end = chTimeNow();
|
||||||
if (field_mode.selected_index_value() == SPEC_MODULATION) {
|
|
||||||
time_interval = chrono_end - chrono_start;
|
time_interval = chrono_end - chrono_start;
|
||||||
// capping here to avoid double check a frequency because time_interval is more than exactly 100 by a few units
|
|
||||||
// this is because we are making a measurement and not using a fixed value
|
|
||||||
if (time_interval > 100)
|
|
||||||
time_interval = 100;
|
|
||||||
if (field_lock_wait.value() == 0) {
|
if (field_lock_wait.value() == 0) {
|
||||||
if (time_interval <= 1) // capping here to avoid freeze because too quick
|
if (time_interval <= 1) // capping here to avoid freeze because too quick
|
||||||
local_recon_lock_duration = 2; // minimum working tested value
|
local_recon_lock_duration = 2; // minimum working tested value
|
||||||
else
|
else
|
||||||
local_recon_lock_duration = time_interval;
|
local_recon_lock_duration = time_interval;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
chrono_start = chrono_end;
|
chrono_start = chrono_end;
|
||||||
|
|
||||||
// hack to reload the list if it was cleared by going into CONFIG
|
// hack to reload the list if it was cleared by going into CONFIG
|
||||||
@ -907,7 +901,7 @@ void ReconView::on_statistics_update(const ChannelStatistics& statistics) {
|
|||||||
if (db > squelch) // MATCHING LEVEL
|
if (db > squelch) // MATCHING LEVEL
|
||||||
{
|
{
|
||||||
freq_lock++;
|
freq_lock++;
|
||||||
timer += time_interval; // give some more time for next lock
|
timer += local_recon_lock_duration; // give some more time for next lock
|
||||||
} else {
|
} else {
|
||||||
// continuous, direct cut it if not consecutive match after 1 first match
|
// continuous, direct cut it if not consecutive match after 1 first match
|
||||||
if (recon_match_mode == RECON_MATCH_CONTINUOUS) {
|
if (recon_match_mode == RECON_MATCH_CONTINUOUS) {
|
||||||
@ -961,7 +955,7 @@ void ReconView::on_statistics_update(const ChannelStatistics& statistics) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (timer != 0) {
|
if (timer != 0) {
|
||||||
timer -= time_interval;
|
timer -= local_recon_lock_duration;
|
||||||
if (timer < 0) {
|
if (timer < 0) {
|
||||||
timer = 0;
|
timer = 0;
|
||||||
}
|
}
|
||||||
@ -1234,10 +1228,10 @@ size_t ReconView::change_mode(freqman_index_t new_mod) {
|
|||||||
break;
|
break;
|
||||||
case SPEC_MODULATION:
|
case SPEC_MODULATION:
|
||||||
freqman_set_bandwidth_option(new_mod, field_bw);
|
freqman_set_bandwidth_option(new_mod, field_bw);
|
||||||
// bw 200k (0) default
|
// bw 12k5 (0) default
|
||||||
|
field_bw.set_by_value(0);
|
||||||
baseband::run_image(portapack::spi_flash::image_tag_capture);
|
baseband::run_image(portapack::spi_flash::image_tag_capture);
|
||||||
receiver_model.set_modulation(ReceiverModel::Mode::Capture);
|
receiver_model.set_modulation(ReceiverModel::Mode::Capture);
|
||||||
field_bw.set_by_value(0);
|
|
||||||
field_bw.on_change = [this](size_t, OptionsField::value_t sampling_rate) {
|
field_bw.on_change = [this](size_t, OptionsField::value_t sampling_rate) {
|
||||||
auto anti_alias_baseband_bandwidth_filter = filter_bandwidth_for_sampling_rate(sampling_rate);
|
auto anti_alias_baseband_bandwidth_filter = filter_bandwidth_for_sampling_rate(sampling_rate);
|
||||||
record_view->set_sampling_rate(sampling_rate);
|
record_view->set_sampling_rate(sampling_rate);
|
||||||
|
Loading…
Reference in New Issue
Block a user