Files
apt-nl-map/static/Magic4/Sketch/HMI_Sketch_Left_LearnWayPointAB4_Main.html
2024-12-04 10:21:04 +08:00

408 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en" id="container" onmousedown="startDrag(event)" onmouseup="stopDrag(event)" onmousemove="dragging(event)" style="overflow-x: hidden;
overflow-y: hidden; ">
<head>
<meta charset="UTF-8">
<script src="../jquery-2.1.0.min.js"></script>
<script src="../jquery.cookie.js"></script>
<script type="text/javascript" src="../Lu_Math_Driver.js"></script>
<script type="text/javascript">
var WayPoint4RecArr=new Array();
var WayPoint4RecSch=0;
var LearnWayPointAB4_Sch=0;
var PointA_rx=0;
var PointA_ry=0;
var PointA_rt=0;
var PointA_Ref_NodeID=0;
var PointB_rx=0;
var PointB_ry=0;
var PointB_rt=0;
var PointB_Ref_NodeID=0;
var StartNode=0;
var EndNode=0;
var Direction="Front";
var LayerType="Normal";
var CreatePairDirectionEnable="true";
var S300_1_Enable="false";
var S300_1_Case=0;
var S300_2_Enable="false";
var S300_2_Case=0;
var TIM_1_Enable="false";
var TIM_1_Case=0;
var TIM_2_Enable="false";
var TIM_2_Case=0;
var SpeedType=0;
var last_rx_tmp=0;
var last_ry_tmp=0;
var last_rt_tmp=0;
var Tmp_Speed_Direction=0;
var Tmp_Speed_Direction_Rec=0;
var Last_Tmp_Speed_Direction_Rec=0;
var Last_Tmp_Speed_rx=0;
var Last_Tmp_Speed_ry=0;
var Last_Tmp_Speed_rt=0;
var Speed_Direction_Sum=0;
var Car_Global_rx=0;
var Car_Global_ry=0;
var Car_Global_Theta=0;
var Last_Rec_Car_Global_rx=0;
var Last_Rec_Car_Global_ry=0;
var Last_Rec_Car_Global_Theta=0;
var LastRecWayPoint3=false;
function SketchLeftLearnWayPointAB4MainPostMessage(str){
parent.window.postMessage(
str,
"*" //or "www.parentpage.com"
);
}
function LearnWayPointAB4_Main_Init(){
LearnWayPointAB4_Sch=0;
PointA_rx=0;
PointA_ry=0;
PointA_rt=0;
PointA_Ref_NodeID=0;
PointB_rx=0;
PointB_ry=0;
PointB_rt=0;
PointB_Ref_NodeID=0;
StartNode=0;
EndNode=0;
Direction="Front";
LayerType="Normal";
CreatePairDirectionEnable="true";
S300_1_Enable="false";
S300_1_Case=0;
S300_2_Enable="false";
S300_2_Case=0;
TIM_1_Enable="false";
TIM_1_Case=0;
TIM_2_Enable="false";
TIM_2_Case=0;
SpeedType=0;
last_rx_tmp=0;
last_ry_tmp=0;
last_rt_tmp=0;
Tmp_Speed_Direction=0;
Speed_Direction_Sum=0;
LastRecWayPoint4=false;
}
function client_request_left_learnwaypointab4_main(str){
window.parent.parent.postMessage(
{
event_id: 'client_request_left_learnwaypointab4_main',
data: {
v1: str
}
},
"*" //or "www.parentpage.com"
);
}
function receiveMessage(event){
//console.log(event);
if(event.data.event_id=="client_response_left_learnwaypointab4_main"){
document.getElementById('LeftLearnWayPointAB4Iframe').contentWindow.postMessage(
event.data
);
return;
}
var frame=event.data.split('#');
var head=frame[0].split(':');
switch(head[0]){
case 'LearnWayPointAB4Sch0':
{
//var info=head[1].split('#');
var data=head[1].split(',');
PointA_rx=parseFloat(data[0]);
PointA_ry=parseFloat(data[1]);
PointA_rt=parseFloat(data[2]);
PointA_Ref_NodeID=parseInt(data[3]);
LearnWayPointAB4_Sch=1;
window.open('HMI_Sketch_Left_LearnWayPointAB4_Sch1.html', 'LeftLearnWayPointAB4Iframe');
}break;
case 'LearnWayPointAB4Sch1':{
var data=head[1].split(',');
PointB_rx=parseFloat(data[0]);
PointB_ry=parseFloat(data[1]);
PointB_rt=parseFloat(data[2]);
PointB_Ref_NodeID=parseInt(data[3]);
LearnWayPointAB4_Sch=2;
window.open('HMI_Sketch_Left_LearnWayPointAB4_Sch2.html', 'LeftLearnWayPointAB4Iframe');
}break;
case 'LearnWayPointAB4Sch2':{
console.log("AAALearnWayPointAB4Sch2");
var data=head[1].split(',');
StartNode=parseInt(data[0]);
EndNode=parseInt(data[1]);
Direction=data[2];
S300_1_Enable=data[3];
S300_1_Case=parseInt(data[4]);
S300_2_Enable=data[5];
S300_2_Case=parseInt(data[6]);
TIM_1_Enable=data[7];
TIM_1_Case=parseInt(data[8]);
TIM_2_Enable=data[9];
TIM_2_Case=parseInt(data[10]);
SpeedType=parseInt(data[11]);
CreatePairDirectionEnable=data[12];
var str="CheckNode:"+
StartNode+";"+
+PointA_rx+";"
+PointA_ry+";"
+PointA_rt+";"
+EndNode+";"
+PointB_rx+";"
+PointB_ry+";"
+PointB_rt+";"
//client(str);
client_request_left_learnwaypointab4_main(str);
}break;
case 'LearnWayPointAB4Sch2_CheckNodeOK':{
LearnWayPointAB4_Sch=3;
window.open('HMI_Sketch_Left_LearnWayPointAB4_Sch3.html', 'LeftLearnWayPointAB4Iframe');
}break;
case 'LearnWayPointAB4Sch3':{
var data=head[1];
if(data=="OK"){
var str="LearnWayPointAB_V42:"
//var str="LearnWayPointAB_V31:"
//var str="LearnWayPointAB_V3:"
//var str="LearnWayPointAB_V4:"
+StartNode+";"
+EndNode+";"
+Direction+";"
+LayerType+";"
+CreatePairDirectionEnable+";"
+S300_1_Enable+";"
+S300_1_Case+";"
+S300_2_Enable+";"
+S300_2_Case+";"
+TIM_1_Enable+";"
+TIM_1_Case+";"
+TIM_2_Enable+";"
+TIM_2_Case+";"
+SpeedType+";";
for(let i=0;i<WayPoint4RecArr.length;i++){
if(i==0){
var dist=Lu_Get_Dist(WayPoint4RecArr[i].Car_Global_rx,WayPoint4RecArr[i].Car_Global_ry,PointA_rx,PointA_ry);
if(dist<1.0) {
WayPoint4RecArr[i].Car_Global_rx = PointA_rx;
WayPoint4RecArr[i].Car_Global_ry = PointA_ry;
WayPoint4RecArr[i].Car_Global_Theta = PointA_rt;
}
}
else if(i==WayPoint4RecArr.length-1){
var dist=Lu_Get_Dist(WayPoint4RecArr[i].Car_Global_rx,WayPoint4RecArr[i].Car_Global_ry,PointB_rx,PointB_ry);
if(dist<1.0) {
WayPoint4RecArr[i].Car_Global_rx = PointB_rx;
WayPoint4RecArr[i].Car_Global_ry = PointB_ry;
WayPoint4RecArr[i].Car_Global_Theta = PointB_rt;
}
}
str=str+"Point"+"@"+WayPoint4RecArr[i].Car_Global_rx+","+WayPoint4RecArr[i].Car_Global_ry+","+WayPoint4RecArr[i].Car_Global_Theta+";";
}
str=str+"#";
//client(str);
client_request_left_learnwaypointab4_main(str);
}
LearnWayPointAB4_Sch=4;
window.open('HMI_Sketch_Left_LearnWayPointAB4_Sch4.html', 'LeftLearnWayPointAB4Iframe');
}break;
case 'LearnWayPointAB4Sch4':{
var data=head[1];
if(data=="Continue") {
LearnWayPointAB4_Main_Init();
window.open('HMI_Sketch_Left_LearnWayPointAB4_Sch0.html', 'LeftLearnWayPointAB4Iframe');
}
else{
LearnWayPointAB4_Main_Init();
SketchLeftLearnWayPointAB4MainPostMessage("Main");
}
}break;
}
}
window.addEventListener("message", receiveMessage, false);
function Lu_Judge_Last_Speed_Direction(rx,ry,rt){
var run_dist = Lu_Get_Dist(rx,ry,last_rx_tmp,last_ry_tmp);
if(run_dist>0.2){
var a = Lu_Judge_StartToEnd_SpeedDirection(last_rx_tmp,last_ry_tmp,rx,ry,rt);
last_rx_tmp=rx;
last_ry_tmp=ry;
last_rt_tmp=rt;
return a;
}
else{
return 0;
}
}
function Refresh(){
//var Car_Global_rx2=parseFloat(getCookie('Car_Global_rx')).toFixed(3);
//var Car_Global_ry2=parseFloat(getCookie('Car_Global_ry')).toFixed(3);
//var Car_Global_Theta2=parseFloat(getCookie('Car_Global_Theta')).toFixed(3);
Car_Global_rx=parseFloat($.cookie('Car_Global_rx'));//Car_Global_rx=parseFloat(getCookie('Car_Global_rx'));
Car_Global_ry=parseFloat($.cookie('Car_Global_ry'));//Car_Global_ry=parseFloat(getCookie('Car_Global_ry'));
Car_Global_Theta=parseFloat($.cookie('Car_Global_Theta'));//Car_Global_Theta=parseFloat(getCookie('Car_Global_Theta'));
//console.log("x:"+Car_Global_rx+" "+Car_Global_rx2);
//console.log("y:"+Car_Global_ry+" "+Car_Global_ry2);
//console.log("t:"+Car_Global_Theta+" "+Car_Global_Theta2);
if(LearnWayPointAB4_Sch==1){
Tmp_Speed_Direction=Lu_Judge_Last_Speed_Direction(Car_Global_rx,Car_Global_ry,Car_Global_Theta);
Speed_Direction_Sum=Speed_Direction_Sum+Tmp_Speed_Direction;
if(Speed_Direction_Sum>=0)Direction="Front";
else Direction="Reverse";
if(Tmp_Speed_Direction==0 && Tmp_Speed_Direction_Rec!=0){
Last_Tmp_Speed_rx=Car_Global_rx;
Last_Tmp_Speed_ry=Car_Global_ry;
Last_Tmp_Speed_rt=Car_Global_Theta;
console.log("Last_Tmp_Speed rx:"+Last_Tmp_Speed_rx+" ry:"+Last_Tmp_Speed_ry+" rt:"+Last_Tmp_Speed_rt);
}
if(Tmp_Speed_Direction!=0)Tmp_Speed_Direction_Rec=Tmp_Speed_Direction;
console.log(Tmp_Speed_Direction_Rec);
}
//console.log(Speed_Direction_Sum);
//console.log(Direction);
document.getElementById('StartNode').innerText = 'StartNode=' + StartNode;
document.getElementById('EndNode').innerText = 'EndNode=' + EndNode;
document.getElementById('Direction').innerText = 'Direction=' + Direction;
if(LearnWayPointAB4_Sch>0){
WayPoint4RecSch=1;
}
else{
WayPoint4RecSch=0;
}
if(WayPoint4RecSch==0){
WayPoint4RecArr=[];
LastRecWayPoint4=false;
}
else if(WayPoint4RecSch==1){
var dist=Lu_Get_Dist(Car_Global_rx,Car_Global_ry,Last_Rec_Car_Global_rx,Last_Rec_Car_Global_ry);
if(LearnWayPointAB4_Sch==1&&(dist>1.0||WayPoint4RecArr.length==0)){
var Rec_WP=new Object();
Rec_WP.Car_Global_rx=Car_Global_rx.toFixed(3);
Rec_WP.Car_Global_ry=Car_Global_ry.toFixed(3);
Rec_WP.Car_Global_Theta=Car_Global_Theta.toFixed(3);
WayPoint4RecArr.push(Rec_WP);
Last_Rec_Car_Global_rx=Car_Global_rx;
Last_Rec_Car_Global_ry=Car_Global_ry;
Last_Rec_Car_Global_Theta=Car_Global_Theta;
}
else if(WayPoint4RecArr.length>2 && Last_Tmp_Speed_Direction_Rec!=Tmp_Speed_Direction_Rec){
var Rec_WP=new Object();
Rec_WP.Car_Global_rx=Last_Tmp_Speed_rx.toFixed(3);
Rec_WP.Car_Global_ry=Last_Tmp_Speed_ry.toFixed(3);
Rec_WP.Car_Global_Theta=Last_Tmp_Speed_rt.toFixed(3);
WayPoint4RecArr.push(Rec_WP);
//Last_Tmp_Speed_Direction_Rec=Tmp_Speed_Direction_Rec;
}
if(Last_Tmp_Speed_Direction_Rec!=Tmp_Speed_Direction_Rec) {
Last_Tmp_Speed_Direction_Rec = Tmp_Speed_Direction_Rec;
}
/*
if(LearnWayPointAB3_Sch==1&&(WayPoint3RecArr.length>0 && Last_Tmp_Speed_Direction_Rec!=Tmp_Speed_Direction_Rec)){
WayPoint3RecArr.pop();
var Rec_WP=new Object();
Rec_WP.Car_Global_rx=Last_Tmp_Speed_rx.toFixed(3);
Rec_WP.Car_Global_ry=Last_Tmp_Speed_ry.toFixed(3);
Rec_WP.Car_Global_Theta=Last_Tmp_Speed_rt.toFixed(3);
WayPoint3RecArr.push(Rec_WP);
Rec_WP.Car_Global_rx=Car_Global_rx.toFixed(3);
Rec_WP.Car_Global_ry=Car_Global_ry.toFixed(3);
Rec_WP.Car_Global_Theta=Car_Global_Theta.toFixed(3);
WayPoint3RecArr.push(Rec_WP);
Last_Rec_Car_Global_rx=Car_Global_rx;
Last_Rec_Car_Global_ry=Car_Global_ry;
Last_Rec_Car_Global_Theta=Car_Global_Theta;
Last_Tmp_Speed_Direction_Rec=Tmp_Speed_Direction_Rec;
}
*/
else if(LearnWayPointAB4_Sch==2&& LastRecWayPoint4==false){
var Rec_WP=new Object();
Rec_WP.Car_Global_rx=Car_Global_rx.toFixed(3);
Rec_WP.Car_Global_ry=Car_Global_ry.toFixed(3);
Rec_WP.Car_Global_Theta=Car_Global_Theta.toFixed(3);
WayPoint4RecArr.push(Rec_WP);
LastRecWayPoint4=true;
}
}
var str="LearnWayPointAB4_Sch:"+LearnWayPointAB4_Sch+";";
for(let i=0;i<WayPoint4RecArr.length;i++){
str=str+"Point"+":"+WayPoint4RecArr[i].Car_Global_rx+","+WayPoint4RecArr[i].Car_Global_ry+","+WayPoint4RecArr[i].Car_Global_Theta+";";
}
str=str+"Direction:"+Direction+"#";
$.cookie("LearnWayPointAB4_Sch",encodeURIComponent(str),{secure: true});//setCookie("LearnWayPointAB_Sch",encodeURIComponent(str),1000);
}
function Timer(){
Refresh();
//console.log(LearnWayPointAB3_Sch);
//console.log(WayPoint3RecArr);
}
window.setInterval("Timer()",100);
</script>
<title>Title</title>
</head>
<body>
<div id='LearnWayPointAB4_Sch'> </div>
<div>
<iframe id="LeftLearnWayPointAB4Iframe" name="LeftLearnWayPointAB4Iframe" width=400 height=560 src="HMI_Sketch_Left_LearnWayPointAB4_Sch0.html" frameborder="2" scrolling="auto"></iframe>
</div>
<div id='PointA_rx'></div>
<div id='PointA_ry'></div>
<div id='PointA_rt'></div>
<div id='PointB_rx'></div>
<div id='PointB_ry'></div>
<div id='PointB_rt'></div>
<div id='StartNode'></div>
<div id='EndNode'></div>
<div id='Direction'></div>
</body>
<script src="../js/drag.js"></script>
</html>