2021-12-08 16:42:01 +03:00
|
|
|
#pragma once
|
|
|
|
#include "../subghz_i.h"
|
2023-06-18 20:25:40 +03:00
|
|
|
#include <lib/subghz/devices/devices.h>
|
2022-04-29 15:02:17 +03:00
|
|
|
#include <cli/cli.h>
|
2021-12-08 16:42:01 +03:00
|
|
|
|
|
|
|
typedef struct SubGhzChatWorker SubGhzChatWorker;
|
|
|
|
|
|
|
|
typedef enum {
|
2022-03-03 12:48:56 +03:00
|
|
|
SubGhzChatEventNoEvent,
|
|
|
|
SubGhzChatEventUserEntrance,
|
|
|
|
SubGhzChatEventUserExit,
|
|
|
|
SubGhzChatEventInputData,
|
|
|
|
SubGhzChatEventRXData,
|
|
|
|
SubGhzChatEventNewMessage,
|
|
|
|
} SubGhzChatEventType;
|
2021-12-08 16:42:01 +03:00
|
|
|
|
|
|
|
typedef struct {
|
2022-03-03 12:48:56 +03:00
|
|
|
SubGhzChatEventType event;
|
2021-12-08 16:42:01 +03:00
|
|
|
char c;
|
2022-03-03 12:48:56 +03:00
|
|
|
} SubGhzChatEvent;
|
2021-12-08 16:42:01 +03:00
|
|
|
|
2022-04-29 15:02:17 +03:00
|
|
|
SubGhzChatWorker* subghz_chat_worker_alloc(Cli* cli);
|
2021-12-08 16:42:01 +03:00
|
|
|
void subghz_chat_worker_free(SubGhzChatWorker* instance);
|
2023-06-18 20:25:40 +03:00
|
|
|
bool subghz_chat_worker_start(
|
|
|
|
SubGhzChatWorker* instance,
|
|
|
|
const SubGhzDevice* device,
|
|
|
|
uint32_t frequency);
|
2021-12-08 16:42:01 +03:00
|
|
|
void subghz_chat_worker_stop(SubGhzChatWorker* instance);
|
|
|
|
bool subghz_chat_worker_is_running(SubGhzChatWorker* instance);
|
2022-03-03 12:48:56 +03:00
|
|
|
SubGhzChatEvent subghz_chat_worker_get_event_chat(SubGhzChatWorker* instance);
|
|
|
|
void subghz_chat_worker_put_event_chat(SubGhzChatWorker* instance, SubGhzChatEvent* event);
|
2021-12-08 16:42:01 +03:00
|
|
|
size_t subghz_chat_worker_available(SubGhzChatWorker* instance);
|
|
|
|
size_t subghz_chat_worker_read(SubGhzChatWorker* instance, uint8_t* data, size_t size);
|
|
|
|
bool subghz_chat_worker_write(SubGhzChatWorker* instance, uint8_t* data, size_t size);
|