/***********************************************************************************************************
 * Copyright (c)  2023 - 2024, Unicmicro Co.,Ltd .
 * All rights reserved.
 * Filename    : um2006A.h
 * Description : um2006A drvier header file
 * Author(s)   : yanhaihua
 * version     : V1.0
 * Modify date : 2024-10-26
 ***********************************************************************************************************/
#ifndef __UM2006A_H__
#define __UM2006A_H__

#include <stdint.h>


typedef struct
{
	void (*spi_init)(void);																					/* SPI初始化 */
	void (*spi_cs_enable)(void);																			/* CS使能 */
	void (*spi_cs_disable)(void);																			/* CS不使能 */
	void (*spi_write_byte)(uint8_t byte);																	/* spi写一个字节 */
	uint8_t (*spi_read_byte)(void);																			/* SPI读一个字节 */
}s_um2006A_ops_t;

void um2006A_init(s_um2006A_ops_t *ops);

void um2006A_write_reg(uint8_t addr,uint8_t value);
void um2006A_write_regs(uint8_t addr,uint8_t *data,uint8_t len);

uint8_t um2006A_read_reg(uint8_t addr);
uint8_t um2006A_read_regs(uint8_t addr,uint8_t *data,uint8_t len);

void um2006A_read_fifo(uint8_t *data,uint8_t len);

void um2006A_into_idle(void);
void um2006A_into_sleep(void);
void um2006A_into_rx(void);

void um2006A_set_freq(double rf_freq,double ref_freq);

#endif
