上位机限制型号及硬件版本

This commit is contained in:
sunbeam 2024-12-11 14:18:42 +08:00
parent 55c97598a0
commit 58934cc434
4 changed files with 40 additions and 11 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<project ver="10" name="CAN_Bootloader" libEmbed="true" icon="..." ui="win" output="CAN_Bootloader.exe" CompanyName="单位名称" FileDescription="CAN_Bootloader" LegalCopyright="Copyright (C) 作者 2022" ProductName="CAN_Bootloader" InternalName="CAN_Bootloader" FileVersion="0.0.0.6" ProductVersion="0.0.0.6" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<project ver="10" name="CAN_Bootloader" libEmbed="true" icon="..." ui="win" output="CAN_Bootloader.exe" CompanyName="单位名称" FileDescription="CAN_Bootloader" LegalCopyright="Copyright (C) 作者 2022" ProductName="CAN_Bootloader" InternalName="CAN_Bootloader" FileVersion="0.0.0.7" ProductVersion="0.0.0.7" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<file name="main.aardio" path="main.aardio" comment="main.aardio"/>
<folder name="资源文件" path="res" embed="true" local="false" ignored="false"/>
<folder name="窗体文件" path="dlg" comment="目录" embed="true" local="false" ignored="false">

View File

@ -223,7 +223,7 @@ var FuncSendPackage = function(){
while(#Packdata > 0)
{
//sleep(1);
delay(1);
delay(0.5);
var data = {PackNext,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC};
var max = #Packdata > 7 ? 7 : #Packdata;
for(i=1;max;1){

View File

@ -11,7 +11,7 @@ FuncReadDID = function(did){
//console.log("ret = " + ret);
//FuncDisplay("did = " + tostring(did,16));
}
g22data = {};
//接收
FuncDiag22Pro = function(data){
//console.log("诊断22服务")
@ -31,10 +31,12 @@ FuncDiag22Pro = function(data){
case 0xF193 {
FuncDisplay("硬件版本号");
FuncDisplay(string.str(string.pack(table.slice(data,3))));
g22data["F193"] = string.str(string.pack(table.slice(data,3)));
}
case 0xF195 {
FuncDisplay("软件版本号");
FuncDisplay(string.str(string.pack(table.slice(data,3))));
g22data["F195"] = string.str(string.pack(table.slice(data,3)));
}
case 0xF191 {
FuncDisplay("编译时间");
@ -43,6 +45,7 @@ FuncDiag22Pro = function(data){
case 0xF187 {
FuncDisplay("ECU系统名称");
FuncDisplay(string.str(string.pack(table.slice(data,3))));
g22data["F187"] = string.str(string.pack(table.slice(data,3)));
}
case 0xF198 {

View File

@ -204,12 +204,26 @@ FuncBootSeq = function(){
boottime = 1;
if(sendstate == 0){
//FuncSendBlockInit(0);
FuncReadDID(0xF186);
g22data = {};
FuncReadDID(0xF187);
FuncClearState();
}
else {
var ret = FuncWait(0x22);
nextstate(0);
if(g22data["F187"]!= null){
if(g22data["F187"] == "RP-01"){
nextstate(0);
}
else {
FuncDisplay("型号错误");
FuncStopBoot();
thread.command.$SendEnd(false);
boottimer.disable();
}
}
}
}
case 1 {
@ -228,8 +242,20 @@ FuncBootSeq = function(){
FuncClearState();
}
else {
//var ret = FuncWait(0x22);
nextstate(0);
var ret = FuncWait(0x22);
if(g22data["F193"]!= null){
if(g22data["F193"] == "HW01"){
nextstate(0);
}
else {
FuncDisplay("硬件错误");
FuncStopBoot();
thread.command.$SendEnd(false);
boottimer.disable();
}
}
}
}
case 3 {
@ -411,8 +437,8 @@ FuncBootSeq = function(){
}
else {
delaycount += 1;
if(delaycount > 100){
nextstate(0);//延时1S
if(delaycount > 10){
nextstate(0);//延时0.1S
}
}
@ -420,7 +446,7 @@ FuncBootSeq = function(){
case 20 {
if(sendstate == 0){//复位
FuncClearState();
FuncReq11(0x03);
FuncReq11(0x01);
}
else {
var ret = FuncWait(0x11);
@ -435,7 +461,7 @@ FuncBootSeq = function(){
}
else {
delaycount += 1;
if(delaycount > 200){
if(delaycount > 20){
nextstate(0);//延时1S
}