7cc0b20432fda56c7cbf6179721885ffe34232a5
[profile/ivi/automotive-message-broker.git] / plugins / bluemonkey / config.js
1 var Zone = {
2   None: 0,
3   Front: 1,
4   Middle : 1 << 1,
5   Right : 1 << 2,
6   Left : 1 << 3,
7   Rear : 1 << 4,
8   Center : 1 << 5,
9   LeftSide : 1 << 6,
10   RightSide : 1 << 7,
11   FrontSide : 1 << 8,
12   BackSide : 1 << 9
13 };
14
15 Zone.Driver = Zone.Front | Zone.Left;
16
17 amb.createCustomProperty("BluemonkeySuperProperty", "It's true!");
18 amb.createCustomProperty("AnswerToTheUniverse", 42);
19
20 dbusConnected = amb.subscribeTo("DBusConnected");
21
22 dbusConnected.changed.connect(function () {
23         if(dbusConnected.value !== true)
24                 return;
25
26         amb.exportInterface("Bluemonkey",[{'BluemonkeySuperProperty' : 'SuperProperty'},
27                                                            {'AnswerToTheUniverse' : 'AnswerToTheUniverse'}]);
28 });
29
30 bluemonkey.loadModule("@PLUGIN_INSTALL_PATH@/bluemonkeyDBusModule.so");
31
32 exportObj = bluemonkey.createQObject();
33 exportObj.foo = function() { return "bar"; }
34 exportObj.bar = true;
35
36 testExport.jsFunc = function() { return "js rules!"; }
37
38 if(dbus)
39 {
40         try
41         {
42                 var dbusIface = dbus.createInterface("org.freedesktop.DBus", "/", "org.freedesktop.DBus", dbus.Session);
43
44                 var reply = dbusIface.GetId();
45
46                 bluemonkey.log("org.freedesktop.DBus.GetId() response: " + reply);
47
48                 var registered = dbus.registerService("org.bluemonkey", dbus.Session)
49
50                 bluemonkey.assertIsTrue(registered, "could not register service: " + dbus.errorMessage(dbus.Session));
51
52                 for(prop in exportObj)
53                 {
54                         bluemonkey.log(prop +"="+ exportObj[prop]);
55                 }
56                 for(prop in testExport)
57                 {
58                         bluemonkey.log(prop +"="+ testExport[prop]);
59                 }
60
61                 var exported = dbus.exportObject("/one", "org.awesome.interface", dbus.Session, exportObj);
62                 bluemonkey.log("exported: " + exported)
63
64                 bluemonkey.assertIsTrue(exported, "Failed to export custom dbus object: " + dbus.errorMessage(dbus.Session));
65
66                 var exported2 = dbus.exportObject("/two", "org.awesome.interface2", dbus.Session, testExport)
67                 bluemonkey.log("exported2: " + exported2)
68
69                 bluemonkey.assertIsTrue(exported2, "failed to export testExport: " + dbus.errorMessage());
70
71                 //var exportedIface = dbus.createInterface("org.bluemonkey", "/", "org.awesome.interface", dbus.Session);
72
73                 //bluemonkey.assertIsTrue(exportedIface.foo, "member 'foo' is missing " + dbus.errorMessage());
74
75                 //var reply = exportedIface.foo();
76
77                 //bluemonkey.assertIsTrue(reply === "bar" && exportedIface.bar === true);
78         }
79         catch(error)
80         {
81                 bluemonkey.log("nasty dbus errors");
82         }
83 }
84
85 amb.createCustomProperty("VehicleSpeed", 10);
86 amb.createCustomProperty("EngineSpeed", 5000);
87 amb.createCustomProperty("PowertrainTorque", 324);
88 amb.createCustomProperty("AcceleratorPedalPosition", 50);
89 amb.createCustomProperty("ThrottlePosition", 50);
90 amb.createCustomProperty("TransmissionModeW3C", "park");
91 amb.createCustomProperty("TransmissionGearPosition", 1);
92 amb.createCustomProperty("CruiseControlActive", false);
93 amb.createCustomProperty("CruiseControlSpeed", 10);
94
95 ///LightStatus:
96 amb.createCustomProperty("LightHead", false);
97 amb.createCustomProperty("LightRightTurn", false);
98 amb.createCustomProperty("LightLeftTurn", false);
99 amb.createCustomProperty("LightBrake", false);
100 amb.createCustomProperty("LightFog", true);
101 amb.createCustomProperty("LightHazard", false);
102 amb.createCustomProperty("LightParking", false);
103 amb.createCustomProperty("LightHighBeam", false);
104 amb.createCustomProperty("LightAutomatic", true);
105 amb.createCustomProperty("LightDynamicHighBeam", false);
106
107 amb.createCustomProperty("Horn", false);
108 amb.createCustomProperty("Chime", false);
109
110 ///Fuel:
111 amb.createCustomProperty("FuelLevel", 90);
112 amb.createCustomProperty("FuelRange", 100);
113 amb.createCustomProperty("FuelConsumption", 10);
114 amb.createCustomProperty("FuelEconomy", 10);
115 amb.createCustomProperty("FuelAverageEconomy", 10);
116 amb.createCustomProperty("FuelAverageConsumption", 10);
117 amb.createCustomProperty("FuelConsumptionSinceRestart", 10);
118 amb.createCustomProperty("LightHighBeam", false);
119 amb.createCustomProperty("LightAutomatic", true);
120 amb.createCustomProperty("FuelTimeSinceRestart", 10000);
121
122 ///EngineOil:
123 amb.createCustomProperty("EngineOilTemperature", 60);
124 amb.createCustomProperty("EngineOilPressure", 60);
125 amb.createCustomProperty("EngineOilChangeIndicator", false);
126 amb.createCustomProperty("EngineOilLifeRemaining", 30);
127
128 amb.createCustomProperty("AccelerationX", 0);
129 amb.createCustomProperty("AccelerationY", 0);
130 amb.createCustomProperty("AccelerationZ", 10);
131
132 amb.createCustomProperty("SteeringWheelAngleW3C", 10);
133 amb.createCustomProperty("WheelTick", 1000);
134
135 amb.createCustomProperty("EngineCoolantLevel", 100);
136 amb.createCustomProperty("EngineCoolantTemperature", 60);
137
138 amb.createCustomProperty("IgnitionTimeOn", 5000);
139 amb.createCustomProperty("IgnitionTimeOff", 5000);
140
141 amb.createCustomProperty("YawRate", 128);
142 amb.createCustomProperty("WheelBrake", false);
143
144 amb.createCustomProperty("BrakesWorn", false, Zone.Front | Zone.Right)
145 amb.createCustomProperty("BrakeFluidLevel", 100, Zone.Front | Zone.Right)
146 amb.createCustomProperty("BrakeFluidLevelLow", false, Zone.Front | Zone.Right)
147 amb.createCustomProperty("BrakePadWear", 0, Zone.Front | Zone.Right)
148
149 amb.createCustomProperty("WasherFluidLevel", 100);
150 amb.createCustomProperty("WasherFluidLevelLow", false);
151
152 amb.createCustomProperty("MalfunctionIndicatorOn", false);
153
154 amb.createCustomProperty("AccumulatedEngineRuntime", 0);
155 amb.createCustomProperty("DistanceWithMILOn", 0);
156 amb.createCustomProperty("DistanceSinceCodeCleared", 0);
157 amb.createCustomProperty("TimeRunMILOn", 0);
158 amb.createCustomProperty("TimeTroubleCodeClear", 0);
159
160 amb.createCustomProperty("BatteryVoltage", 13);
161 amb.createCustomProperty("BatteryCurrent", 1);
162 amb.createCustomProperty("BatteryChargeLevel", 100);
163
164 amb.createCustomProperty("TirePressure", 200, Zone.Front | Zone.Right);
165 amb.createCustomProperty("TirePressureLow", false, Zone.Front | Zone.Right);
166 amb.createCustomProperty("TireTemperature", 20, Zone.Front | Zone.Right);
167
168 amb.createCustomProperty("TirePressure", 200, Zone.Front | Zone.Left);
169 amb.createCustomProperty("TirePressureLow", false, Zone.Front | Zone.Left);
170 amb.createCustomProperty("TireTemperature", 20, Zone.Front | Zone.Left);
171
172 amb.createCustomProperty("TirePressure", 200, Zone.Rear| Zone.Right);
173 amb.createCustomProperty("TirePressureLow", false, Zone.Rear | Zone.Right);
174 amb.createCustomProperty("TireTemperature", 20, Zone.Rear | Zone.Right);
175
176 amb.createCustomProperty("TirePressure", 200, Zone.Rear | Zone.Left);
177 amb.createCustomProperty("TirePressureLow", false, Zone.Rear | Zone.Left);
178 amb.createCustomProperty("TireTemperature", 20, Zone.Rear | Zone.Left);
179
180 amb.createCustomProperty("ActiveNoiseControlMode", false);
181 amb.createCustomProperty("AvailableSounds", ["LightSpeed", "v8"]);
182 amb.createCustomProperty("EngineSoundEnhancementMode", "");
183
184 amb.createCustomProperty("SeatPositionBackCushion", 0, Zone.Front | Zone.Right);
185 amb.createCustomProperty("SeatPositionRecline", 0, Zone.Front | Zone.Right);
186 amb.createCustomProperty("SeatPositionSlide", 0, Zone.Front | Zone.Right);
187 amb.createCustomProperty("SeatPositionCushionHeight", 0, Zone.Front | Zone.Right);
188 amb.createCustomProperty("SeatPositionHeadrest", 0, Zone.Front | Zone.Right);
189 amb.createCustomProperty("SeatPositionSideCushion", 0, Zone.Front | Zone.Right);
190
191 amb.createCustomProperty("SeatPositionBackCushion", 0, Zone.Front | Zone.Left);
192 amb.createCustomProperty("SeatPositionRecline", 0, Zone.Front | Zone.Left);
193 amb.createCustomProperty("SeatPositionSlide", 0, Zone.Front | Zone.Left);
194 amb.createCustomProperty("SeatPositionCushionHeight", 0, Zone.Front | Zone.Left);
195 amb.createCustomProperty("SeatPositionHeadrest", 0, Zone.Front | Zone.Left);
196 amb.createCustomProperty("SeatPositionSideCushion", 0, Zone.Front | Zone.Left);
197
198 amb.createCustomProperty("VehicleDriveMode", "auto");
199
200 amb.createCustomProperty("MirrorSettingPan", 0, Zone.Front | Zone.Left);
201 amb.createCustomProperty("MirrorSettingTilt", 0, Zone.Front | Zone.Left);
202
203 amb.createCustomProperty("MirrorSettingPan", 0, Zone.Front | Zone.Right);
204 amb.createCustomProperty("MirrorSettingTilt", 0, Zone.Front | Zone.Right);
205
206 amb.createCustomProperty("DashboardIllumination", 5);
207
208 amb.createCustomProperty("AntilockBreakingSystem", false);
209 amb.createCustomProperty("AntilockBreakingSystemEnabled", true);
210
211 amb.createCustomProperty("TractionControlSystem", true);
212 amb.createCustomProperty("TractionControlSystemEnabled", true);
213
214 amb.createCustomProperty("ElectronicStabilityControlEnabled", true);
215 amb.createCustomProperty("ElectronicStabilityControlEngaged", true);
216
217 amb.createCustomProperty("VehicleTopSpeedLimit", 150);
218
219 amb.createCustomProperty("AirbagActivated", true, Zone.Front | Zone.Left);
220 amb.createCustomProperty("AirbagDeployed", false, Zone.Front | Zone.Left);
221 amb.createCustomProperty("AirbagActivated", true, Zone.Front | Zone.Right);
222 amb.createCustomProperty("AirbagDeployed", false, Zone.Front | Zone.Right);
223
224 amb.createCustomProperty("ChildSafetyLock", false, Zone.Rear | Zone.Left);
225 amb.createCustomProperty("ChildSafetyLock", true, Zone.Rear | Zone.Right);
226
227 amb.createCustomProperty("AntilockBrakingSystem", false);
228 amb.createCustomProperty("AntilockBrakingSystemEnabled", true);
229
230 amb.createCustomProperty("DoorStatusW3C", "closed", Zone.Front | Zone.Right);
231 amb.createCustomProperty("DoorStatusW3C", "closed", Zone.Front | Zone.Left);
232 amb.createCustomProperty("DoorStatusW3C", "closed", Zone.Rear | Zone.Right);
233 amb.createCustomProperty("DoorStatusW3C", "closed", Zone.Rear | Zone.Left);
234 amb.createCustomProperty("DoorLockStatus", true, Zone.Front | Zone.Right);
235 amb.createCustomProperty("DoorLockStatus", true, Zone.Front | Zone.Left);
236 amb.createCustomProperty("DoorLockStatus", true, Zone.Rear | Zone.Right);
237 amb.createCustomProperty("DoorLockStatus", true, Zone.Rear | Zone.Left);
238
239 amb.createCustomProperty("OccupantStatusW3C", "adult", Zone.Front | Zone.Left);
240 amb.createCustomProperty("OccupantStatusW3C", "adult", Zone.Front | Zone.Right);
241 amb.createCustomProperty("OccupantStatusW3C", "child", Zone.Rear | Zone.Right);
242 amb.createCustomProperty("OccupantStatusW3C", "child", Zone.Rear | Zone.Left);
243 amb.createCustomProperty("SeatBeltStatus", true, Zone.Front | Zone.Right);
244 amb.createCustomProperty("SeatBeltStatus", true, Zone.Front | Zone.Left);
245 amb.createCustomProperty("SeatBeltStatus", true, Zone.Rear | Zone.Right);
246 amb.createCustomProperty("SeatBeltStatus", true, Zone.Rear | Zone.Left);
247 amb.createCustomProperty("OccupantName", "Kevron", Zone.Front | Zone.Left);
248 amb.createCustomProperty("OccupantName", "Irene", Zone.Front | Zone.Right);
249 amb.createCustomProperty("OccupantName", "Miggie", Zone.Rear | Zone.Right);
250 amb.createCustomProperty("OccupantName", "Emma", Zone.Rear | Zone.Left);
251 amb.createCustomProperty("OccupantIdentificationType", "camera", Zone.Front | Zone.Left);
252 amb.createCustomProperty("OccupantIdentificationType", "Bluetooth", Zone.Front | Zone.Right);
253 amb.createCustomProperty("OccupantIdentificationType", "pin", Zone.Rear | Zone.Right);
254 amb.createCustomProperty("OccupantIdentificationType", "pin", Zone.Rear | Zone.Left);
255
256 amb.createCustomProperty("TargetTemperature", 20);
257 amb.createCustomProperty("FanSpeed", 1);
258 amb.createCustomProperty("AirConditioning", false);
259 amb.createCustomProperty("Heater", false);
260 amb.createCustomProperty("AirflowDirection", 0);
261 amb.createCustomProperty("AirRecirculation", false);
262
263 amb.createCustomProperty("TargetTemperature", 20, Zone.Front | Zone.Left);
264 amb.createCustomProperty("AirRecirculation", false, Zone.Front | Zone.Left);
265 amb.createCustomProperty("SteeringWheelHeater", 0, Zone.Front | Zone.Left);
266 amb.createCustomProperty("SeatHeater", 0, Zone.Front | Zone.Left);
267 amb.createCustomProperty("SeatCooler", 0, Zone.Front | Zone.Left);
268
269 amb.createCustomProperty("AirflowDirection", 0, Zone.Front | Zone.Right);
270 amb.createCustomProperty("TargetTemperature", 25, Zone.Front | Zone.Right);
271 amb.createCustomProperty("SeatHeater", 0, Zone.Front | Zone.Right);
272 amb.createCustomProperty("SeatCooler", 0, Zone.Front | Zone.Right);
273
274 amb.createCustomProperty("ExteriorTemperature", 30.0);
275 amb.createCustomProperty("InteriorTemperature", 23.0);
276
277 amb.createCustomProperty("DefrostWindow", false, Zone.Front | Zone.Right);
278 amb.createCustomProperty("DefrostMirrors", false, Zone.Front | Zone.Right);
279 amb.createCustomProperty("DefrostWindow", false, Zone.Front | Zone.Left);
280 amb.createCustomProperty("DefrostMirrors", false, Zone.Front | Zone.Left);
281
282 amb.createCustomProperty("RainSensor", 0);
283
284 amb.createCustomProperty("WindsheildWiperSpeed", "off");
285 amb.createCustomProperty("WindsheildWiperSetting", "auto");
286
287 amb.createCustomProperty("ConvertableRoof", false);
288 amb.createCustomProperty("ConvertableRoofStatus", "closed");
289
290 amb.createCustomProperty("Sunroof", 0);
291 amb.createCustomProperty("SunroofTilt", 0);
292
293 amb.createCustomProperty("WindowStatus", 100, Zone.Driver);
294 amb.createCustomProperty("WindowLockStatus", false, Zone.Driver);
295 amb.createCustomProperty("WindowStatus", 100, Zone.Front | Zone.Right);
296 amb.createCustomProperty("WindowLockStatus", false, Zone.Front | Zone.Right);
297 amb.createCustomProperty("WindowStatus", 100, Zone.Rear| Zone.Right);
298 amb.createCustomProperty("WindowLockStatus", true, Zone.Rear | Zone.Right);
299 amb.createCustomProperty("WindowStatus", 100, Zone.Rear| Zone.Left);
300 amb.createCustomProperty("WindowLockStatus", true, Zone.Rear | Zone.Left);
301
302 amb.createCustomProperty("AtmosphericPressure", 1013);
303
304 amb.createCustomProperty("LaneDepartureStatus", "running");
305 amb.createCustomProperty("AlarmStatus", "prearmed");
306 amb.createCustomProperty("ParkingBrakeStatusW3C", "inactive");
307
308 amb.createCustomProperty("Altitude", 200);
309 amb.createCustomProperty("Latitude", 45.541174);
310 amb.createCustomProperty("Longitude", -122.958967);
311
312
313 var speedProperty = amb.subscribeTo("VehicleSpeed");
314
315 var testTimer = bluemonkey.createTimer();
316  testTimer.interval = 3000;
317  testTimer.singleShot = false;
318  testTimer.timeout.connect(function() {
319   //VehicleSpeed
320   speedProperty.value = Math.floor((Math.random() * 100) + 1);
321  });
322
323 //testTimer.start();