added packaging dir
[profile/ivi/GhostCluster.git] / business.js
1 var counter = 0;
2 var velocityStream;
3 var batteryVoltageStream;
4 var rpmStream;
5 var headingStream;
6 var engineCoolantStream;
7 var throttleStream;
8 var intakeAirTempStream;
9 var engineLoadStream;
10 var engineoiltemp;
11 var mafStream;
12
13 var vehicle;
14
15 var mpgReadings = 0;
16 var prevMpg = 0;
17
18 function calcAverageMpg(newMpg) {
19         prevMpg += parseInt(newMpg);
20         mpgReadings++;
21
22         var averageMpg = prevMpg / mpgReadings;
23         $("#avgmpg").text(Math.floor(averageMpg));
24 }
25
26
27 var velReadings = 0;
28 var prevVel = 0;
29
30 function calcAverageVelocity(newVel) {
31         prevVel += parseInt(newVel);
32         velReadings++;
33
34         var averageVel = prevVel / velReadings;
35         $("#avgspeed").text(Math.floor(averageVel));
36 }
37
38 function connected()
39 {
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"]);
47
48     document.addEventListener("running_status_speedometer",function(data) {
49
50                                   adjvalue = data.value;
51                                   var velocityUnits = $('#velocityUnits');
52
53                                   if(velocityUnits.text() === "MPH")
54                                       adjvalue = Math.floor(data.value * 0.62137);
55
56                                   $('#velocity').text(adjvalue);
57
58                                   calcAverageVelocity(adjvalue);
59                               },false);
60
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)");
67                               },false);
68
69     document.addEventListener("running_status_transmission_gear_status",function(data) {
70                                   value = data.value;
71                                                                   if(value == 128)
72                                                                           $('#gear').text('Reverse');
73                                                                   else if(value == 0)
74                                                                           $('#gear').text('Neutral');
75                                   else $('#gear').text(value);
76                                                                   
77                               },false);
78
79     document.addEventListener("running_status_steering_wheel_angle", function(data) {
80                                   value = data.value;
81                                   $('#wheel').css("-webkit-transform","rotate("+value+"deg)");
82                                   $('#machinegun').css("-webkit-transform","rotate("+value+"deg)");
83                               },false);
84
85     document.addEventListener("ThrottlePosition", function(data) {
86                                   value = data.value;
87                                   var needleDegs = (value / 100 * 180) + 270
88
89                                   $('#throttleNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
90
91                               },false);
92
93     document.addEventListener("EngineCoolantTemperature", function(data) {
94                                   value = data.value;
95                                   var needleDegs = (value / 180 * 70) + 270
96
97                                   $('#engineCoolantNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
98
99                               },false);
100
101     document.addEventListener("MachineGunTurretStatus", function(data) {
102                                   value = data.value;
103                                   if(value === "1")
104                                       $('#machineGunTurretPopup').popup('open');
105                                   else $('#machineGunTurretPopup').popup('close');
106
107                               },false);
108
109
110
111 }
112
113 function connect(addy)
114 {
115     vehicle = new Vehicle(connected, function(){$('#velocity').text("ERR");}, "ws://"+addy, "http-only");
116 }
117
118 window.onload = function()
119 {
120     var addy = "127.0.0.1:23000";
121
122     if(typeof(Storage)!== "undefined")
123     {
124         addyTemp = localStorage.address;
125         if(addyTemp !== undefined) addy = addyTemp;
126     }
127
128     $("#address").val(addy);
129     $("#address").change(function() { localStorage.address = $("#address").val(); });
130     $("#connectButton").click(function() { connect(addy) });
131
132
133
134     connect(addy);
135
136     var velocityUnits = $('#velocityUnits');
137     velocityUnits.click(function() {
138                               if(velocityUnits.text() === "MPH")
139                               {
140                                   velocityUnits.text("KPH");
141                               }
142                               else velocityUnits.text("MPH");
143                         });
144 }