flipperzero-firmware/firmware/targets/api-hal-include/api-hal-rfid.h
SG 22e1ecb642
New LF-RFID app (#534)
* Hal lfrfid: add read timer pulse and period config fns
* New debug application for lfrfid subsystem
* New lfrfid: app, fix naming
* App lfrfid: assets
* Container view module
* App ibutton: remove unused header
* App lfrfid scenes
* App notification, add yield to blocking operations, add speaker volume control
* App lfrfid: reading key scene
* Assets: placeholder icon
* App lfrfid: reworked container view module
* App lfrfid: new scenes
* App lfrfid: write scene
* App lfrfid: write hid
* App lfrfid: emulate scene
* App lfrfid: save name scene
* App lfrfid: add missing file
2021-06-28 17:42:30 +03:00

110 lines
1.8 KiB
C

#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <main.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief config rfid pins to reset state
*
*/
void api_hal_rfid_pins_reset();
/**
* @brief config rfid pins to emulate state
*
*/
void api_hal_rfid_pins_emulate();
/**
* @brief config rfid pins to read state
*
*/
void api_hal_rfid_pins_read();
/**
* @brief config rfid timer to read state
*
* @param freq timer frequency
* @param duty_cycle timer duty cycle, 0.0-1.0
*/
void api_hal_rfid_tim_read(float freq, float duty_cycle);
/**
* @brief start read timer
*
*/
void api_hal_rfid_tim_read_start();
/**
* @brief stop read timer
*
*/
void api_hal_rfid_tim_read_stop();
/**
* @brief config rfid timer to emulate state
*
* @param freq timer frequency
*/
void api_hal_rfid_tim_emulate(float freq);
/**
* @brief start emulation timer
*
*/
void api_hal_rfid_tim_emulate_start();
/**
* @brief stop emulation timer
*
*/
void api_hal_rfid_tim_emulate_stop();
/**
* @brief config rfid timers to reset state
*
*/
void api_hal_rfid_tim_reset();
/**
* @brief check that timer instance is emulation timer
*
* @param hw timer instance
*/
bool api_hal_rfid_is_tim_emulate(TIM_HandleTypeDef* hw);
/**
* @brief set emulation timer period
*
* @param period overall duration
*/
void api_hal_rfid_set_emulate_period(uint32_t period);
/**
* @brief set emulation timer pulse
*
* @param pulse duration of high level
*/
void api_hal_rfid_set_emulate_pulse(uint32_t pulse);
/**
* @brief set read timer period
*
* @param period overall duration
*/
void api_hal_rfid_set_read_period(uint32_t period);
/**
* @brief set read timer pulse
*
* @param pulse duration of high level
*/
void api_hal_rfid_set_read_pulse(uint32_t pulse);
#ifdef __cplusplus
}
#endif