mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2025-02-17 13:58:32 +00:00
Merge branch 'dev' into somfy_keytis
This commit is contained in:
commit
e07b96e04b
6 changed files with 48 additions and 69 deletions
|
@ -173,7 +173,6 @@ bool subghz_scene_receiver_on_event(void* context, SceneManagerEvent event) {
|
||||||
subghz_sleep(subghz);
|
subghz_sleep(subghz);
|
||||||
}
|
}
|
||||||
subghz->txrx->hopper_state = SubGhzHopperStateOFF;
|
subghz->txrx->hopper_state = SubGhzHopperStateOFF;
|
||||||
subghz_history_set_hopper_state(subghz->txrx->history, false);
|
|
||||||
subghz->txrx->idx_menu_chosen = 0;
|
subghz->txrx->idx_menu_chosen = 0;
|
||||||
subghz_receiver_set_rx_callback(subghz->txrx->receiver, NULL, subghz);
|
subghz_receiver_set_rx_callback(subghz->txrx->receiver, NULL, subghz);
|
||||||
|
|
||||||
|
|
|
@ -231,64 +231,64 @@ static void subghz_scene_receiver_config_set_detect_raw(VariableItem* item) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
|
|
||||||
//if(subghz->txrx->hopper_state == 0) {
|
if(subghz->txrx->hopper_state == 0) {
|
||||||
variable_item_set_current_value_text(item, detect_raw_text[index]);
|
variable_item_set_current_value_text(item, detect_raw_text[index]);
|
||||||
#ifdef SUBGHZ_SAVE_DETECT_RAW_SETTING
|
#ifdef SUBGHZ_SAVE_DETECT_RAW_SETTING
|
||||||
subghz->last_settings->detect_raw = index;
|
subghz->last_settings->detect_raw = index;
|
||||||
|
|
||||||
subghz_last_settings_set_detect_raw_values(subghz);
|
subghz_last_settings_set_detect_raw_values(subghz);
|
||||||
#else
|
#else
|
||||||
subghz_receiver_set_filter(subghz->txrx->receiver, detect_raw_value[index]);
|
subghz_receiver_set_filter(subghz->txrx->receiver, detect_raw_value[index]);
|
||||||
|
|
||||||
subghz_protocol_decoder_raw_set_auto_mode(
|
subghz_protocol_decoder_raw_set_auto_mode(
|
||||||
subghz_receiver_search_decoder_base_by_name(
|
subghz_receiver_search_decoder_base_by_name(
|
||||||
subghz->txrx->receiver, SUBGHZ_PROTOCOL_RAW_NAME),
|
subghz->txrx->receiver, SUBGHZ_PROTOCOL_RAW_NAME),
|
||||||
(index == 1));
|
(index == 1));
|
||||||
#endif
|
#endif
|
||||||
/*} else {
|
} else {
|
||||||
variable_item_set_current_value_index(item, 0);
|
variable_item_set_current_value_index(item, 0);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void subghz_scene_receiver_config_set_hopping_running(VariableItem* item) {
|
static void subghz_scene_receiver_config_set_hopping_running(VariableItem* item) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
|
|
||||||
//if(subghz_receiver_get_filter(subghz->txrx->receiver) == SubGhzProtocolFlag_Decodable) {
|
if(subghz_receiver_get_filter(subghz->txrx->receiver) == SubGhzProtocolFlag_Decodable) {
|
||||||
variable_item_set_current_value_text(item, hopping_text[index]);
|
variable_item_set_current_value_text(item, hopping_text[index]);
|
||||||
if(hopping_value[index] == SubGhzHopperStateOFF) {
|
if(hopping_value[index] == SubGhzHopperStateOFF) {
|
||||||
char text_buf[10] = {0};
|
char text_buf[10] = {0};
|
||||||
snprintf(
|
snprintf(
|
||||||
text_buf,
|
text_buf,
|
||||||
sizeof(text_buf),
|
sizeof(text_buf),
|
||||||
"%lu.%02lu",
|
"%lu.%02lu",
|
||||||
subghz_setting_get_default_frequency(subghz->setting) / 1000000,
|
subghz_setting_get_default_frequency(subghz->setting) / 1000000,
|
||||||
(subghz_setting_get_default_frequency(subghz->setting) % 1000000) / 10000);
|
(subghz_setting_get_default_frequency(subghz->setting) % 1000000) / 10000);
|
||||||
variable_item_set_current_value_text(
|
variable_item_set_current_value_text(
|
||||||
(VariableItem*)scene_manager_get_scene_state(
|
(VariableItem*)scene_manager_get_scene_state(
|
||||||
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
||||||
text_buf);
|
text_buf);
|
||||||
subghz->txrx->preset->frequency = subghz_setting_get_default_frequency(subghz->setting);
|
subghz->txrx->preset->frequency =
|
||||||
variable_item_set_current_value_index(
|
subghz_setting_get_default_frequency(subghz->setting);
|
||||||
(VariableItem*)scene_manager_get_scene_state(
|
variable_item_set_current_value_index(
|
||||||
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
(VariableItem*)scene_manager_get_scene_state(
|
||||||
subghz_setting_get_frequency_default_index(subghz->setting));
|
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
||||||
} else {
|
subghz_setting_get_frequency_default_index(subghz->setting));
|
||||||
variable_item_set_current_value_text(
|
} else {
|
||||||
(VariableItem*)scene_manager_get_scene_state(
|
variable_item_set_current_value_text(
|
||||||
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
(VariableItem*)scene_manager_get_scene_state(
|
||||||
" -----");
|
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
||||||
variable_item_set_current_value_index(
|
" -----");
|
||||||
(VariableItem*)scene_manager_get_scene_state(
|
variable_item_set_current_value_index(
|
||||||
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
(VariableItem*)scene_manager_get_scene_state(
|
||||||
subghz_setting_get_frequency_default_index(subghz->setting));
|
subghz->scene_manager, SubGhzSceneReceiverConfig),
|
||||||
}
|
subghz_setting_get_frequency_default_index(subghz->setting));
|
||||||
|
}
|
||||||
|
|
||||||
subghz->txrx->hopper_state = hopping_value[index];
|
subghz->txrx->hopper_state = hopping_value[index];
|
||||||
subghz_history_set_hopper_state(subghz->txrx->history, (index == 1));
|
} else {
|
||||||
/*} else {
|
|
||||||
variable_item_set_current_value_index(item, 0);
|
variable_item_set_current_value_index(item, 0);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void subghz_scene_receiver_config_set_speaker(VariableItem* item) {
|
static void subghz_scene_receiver_config_set_speaker(VariableItem* item) {
|
||||||
|
|
|
@ -46,7 +46,6 @@ struct SubGhzHistory {
|
||||||
uint8_t code_last_hash_data;
|
uint8_t code_last_hash_data;
|
||||||
FuriString* tmp_string;
|
FuriString* tmp_string;
|
||||||
bool write_tmp_files;
|
bool write_tmp_files;
|
||||||
bool is_hopper_running;
|
|
||||||
Storage* storage;
|
Storage* storage;
|
||||||
SubGhzHistoryStruct* history;
|
SubGhzHistoryStruct* history;
|
||||||
};
|
};
|
||||||
|
@ -140,8 +139,6 @@ SubGhzHistory* subghz_history_alloc(void) {
|
||||||
instance->storage = furi_record_open(RECORD_STORAGE);
|
instance->storage = furi_record_open(RECORD_STORAGE);
|
||||||
instance->write_tmp_files = subghz_history_check_sdcard(instance);
|
instance->write_tmp_files = subghz_history_check_sdcard(instance);
|
||||||
|
|
||||||
instance->is_hopper_running = false;
|
|
||||||
|
|
||||||
if(!instance->write_tmp_files) {
|
if(!instance->write_tmp_files) {
|
||||||
FURI_LOG_E(TAG, "Unstable work! Cannot use SD Card!");
|
FURI_LOG_E(TAG, "Unstable work! Cannot use SD Card!");
|
||||||
}
|
}
|
||||||
|
@ -217,12 +214,6 @@ void subghz_history_reset(SubGhzHistory* instance) {
|
||||||
instance->code_last_hash_data = 0;
|
instance->code_last_hash_data = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void subghz_history_set_hopper_state(SubGhzHistory* instance, bool hopper_state) {
|
|
||||||
furi_assert(instance);
|
|
||||||
|
|
||||||
instance->is_hopper_running = hopper_state;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t subghz_history_get_item(SubGhzHistory* instance) {
|
uint16_t subghz_history_get_item(SubGhzHistory* instance) {
|
||||||
furi_assert(instance);
|
furi_assert(instance);
|
||||||
return instance->last_index_write;
|
return instance->last_index_write;
|
||||||
|
@ -372,10 +363,6 @@ bool subghz_history_add_to_history(
|
||||||
item->protocol_name, "%s", furi_string_get_cstr(instance->tmp_string));
|
item->protocol_name, "%s", furi_string_get_cstr(instance->tmp_string));
|
||||||
}
|
}
|
||||||
if(!strcmp(furi_string_get_cstr(instance->tmp_string), "RAW")) {
|
if(!strcmp(furi_string_get_cstr(instance->tmp_string), "RAW")) {
|
||||||
// Check if hopper enabled we need to add little delay
|
|
||||||
if(instance->is_hopper_running) {
|
|
||||||
furi_delay_ms(40);
|
|
||||||
}
|
|
||||||
// Enable writing temp files to micro sd
|
// Enable writing temp files to micro sd
|
||||||
tmp_file_for_raw = true;
|
tmp_file_for_raw = true;
|
||||||
// Write display name
|
// Write display name
|
||||||
|
|
|
@ -110,10 +110,3 @@ bool subghz_history_add_to_history(
|
||||||
* @return SubGhzProtocolCommonLoad*
|
* @return SubGhzProtocolCommonLoad*
|
||||||
*/
|
*/
|
||||||
FlipperFormat* subghz_history_get_raw_data(SubGhzHistory* instance, uint16_t idx);
|
FlipperFormat* subghz_history_get_raw_data(SubGhzHistory* instance, uint16_t idx);
|
||||||
|
|
||||||
/** Set hopper state for internal usage in history
|
|
||||||
*
|
|
||||||
* @param instance - SubGhzHistory instance
|
|
||||||
* @param hopper_state - bool is hopper running?
|
|
||||||
*/
|
|
||||||
void subghz_history_set_hopper_state(SubGhzHistory* instance, bool hopper_state);
|
|
||||||
|
|
|
@ -88,10 +88,10 @@ Your frequencies will be added after default ones
|
||||||
|
|
||||||
### Default hopper list
|
### Default hopper list
|
||||||
```
|
```
|
||||||
310000000,
|
|
||||||
315000000,
|
315000000,
|
||||||
318000000,
|
330000000,
|
||||||
390000000,
|
390000000,
|
||||||
|
433420000,
|
||||||
433920000,
|
433920000,
|
||||||
868350000,
|
868350000,
|
||||||
```
|
```
|
|
@ -76,10 +76,10 @@ static const uint32_t subghz_frequency_list[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint32_t subghz_hopper_frequency_list[] = {
|
static const uint32_t subghz_hopper_frequency_list[] = {
|
||||||
310000000,
|
|
||||||
315000000,
|
315000000,
|
||||||
318000000,
|
330000000,
|
||||||
390000000,
|
390000000,
|
||||||
|
433420000,
|
||||||
433920000,
|
433920000,
|
||||||
868350000,
|
868350000,
|
||||||
0,
|
0,
|
||||||
|
|
Loading…
Add table
Reference in a new issue