广播命令时静默

This commit is contained in:
ranchuan
2023-11-15 18:11:39 +08:00
parent 1708b9ce6a
commit 83e6717fe8
12 changed files with 136 additions and 16 deletions

View File

@@ -999,6 +999,10 @@ uint8_t DMod_ReadBytesXor(uint8_t* buf, uint8_t len,uint16_t retry_times)
}
#define DMod_FireBusReadDatasV2 DMod_FireBusReadDatasV2_RC
/*
@brief 差分模式读取为应答
@param count 读取的数量

View File

@@ -2,6 +2,7 @@
#include "commend.h"
#include "mystring.h"
#include "mystdlib.h"
#include "base/delay.h"
#include "hardware/jw3425iic.h"
#include "hardware/power.h"
#include "interface/BaseChecker.h"
@@ -138,3 +139,40 @@ static int cmd_set_bus_power(list_def *argv)
commend_export(bus_power,cmd_set_bus_power,"set bus power,param:bus_high_v,bus_mid_v")
// 切换总线极性
static int cmd_turn_polarity(list_def *argv)
{
if(list_length(argv)<3){
cmd_print("param num too less.");
return -1;
}
int ret=0;
int us=str_atoi(list_get_str(argv,1));
int times=str_atoi(list_get_str(argv,2));
for(int i=0;i<times;i++)
{
EW_DIFF_MOD_L;
delay_us(us);
EW_DIFF_MOD_H;
delay_us(us);
}
cmd_print("cmd end,ret=%d.",ret);
return 0;
}
commend_export(bus_polarity,cmd_turn_polarity,"set bus polarity,param:delay_us,times")

View File

@@ -118,8 +118,14 @@ static void elec_current(elec_judge_def *e,int index,uint8_t *data)
uint16_t temp,temp2;
uint16_t short_c=e->short_circuited;
uint16_t open_c=e->open_circuited;
DBG_LOG("task index=%d.",index);
if(EXE_ACK_CHECK(index)){
elec_add_errcode(e,task->err);
DBG_WARN("task execute err:%d.",task->err);
}
temp=GET_RET_DATA(0);
temp2=GET_RET_DATA(1);
DBG_LOG("task curr1:%d,curr2:%d",temp,temp2);
if((temp<open_c)&&(temp2<open_c))
{
// 接触异常
@@ -243,9 +249,9 @@ const static elec_judge_fun g_ew_judge_table[]={
elec_task_judge, //0 电源准备
elec_task_judge, //1 上电充能
elec_task_judge, //2 设置总线电压
elec_current, //3 获取总线电流
elec_task_judge, //4 扫描UID
elec_task_judge, //5 写配置参数
elec_task_judge, //3 扫描UID
elec_task_judge, //4 写配置参数
elec_current, //5 获取总线电流
elec_task_judge, //6 验证配置
elec_task_judge, //7 模拟注码
elec_task_judge, //8 充能统计

View File

@@ -237,6 +237,22 @@ static int cmd_jwt_app_read(list_def *argv)
commend_export(jwt_app_read,cmd_jwt_app_read,"jwt read in app")
// app:runbootloader
static void EW_appRunBoot(void)
{
EW_Charge(1,0,0);
delay_ms(6000);
EW_RunBootLoader(1,1);
DBG_LOG("run boot");
}
static int cmd_jwt_app_runboot(list_def *argv)
{
int ret=0;
EW_appRunBoot();
return ret;
}
commend_export(jwt_app_runboot,cmd_jwt_app_runboot,"jwt turn to bootloader")
@@ -244,7 +260,7 @@ commend_export(jwt_app_read,cmd_jwt_app_read,"jwt read in app")
void EW_Updata(void)
{
Checker_RunCfg_st *cfg=&checker_runcfg;
uint8_t ret=0;
uint16_t ret=0;
uint8_t read_buf[4]={0};
uint8_t *data=(uint8_t *)MC_CODE_ADDR+UPDATA_BASE_ADDR;
uint16_t len=UPDATA_DATA_LEN;
@@ -268,6 +284,8 @@ void EW_Updata(void)
if(ret){
// 有可能在app中
delay_ms(time_loadapp);
EW_Charge(1,0,0);
delay_ms(time_charg);
if(EW_appCommTest()==0){
if(updata_mode==1){
delay_ms(50);
@@ -287,8 +305,18 @@ void EW_Updata(void)
goto err;
}
}else{
// bootloader 和 app 都不能通信
DBG_WARN("commit failed");
if(updata_mode!=2){
// bootloader 和 app 都不能通信
DBG_WARN("commit failed");
delay_ms(50);
EW_RunBootLoader(0,1);
updata_mode=2;
goto retry;
}else{
DBG_WARN("retry failed.");
ret=13;
goto err;
}
}
}
if(ret) {ret=1;goto err;}
@@ -344,11 +372,17 @@ void EW_Updata(void)
err:
DBG_LOG("ret=%d",ret);
Checker_SetRtv(&ret,checker_runcfg.rtv_count);
Checker_MaskResult(ret,checker_runcfg.task_info.runindex);
}
static int cmd_jwt_updata(list_def *argv)
{
int ret=0;
checker_runcfg.params[0]=6000;
checker_runcfg.params[1]=6000;
checker_runcfg.params[2]=1000;
checker_runcfg.params[3]=0;
checker_runcfg.rtv_count=0;
EW_Updata();
return ret;
}

View File

@@ -198,7 +198,7 @@ static void EWDriverTest(int argc, char**argv)
printf("EnWriteMTP Excute %d\n",us_temp);
}else if(!rt_strcmp(argv[1], "WriteMTP")){
HexStrings2Byte(argv+5,argc-5,(uint8_t*)us_array,sizeof(us_array));
us_temp = EW_WriteMTP(checker_runcfg.params[0],checker_runcfg.params[1],(uint8_t*)us_array,checker_runcfg.params[3]);
us_temp = EW_WriteMTP(checker_runcfg.params[0],checker_runcfg.params[1],(uint8_t*)us_array,checker_runcfg.params[2]);
printf("WriteMTP Excute %d\n",us_temp);
}else if(!rt_strcmp(argv[1], "ReadMTP")){
puc_buf = (uint8_t*)us_array;