[FL-1398] IRDA: Implement timings encoder, add RC-6 (#570)

* Add RC-6 protocol
* Implement timings Encoder
* Remove Unit-tests from build
This commit is contained in:
Albert Kharisov
2021-07-08 21:20:13 +03:00
committed by GitHub
parent 4ce41a3e6f
commit 9f6e14d005
32 changed files with 1563 additions and 489 deletions

View File

@@ -9,7 +9,7 @@
#include <m-string.h>
typedef struct IrdaCli {
IrdaHandler* handler;
IrdaDecoderHandler* handler;
osMessageQueueId_t message_queue;
} IrdaCli;

View File

@@ -15,7 +15,7 @@ private:
bool capture_started;
osMessageQueueId_t event_queue;
static void irda_rx_callback(void* ctx, bool level, uint32_t duration);
IrdaHandler* decoder;
IrdaDecoderHandler* decoder;
IrdaMessage message;
};

View File

@@ -274,7 +274,7 @@ void irda_cli_cmd_tx(Cli* cli, string_t args, void* context) {
typedef struct {
osMessageQueueId_t event_queue;
IrdaHandler* handler;
IrdaDecoderHandler* handler;
} IsrContext;
void irda_rx_callback(void* ctx, bool level, uint32_t duration) {

View File

@@ -4,6 +4,7 @@
#include "gui/modules/button_panel.h"
#include "../view/irda-app-brut-view.h"
#include "gui/view.h"
#include "irda/irda-app-event.hpp"
#include "irda/irda-app-view-manager.hpp"
#include "irda/scene/irda-app-scene.hpp"
@@ -59,6 +60,9 @@ bool IrdaAppSceneUniversalCommon::on_event(IrdaApp* app, IrdaAppEvent* event) {
if(event->type == IrdaAppEvent::Type::Tick) {
if(brute_force_started) {
auto view_manager = app->get_view_manager();
IrdaAppEvent tick_event = {.type = IrdaAppEvent::Type::Tick};
view_manager->send_event(&tick_event);
if(brute_force.send_next_bruteforce(*app->get_transceiver())) {
progress_popup(app);
} else {