furi_hal_ibutton.h 684 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * @file furi_hal_ibutton.h
  3. * iButton HAL API
  4. */
  5. #pragma once
  6. #include <stdbool.h>
  7. #include <stdint.h>
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. typedef void (*FuriHalIbuttonEmulateCallback)(void* context);
  12. /** Initialize */
  13. void furi_hal_ibutton_init();
  14. void furi_hal_ibutton_emulate_start(
  15. uint32_t period,
  16. FuriHalIbuttonEmulateCallback callback,
  17. void* context);
  18. void furi_hal_ibutton_emulate_set_next(uint32_t period);
  19. void furi_hal_ibutton_emulate_stop();
  20. void furi_hal_ibutton_start();
  21. void furi_hal_ibutton_stop();
  22. void furi_hal_ibutton_pin_low();
  23. void furi_hal_ibutton_pin_high();
  24. bool furi_hal_ibutton_pin_get_level();
  25. #ifdef __cplusplus
  26. }
  27. #endif