#ifndef AD0X0_SPI1_H
#define AD0X0_SPI1_H

#include "main.h"
#include "cmsis_os.h"
#include "queue.h"
#include "task.h"
#include "ad0x0_spi.h"

void    ad0x0_spi1_push(ADQS_t _ctype,uint8_t _cbyte);
uint8_t    ad0x0_spi1_get_ext_async2(uint8_t *_p_out_handle,void **_p_out_spi_ext_t);
void    ad0x0_spi1_push_ext_setfunc(uint8_t _sf_id,void (*_p_cb_func)(uint8_t _sf_id,ad0x0_spi_desc_s *pdspi,void *p_spi_ext_t));
void    ad0x0_spi1_push_txrx_dma_ext(uint8_t *_tx_pbuf,uint8_t *_rx_pbuf, uint8_t _count);
void    ad0x0_spi1_push_tx_pbuf_ext(uint8_t *_tx_pbuf,uint8_t *_rx_pbuf, uint8_t _count);
void    ad0x0_spi1_push_tx_pbuf_dma_ext(uint8_t *_tx_pbuf,uint8_t *_rx_pbuf, uint8_t _count);
void 		ad0x0_spi1_irq(void);
void 		ad0x0_spi1_irq_err(void);
void ad0x0_spi1_init(SPI_HandleTypeDef *_phspi1,GPIO_TypeDef *_LCD_DC_GPIO_Port,uint16_t _LCD_DC_Pin,	GPIO_TypeDef *_LCD_RES_GPIO_Port,uint16_t _LCD_RES_Pin,
	GPIO_TypeDef *_NSS_GPIO_Port,uint16_t _NSS_Pin);
uint8_t ad0x0_spi1_is_queue_empty(void);//
void 		ad0x0_spi1_wait(void);
void 		ad0x0_spi1_dma(void);//<===========void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
void 		ad0x0_spi1_dma_err(void);//<===========void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
void    ad0x0_spi1_err(void);//
void 		ad0x0_spi1_xqRecieveHandler(void);
void 		ErrProc(void);

#endif 
