V0.08 解决任务执行次数异常的bug,原因是每次执行任务未更新任务结构体指针
此bug在V2.06版本被引入 解决 EW_Test_ReadUID 函数数组越界的问题 添加 总线翻转任务 JQ_Test_Toggle
This commit is contained in:
@@ -284,4 +284,8 @@
|
||||
广播命令根据数据量自动计算发送数据的窗口时间
|
||||
2023.12.10
|
||||
添加任务插槽,未写完
|
||||
|
||||
2023.12.11
|
||||
V0.08 解决任务执行次数异常的bug,原因是每次执行任务未更新任务结构体指针,此bug在V2.06版本被引入
|
||||
解决 EW_Test_ReadUID 函数数组越界的问题
|
||||
2023.12.12
|
||||
添加 总线翻转任务 JQ_Test_Toggle
|
||||
|
@@ -856,8 +856,8 @@ uint8_t DMod_FireBusReadDatasV2_RC(uint8_t* buf, uint8_t len, uint32_t time_out)
|
||||
EW_DIFF_MOD_H;
|
||||
Power_SetSampleCurrentRange(range);
|
||||
if(ret){
|
||||
DBG_LOG("cur_idle=%d,high_value=%d,idle_line=%d.",fire_dat.cur_idle, fire_dat.cur_high_value,fire_dat.cur_idle_line);
|
||||
DBG_LOG("cur_max=%d,cur_idle_ad=%d",fire_dat.cur_max,fire_dat.cur_idle_ad);
|
||||
// DBG_LOG("cur_idle=%d,high_value=%d,idle_line=%d.",fire_dat.cur_idle, fire_dat.cur_high_value,fire_dat.cur_idle_line);
|
||||
// DBG_LOG("cur_max=%d,cur_idle_ad=%d",fire_dat.cur_max,fire_dat.cur_idle_ad);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@@ -440,6 +440,7 @@ int elec_check_load_task_param(uint8_t task_index)
|
||||
}
|
||||
|
||||
// 装载参数
|
||||
s->task_par=task_par;
|
||||
memcpy(&checker_runcfg.task_info,task_par,sizeof(CheckerTask_Info_st));
|
||||
checker_runcfg.param_count = checker_runcfg.task_info.param_rtv_count & 0x0F;
|
||||
checker_runcfg.rtv_count = (checker_runcfg.task_info.param_rtv_count >> 4) & 0x0F;
|
||||
@@ -509,6 +510,7 @@ void elec_exe_task(void)
|
||||
if(s->task_fun==0){
|
||||
return;
|
||||
}
|
||||
DBG_LOG("start task_index:%d",s->task_index);
|
||||
for(int i=0;i<1+s->task_par->retry_time;i++)
|
||||
{
|
||||
checker_runcfg.excue_rtv=1;
|
||||
|
@@ -28,7 +28,7 @@ typedef struct{
|
||||
task_node *head;
|
||||
task_node *current;
|
||||
int err_num;
|
||||
uint8_t err_table[ERR_TABLE_SIZE]
|
||||
uint8_t err_table[ERR_TABLE_SIZE];
|
||||
}task_slot_def;
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ int task_slot_add_err(void *context,uint8_t err)
|
||||
if(index<0) index=i;
|
||||
}
|
||||
if(t->err_table[i]==err){
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if(index>=0){
|
||||
|
@@ -133,13 +133,14 @@ void CheckerExt_Slot(void)
|
||||
int index;
|
||||
uint16_t ret=0;
|
||||
int self_index=checker_runcfg.task_info.runindex;
|
||||
task_def *t=0;
|
||||
void *task_slot=0;
|
||||
if(checker_runcfg.param_count<1){
|
||||
ret=1;
|
||||
goto end;
|
||||
}
|
||||
index=checker_runcfg.params[0];
|
||||
task_def *t=0;
|
||||
void *task_slot=task_slot_init();
|
||||
task_slot=task_slot_init();
|
||||
if(task_slot==0){
|
||||
goto end;
|
||||
}
|
||||
|
@@ -80,7 +80,7 @@ void EW_Test_SetBusV(void)
|
||||
|
||||
/*
|
||||
@brief 测量总线基本电压
|
||||
@rtv1 返回总线电流 单位0.01uA
|
||||
@rtv1 返回总线电流 单位0.1uA
|
||||
*/
|
||||
void EW_Test_BaseCur(void)
|
||||
{
|
||||
@@ -128,7 +128,7 @@ void EW_Test_ReadUID(void)
|
||||
{
|
||||
uint8_t uc_rtv = 0;
|
||||
uint8_t uc_count = 0;
|
||||
uint16_t aus_temp[12];
|
||||
uint16_t aus_temp[14];
|
||||
uint32_t ul_temp = 0;
|
||||
memset(EW_RunBuf,0,EW_CHECKER_RUN_BUF);
|
||||
if(checker_runcfg.params[0] == 0)
|
||||
@@ -175,7 +175,7 @@ void EW_Test_ReadUID(void)
|
||||
uc_count = (checker_runcfg.params[0]+7+1)/2;
|
||||
}
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
memcpy(aus_temp+4,EW_RunBuf,24);
|
||||
memcpy(aus_temp+4,EW_RunBuf,16);
|
||||
Checker_SetRtv(aus_temp,checker_runcfg.rtv_count);
|
||||
}
|
||||
/*
|
||||
|
@@ -62,7 +62,7 @@ void JQ_Test_SetBusV(void)
|
||||
}
|
||||
/*
|
||||
@brief 测量总线基本电压
|
||||
@rtv1 返回总线电流 单位0.01uA
|
||||
@rtv1 返回总线电流 单位0.1uA
|
||||
*/
|
||||
void JQ_Test_BaseCur(void)
|
||||
{
|
||||
@@ -1195,6 +1195,29 @@ void JQ_Test_VerifyDelay(void)
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
/*
|
||||
@brief 切换总线极性
|
||||
@par0 从一个极性切换到另一个极性的间隔
|
||||
@par1 从正极性切换到负极性为一个循环,循环的次数
|
||||
@rtv1 返回最后一次总线电流 单位0.1uA
|
||||
*/
|
||||
void JQ_Test_Toggle(void)
|
||||
{
|
||||
uint16_t ul_cur[2];
|
||||
uint16_t interval_ms = checker_runcfg.params[0];
|
||||
uint16_t times = checker_runcfg.params[1];
|
||||
for(int i=0;i<times;i++)
|
||||
{
|
||||
JQBUS_W_1
|
||||
delay_ms(interval_ms);
|
||||
JQBUS_W_0
|
||||
delay_ms(interval_ms);
|
||||
}
|
||||
JQBUS_W_1
|
||||
delay_ms(20);
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
Checker_SetRtv(ul_cur,checker_runcfg.rtv_count);
|
||||
}
|
||||
|
||||
|
||||
CheckerTask jqtaskArray[CHECKER_MAXID_COUNT] ={
|
||||
@@ -1236,6 +1259,7 @@ JQ_Test_ReadVersion ,//34 读取版本号
|
||||
JQ_Test_WriteFacBuff ,//35 写缓存数据
|
||||
JQ_Test_VerifyFacBuff ,//36 验证缓存数据
|
||||
JQ_Test_VerifyDelay ,//37 读取延时值和otp数据相比
|
||||
JQ_Test_Toggle ,//38 切换总线极性
|
||||
(void*)0 //数组结束
|
||||
};
|
||||
|
||||
|
@@ -6,8 +6,8 @@
|
||||
|
||||
|
||||
|
||||
#define BUILD_DATE "2023-12-09 12:34:57"
|
||||
#define SOFT_VERSION "2.07"
|
||||
#define BUILD_DATE "2023-12-13 13:46:48"
|
||||
#define SOFT_VERSION "2.08"
|
||||
|
||||
|
||||
|
||||
|
@@ -7,7 +7,7 @@ import mycopy
|
||||
|
||||
|
||||
# 定义软件版本号
|
||||
SOFT_VERION = "2.07"
|
||||
SOFT_VERION = "2.08"
|
||||
|
||||
|
||||
|
||||
|
@@ -167,6 +167,7 @@ static void check_submit_later(void *t)
|
||||
if(ret!=0){
|
||||
emit tran_send_signal(s->tran,s->cmd,ret);
|
||||
// s->submit_delay=150;
|
||||
s->submit_delay+=elec_local_addr()*3;
|
||||
}else{
|
||||
//while(1);
|
||||
}
|
||||
@@ -187,7 +188,7 @@ static void check_later(void *t)
|
||||
{
|
||||
s->submit_times=10;
|
||||
s->submit_running=1;
|
||||
s->submit_delay=150;
|
||||
s->submit_delay=elec_local_addr()*10+200;
|
||||
later_execute(check_submit_later,s,s->submit_delay);
|
||||
}else{
|
||||
s->cmd=0;
|
||||
|
Reference in New Issue
Block a user