Updated changelog
[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 var curVss;
18
19 function calcAverageMpg(newMpg) {
20         prevMpg += parseInt(newMpg);
21         mpgReadings++;
22
23         var averageMpg = prevMpg / mpgReadings;
24         $("#avgmpg").text(Math.floor(averageMpg));
25 }
26
27
28 var velReadings = 0;
29 var prevVel = 0;
30
31 function calcAverageVelocity(newVel) {
32         prevVel += parseInt(newVel);
33         velReadings++;
34
35         var averageVel = prevVel / velReadings;
36         $("#avgspeed").text(Math.floor(averageVel));
37 }
38
39 function connected()
40 {
41     /*vehicle.subscribe(["running_status_speedometer", "running_status_engine_speed", "running_status_transmission_gear_status", "running_status_steering_wheel_angle"]);
42     //vehicle.subscribe(["running_status_engine_speed"]);
43     //vehicle.subscribe(["running_status_transmission_gear_status"]);
44     //vehicle.subscribe(["running_status_steering_wheel_angle"]);
45     vehicle.subscribe(["ThrottlePosition"]);
46     vehicle.subscribe(["EngineCoolantTemperature"]);
47     vehicle.subscribe(["MachineGunTurretStatus"]);
48     vehicle.subscribe(["AirIntakeTemperature"]);*/
49
50     vehicle.subscribe(["VehicleSpeed","EngineSpeed","MassAirFlow","AirIntakeTemperature","ThrottlePosition","EngineCoolantTemperature", "TransmissionShiftPosition",
51                        "SteeringWheelAngle","MachineGunTurretStatus"]);
52
53     document.addEventListener("VehicleSpeed",function(data) {
54
55                                   adjvalue = data.value.value;
56                                   curVss = adjvalue;
57                                   var velocityUnits = $('#velocityUnits');
58
59                                   if(velocityUnits.text() === "MPH")
60                                       adjvalue = Math.floor(adjvalue * 0.62137);
61
62                                   $('#velocity').text(adjvalue);
63
64                                   calcAverageVelocity(adjvalue);
65                               },false);
66
67     document.addEventListener("EngineSpeed", function(data) {
68                                   var value = data.value.value;
69                                   if(value > 10000) value =10000;
70                                   var needleDegs = value / 10000 * 180;
71                                   $('#rpms').text(value);
72                                   $('#rpmNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
73                               },false);
74
75     document.addEventListener("TransmissionShiftPosition",function(data) {
76                                   value = data.value.value;
77                                                                   if(value == 128)
78                                                                           $('#gear').text('Reverse');
79                                                                   else if(value == 0)
80                                                                           $('#gear').text('Neutral');
81                                   else $('#gear').text(value);
82                                                                   
83                               },false);
84
85     document.addEventListener("SteeringWheelAngle", function(data) {
86                                   value = data.value.value;
87                                   $('#wheel').css("-webkit-transform","rotate("+value+"deg)");
88                                   $('#machinegun').css("-webkit-transform","rotate("+value+"deg)");
89                               },false);
90
91     document.addEventListener("ThrottlePosition", function(data) {
92                                   value = data.value.value;
93                                   var needleDegs = (value / 100 * 180) + 270
94
95                                   $('#throttleNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
96
97                               },false);
98
99     document.addEventListener("EngineCoolantTemperature", function(data) {
100                                   value = data.value.value;
101                                   var needleDegs = (value / 180 * 70) + 270
102
103                                   $('#engineCoolantNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
104
105                               },false);
106
107     document.addEventListener("MachineGunTurretStatus", function(data) {
108                                   value = data.value.value;
109                                   if(value === "1")
110                                       $('#machineGunTurretPopup').popup('open');
111                                   else $('#machineGunTurretPopup').popup('close');
112
113                               },false);
114
115     document.addEventListener("MassAirFlow", function(data) {
116                                   value = data.value.value;
117                                   var maf = value;
118                                   var vss = curVss;
119                                   var mpg = Math.floor((14.7 * 6.17 * 4.54 * vss * 0.621371) / (3600 * maf / 100));
120
121                                   $('#mpg').text(mpg);
122
123                                   calcAverageMpg(mpg);
124
125                               },false);
126
127
128
129 }
130
131 function connect(addy)
132 {
133     vehicle = new Vehicle(connected, function(){$('#velocity').text("ERR");}, "ws://"+addy, "http-only");
134 }
135
136 window.onload = function()
137 {
138     var addy = "127.0.0.1:23000";
139
140     if(typeof(Storage)!== "undefined")
141     {
142         addyTemp = localStorage.address;
143         if(addyTemp !== undefined) addy = addyTemp;
144     }
145
146     $("#address").val(addy);
147     $("#address").change(function() { localStorage.address = $("#address").val(); });
148     $("#connectButton").click(function() { connect(addy) });
149
150
151
152     connect(addy);
153
154     var velocityUnits = $('#velocityUnits');
155     velocityUnits.click(function() {
156                               if(velocityUnits.text() === "MPH")
157                               {
158                                   velocityUnits.text("KPH");
159                               }
160                               else velocityUnits.text("MPH");
161                         });
162 }