* Rfid: indala 40134 validation and decoding * Rfid: show indala info * Rfid: decoder to output comparator signal on gpio pins * Rfid: working indala 40134 decoder * HAL: added function to change rfid timer parameters on the fly * RFID: Indala reading, card detection, card verification * Rfid: indala writing
		
			
				
	
	
		
			117 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.0 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);
 | 
						||
 | 
						||
/**
 | 
						||
 * Сhanges the configuration of the RFID timer "on a fly"
 | 
						||
 * @param freq new frequency
 | 
						||
 * @param duty_cycle new duty cycle
 | 
						||
 */
 | 
						||
void api_hal_rfid_change_read_config(float freq, float duty_cycle);
 | 
						||
 | 
						||
#ifdef __cplusplus
 | 
						||
}
 | 
						||
#endif |