295 lines
7.6 KiB
JavaScript
295 lines
7.6 KiB
JavaScript
var epe_oper = {
|
||
net_sw:0,
|
||
comm_port: "",
|
||
comm_baud: "",
|
||
comm_parity: -1,
|
||
comm_stopbit: -1,
|
||
server_ip:"192.1678.60.11",
|
||
server_port:"20570",
|
||
client_port:"20570",
|
||
master_firmware:"",
|
||
jcxb_firmware:"",
|
||
checker_plan:"",
|
||
ew_code:"",
|
||
readack_addr:0,
|
||
master_runapp_key:[],
|
||
jcxb_runapp_key:[],
|
||
}
|
||
var epe_qthandle = null;
|
||
|
||
function Epe_Start_Comm() {
|
||
console.log("Epe_Start_Comm ");
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.SearchCommport();
|
||
console.log("SearchCommport ");
|
||
}
|
||
}
|
||
function Epe_Open_CommPort(main_serial) {
|
||
epe_oper.comm_port = main_serial.comm_port;
|
||
epe_oper.comm_baud = main_serial.comm_baud;
|
||
epe_oper.comm_parity = main_serial.comm_parity;
|
||
epe_oper.comm_stopbit = main_serial.comm_stopbit;
|
||
|
||
Main_Close_CommPort_Select();
|
||
var json_str = JSON.stringify(epe_oper);
|
||
console.log(json_str);
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.OpenCommPort(json_str);
|
||
}
|
||
}
|
||
|
||
function EPe_ConectNet_SW()
|
||
{
|
||
var obj_btn = $("#epe_net_swbtn")[0];
|
||
epe_oper.server_ip = $('#epe_server_ip').val();
|
||
epe_oper.server_port =parseInt($('#epe_server_port').val());
|
||
epe_oper.client_port =parseInt($('#epe_client_port').val());
|
||
if(epe_oper.net_sw == 1)
|
||
{
|
||
obj_btn.innerText = "启动网络";
|
||
epe_oper.net_sw = 0;
|
||
}else{
|
||
epe_oper.net_sw = 1;
|
||
obj_btn.innerText = "关闭网络" ;
|
||
}
|
||
var json_str = JSON.stringify(epe_oper);
|
||
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
console.log(json_str);
|
||
epe_qthandle.Epe_NetConnect(json_str);
|
||
}
|
||
}
|
||
|
||
function Epe_OpenMasterFirmware()
|
||
{
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_OpenMasterFirmware();
|
||
}
|
||
|
||
}
|
||
function Epe_OpenJCXBFirmware()
|
||
{
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_OpenJCXBFirmware();
|
||
}
|
||
}
|
||
|
||
function Epe_OpenCheckerPlan()
|
||
{
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_OpenCheckerPlan();
|
||
}
|
||
}
|
||
function Epe_OpenEwCode()
|
||
{
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_OpenEwCode();
|
||
}
|
||
}
|
||
|
||
function Epe_Init() {
|
||
console.log("Epe_Init ---");
|
||
if (typeof(qchannel) != "undefined" && qchannel != null) {
|
||
if(epe_qthandle != null && typeof(epe_qthandle) != "undefined")
|
||
{
|
||
console.log("Epe_Inited OK ---");
|
||
}else{
|
||
|
||
epe_qthandle = qchannel.objects.epe_qthandle;
|
||
if ((typeof(epe_qthandle) != "undefined") && (epe_qthandle != null)) {
|
||
console.log("Epe_Init OK ---");
|
||
epe_qthandle.ShowCommMes.connect(function(mesg, type) {
|
||
ShowCommMes(mesg, type);
|
||
|
||
});
|
||
epe_qthandle.Epe_ShowMastFireware.connect(function(filepath) {
|
||
epe_oper.master_firmware = filepath;
|
||
$('#epe_master_firmware').val(epe_oper.master_firmware);
|
||
});
|
||
epe_qthandle.Epe_ShowJCXBFireware.connect(function(filepath) {
|
||
epe_oper.jcxb_firmware = filepath;
|
||
$('#epe_jcxb_firmware').val(epe_oper.jcxb_firmware);
|
||
});
|
||
epe_qthandle.Epe_ShowCheckerPlan.connect(function(filepath) {
|
||
epe_oper.checker_plan = filepath;
|
||
$('#epe_checker_plan').val(epe_oper.checker_plan);
|
||
});
|
||
epe_qthandle.Epe_ShowEwCode.connect(function(filepath) {
|
||
epe_oper.ew_code = filepath;
|
||
$('#epe_ewcode_file').val(epe_oper.ew_code);
|
||
});
|
||
epe_qthandle.ShowCommport.connect(function(jsoninfo) {
|
||
Main_ShowCommport(jsoninfo);
|
||
});
|
||
epe_qthandle.Epe_RecCrcFilelen.connect(function(type,jsoninfo) {
|
||
var frame = JSON.parse(jsoninfo);
|
||
var mes = "App跳转信息: "+ Bytes2Str(frame);
|
||
ShowCommMes(mes,MesgType.MESG_TYPE_INFO);
|
||
if(type == 1)
|
||
{
|
||
epe_oper.master_runapp_key = frame;
|
||
}else if(type == 2)
|
||
{
|
||
epe_oper.jcxb_runapp_key = frame;
|
||
}
|
||
});
|
||
epe_qthandle.EPeComm_Recive.connect(function(jsoninfo) {
|
||
EPeComm_Recive(jsoninfo);
|
||
});
|
||
}
|
||
|
||
}
|
||
}
|
||
EPe_ShowDef();
|
||
for(var i = 0; i < 16; i++)
|
||
{
|
||
epe_oper.master_runapp_key[i] = 0x0FF;
|
||
}
|
||
}
|
||
|
||
function EPe_ShowDef()
|
||
{
|
||
$('#epe_m_firmware').val(epe_oper.master_firmware);
|
||
$('#epe_jcxb_firmware').val(epe_oper.jcxb_firmware);
|
||
$('#epe_readack_addr').val(Byte2Hex(epe_oper.readack_addr));
|
||
$('#epe_ewcode_file').val(epe_oper.ew_code);
|
||
}
|
||
|
||
function EPeComm_Recive(jsoninfo)
|
||
{
|
||
var frame = JSON.parse(jsoninfo);
|
||
var frame_str = "Rx: " + Bytes2Str(frame);
|
||
ShowCommMes(frame_str, MesgType.MESG_TYPE_INFO);
|
||
if(frame[5] == 0xFB && frame[6] == 0x01)
|
||
{
|
||
var addr_buf = [];
|
||
addr_buf[0] = frame[4];
|
||
var mes = "地址 0x"+ Bytes2Str(addr_buf)+" 在线";
|
||
ShowCommMes(mes, MesgType.MESG_TYPE_INFO);
|
||
}
|
||
}
|
||
var Epe_Cmd_Head = "Ym";
|
||
function Epe_SendCmd(cmd_buf) {
|
||
|
||
var buf = Str2Bytes(Epe_Cmd_Head);
|
||
buf[2] = 0; //数据长度
|
||
buf[3] = 0;
|
||
for (var index = 0; index < cmd_buf.length; index++) {
|
||
buf[4 + index] = cmd_buf[index];
|
||
}
|
||
buf[buf.length] = 0;
|
||
buf[2] = buf.length & 0x0FF;
|
||
buf[3] = (buf.length >> 8) & 0x0FF;
|
||
buf[buf.length-1] = Epj_CalcCrc8(buf,buf.length-1);
|
||
var json_str = JSON.stringify(buf);
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_SendData(json_str);
|
||
}
|
||
var mes = "Tx:" + Bytes2Str(buf);
|
||
ShowCommMes(mes, MesgType.MESG_TYPE_INFO);
|
||
}
|
||
|
||
async function Epe_DownLoadMaster()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFE;//擦除代码空间
|
||
Epe_SendCmd(cmdbuf);
|
||
await TransSleep(5000);
|
||
ShowCommMes("擦除代码备份区", MesgType.MESG_TYPE_INFO);
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_DownLoadMaster(epe_oper.master_firmware,"0x08080010",commaddr);
|
||
}
|
||
}
|
||
|
||
async function Epe_JCXBJumpBoot()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFA;//运行BootLoader;
|
||
Epe_SendCmd(cmdbuf);
|
||
ShowCommMes("跳转BootLoader", MesgType.MESG_TYPE_INFO);
|
||
await TransSleep(1000);
|
||
}
|
||
|
||
async function Epe_UpdateJCXB()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFE;//擦除代码空间
|
||
Epe_SendCmd(cmdbuf);
|
||
await TransSleep(2000);
|
||
ShowCommMes("擦除代码空间", MesgType.MESG_TYPE_INFO);
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
epe_qthandle.Epe_UpdateJCXB(epe_oper.jcxb_firmware,"0x08003000",commaddr);
|
||
}
|
||
}
|
||
|
||
async function Epe_ReadAck()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFB;//在线闻讯
|
||
Epe_SendCmd(cmdbuf);
|
||
}
|
||
|
||
async function Epe_JCXBRunApp()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFC;//跳转App
|
||
for(var i = 0; i < 12;i++ )
|
||
{
|
||
cmdbuf[i+2] = epe_oper.jcxb_runapp_key[i];
|
||
}
|
||
Epe_SendCmd(cmdbuf);
|
||
}
|
||
|
||
|
||
async function Epe_ReloadMaster()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0xFC;//跳转App
|
||
for(var i = 0; i < 12;i++ )
|
||
{
|
||
cmdbuf[i+2] = epe_oper.master_runapp_key[i];
|
||
}
|
||
Epe_SendCmd(cmdbuf);
|
||
}
|
||
|
||
async function Epe_MasterYmExist()
|
||
{
|
||
var commaddr = parseInt($('#epe_readack_addr').val(),16);
|
||
var cmdbuf = [];
|
||
cmdbuf[0] = commaddr;
|
||
cmdbuf[1] = 0x03;//跳转App
|
||
Epe_SendCmd(cmdbuf);
|
||
}
|
||
|
||
function Epe_DownPlan()
|
||
{
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
//epe_qthandle.Epe_DownPlan( epe_oper.checker_plan,0x800F400);
|
||
epe_qthandle.Epe_DownPlan( epe_oper.checker_plan,0x803F000);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
function Epe_DownEwCode()
|
||
{
|
||
|
||
if (typeof(epe_qthandle) != "undefined" && epe_qthandle != null) {
|
||
//epe_qthandle.Epe_DownPlan( epe_oper.checker_plan,0x800F400);
|
||
epe_oper.ew_code = $('#epe_ewcode_file').val();
|
||
epe_qthandle.Epe_DownEwCode( epe_oper.ew_code,0x803B000);
|
||
}
|
||
}
|