mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-18 16:53:45 +00:00
acc39a4bc0
* Api Symbols: replace asserts with checks * Api Symbols: replace asserts with checks part 2 * Update no args function signatures with void, to help compiler to track incorrect usage * More unavoidable void * Update PVS config and code to make it happy * Format sources * nfc: fix checks * dead code cleanup & include fixes Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: hedger <hedger@nanode.su>
60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
/**
|
|
* @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(void);
|
|
|
|
/**
|
|
* 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(void);
|
|
|
|
/**
|
|
* Set the pin to normal mode (open collector), and sets it to float
|
|
*/
|
|
void furi_hal_ibutton_pin_configure(void);
|
|
|
|
/**
|
|
* Sets the pin to analog mode, and sets it to float
|
|
*/
|
|
void furi_hal_ibutton_pin_reset(void);
|
|
|
|
/**
|
|
* iButton write pin
|
|
* @param state true / false
|
|
*/
|
|
void furi_hal_ibutton_pin_write(const bool state);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|