subghz_protocol_gate_tx.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzProtocolGateTX SubGhzProtocolGateTX;
  4. /** Allocate SubGhzProtocolGateTX
  5. *
  6. * @return SubGhzProtocolGateTX*
  7. */
  8. SubGhzProtocolGateTX* subghz_protocol_gate_tx_alloc();
  9. /** Free SubGhzProtocolGateTX
  10. *
  11. * @param instance
  12. */
  13. void subghz_protocol_gate_tx_free(SubGhzProtocolGateTX* instance);
  14. /** Get upload protocol
  15. *
  16. * @param instance - SubGhzProtocolCame instance
  17. * @param encoder - SubGhzProtocolEncoderCommon encoder
  18. * @return bool
  19. */
  20. bool subghz_protocol_gate_tx_send_key(SubGhzProtocolGateTX* instance, SubGhzProtocolEncoderCommon* encoder);
  21. /** Reset internal state
  22. * @param instance - SubGhzProtocolGateTX instance
  23. */
  24. void subghz_protocol_gate_tx_reset(SubGhzProtocolGateTX* instance);
  25. /** Parse accepted duration
  26. *
  27. * @param instance - SubGhzProtocolGateTX instance
  28. * @param data - LevelDuration level_duration
  29. */
  30. void subghz_protocol_gate_tx_parse(SubGhzProtocolGateTX* instance, bool level, uint32_t duration);
  31. /** Outputting information from the parser
  32. *
  33. * @param instance - SubGhzProtocolFaacSLH* instance
  34. * @param output - output string
  35. */
  36. void subghz_protocol_gate_tx_to_str(SubGhzProtocolGateTX* instance, string_t output);
  37. void subghz_protocol_gate_tx_to_save_str(SubGhzProtocolGateTX* instance, string_t output);
  38. bool subghz_protocol_gate_tx_to_load_protocol(FileWorker* file_worker, SubGhzProtocolGateTX* instance);