[FL-2230] SubGhz: protocol API refactoring (#969)

* SubGhz: protocols library refactoring
* SubGhz: new architecture and refactoring
* SubGhz: simplify protocol structure, remove unused types
* SubGhz: rename Subghz to SubGhz
* SubGhz: add environment concept

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
This commit is contained in:
Skorpionm
2022-03-03 13:48:56 +04:00
committed by GitHub
parent 052237f8c9
commit 3164184bbc
173 changed files with 9836 additions and 8486 deletions

23
lib/subghz/transmitter.h Normal file
View File

@@ -0,0 +1,23 @@
#pragma once
#include "types.h"
#include "environment.h"
#include "protocols/base.h"
typedef struct SubGhzTransmitter SubGhzTransmitter;
struct SubGhzTransmitter {
const SubGhzProtocol* protocol;
SubGhzProtocolEncoderBase* protocol_instance;
};
SubGhzTransmitter*
subghz_transmitter_alloc_init(SubGhzEnvironment* environment, const char* protocol_name);
void subghz_transmitter_free(SubGhzTransmitter* instance);
bool subghz_transmitter_stop(SubGhzTransmitter* instance);
bool subghz_transmitter_deserialize(SubGhzTransmitter* instance, FlipperFormat* flipper_format);
LevelDuration subghz_transmitter_yield(void* context);