one_wire_master.h 470 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include <furi.h>
  3. #include <api-hal.h>
  4. #include "one_wire_timings.h"
  5. class OneWireMaster {
  6. private:
  7. const GpioPin* gpio;
  8. public:
  9. OneWireMaster(const GpioPin* one_wire_gpio);
  10. ~OneWireMaster();
  11. bool reset(void);
  12. bool read_bit(void);
  13. uint8_t read(void);
  14. void read_bytes(uint8_t* buf, uint16_t count);
  15. void write_bit(bool value);
  16. void write(uint8_t value);
  17. void skip(void);
  18. void start(void);
  19. void stop(void);
  20. };