hormann.h 1.4 KB

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "base.h"
  3. #define SUBGHZ_PROTOCOL_HORMANN_HSM_NAME "Hormann HSM"
  4. typedef struct SubGhzProtocolDecoderHormann SubGhzProtocolDecoderHormann;
  5. typedef struct SubGhzProtocolEncoderHormann SubGhzProtocolEncoderHormann;
  6. extern const SubGhzProtocolDecoder subghz_protocol_hormann_decoder;
  7. extern const SubGhzProtocolEncoder subghz_protocol_hormann_encoder;
  8. extern const SubGhzProtocol subghz_protocol_hormann;
  9. void* subghz_protocol_encoder_hormann_alloc(SubGhzEnvironment* environment);
  10. void subghz_protocol_encoder_hormann_free(void* context);
  11. bool subghz_protocol_encoder_hormann_deserialize(void* context, FlipperFormat* flipper_format);
  12. void subghz_protocol_encoder_hormann_stop(void* context);
  13. LevelDuration subghz_protocol_encoder_hormann_yield(void* context);
  14. void* subghz_protocol_decoder_hormann_alloc(SubGhzEnvironment* environment);
  15. void subghz_protocol_decoder_hormann_free(void* context);
  16. void subghz_protocol_decoder_hormann_reset(void* context);
  17. void subghz_protocol_decoder_hormann_feed(void* context, bool level, uint32_t duration);
  18. uint8_t subghz_protocol_decoder_hormann_get_hash_data(void* context);
  19. bool subghz_protocol_decoder_hormann_serialize(
  20. void* context,
  21. FlipperFormat* flipper_format,
  22. uint32_t frequency,
  23. FuriHalSubGhzPreset preset);
  24. bool subghz_protocol_decoder_hormann_deserialize(void* context, FlipperFormat* flipper_format);
  25. void subghz_protocol_decoder_hormann_get_string(void* context, string_t output);