Explorar el Código

change driver_cloud_grpc_civetweb. add baidumap show.

yuchuli hace 3 años
padre
commit
ef7f0c513a

+ 298 - 0
src/driver/driver_cloud_grpc_civetweb/frontend/dist/baidumap.js

@@ -0,0 +1,298 @@
+
+//document.getElementById("demo").innerHTML='hello baidu map';
+  // 百度地图API功能
+    var map = new BMap.Map("allmap");            // 创建Map实例
+
+    //添加拖拽和缩放功能
+    map.enableScrollWheelZoom(true);
+    map.enableDragging();   
+
+    //添加控件和比例尺
+    var top_right_control = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT });// 左下角,添加比例尺
+    var top_right_navigation = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT });  //左下角,添加默认缩放平移控件
+
+    map.addControl(top_right_control);
+    map.addControl(top_right_navigation);
+
+
+    //添加地图类型
+    var mapType1 = new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP] });
+    var mapType2 = new BMap.MapTypeControl({ anchor: BMAP_ANCHOR_TOP_LEFT });
+
+    //添加地图类型和缩略图
+   
+    map.addControl(mapType1);          //2D图,卫星图
+    map.addControl(mapType2);          //左上角,默认地图控件
+
+    var drawtrail = 0;
+
+    var grotation = 0;
+
+
+    //创建点
+    //map.clearOverlays();
+    var point = new BMap.Point(117.355, 39.066);
+    var markerCur = new BMap.Marker(point);
+    var markerObj = new BMap.Marker(point);
+    var havepointlast = 0;
+    var pointlast = new BMap.Point(116,39);
+    var pointobj = new BMap.Point(116,39);
+    var bobjset = 0;
+    var gtracelist = []; 
+    var gtraceraw = [];
+    var tracenow = 0;
+    var tracenum = 0;
+    map.centerAndZoom(point, 18);
+    var convertor = new BMap.Convertor();
+    var polylineTrace;
+/*
+    var polylineTrace =new BMap.Polyline(gtracelist, {
+    enableEditing: false,//是否启用线编辑,默认为false
+    enableClicking: false,//是否响应点击事件,默认为true
+    strokeWeight:'4',//折线的宽度,以像素为单位
+    strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
+    strokeColor:"red" //折线颜色
+    });*/
+    //var marker = new BMap.Marker(point);  // 创建标注
+    //map.addOverlay(marker);               // 将标注添加到地图中
+    
+    //根据IP定位城市
+    function myFun(result) {
+        var cityName = result.name;
+        map.setCenter(cityName);
+    }
+    var myCity = new BMap.LocalCity();
+    myCity.get(myFun);
+
+	var icon = new BMap.Icon('car.png',new BMap.Size(15,30));
+        icon.imageSize = new BMap.Size(15,30);
+        icon.anchor = new BMap.Size(8,15);
+        
+
+    //showalert(testmsg);
+
+    //对传入的经纬度进行标注:纬度,经度
+   // var Latt = 116.404;
+   // var Lott = 39.915;
+
+   // theLocation(Latt, Lott);
+   // testAlert();
+
+    function SetDrawTrail(x)
+   {
+	
+	if(x == 1)drawtrail = 1;
+	else drawtrail = 0;
+   }    
+
+
+    function clear()
+    {
+	gtracelist = [];
+    }
+
+   
+        // 用经纬度设置地图中心点
+    function objLocation(Longitude,Latitude) {
+
+        var gpsPoint = new BMap.Point(Longitude, Latitude);
+
+	var pointArr = [];
+	pointArr.push(gpsPoint);
+        convertor.translate(pointArr, 1, 5, translateCallbackobj)
+        //gps坐标纠偏
+ //       BMap.Convertor.translate(gpsPoint, 0, translateCallbackobj);     //真实经纬度转成百度坐标
+
+
+    }
+
+    // 用经纬度设置地图中心点
+    function theLocation(Longitude,Latitude,rotation) {
+        
+        grotation = rotation;
+        var gpsPoint = new BMap.Point(Longitude, Latitude);
+
+        //gps坐标纠偏
+
+
+var pointArr = [];
+pointArr.push(gpsPoint);
+        convertor.translate(pointArr, 1, 5, translateCallback)
+//convertor.translate(gpsPoint, 0, translateCallback);     //真实经纬度转成百度坐标
+ //       BMap.Convertor.translate(gpsPoint, 0, translateCallback);     //真实经纬度转成百度坐标
+
+
+            //map.clearOverlays();
+            //var new_point = new BMap.Point(Longitude,Latitude );
+            //var marker = new BMap.Marker(new_point);  // 创建标注
+            //map.addOverlay(marker);              // 将标注添加到地图中
+            //map.panTo(new_point);
+            //marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
+
+    }
+
+
+function settrace(numlist,num2list)                    //仅把qt传来的数组转换成可用的list
+{
+    //alert(numlist);
+    var num_list,num2_list;                         //以下为格式转换,分割成可用的数组
+    num_list = numlist.substring(1,numlist.length-1);
+    num2_list = num2list.substring(1,num2list.length-1);
+    num_list = num_list.split(",");
+    num2_list = num2_list.split(",");
+    //alert("the num_list is: "+num_list[0]+" "+num_list[1]);
+
+    
+    gtraceraw = [];
+    gtracelist = [];
+    for(i=0;i<num_list.length;i++)
+    {
+        point= new BMap.Point(num_list[i],num2_list[i]);
+        gtraceraw.push(point);                                  
+    }
+    tracenum = num_list.length;
+    tracenow = 0;
+
+    setTimeout("converttrace()", 30);// 调用画轨迹的函数
+
+    
+}
+
+function converttrace() 
+{
+    var tracelist = [];     //为轨迹做准备,把所有的点扔里面,但不对每个点标注
+    var index = 0;
+    for(i=tracenow;i<tracenum;i++)
+    {
+	tracelist.push(gtraceraw[i]);
+	index++;
+	if(index>=10)break;
+    }
+    if(index>0)
+    {
+	
+        convertor.translate(tracelist, 1,5,translateCallbacktrace);     //真实经纬度转成百度坐标
+     }
+
+}
+
+
+translateCallbacktrace = function (data){
+      if(data.status == 0) {
+        for (var i = 0; i < data.points.length; i++) {
+	gtracelist.push(data.points[i]);
+        }
+	tracenow = tracenow + data.points.length;
+      }
+
+    map.removeOverlay(polylineTrace);
+    polylineTrace =new BMap.Polyline(gtracelist, {
+    enableEditing: false,//是否启用线编辑,默认为false
+    enableClicking: false,//是否响应点击事件,默认为true
+    strokeWeight:'4',//折线的宽度,以像素为单位
+    strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
+    strokeColor:"red" //折线颜色
+    });
+    map.addOverlay(polylineTrace);          //增加折线
+      setTimeout("converttrace()", 250);// 调用画轨迹的函数
+	
+}
+
+
+
+
+    // 用经纬度设置地图中心点
+    function testAlert(msg) {
+
+        var str = new String;
+        str =  msg.toString()
+       // str = "test"
+
+        alert(str);
+    }
+
+    function enableZoomDrag()
+    {
+        //添加拖拽和缩放功能
+        map.enableScrollWheelZoom(true);
+        map.enableDragging();
+    }
+
+        //坐标转换完之后的回调函数
+    translateCallbackmap = function (point) {
+
+	gtracelist.push(point);       
+ //       map.setCenter(point);
+      //  marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
+    }
+
+        //坐标转换完之后的回调函数
+    translateCallbacktr = function (point) {
+
+	gtracelist.push(point);       
+ //       map.setCenter(point);
+      //  marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
+    }
+
+    //坐标转换完之后的回调函数
+    translateCallbackobj = function (data) {
+	if(data.status === 0) {
+         var point = data.points[0];
+	pointobj = point;
+	bobjset = 1;
+ //       map.clearOverlays();
+	map.removeOverlay(markerObj);
+        markerObj = new BMap.Marker(point);
+
+        map.addOverlay(markerObj);
+	}
+
+ //       map.setCenter(point);
+      //  marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
+    }
+
+
+    //坐标转换完之后的回调函数
+    translateCallback = function (data) {
+
+if(data.status === 0) {
+         var point = data.points[0]
+        map.removeOverlay(markerCur);
+        markerCur = new BMap.Marker(point);
+        if(havepointlast == 1)
+	{
+		if(drawtrail == 1)
+		{
+		var line = new BMap.Polyline([pointlast, point], {strokeColor: "green", strokeWeight: 1, strokeOpacity: 1});
+		map.addOverlay(line);  
+		line.disableMassClear();
+		}
+	}
+        pointlast = point;
+        havepointlast = 1;
+
+	markerCur.setOffset(-30,-30);
+	markerCur.setIcon(icon); 
+	markerCur.setShadow(icon) 
+	markerCur.setRotation(grotation);
+        map.addOverlay(markerCur);
+        map.setCenter(point);
+      }
+//	return;
+//        map.clearOverlays();
+
+/*
+	if(bobjset == 1)
+	{
+		map.removeOverlay(markerObj);
+        	markerObj = new BMap.Marker(pointobj);
+
+        	map.addOverlay(markerObj);
+	}
+
+*/
+
+      //  marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
+    }
+
+

BIN
src/driver/driver_cloud_grpc_civetweb/frontend/dist/car.png


+ 57 - 0
src/driver/driver_cloud_grpc_civetweb/frontend/dist/index.html

@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=EVi8PXiYpKBGvBr7tgGMzcbdwzWWNf2o"></script>
+<script src="remote.js"></script>
+
+<meta charset="UTF-8">
+<title>ADCIV WEB UI. Designed Base CivetWeb.</title>
+
+</head>
+<body onload="load()">
+<!-- <div id='websock_text_field'>No websocket connection yet</div>-->
+<!--  <iframe id='image' src="" width="800" height="600"></iframe>  -->
+
+<form>
+<br>
+<label for="title" style="width:300px;display:inline-block;">远程控制系统</label>
+<input type="radio" style="width:100px;display:inline-block;height:30px;" name="ctrl" id="ctrlauto" value="auto" checked>
+<label style="width:100px;display:inline-block;">自动</label>
+<input type="radio" style="width:100px;display:inline-block;height:30px;" name="ctrl" id="ctrlman"  value="man">
+<label style="width:100px;display:inline-block;">远程</label>
+<input type="radio" style="width:100px;display:inline-block;height:30px;" name="shift"  id="shiftdrive" value="D" checked>
+<label style="width:100px;display:inline-block;">前进</label>
+<input type="radio" style="width:100px;display:inline-block;height:30px;" name="shift" id="shiftrear" value="R">
+<label style="width:100px;display:inline-block;">后退</label>
+<br>
+<br>
+<br>
+<label style="width:150px;display:inline-block;" >车速</label>
+<input type="range" name="slidervel" id="sildervel" value="0.0" max="10" min="0" step="0.1" style="width:900px"/>
+<label style="width:50px;display:inline-block;" > </label>
+<button type="button" onclick="onClickStop()" style="width:100px;"  >停车</button>
+<br>
+<br>
+<label style="width:150px;display:inline-block;" >转向</label>
+<input type="range" name="sliderwheel" id="silderwheel" value="0.5" max="1" min="0" step="0.01" style="width:900px;"/>
+<label style="width:50px;display:inline-block;" > </label>
+<button type="button" onclick="onClickCenter()" style="width:100px;"  >居中</button>
+</form> 
+<p>  </p>
+<canvas id="myCanvas2" width="1920" height="1080" style="border:0px solid #c3c3c3;">  
+Your browser does not support the canvas element.  
+</canvas>
+
+<p id="demo">This is a paragraph.</p> 
+
+ <div style="width:1000px;height:1000px;border:#ccc solid 1px;" id="allmap"></div>
+
+</body>
+
+</html>
+
+<script src="baidumap.js"></script>
+
+
+
+

+ 42 - 52
src/driver/driver_cloud_grpc_civetweb/frontend/index.html → src/driver/driver_cloud_grpc_civetweb/frontend/dist/remote.js

@@ -1,9 +1,6 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="UTF-8">
-<title>ADCIV WEB UI. Designed Base CivetWeb.</title>
-<script>
+
+
+
 
 
 //var i_width=window.document.body.clientWidth//网页可用宽度  
 //var i_width=window.document.body.clientWidth//网页可用宽度  
 //var i_height=window.document.body.clientHeight;
 //var i_height=window.document.body.clientHeight;
@@ -25,7 +22,10 @@ var oldwheel = 0.5;
 var nchange = 15;
 var nchange = 15;
 var conupserv = 0;
 var conupserv = 0;
 
 
-	var n = 0;
+	var lat = 39.0;
+	var lon = 117.0;
+
+	var n = 323;
 	var ic = 0;
 	var ic = 0;
 	var irear = 0;
 	var irear = 0;
 	var ileft = 0;
 	var ileft = 0;
@@ -49,22 +49,22 @@ var conupserv = 0;
 			valuex = valuex + 0.1;
 			valuex = valuex + 0.1;
 			document.getElementById("sildervel").value = valuex;  
 			document.getElementById("sildervel").value = valuex;  
                         console.log("w键按下了");
                         console.log("w键按下了");
-			document.getElementById("demo").innerHTML=valuex;
+//			document.getElementById("demo").innerHTML=valuex;
                     }
                     }
                     if(event.keyCode==83){
                     if(event.keyCode==83){
 			document.getElementById("sildervel").value = parseFloat(document.getElementById("sildervel").value) - 0.1;  
 			document.getElementById("sildervel").value = parseFloat(document.getElementById("sildervel").value) - 0.1;  
                         console.log("s键按下了");
                         console.log("s键按下了");
-			document.getElementById("demo").innerHTML=Date();
+//			document.getElementById("demo").innerHTML=Date();
                     }
                     }
                     if(event.keyCode==65){
                     if(event.keyCode==65){
 			document.getElementById("silderwheel").value = parseFloat(document.getElementById("silderwheel").value) - 0.01;
 			document.getElementById("silderwheel").value = parseFloat(document.getElementById("silderwheel").value) - 0.01;
                         console.log("a键按下了");
                         console.log("a键按下了");
-			document.getElementById("demo").innerHTML=Date();
+//			document.getElementById("demo").innerHTML=Date();
                     }
                     }
                     if(event.keyCode==68){
                     if(event.keyCode==68){
 			document.getElementById("silderwheel").value = parseFloat(document.getElementById("silderwheel").value) + 0.01;
 			document.getElementById("silderwheel").value = parseFloat(document.getElementById("silderwheel").value) + 0.01;
                         console.log("d键按下了");
                         console.log("d键按下了");
-			document.getElementById("demo").innerHTML=Date();
+//			document.getElementById("demo").innerHTML=Date();
                     }
                     }
                     if(event.keyCode==80){
                     if(event.keyCode==80){
 			document.getElementById("sildervel").value = 0;
 			document.getElementById("sildervel").value = 0;
@@ -102,6 +102,9 @@ function onClickCenter(){
 
 
 function updatectrl(){ 
 function updatectrl(){ 
 
 
+	lat = lat + 0.0001;
+	
+	
 	var vel = parseFloat(document.getElementById("sildervel").value);
 	var vel = parseFloat(document.getElementById("sildervel").value);
 	var wheel = parseFloat(document.getElementById("silderwheel").value);
 	var wheel = parseFloat(document.getElementById("silderwheel").value);
 	if((vel == oldvel)&&(wheel == oldwheel))
 	if((vel == oldvel)&&(wheel == oldwheel))
@@ -123,7 +126,7 @@ function updatectrl(){
 		oldvel = vel;
 		oldvel = vel;
 		oldwheel = wheel;
 		oldwheel = wheel;
 	}
 	}
-	document.getElementById("demo").innerHTML=nchange;
+//	document.getElementById("demo").innerHTML=nchange;
 }
 }
 	function changeFrontImage()
 	function changeFrontImage()
 	{ 
 	{ 
@@ -409,6 +412,8 @@ if(conupserv == 1){
     connection.send(stritem);}
     connection.send(stritem);}
 }
 }
 function load() {
 function load() {
+
+
 //	changeImage();
 //	changeImage();
 
 
   var wsproto = (location.protocol === 'https:') ? 'wss:' : 'ws:';
   var wsproto = (location.protocol === 'https:') ? 'wss:' : 'ws:';
@@ -416,48 +421,33 @@ function load() {
 //  websock_text_field = document.getElementById('websock_text_field');
 //  websock_text_field = document.getElementById('websock_text_field');
   connection.onmessage = function (e) {
   connection.onmessage = function (e) {
 	conupserv = 1;
 	conupserv = 1;
+var text = e.data;
+//document.getElementById("demo").innerHTML=text;
+try {
+    var obj = JSON.parse(text);
+     if (obj.hasOwnProperty("Lon")) {
+ 	var Lon = obj.Lon;
+        var Lat = obj.Lat;
+	var Heading = obj.Heading;
+	theLocation(Lon,Lat,Heading);
+//  	document.getElementById("demo").innerHTML=Heading;
+     }
+     else
+     {
+//	document.getElementById("demo").innerHTML="no lon";
+     }	
+	
+
+} 
+catch (error) {
+ //   alert(error.message);
+
+}
    }
    }
 }
 }
 
 
 
 
 
 
-</script>
-</head>
-<body onload="load()">
-<!-- <div id='websock_text_field'>No websocket connection yet</div>-->
-<!--  <iframe id='image' src="" width="800" height="600"></iframe>  -->
-
-<form>
-<br>
-<label for="title" style="width:300px;display:inline-block;">远程控制系统</label>
-<input type="radio" style="width:100px;display:inline-block;height:30px;" name="ctrl" id="ctrlauto" value="auto" checked>
-<label style="width:100px;display:inline-block;">自动</label>
-<input type="radio" style="width:100px;display:inline-block;height:30px;" name="ctrl" id="ctrlman"  value="man">
-<label style="width:100px;display:inline-block;">远程</label>
-<input type="radio" style="width:100px;display:inline-block;height:30px;" name="shift"  id="shiftdrive" value="D" checked>
-<label style="width:100px;display:inline-block;">前进</label>
-<input type="radio" style="width:100px;display:inline-block;height:30px;" name="shift" id="shiftrear" value="R">
-<label style="width:100px;display:inline-block;">后退</label>
-<br>
-<br>
-<br>
-<label style="width:150px;display:inline-block;" >车速</label>
-<input type="range" name="slidervel" id="sildervel" value="0.0" max="10" min="0" step="0.1" style="width:900px"/>
-<label style="width:50px;display:inline-block;" > </label>
-<button type="button" onclick="onClickStop()" style="width:100px;"  >停车</button>
-<br>
-<br>
-<label style="width:150px;display:inline-block;" >转向</label>
-<input type="range" name="sliderwheel" id="silderwheel" value="0.5" max="1" min="0" step="0.01" style="width:900px;"/>
-<label style="width:50px;display:inline-block;" > </label>
-<button type="button" onclick="onClickCenter()" style="width:100px;"  >居中</button>
-</form> 
-<p>  </p>
-<canvas id="myCanvas2" width="1920" height="1080" style="border:0px solid #c3c3c3;">  
-Your browser does not support the canvas element.  
-</canvas>
-
-<p id="demo">This is a paragraph.</p> 
-
-</body>
-</html>
+
+
+

+ 1 - 1
src/driver/driver_cloud_grpc_civetweb/main.cpp

@@ -42,7 +42,7 @@ int main(int argc, char *argv[])
     CivetServer server(cpp_options); // <-- C++ style start
     CivetServer server(cpp_options); // <-- C++ style start
 
 
     starthandler h_ws;
     starthandler h_ws;
-    server.addHandler("/",h_ws);
+//    server.addHandler("/",h_ws);
 
 
     PicHandler h_pic;
     PicHandler h_pic;
 
 

+ 17 - 3
src/driver/driver_cloud_grpc_civetweb/remotehandler.cpp

@@ -65,7 +65,9 @@ bool RemoteHandler::handleData(CivetServer *server, mg_connection *conn, int bit
 //        printf("\n");
 //        printf("\n");
 
 
     iv::cloud::cloudmsg xmsg;
     iv::cloud::cloudmsg xmsg;
-    CalcRemote(xmsg,strctrl,strshift,strvel,strwheel);
+    iv::gps::gpsimu xgpsimu;
+    bool bHaveGPS = false;
+    CalcRemote(xmsg,strctrl,strshift,strvel,strwheel,xgpsimu,bHaveGPS);
     ServiceGRPCCIVET.Getgrpcpc()->SetSendMsg(xmsg);
     ServiceGRPCCIVET.Getgrpcpc()->SetSendMsg(xmsg);
 
 
     QJsonObject obj1;
     QJsonObject obj1;
@@ -74,11 +76,19 @@ bool RemoteHandler::handleData(CivetServer *server, mg_connection *conn, int bit
 
 
     obj1.insert("test","test");
     obj1.insert("test","test");
 
 
+    if(bHaveGPS)
+    {
+        obj1.insert("Lat",QString::number(xgpsimu.lat(),'f',7));
+        obj1.insert("Lon",QString::number(xgpsimu.lon(),'f',7));
+        obj1.insert("Heading",QString::number(xgpsimu.heading()));
+    }
+
     QString strsend = QString(QJsonDocument(obj1).toJson(QJsonDocument::Compact));
     QString strsend = QString(QJsonDocument(obj1).toJson(QJsonDocument::Compact));
 
 
 
 
 
 
     mg_websocket_write(conn, MG_WEBSOCKET_OPCODE_TEXT,strsend.toLatin1().data(),strsend.length());
     mg_websocket_write(conn, MG_WEBSOCKET_OPCODE_TEXT,strsend.toLatin1().data(),strsend.length());
+    return true;
     return (data_len<5);
     return (data_len<5);
 
 
     char strout[100];
     char strout[100];
@@ -96,13 +106,13 @@ bool RemoteHandler::handleData(CivetServer *server, mg_connection *conn, int bit
 //        return (data_len<5);
 //        return (data_len<5);
 }
 }
 
 
-int RemoteHandler::CalcRemote(iv::cloud::cloudmsg &xmsg,QString strctrl,QString strshift,QString strvel,QString strwheel)
+int RemoteHandler::CalcRemote(iv::cloud::cloudmsg &xmsg,QString strctrl,QString strshift,QString strvel,QString strwheel,iv::gps::gpsimu & nowgpsimu,bool & bhavegps)
 {
 {
     grpcpc * pgrpc = ServiceGRPCCIVET.Getgrpcpc();
     grpcpc * pgrpc = ServiceGRPCCIVET.Getgrpcpc();
     iv::cloud::cloudmsg xrecv;
     iv::cloud::cloudmsg xrecv;
     int nrecv = pgrpc->GetRecvMsg(xrecv);
     int nrecv = pgrpc->GetRecvMsg(xrecv);
     iv::gps::gpsimu xgpsimu;
     iv::gps::gpsimu xgpsimu;
-    bool bhavegps = false;
+    bhavegps = false;
     if(nrecv == 1)
     if(nrecv == 1)
     {
     {
         int nsize = xrecv.xclouddata_size();
         int nsize = xrecv.xclouddata_size();
@@ -112,6 +122,10 @@ int RemoteHandler::CalcRemote(iv::cloud::cloudmsg &xmsg,QString strctrl,QString
             if(xrecv.xclouddata(i).msgname() == "hcp2_gpsimu")
             if(xrecv.xclouddata(i).msgname() == "hcp2_gpsimu")
             {
             {
                 bhavegps = xgpsimu.ParseFromArray(xrecv.xclouddata(i).data().data(),xrecv.xclouddata(i).data().size());
                 bhavegps = xgpsimu.ParseFromArray(xrecv.xclouddata(i).data().data(),xrecv.xclouddata(i).data().size());
+                if(bhavegps)
+                {
+                    nowgpsimu.CopyFrom(xgpsimu);
+                }
                 break;
                 break;
             }
             }
         }
         }

+ 1 - 1
src/driver/driver_cloud_grpc_civetweb/remotehandler.h

@@ -35,7 +35,7 @@ public:
 
 
 
 
 private:
 private:
-    int CalcRemote(iv::cloud::cloudmsg & xmsg,QString strctrl,QString strshift,QString strvel,QString strwheel);
+    int CalcRemote(iv::cloud::cloudmsg & xmsg,QString strctrl,QString strshift,QString strvel,QString strwheel,iv::gps::gpsimu & nowgpsimu,bool & bhavegps);
     void  CalcMidCarWheelBrake(iv::gps::gpsimu & xgpsimu,double fVel,double & fAcc,double & fBrake);
     void  CalcMidCarWheelBrake(iv::gps::gpsimu & xgpsimu,double fVel,double & fAcc,double & fBrake);
 };
 };
 
 

+ 1 - 1
src/driver/driver_cloud_grpc_civetweb/starthandler.cpp

@@ -20,7 +20,7 @@ bool starthandler::handleGet(CivetServer *server, mg_connection *conn)
     mg_printf(conn, "<title>ADC IV RemoteCtrl UI</title>\n");
     mg_printf(conn, "<title>ADC IV RemoteCtrl UI</title>\n");
 
 
     QFile xFile;
     QFile xFile;
-    xFile.setFileName("./frontend/index.html");
+    xFile.setFileName("./frontend/dist/index.html");
     if(xFile.open(QIODevice::ReadOnly))
     if(xFile.open(QIODevice::ReadOnly))
     {
     {
         QByteArray ba = xFile.readAll();
         QByteArray ba = xFile.readAll();