diff --git a/applications/main/subghz/scenes/subghz_scene_receiver_config.c b/applications/main/subghz/scenes/subghz_scene_receiver_config.c index ac9434cc0..af4c6aca3 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver_config.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver_config.c @@ -278,14 +278,11 @@ void subghz_scene_receiver_config_on_enter(void* context) { variable_item_set_current_value_text(item, hopping_text[value_index]); } - // Enable speaker, will send all incoming noises and signals to speaker so you can listen how your remote sounds like :) - item = variable_item_list_add( - subghz->variable_item_list, if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneReadRAW) != SubGhzCustomEventManagerSet) { item = variable_item_list_add( subghz->variable_item_list, - "Bin_RAW:", + "Bin RAW:", BIN_RAW_COUNT, subghz_scene_receiver_config_set_bin_raw, subghz); @@ -294,6 +291,9 @@ void subghz_scene_receiver_config_on_enter(void* context) { variable_item_set_current_value_text(item, bin_raw_text[value_index]); } + // Enable speaker, will send all incoming noises and signals to speaker so you can listen how your remote sounds like :) + item = variable_item_list_add( + subghz->variable_item_list, "Sound:", SPEAKER_COUNT, subghz_scene_receiver_config_set_speaker, diff --git a/applications/main/subghz/scenes/subghz_scene_receiver_info.c b/applications/main/subghz/scenes/subghz_scene_receiver_info.c index 7d4ea32b7..0b265cca2 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver_info.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver_info.c @@ -92,8 +92,6 @@ void subghz_scene_receiver_info_draw_widget(SubGhz* subghz) { // Removed static check if(((subghz->txrx->decoder_result->protocol->flag & SubGhzProtocolFlag_Send) == SubGhzProtocolFlag_Send) && - // disable "Send" for auto-captured RAW signals for now. They can still be saved and sent by loading them. - subghz->txrx->decoder_result->protocol->type != SubGhzProtocolTypeRAW && subghz->txrx->decoder_result->protocol->encoder->deserialize) { widget_add_button_element( subghz->widget, diff --git a/applications/main/subghz/views/receiver.c b/applications/main/subghz/views/receiver.c index c68b38a66..f4632396b 100644 --- a/applications/main/subghz/views/receiver.c +++ b/applications/main/subghz/views/receiver.c @@ -34,7 +34,7 @@ static const Icon* ReceiverItemIcons[] = { [SubGhzProtocolTypeUnknown] = &I_Quest_7x8, [SubGhzProtocolTypeStatic] = &I_Static_9x7, [SubGhzProtocolTypeDynamic] = &I_Dynamic_9x7, - [SubGhzProtocolTypeRAW] = &I_Raw_9x7, + [SubGhzProtocolTypeBinRAW] = &I_Raw_9x7, }; typedef enum { diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index dea03da70..6910c8d35 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -636,11 +636,11 @@ Function,+,canvas_draw_xbm,void,"Canvas*, uint8_t, uint8_t, uint8_t, uint8_t, co Function,-,canvas_frame_set,void,"Canvas*, uint8_t, uint8_t, uint8_t, uint8_t" Function,-,canvas_free,void,Canvas* Function,+,canvas_get_buffer,uint8_t*,Canvas* -Function,+,canvas_get_buffer_size,size_t,Canvas* -Function,+,canvas_get_font_params,CanvasFontParameters*,"Canvas*, Font" +Function,+,canvas_get_buffer_size,size_t,const Canvas* +Function,+,canvas_get_font_params,const CanvasFontParameters*,"const Canvas*, Font" Function,-,canvas_get_orientation,CanvasOrientation,const Canvas* Function,+,canvas_glyph_width,uint8_t,"Canvas*, char" -Function,+,canvas_height,uint8_t,Canvas* +Function,+,canvas_height,uint8_t,const Canvas* Function,-,canvas_init,Canvas*, Function,+,canvas_invert_color,void,Canvas* Function,+,canvas_reset,void,Canvas* @@ -2666,6 +2666,15 @@ Function,-,subghz_protocol_decoder_bett_get_hash_data,uint8_t,void* Function,-,subghz_protocol_decoder_bett_get_string,void,"void*, FuriString*" Function,-,subghz_protocol_decoder_bett_reset,void,void* Function,-,subghz_protocol_decoder_bett_serialize,_Bool,"void*, FlipperFormat*, SubGhzRadioPreset*" +Function,-,subghz_protocol_decoder_bin_raw_alloc,void*,SubGhzEnvironment* +Function,-,subghz_protocol_decoder_bin_raw_data_input_rssi,void,"SubGhzProtocolDecoderBinRAW*, float" +Function,-,subghz_protocol_decoder_bin_raw_deserialize,_Bool,"void*, FlipperFormat*" +Function,-,subghz_protocol_decoder_bin_raw_feed,void,"void*, _Bool, uint32_t" +Function,-,subghz_protocol_decoder_bin_raw_free,void,void* +Function,-,subghz_protocol_decoder_bin_raw_get_hash_data,uint8_t,void* +Function,-,subghz_protocol_decoder_bin_raw_get_string,void,"void*, FuriString*" +Function,-,subghz_protocol_decoder_bin_raw_reset,void,void* +Function,-,subghz_protocol_decoder_bin_raw_serialize,_Bool,"void*, FlipperFormat*, SubGhzRadioPreset*" Function,-,subghz_protocol_decoder_came_alloc,void*,SubGhzEnvironment* Function,-,subghz_protocol_decoder_came_atomo_alloc,void*,SubGhzEnvironment* Function,-,subghz_protocol_decoder_came_atomo_deserialize,_Bool,"void*, FlipperFormat*" @@ -2978,6 +2987,11 @@ Function,-,subghz_protocol_encoder_bett_deserialize,_Bool,"void*, FlipperFormat* Function,-,subghz_protocol_encoder_bett_free,void,void* Function,-,subghz_protocol_encoder_bett_stop,void,void* Function,-,subghz_protocol_encoder_bett_yield,LevelDuration,void* +Function,-,subghz_protocol_encoder_bin_raw_alloc,void*,SubGhzEnvironment* +Function,-,subghz_protocol_encoder_bin_raw_deserialize,_Bool,"void*, FlipperFormat*" +Function,-,subghz_protocol_encoder_bin_raw_free,void,void* +Function,-,subghz_protocol_encoder_bin_raw_stop,void,void* +Function,-,subghz_protocol_encoder_bin_raw_yield,LevelDuration,void* Function,-,subghz_protocol_encoder_came_alloc,void*,SubGhzEnvironment* Function,-,subghz_protocol_encoder_came_atomo_alloc,void*,SubGhzEnvironment* Function,-,subghz_protocol_encoder_came_atomo_deserialize,_Bool,"void*, FlipperFormat*" @@ -4889,6 +4903,9 @@ Variable,-,subghz_protocol_ansonic_encoder,const SubGhzProtocolEncoder, Variable,-,subghz_protocol_bett,const SubGhzProtocol, Variable,-,subghz_protocol_bett_decoder,const SubGhzProtocolDecoder, Variable,-,subghz_protocol_bett_encoder,const SubGhzProtocolEncoder, +Variable,-,subghz_protocol_bin_raw,const SubGhzProtocol, +Variable,-,subghz_protocol_bin_raw_decoder,const SubGhzProtocolDecoder, +Variable,-,subghz_protocol_bin_raw_encoder,const SubGhzProtocolEncoder, Variable,-,subghz_protocol_came,const SubGhzProtocol, Variable,-,subghz_protocol_came_atomo,const SubGhzProtocol, Variable,-,subghz_protocol_came_atomo_decoder,const SubGhzProtocolDecoder, diff --git a/lib/subghz/protocols/bin_raw.c b/lib/subghz/protocols/bin_raw.c index c3f544110..67e0467ee 100644 --- a/lib/subghz/protocols/bin_raw.c +++ b/lib/subghz/protocols/bin_raw.c @@ -111,7 +111,7 @@ const SubGhzProtocolEncoder subghz_protocol_bin_raw_encoder = { const SubGhzProtocol subghz_protocol_bin_raw = { .name = SUBGHZ_PROTOCOL_BIN_RAW_NAME, - .type = SubGhzProtocolTypeStatic, + .type = SubGhzProtocolTypeBinRAW, #ifdef BIN_RAW_DEBUG .flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_FM | SubGhzProtocolFlag_Decodable | diff --git a/lib/subghz/types.h b/lib/subghz/types.h index 1b8ef6a14..9d121dc3c 100644 --- a/lib/subghz/types.h +++ b/lib/subghz/types.h @@ -77,6 +77,7 @@ typedef enum { SubGhzProtocolTypeRAW, SubGhzProtocolWeatherStation, SubGhzProtocolCustom, + SubGhzProtocolTypeBinRAW, } SubGhzProtocolType; typedef enum {