增加自适应速度,增加重复尝试次数
This commit is contained in:
parent
927b90c4eb
commit
7e3e411ac1
@ -163,7 +163,7 @@ autoconnect.onTimer = function(){
|
|||||||
sleep(20);
|
sleep(20);
|
||||||
if(#thrdTable.设备 > 0){
|
if(#thrdTable.设备 > 0){
|
||||||
Display(thrdTable.设备[1].name);
|
Display(thrdTable.设备[1].name);
|
||||||
::PostThreadMessage(thrdId,101,1,0x00);//连接 0x80 -> CANFD
|
::PostThreadMessage(thrdId,101,1,0x80);//连接 0x80 -> CANFD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -80,6 +80,20 @@ FuncReadDeviceVersion = function(id){
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
var delay_const = 100000;
|
||||||
|
DelayTest = function(){
|
||||||
|
import time.performance;
|
||||||
|
var tk = time.performance.tick();
|
||||||
|
for(i=1;1000000;1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
var tk2 = time.performance.tick();
|
||||||
|
tk2 = tk2 - tk;
|
||||||
|
delay_const = math.ceil(1000000*(1/tk2));
|
||||||
|
FuncDisplay(delay_const);
|
||||||
|
//console.log(delay_const);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FuncSetCANID = function(req,resp){
|
FuncSetCANID = function(req,resp){
|
||||||
@ -253,7 +267,7 @@ FuncStartBoot = function(id){
|
|||||||
|
|
||||||
var delay = function(w){
|
var delay = function(w){
|
||||||
while(w){
|
while(w){
|
||||||
for(i=1;50000;1)
|
for(i=1;delay_const;1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
w -= 1;
|
w -= 1;
|
||||||
@ -267,7 +281,7 @@ var FuncSendPackage = function(){
|
|||||||
while(#Packdata > 0)
|
while(#Packdata > 0)
|
||||||
{
|
{
|
||||||
//sleep(1);
|
//sleep(1);
|
||||||
delay(2);
|
delay(1);
|
||||||
var data = {PackNext,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC};
|
var data = {PackNext,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC};
|
||||||
var max = #Packdata > 7 ? 7 : #Packdata;
|
var max = #Packdata > 7 ? 7 : #Packdata;
|
||||||
for(i=1;max;1){
|
for(i=1;max;1){
|
||||||
@ -356,5 +370,5 @@ timer1.onTimer = function(){
|
|||||||
FuncLoadAPPFile();
|
FuncLoadAPPFile();
|
||||||
timer1.enable();
|
timer1.enable();
|
||||||
FuncDisplay("CAN线程正在运行");
|
FuncDisplay("CAN线程正在运行");
|
||||||
|
DelayTest();
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ var bootstate = 0;
|
|||||||
var bootcount = 0;
|
var bootcount = 0;
|
||||||
var sendstate = 0;
|
var sendstate = 0;
|
||||||
var senddataid = 0;
|
var senddataid = 0;
|
||||||
|
var repeat_times = 0;
|
||||||
FuncWait = function(sid){
|
FuncWait = function(sid){
|
||||||
if(RespState == (sid + 0x40)){//正响应
|
if(RespState == (sid + 0x40)){//正响应
|
||||||
//bootcount = 0;
|
//bootcount = 0;
|
||||||
@ -37,6 +38,12 @@ FuncWait = function(sid){
|
|||||||
boottimer.disable();
|
boottimer.disable();
|
||||||
return 3;//超时
|
return 3;//超时
|
||||||
}
|
}
|
||||||
|
if(sid==0x2e && repeat_times < 5 && bootcount > 100){
|
||||||
|
repeat_times++;
|
||||||
|
bootcount = 0;
|
||||||
|
repeat_times++;
|
||||||
|
sendstate = 0;
|
||||||
|
}
|
||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,6 +61,7 @@ FuncInitBootState = function(id){
|
|||||||
bootcount = 0;
|
bootcount = 0;
|
||||||
sendstate = 0;
|
sendstate = 0;
|
||||||
senddataid = id;
|
senddataid = id;
|
||||||
|
repeat_times = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -504,7 +512,7 @@ FuncBootSeq = function(){
|
|||||||
//nextstate(0);
|
//nextstate(0);
|
||||||
|
|
||||||
if(sendstate == 0){
|
if(sendstate == 0){
|
||||||
FuncReq10(true,0x01);//进入默认会话
|
FuncReq10(false,0x01);//进入默认会话
|
||||||
FuncClearState();
|
FuncClearState();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -513,6 +521,34 @@ FuncBootSeq = function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
case 23 {
|
||||||
|
if(sendstate == 0){
|
||||||
|
FuncDisplay("读取版本");
|
||||||
|
FuncReadDID(0xF195);//读取软件版本
|
||||||
|
FuncClearState();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
delaycount++;
|
||||||
|
if(delaycount > 5){
|
||||||
|
nextstate(0);
|
||||||
|
delaycount = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 24 {
|
||||||
|
if(sendstate == 0){
|
||||||
|
FuncDisplay("读取软件日期");
|
||||||
|
FuncReadDID(0xF18A);//读取软件版本
|
||||||
|
FuncClearState();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
delaycount++;
|
||||||
|
if(delaycount > 5){
|
||||||
|
nextstate(0);
|
||||||
|
delaycount = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
thread.command.$SendEnd(true);
|
thread.command.$SendEnd(true);
|
||||||
//FuncDisplay("刷写完成,用时 " + boottime/100 + " S")
|
//FuncDisplay("刷写完成,用时 " + boottime/100 + " S")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user