[FL-1913, FL-1963] SubGhz: save raw signal, add came atomo decoder (#783)
* File_Worker: getting the name of a new file with an index * SubGhz: add decoder RAW protocol * SubGhz: add view Save RAW * SubGhz: refactoring subghz custom event * SubGhz: fix syntax * SubGhz: fix error build * SubGhz: test build * SubGhz: refactoring subghz, add rename, delete, start and emulate RAW signal * SubGhz: fix triangle glitch in save raw view * SubGhz: fix receiver config scene * SubGhz: fix transfer after returning from save scene * Canvas: add font rotation * SubGhz: raw protocol encoder * SubGhz: fix error completion of transfer raw encoder * SubGhz: increased the speed of reading RAW data from a flash drive, displaying the name of the saved file in the Save RAW scene * Canvas: fix font rotation * SubGhz: fix navigation save RAW scene * SubGhz: add decode came atomo * Git: renormalize * Cleanup sources and enums * Gui: add font direction to canvas reset, canvas init sequence cleanup. * SubGhz: reorder menu. * Gui: correct canvas_set_font_direction signature Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "protocols/subghz_protocol_nero_radio.h"
|
||||
#include "protocols/subghz_protocol_scher_khan.h"
|
||||
#include "protocols/subghz_protocol_kia.h"
|
||||
#include "protocols/subghz_protocol_raw.h"
|
||||
|
||||
#include "subghz_keystore.h"
|
||||
|
||||
@@ -38,6 +39,7 @@ typedef enum {
|
||||
SubGhzProtocolTypeNeroRadio,
|
||||
SubGhzProtocolTypeScherKhan,
|
||||
SubGhzProtocolTypeKIA,
|
||||
SubGhzProtocolTypeRAW,
|
||||
|
||||
SubGhzProtocolTypeMax,
|
||||
} SubGhzProtocolType;
|
||||
@@ -109,6 +111,8 @@ SubGhzParser* subghz_parser_alloc() {
|
||||
(SubGhzProtocolCommon*)subghz_protocol_scher_khan_alloc();
|
||||
instance->protocols[SubGhzProtocolTypeKIA] =
|
||||
(SubGhzProtocolCommon*)subghz_protocol_kia_alloc();
|
||||
instance->protocols[SubGhzProtocolTypeRAW] =
|
||||
(SubGhzProtocolCommon*)subghz_protocol_raw_alloc();
|
||||
|
||||
return instance;
|
||||
}
|
||||
@@ -143,6 +147,7 @@ void subghz_parser_free(SubGhzParser* instance) {
|
||||
subghz_protocol_scher_khan_free(
|
||||
(SubGhzProtocolScherKhan*)instance->protocols[SubGhzProtocolTypeScherKhan]);
|
||||
subghz_protocol_kia_free((SubGhzProtocolKIA*)instance->protocols[SubGhzProtocolTypeKIA]);
|
||||
subghz_protocol_raw_free((SubGhzProtocolRAW*)instance->protocols[SubGhzProtocolTypeRAW]);
|
||||
|
||||
subghz_keystore_free(instance->keystore);
|
||||
|
||||
@@ -197,6 +202,11 @@ void subghz_parser_load_nice_flor_s_file(SubGhzParser* instance, const char* fil
|
||||
(SubGhzProtocolNiceFlorS*)instance->protocols[SubGhzProtocolTypeNiceFlorS], file_name);
|
||||
}
|
||||
|
||||
void subghz_parser_load_came_atomo_file(SubGhzParser* instance, const char* file_name) {
|
||||
subghz_protocol_came_atomo_name_file(
|
||||
(SubGhzProtocolCameAtomo*)instance->protocols[SubGhzProtocolTypeCameAtomo], file_name);
|
||||
}
|
||||
|
||||
void subghz_parser_load_keeloq_file(SubGhzParser* instance, const char* file_name) {
|
||||
subghz_keystore_load(instance->keystore, file_name);
|
||||
}
|
||||
@@ -229,6 +239,12 @@ void subghz_parser_reset(SubGhzParser* instance) {
|
||||
subghz_protocol_scher_khan_reset(
|
||||
(SubGhzProtocolScherKhan*)instance->protocols[SubGhzProtocolTypeScherKhan]);
|
||||
subghz_protocol_kia_reset((SubGhzProtocolKIA*)instance->protocols[SubGhzProtocolTypeKIA]);
|
||||
subghz_protocol_raw_reset((SubGhzProtocolRAW*)instance->protocols[SubGhzProtocolTypeRAW]);
|
||||
}
|
||||
|
||||
void subghz_parser_raw_parse(SubGhzParser* instance, bool level, uint32_t duration) {
|
||||
subghz_protocol_raw_parse(
|
||||
(SubGhzProtocolRAW*)instance->protocols[SubGhzProtocolTypeRAW], level, duration);
|
||||
}
|
||||
|
||||
void subghz_parser_parse(SubGhzParser* instance, bool level, uint32_t duration) {
|
||||
|
Reference in New Issue
Block a user