knob.h 466 B

12345678910111213141516171819202122232425
  1. #ifndef KNOB_H_
  2. #define KNOB_H_
  3. #include <driver/gpio.h>
  4. #include <functional>
  5. #include <esp_log.h>
  6. #include <iot_knob.h>
  7. class Knob {
  8. public:
  9. Knob(gpio_num_t pin_a, gpio_num_t pin_b);
  10. ~Knob();
  11. void OnRotate(std::function<void(bool)> callback);
  12. private:
  13. static void knob_callback(void* arg, void* data);
  14. knob_handle_t knob_handle_;
  15. gpio_num_t pin_a_;
  16. gpio_num_t pin_b_;
  17. std::function<void(bool)> on_rotate_;
  18. };
  19. #endif // KNOB_H_