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