修改检测后CAN总线自动上传基础延时为 addr*10+200

修改检测时注码,单独注码判定
添加cmd_printf 函数不会自动添加换行符
This commit is contained in:
ranchuan
2023-10-18 18:24:46 +08:00
parent dc92f48f75
commit 8a91c94c85
9 changed files with 45 additions and 19 deletions

View File

@@ -218,4 +218,7 @@
解决检测任务中重试失败后不会填充返回值的bug
2023.10.17
mystring.c 添加字符串转浮点函数
2023.10.18
修改检测后CAN总线自动上传基础延时为 addr*10+200
修改检测时注码,单独注码判定
添加cmd_printf 函数不会自动添加换行符

View File

@@ -139,6 +139,7 @@ array_def *elec_bootinfo(void)
Ye_BoardCheck();
board_st.hard_v=sys_param()->hard_version;
board_st.resistor_diff=sys_param()->resistor_diff;
board_st.hard_v=rt_tick_get()/1000;
board_st.soft_v=(int)(str_atof(SOFT_VERSION)*100);
array_def *r=arr_creat();
arr_append(r,0);
@@ -294,20 +295,20 @@ static void elec_load_scheme(void)
}
// 注码 参数校验
// 注码 参数校验 1,检测时注码0,单独注码;-1,失败
static int elec_code_param_check(array_def *uid_psw)
{
if((uid_psw==0)||(arr_length(uid_psw)==0)){
return 1;
return -1;
}
if(arr_length(uid_psw)!=(arr_get(uid_psw,0)+arr_get(uid_psw,1)+3)){
return 2;
}
if(arr_get(uid_psw,2)!=0){
return 3;
return -1;
}
if((arr_get(uid_psw,0)>13)||(arr_get(uid_psw,1)>8)){
return 4;
return -1;
}
if(arr_get(uid_psw,2)!=0){
return 1;
}
return 0;
}
@@ -375,7 +376,7 @@ array_def *elec_check_with_scheme(array_def *uid_psw)
memset(&checker_runcfg,0,sizeof(Checker_RunCfg_st));
checker_runcfg.power_prapare_exe=res;
chip_type=(board_st.plan_id >> 12 ) & 0x0F;
if(elec_code_param_check(uid_psw)==0){
if(elec_code_param_check(uid_psw)==1){
elec_code_load_param(uid_psw);
}
@@ -445,8 +446,8 @@ array_def *elec_code(array_def *uid_psw)
int check_ret=0;
CHECK_DO(s->data,arr_delete);
check_ret=elec_code_param_check(uid_psw);
if(check_ret){
arr_append(r,check_ret);
if(check_ret!=0){
arr_append(r,1);
return arr_temp(r);
}
elec_code_load_param(uid_psw);

View File

@@ -25,8 +25,8 @@
#define MSH_CMD_PARAM_MAX_NUM 50
#define printf cmd_print
#define rt_kprintf cmd_print
#define printf cmd_printf
#define rt_kprintf cmd_printf
#define MSH_CMD_EXPORT_ALIAS(fun_,cmd_,desc)\
static int __msh_##fun_(list_def *argv /* str */)\

View File

@@ -6,7 +6,7 @@
#define BUILD_DATE "2023-10-17 09:42:57"
#define BUILD_DATE "2023-10-18 15:28:02"
#define SOFT_VERSION "2.01"

View File

@@ -10,7 +10,7 @@
#endif
#if 0
#if 1
#define DBG_DEV_INIT() rtt()->init()

View File

@@ -88,6 +88,27 @@ int cmd_print(const char *fmt,...)
return length;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ӻ<EFBFBD><D3BB><EFBFBD>
int cmd_printf(const char *fmt,...)
{
self_def *s=&g_self;
if(s->data==0) return 0;
va_list args;
size_t length=0;
va_start(args, fmt);
length += vsnprintf(&s->data[length], CMD_RETURN_BUFF_SIZE - length - 1, fmt, args);
if (length > CMD_RETURN_BUFF_SIZE - 1)
length = CMD_RETURN_BUFF_SIZE - 1;
va_end(args);
s->data[length]=0;
array_def *arr=arr_creat();
arr_appends(arr,s->data,length);
emit cmd_reply_signal(s,0,arr_temp(arr));
return length;
}

View File

@@ -37,6 +37,7 @@ typedef struct{
int cmd_print(const char *fmt,...);
int cmd_printf(const char *fmt,...);
signal cmd_reply_signal(void *obj,uint8_t cmd,array_def *data);

View File

@@ -178,7 +178,7 @@ static void check_later(void *t)
{
s->submit_times=10;
s->submit_running=1;
s->submit_delay=elec_local_addr()*3;
s->submit_delay=elec_local_addr()*10+200;
later_execute(check_submit_later,s,s->submit_delay);
}else{
s->cmd=0;