princeton_for_testing.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #pragma once
  2. #include "base.h"
  3. /** SubGhzDecoderPrinceton anonymous type */
  4. typedef struct SubGhzDecoderPrinceton SubGhzDecoderPrinceton;
  5. /** SubGhzEncoderPrinceton anonymous type */
  6. typedef struct SubGhzEncoderPrinceton SubGhzEncoderPrinceton;
  7. typedef void (*SubGhzDecoderPrincetonCallback)(SubGhzDecoderPrinceton* parser, void* context);
  8. /** Allocate SubGhzEncoderPrinceton
  9. * @return pointer to SubGhzEncoderPrinceton instance
  10. */
  11. SubGhzEncoderPrinceton* subghz_encoder_princeton_for_testing_alloc();
  12. /** Free SubGhzEncoderPrinceton instance
  13. * @param instance - SubGhzEncoderPrinceton instance
  14. */
  15. void subghz_encoder_princeton_for_testing_free(SubGhzEncoderPrinceton* instance);
  16. void subghz_encoder_princeton_for_testing_stop(
  17. SubGhzEncoderPrinceton* instance,
  18. uint32_t time_stop);
  19. /** Set new encoder params
  20. * @param instance - SubGhzEncoderPrinceton instance
  21. * @param key - 24bit key
  22. * @param repeat - how many times to repeat
  23. * @param frequency - frequency
  24. */
  25. void subghz_encoder_princeton_for_testing_set(
  26. SubGhzEncoderPrinceton* instance,
  27. uint32_t key,
  28. size_t repeat,
  29. uint32_t frequency);
  30. /** Get repeat count left
  31. * @param instance - SubGhzEncoderPrinceton instance
  32. * @return repeat count left
  33. */
  34. size_t subghz_encoder_princeton_for_testing_get_repeat_left(SubGhzEncoderPrinceton* instance);
  35. /** Print encoder log
  36. * @param instance - SubGhzEncoderPrinceton instance
  37. */
  38. void subghz_encoder_princeton_for_testing_print_log(void* context);
  39. /** Get level duration
  40. * @param instance - SubGhzEncoderPrinceton instance
  41. * @return level duration
  42. */
  43. LevelDuration subghz_encoder_princeton_for_testing_yield(void* context);
  44. /** Allocate SubGhzDecoderPrinceton
  45. *
  46. * @return SubGhzDecoderPrinceton*
  47. */
  48. SubGhzDecoderPrinceton* subghz_decoder_princeton_for_testing_alloc();
  49. /** Free SubGhzDecoderPrinceton
  50. *
  51. * @param instance
  52. */
  53. void subghz_decoder_princeton_for_testing_free(SubGhzDecoderPrinceton* instance);
  54. void subghz_decoder_princeton_for_testing_set_callback(
  55. SubGhzDecoderPrinceton* instance,
  56. SubGhzDecoderPrincetonCallback callback,
  57. void* context);
  58. /** Reset internal state
  59. * @param instance - SubGhzDecoderPrinceton instance
  60. */
  61. void subghz_decoder_princeton_for_testing_reset(SubGhzDecoderPrinceton* instance);
  62. /** Parse accepted duration
  63. *
  64. * @param instance - SubGhzDecoderPrinceton instance
  65. * @param data - LevelDuration level_duration
  66. */
  67. void subghz_decoder_princeton_for_testing_parse(
  68. SubGhzDecoderPrinceton* instance,
  69. bool level,
  70. uint32_t duration);