30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
|
#pragma once
|
||
|
#include "../subghz_i.h"
|
||
|
|
||
|
typedef struct SubGhzChatWorker SubGhzChatWorker;
|
||
|
|
||
|
typedef enum {
|
||
|
SubghzChatEventNoEvent,
|
||
|
SubghzChatEventUserEntrance,
|
||
|
SubghzChatEventUserExit,
|
||
|
SubghzChatEventInputData,
|
||
|
SubghzChatEventRXData,
|
||
|
SubghzChatEventNewMessage,
|
||
|
} SubghzChatEventType;
|
||
|
|
||
|
typedef struct {
|
||
|
SubghzChatEventType event;
|
||
|
char c;
|
||
|
} SubghzChatEvent;
|
||
|
|
||
|
SubGhzChatWorker* subghz_chat_worker_alloc();
|
||
|
void subghz_chat_worker_free(SubGhzChatWorker* instance);
|
||
|
bool subghz_chat_worker_start(SubGhzChatWorker* instance, uint32_t frequency);
|
||
|
void subghz_chat_worker_stop(SubGhzChatWorker* instance);
|
||
|
bool subghz_chat_worker_is_running(SubGhzChatWorker* instance);
|
||
|
SubghzChatEvent subghz_chat_worker_get_event_chat(SubGhzChatWorker* instance);
|
||
|
void subghz_chat_worker_put_event_chat(SubGhzChatWorker* instance, SubghzChatEvent* event);
|
||
|
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);
|