subghz_transmitter.h 982 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <gui/view.h>
  3. #include <lib/subghz/protocols/subghz_protocol_common.h>
  4. typedef enum {
  5. SubghzTransmitterEventSendStart,
  6. SubghzTransmitterEventSendStop,
  7. SubghzTransmitterEventBack,
  8. } SubghzTransmitterEvent;
  9. typedef struct SubghzTransmitter SubghzTransmitter;
  10. typedef void (*SubghzTransmitterCallback)(SubghzTransmitterEvent event, void* context);
  11. void subghz_transmitter_set_callback(
  12. SubghzTransmitter* subghz_transmitter,
  13. SubghzTransmitterCallback callback,
  14. void* context);
  15. SubghzTransmitter* subghz_transmitter_alloc();
  16. void subghz_transmitter_free(SubghzTransmitter* subghz_transmitter);
  17. View* subghz_transmitter_get_view(SubghzTransmitter* subghz_transmitter);
  18. void subghz_transmitter_set_protocol(
  19. SubghzTransmitter* subghz_transmitter,
  20. SubGhzProtocolCommon* protocol);
  21. void subghz_transmitter_set_frequency_preset(
  22. SubghzTransmitter* subghz_transmitter,
  23. uint32_t frequency,
  24. FuriHalSubGhzPreset preset);