subghz_chat.h 1.1 KB

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "../subghz_i.h"
  3. #include <cli/cli.h>
  4. typedef struct SubGhzChatWorker SubGhzChatWorker;
  5. typedef enum {
  6. SubGhzChatEventNoEvent,
  7. SubGhzChatEventUserEntrance,
  8. SubGhzChatEventUserExit,
  9. SubGhzChatEventInputData,
  10. SubGhzChatEventRXData,
  11. SubGhzChatEventNewMessage,
  12. } SubGhzChatEventType;
  13. typedef struct {
  14. SubGhzChatEventType event;
  15. char c;
  16. } SubGhzChatEvent;
  17. SubGhzChatWorker* subghz_chat_worker_alloc(Cli* cli);
  18. void subghz_chat_worker_free(SubGhzChatWorker* instance);
  19. bool subghz_chat_worker_start(SubGhzChatWorker* instance, uint32_t frequency);
  20. void subghz_chat_worker_stop(SubGhzChatWorker* instance);
  21. bool subghz_chat_worker_is_running(SubGhzChatWorker* instance);
  22. SubGhzChatEvent subghz_chat_worker_get_event_chat(SubGhzChatWorker* instance);
  23. void subghz_chat_worker_put_event_chat(SubGhzChatWorker* instance, SubGhzChatEvent* event);
  24. size_t subghz_chat_worker_available(SubGhzChatWorker* instance);
  25. size_t subghz_chat_worker_read(SubGhzChatWorker* instance, uint8_t* data, size_t size);
  26. bool subghz_chat_worker_write(SubGhzChatWorker* instance, uint8_t* data, size_t size);