use tizen wrt plugin
[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     var vehicle = tizen.vehicle
141
142     var vehicleSpeed = vehicle.get("VehicleSpeed");
143     console.log("Vehicle speed: " + vehicleSpeed.VehicleSpeed);
144
145     if(typeof(Storage)!== "undefined")
146     {
147         addyTemp = localStorage.address;
148         if(addyTemp !== undefined) addy = addyTemp;
149     }
150
151     $("#address").val(addy);
152     $("#address").change(function() { localStorage.address = $("#address").val(); });
153     $("#connectButton").click(function() { connect(addy) });
154
155     
156
157     //connect(addy);
158
159     var velocityUnits = $('#velocityUnits');
160     velocityUnits.click(function() {
161                               if(velocityUnits.text() === "MPH")
162                               {
163                                   velocityUnits.text("KPH");
164                               }
165                               else velocityUnits.text("MPH");
166                         });
167
168    vehicle.subscribe("VehicleSpeed",function(data) {
169                                   console.log("Vehicle data" + data.VehicleSpeed);
170                                   adjvalue = data.VehicleSpeed;
171                                   curVss = adjvalue;
172                                   var velocityUnits = $('#velocityUnits');
173
174                                   if(velocityUnits.text() === "MPH")
175                                       adjvalue = Math.floor(adjvalue * 0.62137);
176
177                                   $('#velocity').text(adjvalue);
178
179                                   calcAverageVelocity(adjvalue);
180                               });
181
182    vehicle.subscribe("EngineSpeed", function(data) {
183                                   var value = data.EngineSpeed;
184                                   if(value > 10000) value =10000;
185                                   var needleDegs = value / 10000 * 180;
186                                   $('#rpms').text(value);
187                                   $('#rpmNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
188                               });
189
190     vehicle.subscribe("Transmission",function(data) {
191                                   value = data.GearPosition;
192                                   if(value == 128)
193                                       $('#gear').text('Reverse');
194                                   else if(value == 0)
195                                       $('#gear').text('Neutral');
196                                   else $('#gear').text(value);
197
198                               });
199
200     vehicle.subscribe("SteeringWheelAngle", function(data) {
201                                   value = data.SteeringWheelAngle;
202                                   $('#wheel').css("-webkit-transform","rotate("+value+"deg)");
203                                   $('#machinegun').css("-webkit-transform","rotate("+value+"deg)");
204                               });
205
206     vehicle.subscribe("ThrottlePosition", function(data) {
207                                   value = data.ThrottlePosition;
208                                   var needleDegs = (value / 100 * 180) + 270
209
210                                   $('#throttleNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
211
212                               });
213
214     vehicle.subscribe("EngineCoolantTemperature", function(data) {
215                                   value = data.EngineCoolantTemperature;
216                                   var needleDegs = (value / 180 * 70) + 270
217
218                                   $('#engineCoolantNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
219
220                               });
221
222     vehicle.subscribe("MachineGunTurretStatus", function(data) {
223                                   value = data.MachineGunTurretStatus;
224                                   if(value === "1")
225                                       $('#machineGunTurretPopup').popup('open');
226                                   else $('#machineGunTurretPopup').popup('close');
227
228                               });
229 }