[FL-3106] SubGhz: better and more verbose error handling in protocols, stricter CAME validation (#2443)

* SubGhz: add error protocol
* WS: add error protocol
* SubGhz: error processing
* SubGhz: more stringent CAME protocol restrictions
* SubGhz: fix header duration CAME protocol
* SubGhz: delete comments
* SubGhz: sync SubGhzProtocolStatus with FuriStatus
* SubGhz: update documentation and bump api_version

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Skorpionm
2023-03-03 19:09:13 +04:00
committed by GitHub
parent 6cc5119c64
commit 72ca6b25e9
130 changed files with 1455 additions and 1507 deletions

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,16.0,,
Version,+,17.0,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@@ -2588,9 +2588,10 @@ Function,-,strupr,char*,char*
Function,-,strverscmp,int,"const char*, const char*"
Function,-,strxfrm,size_t,"char*, const char*, size_t"
Function,-,strxfrm_l,size_t,"char*, const char*, size_t, locale_t"
Function,+,subghz_block_generic_deserialize,_Bool,"SubGhzBlockGeneric*, FlipperFormat*"
Function,+,subghz_block_generic_deserialize,SubGhzProtocolStatus,"SubGhzBlockGeneric*, FlipperFormat*"
Function,+,subghz_block_generic_deserialize_check_count_bit,SubGhzProtocolStatus,"SubGhzBlockGeneric*, FlipperFormat*, uint16_t"
Function,+,subghz_block_generic_get_preset_name,void,"const char*, FuriString*"
Function,+,subghz_block_generic_serialize,_Bool,"SubGhzBlockGeneric*, FlipperFormat*, SubGhzRadioPreset*"
Function,+,subghz_block_generic_serialize,SubGhzProtocolStatus,"SubGhzBlockGeneric*, FlipperFormat*, SubGhzRadioPreset*"
Function,+,subghz_environment_alloc,SubGhzEnvironment*,
Function,+,subghz_environment_free,void,SubGhzEnvironment*
Function,+,subghz_environment_get_alutech_at_4n_rainbow_table_file_name,const char*,SubGhzEnvironment*
@@ -2632,19 +2633,19 @@ Function,+,subghz_protocol_blocks_parity_bytes,uint8_t,"const uint8_t[], size_t"
Function,+,subghz_protocol_blocks_reverse_key,uint64_t,"uint64_t, uint8_t"
Function,+,subghz_protocol_blocks_set_bit_array,void,"_Bool, uint8_t[], size_t, size_t"
Function,+,subghz_protocol_blocks_xor_bytes,uint8_t,"const uint8_t[], size_t"
Function,-,subghz_protocol_decoder_base_deserialize,_Bool,"SubGhzProtocolDecoderBase*, FlipperFormat*"
Function,+,subghz_protocol_decoder_base_deserialize,SubGhzProtocolStatus,"SubGhzProtocolDecoderBase*, FlipperFormat*"
Function,+,subghz_protocol_decoder_base_get_hash_data,uint8_t,SubGhzProtocolDecoderBase*
Function,+,subghz_protocol_decoder_base_get_string,_Bool,"SubGhzProtocolDecoderBase*, FuriString*"
Function,+,subghz_protocol_decoder_base_serialize,_Bool,"SubGhzProtocolDecoderBase*, FlipperFormat*, SubGhzRadioPreset*"
Function,+,subghz_protocol_decoder_base_serialize,SubGhzProtocolStatus,"SubGhzProtocolDecoderBase*, FlipperFormat*, SubGhzRadioPreset*"
Function,-,subghz_protocol_decoder_base_set_decoder_callback,void,"SubGhzProtocolDecoderBase*, SubGhzProtocolDecoderBaseRxCallback, void*"
Function,+,subghz_protocol_decoder_raw_alloc,void*,SubGhzEnvironment*
Function,+,subghz_protocol_decoder_raw_deserialize,_Bool,"void*, FlipperFormat*"
Function,+,subghz_protocol_decoder_raw_deserialize,SubGhzProtocolStatus,"void*, FlipperFormat*"
Function,+,subghz_protocol_decoder_raw_feed,void,"void*, _Bool, uint32_t"
Function,+,subghz_protocol_decoder_raw_free,void,void*
Function,+,subghz_protocol_decoder_raw_get_string,void,"void*, FuriString*"
Function,+,subghz_protocol_decoder_raw_reset,void,void*
Function,+,subghz_protocol_encoder_raw_alloc,void*,SubGhzEnvironment*
Function,+,subghz_protocol_encoder_raw_deserialize,_Bool,"void*, FlipperFormat*"
Function,+,subghz_protocol_encoder_raw_deserialize,SubGhzProtocolStatus,"void*, FlipperFormat*"
Function,+,subghz_protocol_encoder_raw_free,void,void*
Function,+,subghz_protocol_encoder_raw_stop,void,void*
Function,+,subghz_protocol_encoder_raw_yield,LevelDuration,void*
@@ -2682,7 +2683,7 @@ Function,+,subghz_setting_get_preset_name,const char*,"SubGhzSetting*, size_t"
Function,+,subghz_setting_load,void,"SubGhzSetting*, const char*"
Function,+,subghz_setting_load_custom_preset,_Bool,"SubGhzSetting*, const char*, FlipperFormat*"
Function,+,subghz_transmitter_alloc_init,SubGhzTransmitter*,"SubGhzEnvironment*, const char*"
Function,+,subghz_transmitter_deserialize,_Bool,"SubGhzTransmitter*, FlipperFormat*"
Function,+,subghz_transmitter_deserialize,SubGhzProtocolStatus,"SubGhzTransmitter*, FlipperFormat*"
Function,+,subghz_transmitter_free,void,SubGhzTransmitter*
Function,+,subghz_transmitter_get_protocol_instance,SubGhzProtocolEncoderBase*,SubGhzTransmitter*
Function,+,subghz_transmitter_stop,_Bool,SubGhzTransmitter*
1 entry status name type params
2 Version + 16.0 17.0
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
2588 Function - strverscmp int const char*, const char*
2589 Function - strxfrm size_t char*, const char*, size_t
2590 Function - strxfrm_l size_t char*, const char*, size_t, locale_t
2591 Function + subghz_block_generic_deserialize _Bool SubGhzProtocolStatus SubGhzBlockGeneric*, FlipperFormat*
2592 Function + subghz_block_generic_deserialize_check_count_bit SubGhzProtocolStatus SubGhzBlockGeneric*, FlipperFormat*, uint16_t
2593 Function + subghz_block_generic_get_preset_name void const char*, FuriString*
2594 Function + subghz_block_generic_serialize _Bool SubGhzProtocolStatus SubGhzBlockGeneric*, FlipperFormat*, SubGhzRadioPreset*
2595 Function + subghz_environment_alloc SubGhzEnvironment*
2596 Function + subghz_environment_free void SubGhzEnvironment*
2597 Function + subghz_environment_get_alutech_at_4n_rainbow_table_file_name const char* SubGhzEnvironment*
2633 Function + subghz_protocol_blocks_reverse_key uint64_t uint64_t, uint8_t
2634 Function + subghz_protocol_blocks_set_bit_array void _Bool, uint8_t[], size_t, size_t
2635 Function + subghz_protocol_blocks_xor_bytes uint8_t const uint8_t[], size_t
2636 Function - + subghz_protocol_decoder_base_deserialize _Bool SubGhzProtocolStatus SubGhzProtocolDecoderBase*, FlipperFormat*
2637 Function + subghz_protocol_decoder_base_get_hash_data uint8_t SubGhzProtocolDecoderBase*
2638 Function + subghz_protocol_decoder_base_get_string _Bool SubGhzProtocolDecoderBase*, FuriString*
2639 Function + subghz_protocol_decoder_base_serialize _Bool SubGhzProtocolStatus SubGhzProtocolDecoderBase*, FlipperFormat*, SubGhzRadioPreset*
2640 Function - subghz_protocol_decoder_base_set_decoder_callback void SubGhzProtocolDecoderBase*, SubGhzProtocolDecoderBaseRxCallback, void*
2641 Function + subghz_protocol_decoder_raw_alloc void* SubGhzEnvironment*
2642 Function + subghz_protocol_decoder_raw_deserialize _Bool SubGhzProtocolStatus void*, FlipperFormat*
2643 Function + subghz_protocol_decoder_raw_feed void void*, _Bool, uint32_t
2644 Function + subghz_protocol_decoder_raw_free void void*
2645 Function + subghz_protocol_decoder_raw_get_string void void*, FuriString*
2646 Function + subghz_protocol_decoder_raw_reset void void*
2647 Function + subghz_protocol_encoder_raw_alloc void* SubGhzEnvironment*
2648 Function + subghz_protocol_encoder_raw_deserialize _Bool SubGhzProtocolStatus void*, FlipperFormat*
2649 Function + subghz_protocol_encoder_raw_free void void*
2650 Function + subghz_protocol_encoder_raw_stop void void*
2651 Function + subghz_protocol_encoder_raw_yield LevelDuration void*
2683 Function + subghz_setting_load void SubGhzSetting*, const char*
2684 Function + subghz_setting_load_custom_preset _Bool SubGhzSetting*, const char*, FlipperFormat*
2685 Function + subghz_transmitter_alloc_init SubGhzTransmitter* SubGhzEnvironment*, const char*
2686 Function + subghz_transmitter_deserialize _Bool SubGhzProtocolStatus SubGhzTransmitter*, FlipperFormat*
2687 Function + subghz_transmitter_free void SubGhzTransmitter*
2688 Function + subghz_transmitter_get_protocol_instance SubGhzProtocolEncoderBase* SubGhzTransmitter*
2689 Function + subghz_transmitter_stop _Bool SubGhzTransmitter*