log可以单独设置打印ip
This commit is contained in:
		| @@ -101,4 +101,13 @@ | ||||
| 2023.6.14 | ||||
|     添加参数设置,自检命令 | ||||
|     添加波特率,命令返回格式,小板起始地址设置项 | ||||
| 2023.6.15 | ||||
|     log打印可以单独设置主机地址 | ||||
|     bootloader解决打包时间始终被设置为?的bug | ||||
|     赋码仪相关指令全部添加通道字段 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|      | ||||
| @@ -70,6 +70,7 @@ typedef struct{ | ||||
|   int local_cmd_port;// 本机命令端口 | ||||
|   int host_log_port;// 主机log端口 | ||||
|   int local_id;// 本机识别号 | ||||
|   uint8_t host_log_ip[4];// 主机logip | ||||
|   int uartbsp;// 串口4的波特率 | ||||
|   int coder_ret_mode;// 注码指令返回格式 | ||||
|   int slave_addr_start;// 小板起始地址 | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| #define BUILD_DATE  "2023-06-14 22:00:30" | ||||
| #define BUILD_DATE  "2023-06-15 17:41:54" | ||||
| #define SOFT_VERSION  "0.01" | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -210,19 +210,24 @@ commend_export(moter,moter,"control moter up or down|use:moter [frequency] [coun | ||||
| static void print_sys_param(const sys_param_def *par) | ||||
| { | ||||
|   cmd_print(" - - - - - - - - - - - - - - "); | ||||
|   cmd_print("pack time:       %s",par->pack_time); | ||||
|   cmd_print("host if:         %s",par->host_if); | ||||
|   cmd_print("device type:     %s",par->device_type); | ||||
|   cmd_print("mac addr:        %02x.%02x.%02x.%02x.%02x.%02x", | ||||
|   cmd_print("pack time:         %s",par->pack_time); | ||||
|   cmd_print("host if:           %s",par->host_if); | ||||
|   cmd_print("device type:       %s",par->device_type); | ||||
|   cmd_print("mac addr:          %02x.%02x.%02x.%02x.%02x.%02x", | ||||
|     par->mac[0],par->mac[1],par->mac[2],par->mac[3],par->mac[4],par->mac[5]); | ||||
|   cmd_print("local ip:        %d.%d.%d.%d", | ||||
|   cmd_print("local ip:          %d.%d.%d.%d", | ||||
|     par->local_ip[0],par->local_ip[1],par->local_ip[2],par->local_ip[3]); | ||||
|   cmd_print("host ip:         %d.%d.%d.%d", | ||||
|   cmd_print("host ip:           %d.%d.%d.%d", | ||||
|     par->host_ip[0],par->host_ip[1],par->host_ip[2],par->host_ip[3]); | ||||
|   cmd_print("host port:       %d",par->host_port); | ||||
|   cmd_print("local cmd port:  %d",par->local_cmd_port); | ||||
|   cmd_print("host log port:   %d",par->host_log_port); | ||||
|   cmd_print("local id:        %d",par->local_id); | ||||
|   cmd_print("host port:         %d",par->host_port); | ||||
|   cmd_print("local cmd port:    %d",par->local_cmd_port); | ||||
|   cmd_print("host log port:     %d",par->host_log_port); | ||||
|   cmd_print("local id:          %d",par->local_id); | ||||
|   cmd_print("host log ip:       %d.%d.%d.%d", | ||||
|     par->host_log_ip[0],par->host_log_ip[1],par->host_log_ip[2],par->host_log_ip[3]); | ||||
|   cmd_print("uart bsp:          %d",par->uartbsp); | ||||
|   cmd_print("coder ret mode:    %d",par->coder_ret_mode); | ||||
|   cmd_print("slave_addr_start:  %d",par->slave_addr_start); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -239,7 +244,7 @@ static int sysinfo(list_def *argv) | ||||
|   return 0; | ||||
| } | ||||
|  | ||||
| commend_export(sysinfo,sysinfo,"print the sortware info") | ||||
| commend_export(sysinfo,sysinfo,"print the software info") | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -256,6 +261,7 @@ static void print_sys_help(void) | ||||
|   cmd_print("set localcmdport           7777"); | ||||
|   cmd_print("set hostlogport            12345"); | ||||
|   cmd_print("set localid                1"); | ||||
|   cmd_print("set hostlogip              192.168.80.80"); | ||||
|   cmd_print("set uartbsp                115200"); | ||||
|   cmd_print("set codermode              1/0"); | ||||
|   cmd_print("set slave_addr_start       1/0"); | ||||
| @@ -358,6 +364,17 @@ static int sys_set(list_def *argv) | ||||
|     spar->uartbsp=str_atoi(str); | ||||
|     cmd_print("uart bsp:        %d",spar->uartbsp); | ||||
|   } | ||||
|   else if(strcmp(list_get_str(argv,1),"hostlogip")==0) | ||||
|   { | ||||
|     char *str=list_get_str(argv,2); | ||||
|     list_def *ip=str_atod_list(str,'.'); | ||||
|     spar->host_log_ip[0]=list_get_int(ip,0); | ||||
|     spar->host_log_ip[1]=list_get_int(ip,1); | ||||
|     spar->host_log_ip[2]=list_get_int(ip,2); | ||||
|     spar->host_log_ip[3]=list_get_int(ip,3); | ||||
|     cmd_print("host log ip:        %d.%d.%d.%d", | ||||
|       spar->host_log_ip[0],spar->host_log_ip[1],spar->host_log_ip[2],spar->host_log_ip[3]); | ||||
|   } | ||||
|   else if(strcmp(list_get_str(argv,1),"codermode")==0) | ||||
|   { | ||||
|     char *str=list_get_str(argv,2); | ||||
| @@ -478,9 +495,9 @@ void param_init(rom_head *h) | ||||
| { | ||||
|   static sys_param_def pars={0}; | ||||
|   memcpy(&pars,sys_param(),sizeof(sys_param_def)); | ||||
|   memcpy(pars.pack_time,h->pack_time,20); | ||||
|   if(pars.local_id==0xffffffff){ | ||||
|     if(h){ | ||||
|   if(h){ | ||||
|     memcpy(pars.pack_time,h->pack_time,20); | ||||
|     if(pars.local_id==0xffffffff){ | ||||
|       memcpy(pars.host_if,h->host_if,8); | ||||
|       memcpy(pars.device_type,"checker",8); | ||||
|       mac_init(pars.mac); | ||||
| @@ -491,20 +508,24 @@ void param_init(rom_head *h) | ||||
|       pars.host_log_port=12345; | ||||
|       pars.local_id=1; | ||||
|     } | ||||
|     else{ | ||||
|       // 填充默认配置 | ||||
|     flash_save_param(&pars); | ||||
|   } | ||||
|   else{ | ||||
|     // 填充默认配置 | ||||
|     if(pars.local_id==0xffffffff){ | ||||
|       memcpy(pars.host_if,"uart4",6); | ||||
|       memcpy(pars.device_type,"coder",6); | ||||
|       mac_init(pars.mac); | ||||
|       memcpy(pars.local_ip,(uint8_t []){192,168,80,10},4); | ||||
|       memcpy(pars.host_ip,(uint8_t []){192,168,80,80},4); | ||||
|       memcpy(pars.host_log_ip,(uint8_t []){192,168,80,80},4); | ||||
|       pars.host_port=9527; | ||||
|       pars.local_cmd_port=7777; | ||||
|       pars.host_log_port=12345; | ||||
|       pars.local_id=1; | ||||
|       flash_save_param(&pars); | ||||
|     } | ||||
|   } | ||||
|   flash_save_param(&pars); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -337,7 +337,7 @@ static int usercmd(list_def *argv) | ||||
| } | ||||
|  | ||||
|  | ||||
| commend_export(usercmd,usercmd,"send usercmd to slave") | ||||
| commend_export(usercmd,usercmd,"send usercmd to slave|use:usercmd [addrs] [cmd] [datas]") | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -40,7 +40,7 @@ static void log_thread(void *arg) | ||||
|   LWIP_UNUSED_ARG(arg); | ||||
|   ip_addr_t dst; | ||||
|   const sys_param_def *par=sys_param(); | ||||
|   IP4_ADDR(&dst,par->host_ip[0],par->host_ip[1],par->host_ip[2],par->host_ip[3]); | ||||
|   IP4_ADDR(&dst,par->host_log_ip[0],par->host_log_ip[1],par->host_log_ip[2],par->host_log_ip[3]); | ||||
|   commend_def *cmd; | ||||
|   conn = netconn_new(NETCONN_UDP); | ||||
|   err=netconn_bind(conn, IP_ADDR_ANY, 7778); | ||||
|   | ||||
| @@ -91,6 +91,20 @@ static ucport_def *check(tran_def *t, uint8_t cmd,array_def *data) | ||||
|   return (ucport_def *)u; | ||||
| } | ||||
|  | ||||
| transmit_export(ym_checker,0x30,check) | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  | ||||
|   自检 和 参数设置 命令是批检仪和赋码仪都有的命令 | ||||
|   应赋码仪上位机的要求,赋码仪多了一个 "通道" 的数据位 | ||||
|   目前使用判断的方式,设备为赋码仪方式工作时命令的发送的返回都解析这个 "通道" | ||||
|  | ||||
| */ | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -125,7 +139,7 @@ typedef struct{ | ||||
|  | ||||
|  | ||||
|  | ||||
| // 检测完成 | ||||
| // 自检完成 | ||||
| static void bootinfo_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_str) | ||||
| { | ||||
|   bootinfo_def *w=(bootinfo_def *)u; | ||||
| @@ -143,6 +157,11 @@ static void bootinfo_end(ucport_def *u,port_mcu *src,void *data,int ack,char *er | ||||
|   if(w->ack_num>=w->slave_num) | ||||
|   { | ||||
|     array_def *a=arr_creat(); | ||||
|     if(strcmp(sys_param()->device_type,"coder")==0) | ||||
|     { | ||||
|       // 赋码仪添加通道数 | ||||
|       arr_append(a,w->slave_num); | ||||
|     } | ||||
|     arr_append(a,0); | ||||
|     arr_appends(a,w->ack,w->ack_size); | ||||
|     emit tran_send_signal(w->u.p,w->end_cmd,arr_temp(a)); | ||||
| @@ -213,6 +232,11 @@ static ucport_def *bootinfo_self(tran_def *t, int slave_num,uint8_t cmd,array_de | ||||
|   } | ||||
|    | ||||
|   array_def *a=arr_creat(); | ||||
|   if(strcmp(sys_param()->device_type,"coder")==0) | ||||
|   { | ||||
|     // 赋码仪添加通道数 | ||||
|     arr_append(a,10); | ||||
|   } | ||||
|   arr_append(a,0); | ||||
|   emit tran_reply_signal(u->u.p,arr_temp(a)); | ||||
|    | ||||
| @@ -242,7 +266,6 @@ static ucport_def *bootinfo_checker(tran_def *t,uint8_t cmd,array_def *data) | ||||
|  | ||||
|  | ||||
|  | ||||
| transmit_export(ym_checker,0x30,check) | ||||
| transmit_export(ym_checker,0x34,bootinfo_checker) | ||||
| transmit_export(ym_checker,0x04,bootinfo_coder) | ||||
|  | ||||
| @@ -321,23 +344,40 @@ static ucport_def *param(tran_def *t, uint8_t cmd,array_def *data) | ||||
|     DBG_WARN("cmd format err."); | ||||
|     return 0; | ||||
|   } | ||||
|   int off=0; | ||||
|   param_def *u=calloc(1,sizeof(param_def)); | ||||
|   u->u.p=t; | ||||
|   u->u.del=param_del; | ||||
|   if(strcmp(sys_param()->device_type,"coder")==0) | ||||
|   { | ||||
|     // 赋码仪要忽略通道数参数 | ||||
|     off=1; | ||||
|   } | ||||
|  | ||||
|    | ||||
|   uint8_t op=arr_get(data,0); | ||||
|   uint8_t op=arr_get(data,off); | ||||
|   // 1是写,0是读 | ||||
|   if(op==0) | ||||
|   { | ||||
|     paraminfo_fill(&u->par); | ||||
|     uint8_t *d=(uint8_t *)(&u->par); | ||||
|     array_def *a=arr_creat(); | ||||
|     if(strcmp(sys_param()->device_type,"coder")==0) | ||||
|     { | ||||
|       // 赋码仪添加通道数 | ||||
|       arr_append(a,10); | ||||
|     } | ||||
|     arr_append(a,0); | ||||
|     arr_appends(a,d,sizeof(paraminfo_def)); | ||||
|     emit tran_reply_signal(u->u.p,arr_temp(a)); | ||||
|   }else if(op==1) | ||||
|   { | ||||
|     array_def *a=arr_creat(); | ||||
|     if(strcmp(sys_param()->device_type,"coder")==0) | ||||
|     { | ||||
|       // 赋码仪添加通道数 | ||||
|       arr_append(a,10); | ||||
|     } | ||||
|     if(arr_length(data)<1+sizeof(paraminfo_def)){ | ||||
|       arr_append(a,1); | ||||
|       emit tran_reply_signal(u->u.p,arr_temp(a)); | ||||
|   | ||||
| @@ -377,13 +377,17 @@ static void live_recv(live_keeper_def *t) | ||||
| static void live_send(void *p) | ||||
| { | ||||
|   const sys_param_def *par=sys_param(); | ||||
|   tran_def *t=app_variable("tran",0,0); | ||||
|   uint16_t slave_online=0; | ||||
|   if(t) | ||||
|     slave_online=tran_get_slave_online(t); | ||||
|   array_def *d=arr_creat(); | ||||
|   arr_append(d,0); | ||||
|   arr_append(d,0xff); | ||||
|   arr_append(d,0x03); | ||||
|   arr_append(d,par->local_id&0xff); | ||||
|   arr_append(d,0xff);// 在线的小板 | ||||
|   arr_append(d,0x03); | ||||
|   arr_append(d,slave_online&0xff);// 在线的小板 | ||||
|   arr_append(d,(slave_online>>8)&0xff); | ||||
|   emit coder2_live_send_signal(p,0x8a,arr_temp(d)); | ||||
| } | ||||
|  | ||||
| @@ -397,7 +401,7 @@ static void init_for_tcp(void *t) | ||||
|     live->timer=rt_timer_create("live_t",live_send,live, | ||||
|       rt_tick_from_millisecond(1000), | ||||
|       RT_TIMER_FLAG_PERIODIC|RT_TIMER_FLAG_SOFT_TIMER); | ||||
|     protu_codec_set(protu,protu_find_codec("ym_coder")); | ||||
|     protu_codec_set(protu,protu_find_codec("ym_checker")); | ||||
|     connect(tcp,tcp_connect_signal,0,live,live_connect); | ||||
|     connect(tcp,tcp_recv_signal,0,live,live_recv); | ||||
|     connect(live,coder2_live_send_signal,0,protu,protu_send_call); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ranchuan
					ranchuan