3 var batteryVoltageStream;
6 var engineCoolantStream;
8 var intakeAirTempStream;
18 function calcAverageMpg(newMpg) {
19 prevMpg += parseInt(newMpg);
22 var averageMpg = prevMpg / mpgReadings;
23 $("#avgmpg").text(Math.floor(averageMpg));
30 function calcAverageVelocity(newVel) {
31 prevVel += parseInt(newVel);
34 var averageVel = prevVel / velReadings;
35 $("#avgspeed").text(Math.floor(averageVel));
40 vehicle.subscribe(["running_status_speedometer", "running_status_engine_speed", "running_status_transmission_gear_status", "running_status_steering_wheel_angle"]);
41 //vehicle.subscribe(["running_status_engine_speed"]);
42 //vehicle.subscribe(["running_status_transmission_gear_status"]);
43 //vehicle.subscribe(["running_status_steering_wheel_angle"]);
44 vehicle.subscribe(["ThrottlePosition"]);
45 vehicle.subscribe(["EngineCoolantTemperature"]);
46 vehicle.subscribe(["MachineGunTurretStatus"]);
48 document.addEventListener("running_status_speedometer",function(data) {
50 adjvalue = data.value;
51 var velocityUnits = $('#velocityUnits');
53 if(velocityUnits.text() === "MPH")
54 adjvalue = Math.floor(data.value * 0.62137);
56 $('#velocity').text(adjvalue);
58 calcAverageVelocity(adjvalue);
61 document.addEventListener("running_status_engine_speed", function(data) {
62 var value = data.value;
63 if(value > 10000) value =10000;
64 var needleDegs = value / 10000 * 180;
65 $('#rpms').text(value);
66 $('#rpmNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
69 document.addEventListener("running_status_transmission_gear_status",function(data) {
72 $('#gear').text('Reverse');
74 $('#gear').text('Neutral');
75 else $('#gear').text(value);
79 document.addEventListener("running_status_steering_wheel_angle", function(data) {
81 $('#wheel').css("-webkit-transform","rotate("+value+"deg)");
82 $('#machinegun').css("-webkit-transform","rotate("+value+"deg)");
85 document.addEventListener("ThrottlePosition", function(data) {
87 var needleDegs = (value / 100 * 180) + 270
89 $('#throttleNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
93 document.addEventListener("EngineCoolantTemperature", function(data) {
95 var needleDegs = (value / 180 * 70) + 270
97 $('#engineCoolantNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
101 document.addEventListener("MachineGunTurretStatus", function(data) {
104 $('#machineGunTurretPopup').popup('open');
105 else $('#machineGunTurretPopup').popup('close');
113 function connect(addy)
115 vehicle = new Vehicle(connected, function(){$('#velocity').text("ERR");}, "ws://"+addy, "http-only");
118 window.onload = function()
120 var addy = "127.0.0.1:23000";
122 if(typeof(Storage)!== "undefined")
124 addyTemp = localStorage.address;
125 if(addyTemp !== undefined) addy = addyTemp;
128 $("#address").val(addy);
129 $("#address").change(function() { localStorage.address = $("#address").val(); });
130 $("#connectButton").click(function() { connect(addy) });
136 var velocityUnits = $('#velocityUnits');
137 velocityUnits.click(function() {
138 if(velocityUnits.text() === "MPH")
140 velocityUnits.text("KPH");
142 else velocityUnits.text("MPH");