mirror of
https://github.com/supleed2/ELEC50003-P1-CW.git
synced 2024-12-22 21:45:49 +00:00
Update UI for Colour
Update for negative translation Change default UI values
This commit is contained in:
parent
ec55c24a7c
commit
ca662990b7
|
@ -75,9 +75,9 @@ var command = (function(){
|
||||||
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o};
|
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o};
|
||||||
var parser = {trace: function trace () { },
|
var parser = {trace: function trace () { },
|
||||||
yy: {},
|
yy: {},
|
||||||
symbols_: {"error":2,"command":3,"expr":4,"EOF":5,"move":6,"whitespace":7,"distance":8,"heading_angle":9,"percentage":10,"stop":11,"pstop":12,"stop_duration":13,"charge_to":14,"telemetry_reset":15,"help":16,"$accept":0,"$end":1},
|
symbols_: {"error":2,"command":3,"expr":4,"EOF":5,"move":6,"whitespace":7,"distance":8,"heading_angle":9,"percentage":10,"stop":11,"pstop":12,"stop_duration":13,"charge_to":14,"colour":15,"colour_name":16,"telemetry_reset":17,"help":18,"$accept":0,"$end":1},
|
||||||
terminals_: {2:"error",5:"EOF",6:"move",7:"whitespace",8:"distance",9:"heading_angle",10:"percentage",11:"stop",12:"pstop",13:"stop_duration",14:"charge_to",15:"telemetry_reset",16:"help"},
|
terminals_: {2:"error",5:"EOF",6:"move",7:"whitespace",8:"distance",9:"heading_angle",10:"percentage",11:"stop",12:"pstop",13:"stop_duration",14:"charge_to",15:"colour",16:"colour_name",17:"telemetry_reset",18:"help"},
|
||||||
productions_: [0,[3,2],[4,7],[4,1],[4,3],[4,3],[4,1],[4,1]],
|
productions_: [0,[3,2],[4,7],[4,1],[4,3],[4,3],[4,3],[4,1],[4,1]],
|
||||||
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
|
||||||
/* this == yyval */
|
/* this == yyval */
|
||||||
|
|
||||||
|
@ -110,18 +110,24 @@ case 5:
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
|
|
||||||
telRst();
|
var inColour = String($$[$0]);
|
||||||
|
colourCmd(inColour);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
|
|
||||||
|
telRst();
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
|
||||||
printHelpDetails();
|
printHelpDetails();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
table: [{3:1,4:2,6:[1,3],11:[1,4],12:[1,5],14:[1,6],15:[1,7],16:[1,8]},{1:[3]},{5:[1,9]},{7:[1,10]},{5:[2,3]},{7:[1,11]},{7:[1,12]},{5:[2,6]},{5:[2,7]},{1:[2,1]},{8:[1,13]},{13:[1,14]},{10:[1,15]},{7:[1,16]},{5:[2,4]},{5:[2,5]},{9:[1,17]},{7:[1,18]},{10:[1,19]},{5:[2,2]}],
|
table: [{3:1,4:2,6:[1,3],11:[1,4],12:[1,5],14:[1,6],15:[1,7],17:[1,8],18:[1,9]},{1:[3]},{5:[1,10]},{7:[1,11]},{5:[2,3]},{7:[1,12]},{7:[1,13]},{7:[1,14]},{5:[2,7]},{5:[2,8]},{1:[2,1]},{8:[1,15]},{13:[1,16]},{10:[1,17]},{16:[1,18]},{7:[1,19]},{5:[2,4]},{5:[2,5]},{5:[2,6]},{9:[1,20]},{7:[1,21]},{10:[1,22]},{5:[2,2]}],
|
||||||
defaultActions: {4:[2,3],7:[2,6],8:[2,7],9:[2,1],14:[2,4],15:[2,5],19:[2,2]},
|
defaultActions: {4:[2,3],8:[2,7],9:[2,8],10:[2,1],16:[2,4],17:[2,5],18:[2,6],22:[2,2]},
|
||||||
parseError: function parseError (str, hash) {
|
parseError: function parseError (str, hash) {
|
||||||
if (hash.recoverable) {
|
if (hash.recoverable) {
|
||||||
this.trace(str);
|
this.trace(str);
|
||||||
|
@ -612,20 +618,24 @@ case 6:return 12
|
||||||
break;
|
break;
|
||||||
case 7:return 11
|
case 7:return 11
|
||||||
break;
|
break;
|
||||||
case 8:return 16
|
case 8:return 18
|
||||||
break;
|
break;
|
||||||
case 9:return 14
|
case 9:return 14
|
||||||
break;
|
break;
|
||||||
case 10:return 15
|
case 10:return 17
|
||||||
break;
|
break;
|
||||||
case 11:return 5
|
case 11:return 15
|
||||||
break;
|
break;
|
||||||
case 12:return 'invalid_command'
|
case 12:return 16
|
||||||
|
break;
|
||||||
|
case 13:return 5
|
||||||
|
break;
|
||||||
|
case 14:return 'invalid_command'
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
rules: [/^(?:\s)/,/^(?:\b[0-9]+mm\b)/,/^(?:\b([0-9]|[1-8][0-9]|9[0-9]|[12][0-9]{2}|3[0-4][0-9]|35[0-9])deg\b)/,/^(?:\b([0-9]|[1-8][0-9]|9[0-9]|100)%)/,/^(?:\b[0-9]+s\b)/,/^(?:\bmove\b)/,/^(?:\bpstop\b)/,/^(?:\bstop\b)/,/^(?:\bhelp\b)/,/^(?:\bcharge\sto\b)/,/^(?:\btelemetry\sreset\b)/,/^(?:$)/,/^(?:.)/],
|
rules: [/^(?:\s)/,/^(?:(-[0-9]+mm|[0-9]+mm))/,/^(?:([0-9]|[1-8][0-9]|9[0-9]|[12][0-9]{2}|3[0-4][0-9]|35[0-9])deg\b)/,/^(?:([0-9]|[1-8][0-9]|9[0-9]|100)%)/,/^(?:[0-9]+s\b)/,/^(?:move\b)/,/^(?:pstop\b)/,/^(?:stop\b)/,/^(?:help\b)/,/^(?:charge\sto\b)/,/^(?:telemetry\sreset\b)/,/^(?:colour\b)/,/^(?:(red|blue|green|pink|orange))/,/^(?:$)/,/^(?:.)/],
|
||||||
conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12],"inclusive":true}}
|
conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"inclusive":true}}
|
||||||
});
|
});
|
||||||
return lexer;
|
return lexer;
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -139,19 +139,19 @@
|
||||||
<td style="text-align: center;" colspan="6"><strong> Set Heading to: </strong><strong id="SetHeading" style="font-size: 18px;">270</strong><strong>°</strong></td>
|
<td style="text-align: center;" colspan="6"><strong> Set Heading to: </strong><strong id="SetHeading" style="font-size: 18px;">270</strong><strong>°</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="6"><input type ="range" min="0" max="359" value="270" class="slider" id="HdgSlider"></td>
|
<td colspan="6"><input type ="range" min="0" max="359" value="180" class="slider" id="HdgSlider"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: center;" colspan="6"><strong>Set Translation to: </strong><strong id="SetTrans" style="font-size: 18px;">180</strong><strong>mm</strong></td>
|
<td style="text-align: center;" colspan="6"><strong>Set Translation to: </strong><strong id="SetTrans" style="font-size: 18px;">180</strong><strong>mm</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="6"><input type ="range" min="0" max="1000" value="100" class="slider" id="TranSlider"></td>
|
<td colspan="6"><input type ="range" min="-200" max="100" value="0" class="slider" id="TranSlider"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: center;" colspan="6"><strong>Set Speed to: </strong><strong id="SetSpd" style="font-size: 18px;">50</strong><strong>%</strong></td>
|
<td style="text-align: center;" colspan="6"><strong>Set Speed to: </strong><strong id="SetSpd" style="font-size: 18px;">50</strong><strong>%</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="6"><input type ="range" min="0" max="100" value="50" class="slider" id="SpdSlider"></td>
|
<td colspan="6"><input type ="range" min="0" max="100" value="100" class="slider" id="SpdSlider"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="6"><button onclick="setCmdMode(1); moveCmd(setTransto, setHdgto, setSpdto);">Send<br>Command</button></td>
|
<td colspan="6"><button onclick="setCmdMode(1); moveCmd(setTransto, setHdgto, setSpdto);">Send<br>Command</button></td>
|
||||||
|
@ -235,6 +235,7 @@
|
||||||
var reqSpeed = 0;
|
var reqSpeed = 0;
|
||||||
var reqCharge = 0;
|
var reqCharge = 0;
|
||||||
var pstop_time = 0;
|
var pstop_time = 0;
|
||||||
|
var hunt_colour = "";
|
||||||
|
|
||||||
var state = 0;
|
var state = 0;
|
||||||
var batteryVoltage = 0;
|
var batteryVoltage = 0;
|
||||||
|
@ -293,7 +294,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function send_data() {
|
function send_data() {
|
||||||
var raw_data = '{"Cid":' + command_id + ',"mode":' + mode + ',"rH":' + reqHeading + ',"rD":' + reqDistance + ',"rS":' + reqSpeed + ',"rC":' + reqCharge + ',"pSt":' + pstop_time + '}';
|
var raw_data = '{"Cid":' + command_id + ',"mode":' + mode + ',"rH":' + reqHeading + ',"rD":' + reqDistance + ',"rS":' + reqSpeed + ',"rC":' + reqCharge + ',"pSt":' + pstop_time + ',"col":' + hunt_colour + '}';
|
||||||
connection.send(raw_data);
|
connection.send(raw_data);
|
||||||
console.log(raw_data);
|
console.log(raw_data);
|
||||||
}
|
}
|
||||||
|
@ -351,6 +352,7 @@
|
||||||
reqCharge = 0;
|
reqCharge = 0;
|
||||||
pstop_time = 0;
|
pstop_time = 0;
|
||||||
tel_rst = 0;
|
tel_rst = 0;
|
||||||
|
hunt_colour = "";
|
||||||
send_data();
|
send_data();
|
||||||
updateCommandBuffer();
|
updateCommandBuffer();
|
||||||
command_id++;
|
command_id++;
|
||||||
|
@ -364,6 +366,7 @@
|
||||||
reqCharge = 0;
|
reqCharge = 0;
|
||||||
pstop_time = 0;
|
pstop_time = 0;
|
||||||
tel_rst = 0;
|
tel_rst = 0;
|
||||||
|
hunt_colour = "";
|
||||||
send_data();
|
send_data();
|
||||||
command_id = 1;
|
command_id = 1;
|
||||||
updateCommandBuffer();
|
updateCommandBuffer();
|
||||||
|
@ -377,6 +380,7 @@
|
||||||
reqCharge = 0;
|
reqCharge = 0;
|
||||||
pstop_time = pstp_tme;
|
pstop_time = pstp_tme;
|
||||||
tel_rst = 0;
|
tel_rst = 0;
|
||||||
|
hunt_colour = "";
|
||||||
send_data();
|
send_data();
|
||||||
updateCommandBuffer();
|
updateCommandBuffer();
|
||||||
command_id++;
|
command_id++;
|
||||||
|
@ -390,6 +394,7 @@
|
||||||
reqCharge = chrglvl;
|
reqCharge = chrglvl;
|
||||||
pstop_time = 0;
|
pstop_time = 0;
|
||||||
tel_rst = 0;
|
tel_rst = 0;
|
||||||
|
hunt_colour = "";
|
||||||
send_data();
|
send_data();
|
||||||
updateCommandBuffer();
|
updateCommandBuffer();
|
||||||
command_id++;
|
command_id++;
|
||||||
|
@ -402,6 +407,20 @@
|
||||||
reqSpeed = 0;
|
reqSpeed = 0;
|
||||||
reqCharge = 0;
|
reqCharge = 0;
|
||||||
pstop_time = 0;
|
pstop_time = 0;
|
||||||
|
hunt_colour = "";
|
||||||
|
send_data();
|
||||||
|
updateCommandBuffer();
|
||||||
|
command_id++;
|
||||||
|
}
|
||||||
|
|
||||||
|
function colourCmd(clrName){
|
||||||
|
mode = 4;
|
||||||
|
reqDistance = 0;
|
||||||
|
reqHeading = 0;
|
||||||
|
reqSpeed = 0;
|
||||||
|
reqCharge = 0;
|
||||||
|
pstop_time = 0;
|
||||||
|
hunt_colour = clrName;
|
||||||
send_data();
|
send_data();
|
||||||
updateCommandBuffer();
|
updateCommandBuffer();
|
||||||
command_id++;
|
command_id++;
|
||||||
|
@ -417,7 +436,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var setHdgto = 270;
|
var setHdgto = 180;
|
||||||
var hdg_slider = document.getElementById("HdgSlider");
|
var hdg_slider = document.getElementById("HdgSlider");
|
||||||
var hdg_output = document.getElementById("SetHeading");
|
var hdg_output = document.getElementById("SetHeading");
|
||||||
hdg_output.innerHTML = hdg_slider.value;
|
hdg_output.innerHTML = hdg_slider.value;
|
||||||
|
@ -426,7 +445,7 @@
|
||||||
setHdgto = this.value;
|
setHdgto = this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
var setTransto = 100;
|
var setTransto = 0;
|
||||||
var tran_slider = document.getElementById("TranSlider");
|
var tran_slider = document.getElementById("TranSlider");
|
||||||
var tran_output = document.getElementById("SetTrans");
|
var tran_output = document.getElementById("SetTrans");
|
||||||
tran_output.innerHTML = tran_slider.value;
|
tran_output.innerHTML = tran_slider.value;
|
||||||
|
@ -435,7 +454,7 @@
|
||||||
setTransto = this.value;
|
setTransto = this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
var setSpdto = 50;
|
var setSpdto = 100;
|
||||||
var spd_slider = document.getElementById("SpdSlider");
|
var spd_slider = document.getElementById("SpdSlider");
|
||||||
var spd_output = document.getElementById("SetSpd");
|
var spd_output = document.getElementById("SetSpd");
|
||||||
spd_output.innerHTML = spd_slider.value;
|
spd_output.innerHTML = spd_slider.value;
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
%lex
|
%lex
|
||||||
%%
|
%%
|
||||||
|
|
||||||
\s return 'whitespace'
|
\s return 'whitespace'
|
||||||
\b[0-9]+"mm"\b return 'distance'
|
("-"[0-9]+"mm"|[0-9]+"mm") return 'distance'
|
||||||
\b([0-9]|[1-8][0-9]|9[0-9]|[12][0-9]{2}|3[0-4][0-9]|35[0-9])"deg"\b return 'heading_angle'
|
([0-9]|[1-8][0-9]|9[0-9]|[12][0-9]{2}|3[0-4][0-9]|35[0-9])"deg" return 'heading_angle'
|
||||||
\b([0-9]|[1-8][0-9]|9[0-9]|100)"%" return 'percentage'
|
([0-9]|[1-8][0-9]|9[0-9]|100)"%" return 'percentage'
|
||||||
\b[0-9]+"s"\b return 'stop_duration'
|
[0-9]+"s" return 'stop_duration'
|
||||||
\bmove\b return 'move'
|
move return 'move'
|
||||||
\bpstop\b return 'pstop'
|
pstop return 'pstop'
|
||||||
\bstop\b return 'stop'
|
stop return 'stop'
|
||||||
\bhelp\b return 'help'
|
help return 'help'
|
||||||
\bcharge\sto\b return 'charge_to'
|
charge\sto return 'charge_to'
|
||||||
\btelemetry\sreset\b return 'telemetry_reset'
|
telemetry\sreset return 'telemetry_reset'
|
||||||
<<EOF>> return 'EOF'
|
colour return 'colour'
|
||||||
. return 'invalid_command'
|
("red"|"blue"|"green"|"pink"|"orange") return 'colour_name'
|
||||||
|
<<EOF>> return 'EOF'
|
||||||
|
. return 'invalid_command'
|
||||||
|
|
||||||
/lex
|
/lex
|
||||||
|
|
||||||
|
@ -47,6 +49,11 @@ expr
|
||||||
var inChrg = Number(String($3).substr(0, ((String($3).length) - 1)));
|
var inChrg = Number(String($3).substr(0, ((String($3).length) - 1)));
|
||||||
chrgCmd(inChrg);
|
chrgCmd(inChrg);
|
||||||
}
|
}
|
||||||
|
| colour whitespace colour_name
|
||||||
|
{
|
||||||
|
var inColour = String($3);
|
||||||
|
colourCmd(inColour);
|
||||||
|
}
|
||||||
| telemetry_reset
|
| telemetry_reset
|
||||||
{
|
{
|
||||||
telRst();
|
telRst();
|
||||||
|
|
Loading…
Reference in a new issue