Files
checker_slave/source/elec_det/driver/JQDriver.h

83 lines
2.3 KiB
C
Raw Normal View History

#ifndef JQDRIVER_H_
#define JQDRIVER_H_
#include "base/define.h"
#include "hardware/gpio_cfg.h"
#include "hardware/adc_cfg.h"
#include "base/delay.h"
#define JQBUS_IDLE JQBUS_W_1
#define JQBUS_RWIDLE JQBUS_W_1
#define JQBUS_H_PLUS 300
#define JQBUS_L_PLUS 700
#define JQ_Read_AD_Sample_C 140
#define JQ_Read_AD_Sample_C_IDLE 80
extern volatile uint16_t JQ_FreeBack_MaxCur;
extern volatile uint16_t JQ_FreeBack_MaxTime;
extern volatile uint16_t JQ_FreeBack_MinCur;
extern volatile uint16_t JQ_FreeBack_MinTime;
extern volatile uint16_t JQ_CommEnd_MaxCur ;
extern volatile uint8_t JQ_CommEnd_CurEn ;
//@brief 读OTP
uint8_t JQ_ReadOTP(uint16_t netid,uint8_t otp_bgaddr,uint8_t read_count,uint8_t* readbuf);
//@breif 读取单发状态
uint8_t JQ_ReadState(uint16_t netid,uint8_t* state);
//@brief 写延时
void JQ_WriteDelay(uint16_t netid,uint16_t delay);
//@brief 读延时
uint8_t JQ_ReadDelay(uint16_t netid,uint16_t* delaybuf);
//@brief 启动UID扫描
void JQ_ScanUIDBegin(void);
//@brief 扫描模式读取UID
uint8_t JQ_ScanReadUID(uint16_t begnet,uint8_t* uidbuf);
//@brief 充电
void JQ_Chage(uint16_t bgnet);
//@brief 放电
void JQ_DisChage(void);
//@brief 复位
void JQ_Reset(void);
//@brief 使能起爆
void JQ_BoomActive(void);
//@brief 时钟校准
void JQ_TimeAmend(uint16_t cycle,uint16_t delay_ms);
//写OTP使能
void JQ_EnWOTP(void);
//@brief 写OTP
uint8_t JQ_WriteOTP(uint8_t otp_bgaddr,uint8_t write_count,uint8_t* writebuf);
/*
@breif
@param cmd_count
@param read_buf ACK数据1bit代表一个网络号
@param run_type 0 =1 >1
*/
void JQ_BoomCmd(uint8_t cmd_count,uint8_t* read_buf,uint8_t run_type);
/*
@breif
@param plus_count
@rtv Ack
*/
uint16_t JQ_CheckerBoomCmd(uint16_t plus_count,uint16_t* us_shake);
//@breif 巡检
void JQ_Inspect(uint16_t maxcount,uint8_t* buf,uint8_t state);
//@brief 设置充电检测判线
void JQ_ChargJudge(uint8_t dac);
//@brief 验证密码
void JQ_VerifyPWD(uint8_t* pwd);
//@breif 读芯片ID
uint8_t JQ_ReadChipID(uint16_t netid,uint16_t* chipid);
//@brief 快速放电
void JQ_FastDisChage(uint8_t sw);
/*
@brief
*/
void JQ_FreeBack_Prapare(uint8_t enable_flag);
#endif