SubGhz: support for custom frequencies for SubGhz (#1108)
* SubGhz: add load setting * SubGhz: add support file upload with custom frequencies * SubGhz: add load region setting * SubGhz: fix syntax * SubGhz: fix furi_halt error * Desktop: hide dolphin controls in production build * Notification: fix crash on NotificationMessageTypeLedDisplayUnlock message Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -29,6 +29,7 @@ struct SubGhzFrequencyAnalyzerWorker {
|
||||
volatile bool worker_running;
|
||||
uint8_t count_repet;
|
||||
FrequencyRSSI frequency_rssi_buf;
|
||||
SubGhzSetting* setting;
|
||||
|
||||
float filVal;
|
||||
|
||||
@@ -77,10 +78,12 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
frequency_rssi.rssi = -127.0f;
|
||||
furi_hal_subghz_idle();
|
||||
furi_hal_subghz_load_registers(subghz_preset_ook_650khz);
|
||||
for(size_t i = 0; i < subghz_frequencies_count; i++) {
|
||||
if(furi_hal_subghz_is_frequency_valid(subghz_frequencies[i])) {
|
||||
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))) {
|
||||
furi_hal_subghz_idle();
|
||||
frequency = furi_hal_subghz_set_frequency(subghz_frequencies[i]);
|
||||
frequency = furi_hal_subghz_set_frequency(
|
||||
subghz_setting_get_frequency(instance->setting, i));
|
||||
furi_hal_subghz_rx();
|
||||
osDelay(3);
|
||||
rssi = furi_hal_subghz_get_rssi();
|
||||
@@ -150,6 +153,8 @@ SubGhzFrequencyAnalyzerWorker* subghz_frequency_analyzer_worker_alloc() {
|
||||
furi_thread_set_context(instance->thread, instance);
|
||||
furi_thread_set_callback(instance->thread, subghz_frequency_analyzer_worker_thread);
|
||||
|
||||
instance->setting = subghz_setting_alloc();
|
||||
subghz_setting_load(instance->setting, "/ext/subghz/assets/setting_frequency_analyzer_user");
|
||||
return instance;
|
||||
}
|
||||
|
||||
@@ -157,7 +162,7 @@ void subghz_frequency_analyzer_worker_free(SubGhzFrequencyAnalyzerWorker* instan
|
||||
furi_assert(instance);
|
||||
|
||||
furi_thread_free(instance->thread);
|
||||
|
||||
subghz_setting_free(instance->setting);
|
||||
free(instance);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user