api-hal-ibutton.c 591 B

123456789101112131415161718192021222324
  1. #include <api-hal-ibutton.h>
  2. #include <api-hal-resources.h>
  3. void api_hal_ibutton_start() {
  4. api_hal_ibutton_pin_high();
  5. hal_gpio_init(&ibutton_gpio, GpioModeOutputOpenDrain, GpioSpeedLow, GpioPullNo);
  6. }
  7. void api_hal_ibutton_stop() {
  8. api_hal_ibutton_pin_high();
  9. hal_gpio_init(&ibutton_gpio, GpioModeAnalog, GpioSpeedLow, GpioPullNo);
  10. }
  11. void api_hal_ibutton_pin_low() {
  12. hal_gpio_write(&ibutton_gpio, false);
  13. }
  14. void api_hal_ibutton_pin_high() {
  15. hal_gpio_write(&ibutton_gpio, true);
  16. }
  17. bool api_hal_ibutton_pin_get_level() {
  18. return hal_gpio_read(&ibutton_gpio);
  19. }