diff options
Diffstat (limited to 'firmware/targets/f6/furi_hal/furi_hal_ibutton.c')
-rw-r--r-- | firmware/targets/f6/furi_hal/furi_hal_ibutton.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/firmware/targets/f6/furi_hal/furi_hal_ibutton.c b/firmware/targets/f6/furi_hal/furi_hal_ibutton.c new file mode 100644 index 00000000..05cf25f1 --- /dev/null +++ b/firmware/targets/f6/furi_hal/furi_hal_ibutton.c @@ -0,0 +1,24 @@ +#include <furi_hal_ibutton.h> +#include <furi_hal_resources.h> + +void furi_hal_ibutton_start() { + furi_hal_ibutton_pin_high(); + hal_gpio_init(&ibutton_gpio, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedLow); +} + +void furi_hal_ibutton_stop() { + furi_hal_ibutton_pin_high(); + hal_gpio_init(&ibutton_gpio, GpioModeAnalog, GpioPullNo, GpioSpeedLow); +} + +void furi_hal_ibutton_pin_low() { + hal_gpio_write(&ibutton_gpio, false); +} + +void furi_hal_ibutton_pin_high() { + hal_gpio_write(&ibutton_gpio, true); +} + +bool furi_hal_ibutton_pin_get_level() { + return hal_gpio_read(&ibutton_gpio); +} |