encoder_generic.h 649 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stdint.h>
  4. class EncoderGeneric {
  5. public:
  6. /**
  7. * @brief init encoder
  8. *
  9. * @param data data array
  10. * @param data_size data array size
  11. */
  12. virtual void init(const uint8_t* data, const uint8_t data_size) = 0;
  13. /**
  14. * @brief Get the next timer pulse
  15. *
  16. * @param polarity pulse polarity true = high2low, false = low2high
  17. * @param period overall period time in timer clicks
  18. * @param pulse pulse time in timer clicks
  19. */
  20. virtual void get_next(bool* polarity, uint16_t* period, uint16_t* pulse) = 0;
  21. virtual ~EncoderGeneric(){};
  22. private:
  23. };