| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /**
- * @file furi_hal_ibutton.h
- * iButton HAL API
- */
- #pragma once
- #include <stdbool.h>
- #include <stdint.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef void (*FuriHalIbuttonEmulateCallback)(void* context);
- /** Initialize */
- void furi_hal_ibutton_init();
- /**
- * Start emulation timer
- * @param period timer period
- * @param callback timer callback
- * @param context callback context
- */
- void furi_hal_ibutton_emulate_start(
- uint32_t period,
- FuriHalIbuttonEmulateCallback callback,
- void* context);
- /**
- * Update emulation timer period
- * @param period new timer period
- */
- void furi_hal_ibutton_emulate_set_next(uint32_t period);
- /**
- * Stop emulation timer
- */
- void furi_hal_ibutton_emulate_stop();
- /**
- * Set the pin to normal mode (open collector), and sets it to float
- */
- void furi_hal_ibutton_pin_configure();
- /**
- * Sets the pin to analog mode, and sets it to float
- */
- void furi_hal_ibutton_pin_reset();
- /**
- * iButton write pin
- * @param state true / false
- */
- void furi_hal_ibutton_pin_write(const bool state);
- #ifdef __cplusplus
- }
- #endif
|