修改can总线上传延时算法
This commit is contained in:
@@ -299,7 +299,7 @@
|
||||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
@@ -344,7 +344,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U52FF6E065266545441081687 -O206 -SF500 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
<Name>-U52FF6E065266545441081687 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -550,7 +550,7 @@
|
||||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@@ -571,6 +571,13 @@ void JQ_FastDisChage(uint8_t sw)
|
||||
cmd_buf[1] = sw;
|
||||
JQ_SendBroadCast(cmd_buf,2);
|
||||
}
|
||||
//@brief 检桥丝
|
||||
void JQ_BridgeWire(void)
|
||||
{
|
||||
static uint8_t cmd_buf[1] = {0x8E};
|
||||
JQ_SendBroadCast(cmd_buf,1);
|
||||
}
|
||||
|
||||
//@brief 复位
|
||||
void JQ_Reset(void)
|
||||
{
|
||||
|
@@ -101,6 +101,8 @@ static void elec_task_judge(elec_judge_def *e,int index,uint8_t *data)
|
||||
if(temp<task->range[i].min||temp>task->range[i].max){
|
||||
elec_add_errcode(e,task->range[i].err);
|
||||
DBG_WARN("task ret_index:%d vaule=%d,err:%d",i,temp,task->range[i].err);
|
||||
}else{
|
||||
// DBG_LOG("task ret_index:%d vaule=%d",i,temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -6,8 +6,8 @@
|
||||
|
||||
|
||||
|
||||
#define BUILD_DATE "2024-01-12 15:13:50"
|
||||
#define SOFT_VERSION "2.13"
|
||||
#define BUILD_DATE "2024-01-18 15:29:08"
|
||||
#define SOFT_VERSION "2.14"
|
||||
|
||||
|
||||
|
||||
|
@@ -101,6 +101,20 @@ static int test(list_def *argv)
|
||||
|
||||
|
||||
|
||||
static int debug_en(list_def *argv)
|
||||
{
|
||||
if(list_length(argv)<2){
|
||||
cmd_print("param num too less.");
|
||||
return -1;
|
||||
}
|
||||
int en=str_atoi(list_get_str(argv,1));
|
||||
debug_enable(en);
|
||||
cmd_print("debug_en:%d",en);
|
||||
return 0;
|
||||
}
|
||||
commend_export(debug,debug_en,"enable or disable debug log.")
|
||||
|
||||
|
||||
|
||||
static int scheme_info(list_def *argv)
|
||||
{
|
||||
|
@@ -7,7 +7,7 @@ import mycopy
|
||||
|
||||
|
||||
# 定义软件版本号
|
||||
SOFT_VERION = "2.13"
|
||||
SOFT_VERION = "2.14"
|
||||
|
||||
|
||||
|
||||
|
@@ -46,6 +46,7 @@ typedef struct{
|
||||
struct rt_mutex mutex;
|
||||
#endif
|
||||
uart_def *uart;
|
||||
int enable;
|
||||
}self_def;
|
||||
|
||||
static self_def g_data;
|
||||
@@ -89,12 +90,29 @@ void debug_log(const char *file,const char *fun,int line,int level,const char *f
|
||||
va_end(args);
|
||||
memcpy(&log_buf[length],"\r\n",2);
|
||||
length+=2;
|
||||
if(g_data.enable!=0){
|
||||
DBG_DEV_WRITE((const uint8_t *)log_buf,length);
|
||||
}
|
||||
#ifdef RT_THREAD
|
||||
rt_mutex_release(&g_data.mutex);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void debug_enable(int enable)
|
||||
{
|
||||
g_data.enable=enable;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void debug_enable(int enable)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@@ -61,6 +61,8 @@ int debug_init(void);
|
||||
|
||||
void debug_log(const char *file,const char *fun,int line,int level,const char *fmt, ...);
|
||||
|
||||
void debug_enable(int enable);
|
||||
|
||||
#else
|
||||
|
||||
#define debug_init()
|
||||
|
@@ -312,21 +312,14 @@ static int protu_send_ontime(protu_def *p,send_pkt_def *s)
|
||||
// 每ms传输的字节数为253/23=11,
|
||||
// 考虑can总线自动重传保留1/3的余量
|
||||
int wnd_tick=((arr_length(s->t)+4)/5+2);
|
||||
int delay=tick%(wnd_tick*(p->num));
|
||||
int delay=wnd_tick*(p->num);
|
||||
int gap=p->rank*wnd_tick;
|
||||
int ret=0;
|
||||
if(delay<=gap){
|
||||
delay=gap-delay;
|
||||
}else{
|
||||
delay=gap+(wnd_tick*(p->num))-delay;
|
||||
}
|
||||
if(p->silent!=0){
|
||||
// 广播命令在指定时间窗口发送
|
||||
//later_execute(protu_send_later,s,delay);
|
||||
g_send_pkt.wnd_tick=wnd_tick;
|
||||
g_send_pkt.gap=gap;
|
||||
while(p->timer->read(p->timer)<(tick+delay));
|
||||
// protu_send_later(s);
|
||||
while((p->timer->read(p->timer)%delay)!=gap);
|
||||
g_send_pkt.send_tick_ms=p->timer->read(p->timer);
|
||||
ret= protu_send(s->p,s->t,wnd_tick-1);
|
||||
g_send_pkt.send_end_tick_ms=p->timer->read(p->timer);
|
||||
|
Reference in New Issue
Block a user