[FL-2427] SubGhz: fix Sub-Ghz RAW not working in Japan region (#1099)
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
		
							parent
							
								
									d635890342
								
							
						
					
					
						commit
						435205de33
					
				| @ -197,6 +197,22 @@ void subghz_tx_stop(SubGhz* subghz) { | |||||||
|     notification_message(subghz->notifications, &sequence_reset_red); |     notification_message(subghz->notifications, &sequence_reset_red); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void subghz_dialog_message_show_only_rx(SubGhz* subghz) { | ||||||
|  |     DialogsApp* dialogs = subghz->dialogs; | ||||||
|  |     DialogMessage* message = dialog_message_alloc(); | ||||||
|  |     dialog_message_set_text( | ||||||
|  |         message, | ||||||
|  |         "This frequency can\nonly be used for RX\nin your region", | ||||||
|  |         38, | ||||||
|  |         23, | ||||||
|  |         AlignCenter, | ||||||
|  |         AlignCenter); | ||||||
|  |     dialog_message_set_icon(message, &I_DolphinFirstStart7_61x51, 67, 12); | ||||||
|  |     dialog_message_set_buttons(message, "Back", NULL, NULL); | ||||||
|  |     dialog_message_show(dialogs, message); | ||||||
|  |     dialog_message_free(message); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| bool subghz_key_load(SubGhz* subghz, const char* file_path) { | bool subghz_key_load(SubGhz* subghz, const char* file_path) { | ||||||
|     furi_assert(subghz); |     furi_assert(subghz); | ||||||
|     furi_assert(file_path); |     furi_assert(file_path); | ||||||
| @ -205,6 +221,7 @@ bool subghz_key_load(SubGhz* subghz, const char* file_path) { | |||||||
|     FlipperFormat* fff_data_file = flipper_format_file_alloc(storage); |     FlipperFormat* fff_data_file = flipper_format_file_alloc(storage); | ||||||
|     Stream* fff_data_stream = flipper_format_get_raw_stream(subghz->txrx->fff_data); |     Stream* fff_data_stream = flipper_format_get_raw_stream(subghz->txrx->fff_data); | ||||||
| 
 | 
 | ||||||
|  |     uint8_t err = 1; | ||||||
|     bool loaded = false; |     bool loaded = false; | ||||||
|     string_t temp_str; |     string_t temp_str; | ||||||
|     string_init(temp_str); |     string_init(temp_str); | ||||||
| @ -239,6 +256,12 @@ bool subghz_key_load(SubGhz* subghz, const char* file_path) { | |||||||
|             FURI_LOG_E(TAG, "Frequency not supported"); |             FURI_LOG_E(TAG, "Frequency not supported"); | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         if(!furi_hal_subghz_is_tx_allowed(temp_data32)) { | ||||||
|  |             FURI_LOG_E(TAG, "This frequency can only be used for RX in your region"); | ||||||
|  |             err = 2; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|         subghz->txrx->frequency = temp_data32; |         subghz->txrx->frequency = temp_data32; | ||||||
| 
 | 
 | ||||||
|         if(!flipper_format_read_string(fff_data_file, "Preset", temp_str)) { |         if(!flipper_format_read_string(fff_data_file, "Preset", temp_str)) { | ||||||
| @ -281,7 +304,19 @@ bool subghz_key_load(SubGhz* subghz, const char* file_path) { | |||||||
|     } while(0); |     } while(0); | ||||||
| 
 | 
 | ||||||
|     if(!loaded) { |     if(!loaded) { | ||||||
|         dialog_message_show_storage_error(subghz->dialogs, "Cannot parse\nfile"); |         switch(err) { | ||||||
|  |         case 1: | ||||||
|  |             dialog_message_show_storage_error(subghz->dialogs, "Cannot parse\nfile"); | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case 2: | ||||||
|  |             subghz_dialog_message_show_only_rx(subghz); | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         default: | ||||||
|  |             furi_crash(NULL); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     string_clear(temp_str); |     string_clear(temp_str); | ||||||
|  | |||||||
| @ -155,6 +155,7 @@ void subghz_rx_end(SubGhz* subghz); | |||||||
| void subghz_sleep(SubGhz* subghz); | void subghz_sleep(SubGhz* subghz); | ||||||
| bool subghz_tx_start(SubGhz* subghz, FlipperFormat* flipper_format); | bool subghz_tx_start(SubGhz* subghz, FlipperFormat* flipper_format); | ||||||
| void subghz_tx_stop(SubGhz* subghz); | void subghz_tx_stop(SubGhz* subghz); | ||||||
|  | void subghz_dialog_message_show_only_rx(SubGhz* subghz); | ||||||
| bool subghz_key_load(SubGhz* subghz, const char* file_path); | bool subghz_key_load(SubGhz* subghz, const char* file_path); | ||||||
| bool subghz_get_next_name_file(SubGhz* subghz, uint8_t max_len); | bool subghz_get_next_name_file(SubGhz* subghz, uint8_t max_len); | ||||||
| bool subghz_save_protocol_to_file( | bool subghz_save_protocol_to_file( | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Skorpionm
						Skorpionm