added wheel and gear UI
[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     setInterval(function() {
41                   vehicle.get("running_status_speedometer", function(data) {
42
43                                   adjvalue = data[0].value;
44                                   var velocityUnits = $('#velocityUnits');
45
46                                   if(velocityUnits.text() === "MPH")
47                                       adjvalue = Math.floor(data[0].value * 0.62137);
48
49                                   $('#velocity').text(adjvalue);
50
51                                   calcAverageVelocity(adjvalue);
52                               },
53                               function() { } );
54
55                     vehicle.get("running_status_engine_speed", function(data) {
56                                     var value = data[0].value;
57                                     if(value > 10000) value =10000;
58                                     var needleDegs = value / 10000 * 180;
59                                     $('#rpms').text(value);
60                                     $('#rpmNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
61                                 },
62                                 function() { } );
63
64                     vehicle.get("running_status_transmission_gear_status", function(data) {
65                                     value = data[0].value;
66                                     $('#gear').text(value);
67                                 },
68                                 function() { } );
69
70                     vehicle.get("running_status_steering_wheel_angle", function(data) {
71                                     value = data[0].value;
72                                     $('#wheel').css("-webkit-transform","rotate("+value+"deg)");
73                                 },
74                                 function() { } );
75               },1000);
76 }
77
78 window.onload = function()
79 {
80             vehicle = new Vehicle(connected, function(){$('#velocity').text("ERR");}, "ws://localhost:23000", "http-only");
81
82         var velocityUnits = $('#velocityUnits');
83         velocityUnits.click(function() {
84                               if(velocityUnits.text() === "MPH")
85                                                           {
86                                                                   velocityUnits.text("KPH");
87                                                           }
88                                                           else velocityUnits.text("MPH");
89                                                 });
90
91
92
93
94     /*nobdy.connected = function () {
95                 if(nobdy.supported.Velocity) {
96                         velocityStream = nobdy.createStream(nobdy.supported.Velocity);
97                         velocityStream.changed = function (value) {
98
99                                 adjvalue = value;
100
101                 if(velocityUnits.text() === "MPH")
102                                         adjvalue = Math.floor(value * 0.62137);
103
104                                 $('#velocity').text(adjvalue);
105
106                                 calcAverageVelocity(adjvalue);
107                         }
108                 }
109                 if(nobdy.supported.BatteryVoltage) {
110                         batteryVoltageStream = nobdy.createStream(nobdy.supported.BatteryVoltage);
111                         batteryVoltageStream.changed = function (value) {
112                                 $('#batteryvoltage').text(batteryVoltageStream.batteryVoltage);
113                         }
114                 }
115                 if(nobdy.supported.EngineRPM) {
116                         rpmStream = nobdy.createStream(nobdy.supported.EngineRPM);
117                         rpmStream.changed = function (value) {
118                                 var needleDegs = value / 10000 * 180;
119                                 $('#rpms').text(rpmStream.engineRPM);
120
121
122                                 $('#rpmNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
123                         }
124                 }
125                 if(nobdy.supported.Heading) {
126                         headingStream = nobdy.createStream(nobdy.supported.Heading);
127                         headingStream.changed = function (value) {
128                                 $('#heading').text(headingStream.heading);
129                         }
130                 }
131                 else $('#heading').text("Not supported").attr("style","textcolor=red");
132
133                 if(nobdy.supported.EngineCoolantTemp) {
134                         engineCoolantStream = nobdy.createStream(nobdy.supported.EngineCoolantTemp);
135                         engineCoolantStream.changed = function (value) {
136                                 $('#enginecoolanttemp').text(engineCoolantStream.engineCoolantTemp);
137
138                                 var needleDegs = (value / 180 * 70) + 270
139
140                                 $('#engineCoolantNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
141                         }
142                 }
143                 if(nobdy.supported.ThrottlePosition) {
144                         throttleStream = nobdy.createStream(nobdy.supported.ThrottlePosition);
145                         throttleStream.changed = function (value) {
146                                 $('#throttle').text(throttleStream.throttlePosition);
147
148                                 var needleDegs = (value / 100 * 180) + 270
149
150                                 $('#throttleNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
151                         }
152                 }
153                 if(nobdy.supported.IntakeAirTemp) {
154                         intakeAirTempStream = nobdy.createStream(nobdy.supported.IntakeAirTemp);
155                         intakeAirTempStream.changed = function (value) {
156                                 $('#iat').text(intakeAirTempStream.intakeAirTemp);
157
158                                 var needleDegs = (value / 200 * 286) + 217
159
160                                 $("#iatNeedle").css("-webkit-transform","rotate("+needleDegs+"deg)");
161                         }
162                 }
163                 if(nobdy.supported.EngineLoad) {
164                         engineLoadStream = nobdy.createStream(nobdy.supported.EngineLoad);
165                         engineLoadStream.changed = function (value) {
166                                 $('#engineload').text(engineLoadStream.engineLoad);
167
168                                 var needleDegs = (value / 150 * 180) + 270
169
170                                 $('#loadNeedle').css("-webkit-transform","rotate("+needleDegs+"deg)");
171                         }
172                 }
173                 if(nobdy.supported.MassAirFlow) {
174                         mafStream = nobdy.createStream(nobdy.supported.MassAirFlow);
175                         mafStream.changed = function(value) {
176                                 var maf = value;
177                                 var vss = velocityStream.velocity;
178                                 var mpg = Math.floor((14.7 * 6.17 * 4.54 * vss * 0.621371) / (3600 * maf / 100));
179
180                                 $('#mpg').text(mpg);
181
182                                 calcAverageMpg(mpg);
183                         }
184                 }
185     }*/
186
187     //nobdy.connect("localhost:8082");
188 }