feat: 新增配置命令
This commit is contained in:
parent
3b20c2396e
commit
6a529180ad
@ -98,6 +98,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<button class="layui-btn" id="btn-rtk-start" type="button">开始定位</button>
|
<button class="layui-btn" id="btn-rtk-start" type="button">开始定位</button>
|
||||||
|
<button class="layui-btn layui-btn-warm" id="btn-connect-cmd" type="button">连接设备通讯通道</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-primary" type="button" id="btn-cmd-open-rtcm">博通开所有RTCM</button>
|
||||||
|
<button class="layui-btn layui-btn-primary" type="button" id="btn-cmd-close-4065">博通关4065</button>
|
||||||
|
<button class="layui-btn layui-btn-primary" type="button" id="btn-cmd-msm4">RTCM MSM4</button>
|
||||||
|
<button class="layui-btn layui-btn-primary" type="button" id="btn-cmd-save">博通save</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@ -106,7 +115,7 @@
|
|||||||
<div class="layui-col-md12">
|
<div class="layui-col-md12">
|
||||||
<div id="rtk-panel" style="border: 1px solid #e6e6e6;border-radius: 2px;padding: 1em;">
|
<div id="rtk-panel" style="border: 1px solid #e6e6e6;border-radius: 2px;padding: 1em;">
|
||||||
<div style="display:flex;align-items:center;justify-content:space-between;gap:12px;">
|
<div style="display:flex;align-items:center;justify-content:space-between;gap:12px;">
|
||||||
<div class="layui-text">RTKRCV</div>
|
<div class="layui-text">RTK定位信息</div>
|
||||||
<div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap;">
|
<div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap;">
|
||||||
<span id="rtk-sol-badge" class="layui-badge layui-bg-gray">--</span>
|
<span id="rtk-sol-badge" class="layui-badge layui-bg-gray">--</span>
|
||||||
<span id="rtk-sat-badge" class="layui-badge layui-bg-gray">--</span>
|
<span id="rtk-sat-badge" class="layui-badge layui-bg-gray">--</span>
|
||||||
@ -119,6 +128,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-row" style="margin-top: 1em;">
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
<div id="cmd-panel" style="border: 1px solid #e6e6e6;border-radius: 2px;padding: 1em;">
|
||||||
|
<div class="layui-text">命令行消息</div>
|
||||||
|
<hr>
|
||||||
|
<pre id="cmd-info" style="white-space: pre-wrap;word-break: break-all;max-height:30vh;overflow-y:auto;"></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-tab-item">
|
<div class="layui-tab-item">
|
||||||
<div class="layui-row">
|
<div class="layui-row">
|
||||||
@ -347,6 +365,7 @@ layui.use(['form','table','element','layer','transfer'], function(){
|
|||||||
var rtkSelectedDevice = '';
|
var rtkSelectedDevice = '';
|
||||||
var rtkRunning = false;
|
var rtkRunning = false;
|
||||||
var rtkGnggaTimer = null;
|
var rtkGnggaTimer = null;
|
||||||
|
var cmdWs = null;
|
||||||
function connectRtkWs(){
|
function connectRtkWs(){
|
||||||
if(rtkWs && rtkWs.readyState === WebSocket.OPEN) return;
|
if(rtkWs && rtkWs.readyState === WebSocket.OPEN) return;
|
||||||
var curPath = window.document.location.href;
|
var curPath = window.document.location.href;
|
||||||
@ -409,6 +428,7 @@ layui.use(['form','table','element','layer','transfer'], function(){
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
function closeRtkWs(){ if(rtkWs){ try{ rtkWs.close(); }catch(e){} rtkWs=null; } }
|
function closeRtkWs(){ if(rtkWs){ try{ rtkWs.close(); }catch(e){} rtkWs=null; } }
|
||||||
|
function connectCmdWs(){ if(cmdWs && cmdWs.readyState===WebSocket.OPEN) return; var cur=window.location.href; var pn=window.location.pathname; var pos=cur.indexOf(pn); var base=cur.substring(0,pos); var url=(base+"/websocket/cmdline").replace("http","ws"); cmdWs=new WebSocket(url); cmdWs.onmessage=function(e){ var msg=e.data||''; var did=$('#rtk-device').val(); var parts=msg.trim().split(/\s+/); if(parts[0]==='RX' && parts.length>3){ if(did && parts[3]!==did) return; } var ci=$('#cmd-info'); ci.text(ci.text()+msg+'\n'); var el=document.getElementById('cmd-info'); el.scrollTop=el.scrollHeight; }; cmdWs.onerror=function(){ layer.msg('通讯通道连接失败'); } }
|
||||||
function startGnggaTimer(){ if(rtkGnggaTimer) clearInterval(rtkGnggaTimer); rtkGnggaTimer = setInterval(function(){ if(!rtkSelectedDevice) return; $.get('/rtk/gngga',{device_id: rtkSelectedDevice}, function(res){ if(res){ var gtxt = 'lat='+(res.lat!=null?res.lat:0)+', lon='+(res.lon!=null?res.lon:0)+', alt='+(res.alt!=null?res.alt:0)+', geo='+(res.geo!=null?res.geo:0); $('#rtk-gngga').text('GNGGA: '+gtxt); } }); }, 5000); }
|
function startGnggaTimer(){ if(rtkGnggaTimer) clearInterval(rtkGnggaTimer); rtkGnggaTimer = setInterval(function(){ if(!rtkSelectedDevice) return; $.get('/rtk/gngga',{device_id: rtkSelectedDevice}, function(res){ if(res){ var gtxt = 'lat='+(res.lat!=null?res.lat:0)+', lon='+(res.lon!=null?res.lon:0)+', alt='+(res.alt!=null?res.alt:0)+', geo='+(res.geo!=null?res.geo:0); $('#rtk-gngga').text('GNGGA: '+gtxt); } }); }, 5000); }
|
||||||
function stopGnggaTimer(){ if(rtkGnggaTimer){ clearInterval(rtkGnggaTimer); rtkGnggaTimer=null; } }
|
function stopGnggaTimer(){ if(rtkGnggaTimer){ clearInterval(rtkGnggaTimer); rtkGnggaTimer=null; } }
|
||||||
|
|
||||||
@ -486,6 +506,13 @@ layui.use(['form','table','element','layer','transfer'], function(){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
$('#btn-connect-cmd').on('click', function(){ connectCmdWs(); layer.msg('已连接设备通讯通道'); });
|
||||||
|
|
||||||
|
function sendHexCmd(hex){ var dev=$('#rtk-device').val(); if(!dev){ layer.msg('请选择设备'); return; } $.ajax({ type:'POST', url:'/gnss/config_cmd', data:{ tx_win: hex, device_id: dev, cmd_type: 0, send_channel: 0 }, success:function(res){ if(res && res.code===0){ var ci=$('#cmd-info'); ci.text(ci.text()+(res.data||'')+'\n'); var el=document.getElementById('cmd-info'); el.scrollTop=el.scrollHeight; } else { layer.alert((res&&res.msg)||'发送失败'); } }, error:function(){ layer.alert('请求失败'); } }); }
|
||||||
|
$('#btn-cmd-open-rtcm').on('click', function(){ sendHexCmd('42 4b 51 45 26 02 00 0c 55 00 23 71 00 00 00 31 00 00 00 ff'); });
|
||||||
|
$('#btn-cmd-close-4065').on('click', function(){ sendHexCmd('42 4b e4 6b 26 02 00 0c 55 55 00 01 00 00 00 31 00 00 00 01'); });
|
||||||
|
$('#btn-cmd-msm4').on('click', function(){ sendHexCmd('42 4b 46 8e 26 02 00 0c 55 55 00 01 00 00 00 10 00 00 00 01'); });
|
||||||
|
$('#btn-cmd-save').on('click', function(){ sendHexCmd('42 4b cc 17 26 04 00 00'); });
|
||||||
|
|
||||||
var grRunning = false; function updateGrBtn(){ var b=$('#btn-gr-start'); if(grRunning){b.text('停止组定位').addClass('layui-btn-danger');} else {b.text('开始组定位').removeClass('layui-btn-danger');} }
|
var grRunning = false; function updateGrBtn(){ var b=$('#btn-gr-start'); if(grRunning){b.text('停止组定位').addClass('layui-btn-danger');} else {b.text('开始组定位').removeClass('layui-btn-danger');} }
|
||||||
updateGrBtn();
|
updateGrBtn();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user