2023-10-06 18:47:05 +08:00
|
|
|
|
#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
|
|
|
|
|
|
2023-10-16 18:53:12 +08:00
|
|
|
|
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 ;
|
2023-10-06 18:47:05 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//@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
|