diff --git a/sec-beidou/src/main/resources/templates/page/rtkrcv.html b/sec-beidou/src/main/resources/templates/page/rtkrcv.html index 6d1e0fc9..6c5238f8 100644 --- a/sec-beidou/src/main/resources/templates/page/rtkrcv.html +++ b/sec-beidou/src/main/resources/templates/page/rtkrcv.html @@ -98,6 +98,15 @@
+ +
+
+
+ + + + +
@@ -106,7 +115,7 @@
-
RTKRCV
+
RTK定位信息
-- -- @@ -119,6 +128,15 @@
+
+
+
+
命令行消息
+
+

+                            
+
+
@@ -347,6 +365,7 @@ layui.use(['form','table','element','layer','transfer'], function(){ var rtkSelectedDevice = ''; var rtkRunning = false; var rtkGnggaTimer = null; + var cmdWs = null; function connectRtkWs(){ if(rtkWs && rtkWs.readyState === WebSocket.OPEN) return; 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 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 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');} } updateGrBtn();