one_wire_master.h 449 B

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