var BT_OPER_ID = 1; var BT_OPER_SENDDATAS = 2; var BT_OPEN_CMD = 1; var BT_CHHOICE_CMD = 2; var BT_BEEP_CMD = 3; var BT_MES_AUTO_CLEAN = 5000; var bt_mes_count = 0; var BTBtnTask_Busy = 0; var BTMesgBox; var BTMesgBoxCountLabel; var BTMesgBoxErrorCountLable; var BTMesScrollFlag = 1; var BTChoiceDiaID = -1; var BTRWRegDiaID = -1; var es_qthandle = null; var MesgType = { MESG_TYPE_OK : 0, MESG_TYPE_WARING : 1, MESG_TYPE_ERROR : 2, MESG_TYPE_INFO : 3, MESG_TYPE_BEATH : 4, }; var Error_count = 0; var Info_count = 0; var BtOper_Json={ uid:"123456789", pwd:"12345678", setdelay:10, commaddr:21, recovertime:20000, opercmd:1, amendv:-1, waitack:true, waittimeout:1000, beguid:"123456789", state_str:"", state_v:[], cfir_v:0,//起爆电容电压 bus_v:0,//总线电压 bus_c:0,//总线电流 bat_v:0,//电池电压 busmode:2,//总线模式 heartbeat:1,//心跳包 inspect_buf:[],//巡检结果数组 firmware:"",//固件版本号 begaddr:21,//循环操作的起始地址 begdelay:50,//循环设置延时的起始值 delaysetp:50,//延时设置步进值 groupcount:1,//单次循环个数 rundelay:1000, //循环延时 amendcount:400, inspectcount:400, cycletimes:50, netcount:400, cmdbuf:[], setparam:[], cycletest:0, }; function BTErrorCount(count) { Error_count += count; var obj = $("#btmeserrorcount")[0]; obj.innerHTML = "错误:"+Error_count; } function BTInfoCount(count) { var obj = $("#btmescount")[0]; Info_count += count; obj.innerHTML = "条目:"+Info_count; } function BTChoice(json_info) { var content =''; console.log(json_info); json_info = eval("("+json_info+")");; if(json_info ==null || json_info == undefined) { ShowCommMes("没有获取到设备信息"); return; } json_info = json_info.btinfo_list; content += '
'; content += '
'; if(BTChoiceDiaID > 0) { layer.close(BTChoiceDiaID); } BTChoiceDiaID = layer.open({ type: 1, content:content, title: "选择蓝牙设备", shade:0.6, moveType: 1, btnAlign: 'c', maxHeight:450, maxWidth:400, minWidth:350, }); } function BtRWRegDia() { var content = '
'; content += '
'; content += '
寄存器地址:
'; content += '
寄存器长度:
'; content += '
通信地址
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
'; content += '
1234
' //content += '
'; //content += '
'; //content += '
'; //content += '
'; content += '
'; if(BTRWRegDiaID > 0) { layer.close(BTRWRegDiaID); } BTRWRegDiaID = layer.open({ type: 1, content:content, title: "读写寄存器", shade:0.6, moveType: 1, btnAlign: 'c', maxHeight:550, minWidth:350, }); } function StopScroll() { if( BTMesScrollFlag < 1) { BTMesScrollFlag = 1; }else{ BTMesScrollFlag = 0; } } //显示普通信息 function ShowCommMes(commmes , mestype, logflag) { var log_time = getDateTime(); commmes = log_time+" "+commmes; var para=document.createElement("p"); var node=document.createTextNode(commmes); para.appendChild(node); bt_mes_count++; if(bt_mes_count > BT_MES_AUTO_CLEAN) { BTMesgBox.innerHTML = ""; bt_mes_count = 0; return ; } if(mestype == undefined || mestype == null) para.style = "color: #0b71af; font-size: 18px; word-wrap: break-word; word-break: break-all; overflow: hidden;"; else{ var style_str = "color: "; switch(mestype) { case MesgType.MESG_TYPE_INFO: style_str += "#0b71af ;";break; case MesgType.MESG_TYPE_ERROR: style_str += "#e60619 ;";break; case MesgType.MESG_TYPE_OK: style_str += "#138422 ;";break; default:style_str += "#0b71af ;";break; } style_str += " font-size: 18px; word-wrap: break-word; word-break: break-all; overflow: hidden;" para.style = style_str ; } BTMesgBox.appendChild(para); if(BTMesScrollFlag > 0) { BTMesgBox.scrollTop = BTMesgBox.scrollHeight; } if(!(logflag == undefined || logflag == null)) { if((es_qthandle != null) && (es_qthandle != undefined)&& (logflag > 0)) { if(mestype == MesgType.MESG_TYPE_ERROR) { es_qthandle.WriteLogMes(1,commmes); }else{ es_qthandle.WriteLogMes(0,commmes); } } } } function ShowJsonMes(commmes) { var mes = JSON.parse(commmes); mes = String.fromCharCode.apply(null,mes); console.log("ShowJsonMes "); ShowCommMes(mes,MesgType.MESG_TYPE_INFO); } //选择蓝牙设备回调函数 function BtItem(index) { var data = { "oper_id" : BT_OPER_ID, "oper_cmd" : BT_CHHOICE_CMD, "choice_index" :index }; //关闭设备选择对话框 layer.close(BTChoiceDiaID); BtTranstoAndroid(BT_OPER_ID,data); } function BtBeep() { var data = { "oper_id" : BT_OPER_ID, "oper_cmd" : BT_BEEP_CMD, }; BtTranstoAndroid(BT_OPER_ID,data); } function BtMesClean() { BTMesgBox.innerHTML = ""; var obj = $("#btmeserrorcount")[0]; obj.innerHTML = "错误:0"; obj = $("#btmescount")[0]; obj.innerHTML = "条目:0"; Error_count = 0; Info_count = 0; bt_mes_count = 0; } function BtTranstoAndroid(opr_id,data) { var json_str = JSON.stringify(data); console.log(json_str); if( typeof(window.EproCmd) != "undefined" && window.EproCmd != null ) { window.EproCmd.JstoAndroid(opr_id,json_str); }else if( typeof(es_qthandle) != "undefined" && es_qthandle != null ) { es_qthandle.JS2QtCmd_Str(opr_id,json_str); } } function BtSwitch() { ShowCommMes("点击"); var data = { "oper_id" : BT_OPER_ID, "oper_cmd" : BT_OPEN_CMD }; BtTranstoAndroid(BT_OPER_ID,data) } function ShowRWRegDia() { BtRWRegDia(); } function BTCommInit() { BTMesgBox = $("#btmesarea")[0]; BTMesgBoxCountLabel = $("#btmescount")[0]; BTMesgBoxErrorCountLable = $("#btmeserrorcount")[0]; console.log("BTCommInit Begin ---"); if(typeof(qchannel) != "undefined" && qchannel != null ) { es_qthandle = qchannel.objects.es_qthandle; eshot_qthandle = es_qthandle; if(es_qthandle != null) { console.log("BTCommInit OK ---"); console.log(es_qthandle); }else{ console.log("BTCommInit ERROR ---"); } /* if((typeof(qthandle) != "undefined") && (qthandle != null) ) { console.log(" QWebChannel qthandle"); qthandle.ShowCommMes.connect(function(mesg,type){ ShowCommMes(mesg,type); }); qthandle.BTChoice.connect(function(jsoninfo){ console.log("qthandle BTChoice"); BTChoice(jsoninfo); }); qthandle.BtRecFrame.connect(function(jsoninfo){ console.log("qthandle BtRecFrame"); BtRecFrame(jsoninfo); }); }*/ if((typeof(eshot_qthandle) != "undefined") && (eshot_qthandle != null) ) { eshot_qthandle.ShowCommMes.connect(function(mesg,type){ ShowCommMes(mesg,type); }); eshot_qthandle.LoadJsPlugin.connect(function(file_name,pluginfun){ console.log("eshot_qthandle.LoadJsPlugin ---"); logJsPlugin(file_name,pluginfun); }); } } } async function BtCmdBtn(cmd) { if(BTBtnTask_Busy > 0) { ShowCommMes("继续上一个任务。。。",MesgType.MESG_TYPE_WARING); return ; } BTBtnTask_Busy = 1; if(cmd == 0xFFFF) //显示更多功能 { BTBtnTask_Busy = 0; return; }else if(cmd > 0xFF) { var param = ((cmd >> 8) & 0x0FF) - 1; cmd &= 0xFF; BtOper_Json.setparam[0] = param; } BtOper_Json.opercmd = cmd; BtGetInputInfo(); console.log("BtCmdBtn") await SendCmd(true); BTBtnTask_Busy = 0; } async function BtMoreFunBtn() { /* if (typeof(eval(Local_More)) == "function") { Local_More(); }*/ var html_str = loadPage("./load_test.html"); console.log(html_str); } function BtSendBytes(cmd_buf,logflag) { var json_cmd = JSON.stringify(cmd_buf); if( typeof(window.EproCmd) != "undefined" && window.EproCmd != null ) { window.EproCmd.JSBTSendBytes(json_cmd); }else if( typeof(qthandle) != "undefined" && qthandle != null ) { qthandle.JSBTSendBytes(json_cmd); } if(logflag) { var log_mes = Bytes2Str(cmd_buf); log_mes = "Tx: "+ log_mes; ShowCommMes(log_mes,MesgType.MESG_TYPE_INFO); } } function BtRecFrame(fram_json) { console.log("BtRecFrame ########"); console.log(fram_json) var frame = JSON.parse(fram_json); EShotCmdRecv(frame); } function CycleTestBtn() { var btnobj = $("#BtCycletest"); if(BtOper_Json.cycletest > 0) { BtOper_Json.cycletest = 0; btnobj.removeClass("layui-btn-warm"); }else{ BtOper_Json.cycletest = 1; btnobj.addClass("layui-btn-warm"); } } function BtGetInputInfo() { BtOper_Json.uid = $("#bt_input_uid").val(); BtOper_Json.pwd = $("#bt_input_pwd").val(); BtOper_Json.commaddr = parseInt($("#bt_input_addr").val()); BtOper_Json.setdelay = parseInt($("#bt_input_delay").val()); BtOper_Json.recovertime =parseInt($("#bt_input_delay").val()); BtOper_Json.begaddr = parseInt( $("#bt_input_bgaddr").val()); BtOper_Json.beguid = $("#bt_input_bguid").val(); BtOper_Json.begdelay = parseInt($("#bt_input_bgdelay").val()); BtOper_Json.delaysetp = parseInt($("#bt_input_delaystep").val()); BtOper_Json.rundelay = parseInt($("#bt_input_rundelay").val()); BtOper_Json.amendcount = parseInt($("#bt_input_amendtotal").val()); BtOper_Json.inspectcount = parseInt($("#bt_input_inspecttotal").val()); BtOper_Json.groupcount = parseInt($("#bt_input_groupcount").val()); //BtOper_Json.netcount = parseInt($("#bt_input_netcount").val()); if(BtOper_Json.cycletest > 0) BtOper_Json.cycletimes = parseInt($("#bt_input_cycletimes").val()); else BtOper_Json.cycletimes = 1; //console.log(BtOper_Json); } function ShowBtUID(uid) { $("#bt_input_uid").val(uid); } function ShowBtPWD(pwd) { $("#bt_input_pwd").val(pwd); } function ShowBtAddr(addr) { $("#bt_input_addr").val(addr); } function ShowBtDelay(delay) { $("#bt_input_delay").val(delay); } function ShowBtState(state_str) { $("#bt_input_sysstate").val(state_str); } function ShowBtAmendV(amendv) { $("#bt_input_amendv").val(amendv); } function ShowBtFirmware(firmware) { $("#bt_input_firmware").val(firmware); } function ShowBtBusV(busv) { $("#bt_input_busv").val(busv); } function SwitchBusMode(type) { var btnobj = $("#busmodebtn"); if(type == 1) { btnobj.text("关总线"); btnobj.removeClass("layui-btn-normal"); }else{ btnobj.text("开总线"); btnobj.addClass("layui-btn-normal"); } } function SwitchHartBeat(type) { var btnobj = $("#hartbeatbtn"); if(type == 1) { btnobj.text("关心跳"); btnobj.addClass("layui-btn-normal"); }else{ btnobj.text("开心跳"); btnobj.removeClass("layui-btn-normal"); } }