美文网首页
TS1060_main

TS1060_main

作者: 13aaec9fb31b | 来源:发表于2017-03-23 19:41 被阅读23次

    #ifndef _MAIN_H_

    #define _MAIN_H_

    #define int16 short

    #define uint8 unsigned char

    #define uint16 unsigned short

    #define uint32 unsigned int

    #define int32 int

    #define uchar unsigned char

    #ifdef __cplusplus

    extern "C" {

    #endif

    /*****************以下extern声明函数需lib库调用者实现*******************************/

    typedef struct{

    /*

    功能描述: SPI片选线拉低

    */

    void (*Spi_CS_Set_Low)(void);

    /*

    功能描述: SPI片选线拉高

    */

    void (*Spi_CS_Set_High)(void);

    /*

    功能描述: SPI传输函数,注意此函数不得操作SPI片选线CS的翻转

    参数1:  入口参数,填入本次SPI传输master端发送数据,允许out=NULL,驱动自动发送0xff

    参数2:  出口参数,用户返回本次SPI传输slave端返回的数据,允许in=NULL,底层不需要返回数据

    参数3:  本次SPI传输的字节数

    */

    int16 (*spi_transfer)(uint8 *out,uint8 *in,uint16 len);

    /*

    功能描述: 微秒延时函数

    参数1:  入口参数,超时时间

    */

    void (*us_delay)(uint32 time);

    /*

    功能描述: 合并应用层寄存器设置,一次性发往底层执行的专用接口

    参数1: 执行动作的命令集

    参数2: 执行动作的个数

    */

    void (*TS_SpiCmdBuffToDriv)(uchar *pCmdStruct,uint16 uwLen);

    /*

    功能描述: Android导给LIB库,用来做DEBUG用

    */

    void (*print_liblog)(char *pstr);

    }FgpFuncImport_t;

    /*****************以下函数为LIB库导出****************************************************************/

    /*

    系统初始化的时候调用即可,用于载入算法库

    参数:      无

    返回:      TA_SUCCESS

    */

    int16 TS10xx_LibInit(FgpFuncImport_t *pFgpFuncImport);

    /*

    抓取一副指纹图像,并将图像存在LIB缓冲区里面

    参数1:      入口参数,最大超时,以帧数计

    返回:

    TA_SUCCESS[抓取成功] TA_IMAGE_ERROR[指纹传感器硬件错误]

    TA_TIME_OUT[超时] TA_RECAP_IMAGE[手指已存在]

    */

    int16 TS10xx_CaptureImage(uint32 time_ov);

    /*

    迅速抓取一副指纹图像,并将图像存在LIB缓冲区里面

    参数:      无

    返回:

    TA_SUCCESS[抓取成功] TA_IMAGE_ERROR[指纹传感器硬件错误]

    */

    int16 TS1060_CaptureImgFast(void);

    /*

    每次进入注册流程,需要重新调用此函数,用来初始化算法资源

    参数:      无

    返回:      TA_SUCCESS

    */

    int16 TS10xx_EnrollStart(void);

    /*

    注册时,每次按压调用此函数用于提取特征值,注意,特征值会留在后面一次性返回

    返回:      TA_SUCCESS[成功注册一次]

    EM_EMPTY_IMAGE[图像不合格,重采]

    EM_FUNCTION_FAILED[程序调用顺序错误,仅调试]

    */

    int16 TS10xx_EnrollImages(void);

    /*

    注册时,每次TS10xx_EnrollImages后调用此函数以判断信息录入的丰富程度,当>=100时表示注册到了足够信息

    参数1:      出口参数,用于返回最后一次Enroll进去的图像和已录入图像的重叠率,0-100计,越大重叠率越高

    返回:      EM_FUNCTION_FAILED[程序调用顺序错误,仅调试]

    >=0 信息丰富程度

    */

    int16 TS10xx_GetEnrollProcess(uint16 *puwMapped);

    /*

    当TS10xx_GetEnrollProcess的返回值>=100时,表面注册信息足够,方可调用此函数用于返回最终特征值占用的空间大小

    返回:

    EM_FUNCTION_FAILED[程序调用顺序错误,仅调试]

    TA_INFO_NOT_ENOUGH[TS10x/*x_GetEnrollProcess返回小于100,请继续TS10xx_EnrollImages,仅调试]

    TA_REENROLL[注册失败,需要重新注册]

    其他[注册成功,可调用Finish函数获取最终的特征值]

    */

    功能描述: SPI片选线拉低/*

    功能描述: SPI片选线拉低

    */

    */

    int32 TS10xx_GetEnrollFeaSize(void);

    /*

    当TS10xx_GetEnrollFeaSize的返回值>=10000时,表面注册成功

    /*参数1:  入口+出口参数,应用层读取的已注册特征值缓冲区,返回添加后的特征值

    参数2:  入口参数,应用层读取的已注册特征值长度

    返回:

    EM_FUNCTION_FAILED[程序调用顺序错误,仅调试]

    TA_INFO_NOT_ENOUGH[TS10xx_GetEnrollProcess返回小于100,请继续TS10xx_EnrollImages,仅调试]

    TA_SUCCESS[获取成功]

    */

    功能描述: SPI片选线拉低

    */

    int16 TS10xx_StoreEnrollFea(uint8 *fea,uint32 uiFeaLen);

    /*

    将最后一次抓取的图像和所有用户比对

    参数1:  入口参数,应用层读取的已注册特征值缓冲区

    参数2:  入口参数,应用层读取的已注册特征值长度

    返回:

    EM_FUNCTION_FAILED[程序调用顺序错误,仅调试]

    EM_EMPTY_IMAGE[最后一次获取的图像质量不合格,重新采集]

    >=800[比对成功] 注意,比对成功后可回写fea文件,以达到自学习目的,自学习后fea的长度不变。

    0-799[失败,重新采集]

    */

    int16 TS10xx_MatchAll(uint8 *fea,uint32 uiFeaLen);

    /*

    删除特征值数据库中指定用户

    参数1:  入口+出口参数,特征值文件输入,删除成功后返回删除了指定用户之后的特征值

    参数2:  入口+出口参数,特征值文件长度输入,删除成功后返回删除了指定用户之后的特征值长度

    参数3:  入口参数,输入用户编号,从1开始计

    返回值: TA_SUCCESS[成功] TA_FAIL[失败]

    */

    int16 TS10xx_DeleteUser(uint8 *fea,uint32 *puiFeaLen,uint32 uiIndx);

    /*

    提取最后一次capture成功后留存的原始图像

    参数1:  出口参数,用于返回获取图像的数据

    参数2:  出口参数,用于返回获取图像的宽度值

    参数3:  出口参数,用于返回获取图像的高度值

    返回值: TA_SUCCESS[成功]

    */

    int16 TS10xx_GetLastRawImage(uint8 *pucImg,uint16 *puwWidth,uint16 *puwHeight);

    /*

    功能描述: 在调用TS10xx_CaptureImage等待用户输入指纹的过程中,异步的让TS10xx_CaptureImage退出

    */

    void TS10xx_SetBreakFlag(void);

    /*

    功能描述: 在调用TS1060_read_image前初始化传感器,让传感器自校准

    */

    /*int16 TS1060_read_image_init(void);

    功能描述: SPI片选线拉低

    */

    /*

    功能描述:  获取当前图像

    参数1:      入口参数,图像缓冲区

    返回:      0则调用成功,其他失败

    示例:

    result=TS1060_read_image_init();

    if(result!=0)

    报错,返回

    while(1)

    {

    if(TS1060_read_image(IMG_ADDR)==0)

    显示图像

    }

    */

    int16 TS1060_read_image(uint8 *buff);

    /*抓图显示*/

    int16 TS1060_capture_image_for_display(uint8 *buff,uint32 uiTimeOut);

    /*功能描述: SPI通讯测试函数,TS1060_Test返回0表示传感器已经连上,否则表示通讯不上*/

    int16 TS1060_Test(void);

    /*

    功能描述: 进入睡眠模式,同时启动手指判断,手指检测到后会在RESET上检测到一个上升沿跳变

    返回:  TA_SUCCESS 设置成功,其他失败

    */

    int16 TS1060_SetDeepSleep(void);

    /*

    功能描述: 系统在进入休眠探测后,如果RESET上升沿调高,那么需要调用TS1060_ExitSleep退出当前探测状态

    返回:  TA_SUCCESS 退出成功,其他失败

    */

    int16 TS1060_ExitSleep(void);

    /*

    功能描述: 校准传感器

    参数1:  出口参数,用于返回校准数据,大小建议设置为4KByte

    返回:  TA_SUCCESS 校准成功,其他失败

    */

    int16 A083_Static_Calibrate(uint8 *ucCliData);

    /*

    功能描述: 每次调用前加载校准数据

    参数1:  入口参数,用于给驱动加载校准数据

    返回:  TA_SUCCESS 加载成功,其他失败

    */

    int16 Load_A083_Static_CalibrateData(uint8 *ucCliData);

    //调用出厂调用获取校验的数据A083_Static_Calibrate,每次采图时都要调用Load_A083_Static_CalibrateData

    #ifdef __cplusplus

    }

    #endif

    #endif

    相关文章

      网友评论

          本文标题:TS1060_main

          本文链接:https://www.haomeiwen.com/subject/oniznttx.html