diff --git a/applications/main/subghz/helpers/subghz_frequency_analyzer_worker.c b/applications/main/subghz/helpers/subghz_frequency_analyzer_worker.c index 6452792a6..f7b3ea669 100644 --- a/applications/main/subghz/helpers/subghz_frequency_analyzer_worker.c +++ b/applications/main/subghz/helpers/subghz_frequency_analyzer_worker.c @@ -117,16 +117,15 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) { // First stage: coarse scan for(size_t i = 0; i < subghz_setting_get_frequency_count(instance->setting); i++) { - if(furi_hal_subghz_is_frequency_valid( - subghz_setting_get_frequency(instance->setting, i)) && + uint32_t current_frequnecy = subghz_setting_get_frequency(instance->setting, i); + if(furi_hal_subghz_is_frequency_valid(current_frequnecy) && + (current_frequnecy != 467750000) && !((furi_hal_subghz.radio_type == SubGhzRadioExternal) && - (subghz_setting_get_frequency(instance->setting, i) >= 311900000 && - subghz_setting_get_frequency(instance->setting, i) <= 312200000))) { + (current_frequnecy >= 311900000 && current_frequnecy <= 312200000))) { furi_hal_spi_acquire(furi_hal_subghz.spi_bus_handle); cc1101_switch_to_idle(furi_hal_subghz.spi_bus_handle); - frequency = cc1101_set_frequency( - furi_hal_subghz.spi_bus_handle, - subghz_setting_get_frequency(instance->setting, i)); + frequency = + cc1101_set_frequency(furi_hal_subghz.spi_bus_handle, current_frequnecy); cc1101_calibrate(furi_hal_subghz.spi_bus_handle); do { diff --git a/applications/main/subghz/views/subghz_frequency_analyzer.c b/applications/main/subghz/views/subghz_frequency_analyzer.c index ce2e34297..3b8c37d73 100644 --- a/applications/main/subghz/views/subghz_frequency_analyzer.c +++ b/applications/main/subghz/views/subghz_frequency_analyzer.c @@ -21,13 +21,12 @@ #define MAX_HISTORY 4 static const uint32_t subghz_frequency_list[] = { - 300000000, 302757000, 303875000, 304250000, 307000000, 307500000, 307800000, - 309000000, 310000000, 312000000, 312100000, 313000000, 313850000, 314000000, - 314350000, 314980000, 315000000, 318000000, 330000000, 345000000, 348000000, - 350000000, 387000000, 390000000, 418000000, 433075000, 433220000, 433420000, - 433657070, 433889000, 433920000, 434075000, 434176948, 434390000, 434420000, - 434775000, 438900000, 440175000, 464000000, 467750000, 779000000, 868350000, - 868400000, 868800000, 868950000, 906400000, 915000000, 925000000, 928000000}; + 300000000, 302757000, 303875000, 304250000, 307000000, 307500000, 307800000, 309000000, + 310000000, 312000000, 312100000, 313000000, 313850000, 314000000, 314350000, 314980000, + 315000000, 318000000, 330000000, 345000000, 348000000, 350000000, 387000000, 390000000, + 418000000, 433075000, 433220000, 433420000, 433657070, 433889000, 433920000, 434075000, + 434176948, 434390000, 434420000, 434775000, 438900000, 440175000, 464000000, 779000000, + 868350000, 868400000, 868800000, 868950000, 906400000, 915000000, 925000000, 928000000}; typedef enum { SubGhzFrequencyAnalyzerStatusIDLE,