summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
author <philippe colliot>2016-04-19 17:53:14 +0200
committer <philippe colliot>2016-04-19 17:53:14 +0200
commit26c4c165c7d2b9770de3bad93eb38ae4ea19b59e (patch)
treef4daad66ee7b9cae921777d0bb130bfeb5ca15d3 /test
parent1526511f11177d444e6fc6678616bd4a9243d1d2 (diff)
downloadnavigation-26c4c165c7d2b9770de3bad93eb38ae4ea19b59e.tar.gz
Move Test panel to HTML, add signals to a qml
Diffstat (limited to 'test')
-rw-r--r--test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.cpp87
-rw-r--r--test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.hpp14
-rw-r--r--test/html-based-panel/node-cpp-lbs-modules/PositioningEnhancedPositionWrapper.cpp23
-rw-r--r--test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.cpp22
-rw-r--r--test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.hpp5
-rw-r--r--test/html-based-panel/server.js55
-rw-r--r--test/html-based-panel/simulation-panel.html86
7 files changed, 258 insertions, 34 deletions
diff --git a/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.cpp b/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.cpp
index a34f0bc..badec22 100644
--- a/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.cpp
+++ b/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.cpp
@@ -149,6 +149,10 @@ void FuelStopAdvisorWrapper::Init(v8::Handle<v8::Object> target) {
NODE_SET_PROTOTYPE_METHOD(constructor, "setTripDataUpdatedListener", SetTripDataUpdatedListener);
NODE_SET_PROTOTYPE_METHOD(constructor, "setFuelStopAdvisorWarningListener", SetFuelStopAdvisorWarningListener);
NODE_SET_PROTOTYPE_METHOD(constructor, "setTripDataResettedListener", SetTripDataResettedListener);
+ NODE_SET_PROTOTYPE_METHOD(constructor, "getSpeed", GetSpeed);
+ NODE_SET_PROTOTYPE_METHOD(constructor, "getLevel", GetLevel);
+ NODE_SET_PROTOTYPE_METHOD(constructor, "getInstantConsumption", GetInstantConsumption);
+ NODE_SET_PROTOTYPE_METHOD(constructor, "getOdometer", GetOdometer);
// This has to be last, otherwise the properties won't show up on the
// object in JavaScript.
@@ -205,19 +209,30 @@ v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetInstantData(const v8::Arguments
std::map< uint16_t, ::DBus::Variant > instant_data = obj->mp_demonstratorProxy->mp_fuelStopAdvisorProxy->GetInstantData();
+
v8::Local<v8::Array> ret = v8::Array::New();
for (std::map< uint16_t, ::DBus::Variant >::iterator iter = instant_data.begin(); iter != instant_data.end(); iter++) {
v8::Local<v8::Object> data = v8::Object::New();
- ::DBus::Variant value;
- value = iter->second;
+ ::DBus::Variant value = iter->second;
+ printf("GetInstantData%d\n",iter->first);
+ printf("GetInstantData%s\n",value.signature().c_str());
data->Set(v8::String::New("key"), v8::Uint32::New(iter->first));
switch (iter->first) {
- case GENIVI_FUELSTOPADVISOR_DISTANCE:
- case GENIVI_FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE:
- data->Set(v8::String::New("value"), v8::Number::New(value));
- default:
- break;
+ case GENIVI_FUELSTOPADVISOR_FUEL_LEVEL:
+ data->Set(v8::String::New("value"), v8::Int32::New(15));
+ break;
+ case GENIVI_FUELSTOPADVISOR_INSTANT_FUEL_CONSUMPTION_PER_DISTANCE:
+ data->Set(v8::String::New("value"), v8::Int32::New(55));
+ break;
+ case GENIVI_FUELSTOPADVISOR_TANK_DISTANCE:
+ data->Set(v8::String::New("value"), v8::Int32::New(300));
+ break;
+ case GENIVI_FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE:
+ data->Set(v8::String::New("value"), v8::Int32::New(400));
+ break;
+ default:
+ break;
}
ret->Set(ret->Length(), data);
}
@@ -225,6 +240,64 @@ v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetInstantData(const v8::Arguments
return scope.Close(ret);
}
+v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetSpeed(const v8::Arguments& args) {
+ v8::HandleScope scope; //to properly clean up v8 handles
+
+ // Retrieves the pointer to the wrapped object instance.
+ FuelStopAdvisorWrapper* obj = ObjectWrap::Unwrap<FuelStopAdvisorWrapper>(args.This());
+
+ v8::Local<v8::Object> ret = v8::Object::New();
+
+ return scope.Close(ret);
+}
+
+v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetLevel(const v8::Arguments& args) {
+ v8::HandleScope scope; //to properly clean up v8 handles
+
+ // Retrieves the pointer to the wrapped object instance.
+ FuelStopAdvisorWrapper* obj = ObjectWrap::Unwrap<FuelStopAdvisorWrapper>(args.This());
+
+ DBus::Variant variant = obj->mp_demonstratorProxy->mp_managerProxy->GetLevel();
+ DBus::MessageIter it = variant.reader();
+ uint16_t level;
+ it >> level;
+
+ v8::Local<v8::Object> ret = v8::Object::New();
+ ret->Set( 0, v8::Uint32::New(level) );
+
+ return scope.Close(ret);
+}
+
+v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetInstantConsumption(const v8::Arguments& args) {
+ v8::HandleScope scope; //to properly clean up v8 handles
+
+ // Retrieves the pointer to the wrapped object instance.
+ FuelStopAdvisorWrapper* obj = ObjectWrap::Unwrap<FuelStopAdvisorWrapper>(args.This());
+
+ DBus::Variant variant = obj->mp_demonstratorProxy->mp_managerProxy->GetInstantConsumption();
+ DBus::MessageIter it = variant.reader();
+ uint32_t consumption;
+ it >> consumption;
+
+ v8::Local<v8::Object> ret = v8::Object::New();
+ ret->Set( 0, v8::Uint32::New(consumption) );
+
+ return scope.Close(ret);
+}
+
+v8::Handle<v8::Value> FuelStopAdvisorWrapper::GetOdometer(const v8::Arguments& args) {
+ v8::HandleScope scope; //to properly clean up v8 handles
+
+ // Retrieves the pointer to the wrapped object instance.
+ FuelStopAdvisorWrapper* obj = ObjectWrap::Unwrap<FuelStopAdvisorWrapper>(args.This());
+
+ v8::Local<v8::Object> ret = v8::Object::New();
+
+ return scope.Close(ret);
+}
+
+
+
void RegisterModule(v8::Handle<v8::Object> target) {
FuelStopAdvisorWrapper::Init(target);
}
diff --git a/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.hpp b/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.hpp
index d8ab224..14c1af5 100644
--- a/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.hpp
+++ b/test/html-based-panel/node-cpp-lbs-modules/FuelStopAdvisorWrapper.hpp
@@ -43,6 +43,15 @@
// header file.
// using namespace v8;
+static int32_t
+int32_variant(DBus::Variant variant)
+{
+ int32_t ret;
+ DBus::MessageIter iter=variant.reader();
+ iter >> ret;
+ return ret;
+}
+
class FuelStopAdvisorWrapper : public node::ObjectWrap {
friend void DemonstratorProxy::TripDataResetted(const uint8_t &number);
friend void DemonstratorProxy::TripDataUpdated(const uint8_t &number);
@@ -70,6 +79,11 @@ protected:
static v8::Handle<v8::Value> SetFuelStopAdvisorWarningListener(const v8::Arguments& args);
void FuelStopAdvisorWarning(const bool& destinationCantBeReached);
+ static v8::Handle<v8::Value> GetSpeed(const v8::Arguments& args);
+ static v8::Handle<v8::Value> GetLevel(const v8::Arguments& args);
+ static v8::Handle<v8::Value> GetInstantConsumption(const v8::Arguments& args);
+ static v8::Handle<v8::Value> GetOdometer(const v8::Arguments& args);
+
private:
DemonstratorProxy* mp_demonstratorProxy;
};
diff --git a/test/html-based-panel/node-cpp-lbs-modules/PositioningEnhancedPositionWrapper.cpp b/test/html-based-panel/node-cpp-lbs-modules/PositioningEnhancedPositionWrapper.cpp
index 413e3c0..ff77d5a 100644
--- a/test/html-based-panel/node-cpp-lbs-modules/PositioningEnhancedPositionWrapper.cpp
+++ b/test/html-based-panel/node-cpp-lbs-modules/PositioningEnhancedPositionWrapper.cpp
@@ -131,12 +131,31 @@ v8::Handle<v8::Value> PositioningEnhancedPositionWrapper::GetVersion(const v8::A
v8::Handle<v8::Value> PositioningEnhancedPositionWrapper::GetPositionInfo(const v8::Arguments& args) {
v8::HandleScope scope; //to properly clean up v8 handles
+ uint64to32 valuesToReturn;
+
+ if (args.Length() < 1) {
+ return v8::ThrowException(
+ v8::Exception::TypeError(v8::String::New("getPositionInfo requires at least 1 argument"))
+ );
+ }
+
+ if (args[0]->IsArray()) {
+ v8::Handle<v8::Array> array = v8::Handle<v8::Array>::Cast(args[0]);
+ v8::Handle<v8::Value> msb = v8::Handle<v8::Object>::Cast(array->Get(0));
+ v8::Handle<v8::Value> lsb = v8::Handle<v8::Object>::Cast(array->Get(1));
+ valuesToReturn.p.high = msb->ToInt32()->Int32Value();
+ valuesToReturn.p.low = lsb->ToInt32()->Int32Value();
+ } else {
+ return v8::ThrowException(
+ v8::Exception::TypeError(v8::String::New("getPositionInfo requires an array as argument"))
+ );
+ }
+
// Retrieves the pointer to the wrapped object instance.
PositioningEnhancedPositionWrapper* obj = ObjectWrap::Unwrap<PositioningEnhancedPositionWrapper>(args.This());
- uint64_t valuesToReturn=GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE | GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE | GENIVI_ENHANCEDPOSITIONSERVICE_ALTITUDE;
uint64_t timestamp;
std::map< uint64_t, ::DBus::Variant > position;
- obj->mp_positioningProxy->mp_enhancedPositionProxy->GetPositionInfo(valuesToReturn, timestamp, position);
+ obj->mp_positioningProxy->mp_enhancedPositionProxy->GetPositionInfo(valuesToReturn.full, timestamp, position);
v8::Local<v8::Array> ret = v8::Array::New();
diff --git a/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.cpp b/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.cpp
index dc0096c..2c01e4f 100644
--- a/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.cpp
+++ b/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.cpp
@@ -68,6 +68,26 @@ ManagerProxy::ManagerProxy(DBus::Connection &connection, DemonstratorProxy *demo
mp_demonstratorProxy = demonstratorProxy;
}
+DBus::Variant ManagerProxy::GetLevel()
+{
+ return (mp_fuel_properties->Get("org.automotive.Fuel","Level"));
+}
+
+DBus::Variant ManagerProxy::GetSpeed()
+{
+ return (mp_engine_speed_properties->Get("org.automotive.EngineSpeed","EngineSpeed"));
+}
+
+DBus::Variant ManagerProxy::GetInstantConsumption()
+{
+ return (mp_fuel_properties->Get("org.automotive.Fuel","InstantConsumption"));
+}
+
+DBus::Variant ManagerProxy::GetOdometer()
+{
+ return(mp_odometer_properties->Get("org.automotive.Odometer","Odometer"));
+}
+
DemonstratorProxy::DemonstratorProxy(FuelStopAdvisorWrapper *fuelStopAdvisorWrapper)
{
dispatcher = new DBus::Glib::BusDispatcher();
@@ -102,6 +122,8 @@ DemonstratorProxy::~DemonstratorProxy()
delete mp_managerProxy;
delete connection;
delete dispatcher;
+ delete amb_connection;
+ delete amb_dispatcher;
}
void DemonstratorProxy::TripDataResetted(const uint8_t& number)
diff --git a/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.hpp b/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.hpp
index 41ba258..4d927e0 100644
--- a/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.hpp
+++ b/test/html-based-panel/node-cpp-lbs-modules/dbus-proxies/DemonstratorProxy.hpp
@@ -98,6 +98,11 @@ public:
Properties *mp_odometer_properties;
Properties *mp_engine_speed_properties;
+ DBus::Variant GetLevel();
+ DBus::Variant GetSpeed();
+ DBus::Variant GetInstantConsumption();
+ DBus::Variant GetOdometer();
+
private:
DemonstratorProxy* mp_demonstratorProxy;
diff --git a/test/html-based-panel/server.js b/test/html-based-panel/server.js
index 487096b..d14a0ce 100644
--- a/test/html-based-panel/server.js
+++ b/test/html-based-panel/server.js
@@ -54,6 +54,27 @@ var fuelStopAdvisorWrapper = require(resource.generatedNodejsModulePath+'/FuelSt
var i_positioningEnhancedPositionWrapper = new positioningEnhancedPositionWrapper.PositioningEnhancedPositionWrapper();
var i_fuelStopAdvisorWrapper = new fuelStopAdvisorWrapper.FuelStopAdvisorWrapper();
+var poll = 0;
+// Scan arguments if exists
+if (process.argv[2] === 'poll'){
+ poll = 1;
+ console.log('Polling activated, no signal used');
+ if (process.argv[3] === 'silent'){
+ // Silentize console
+ console.log('Silent mode now');
+ console.log = function() {
+ }
+ }
+} else {
+ if (process.argv[2] === 'silent'){
+ // Silentize console
+ console.log('Silent mode now');
+ console.log = function() {
+ }
+ }
+}
+
+
// Create and init server
var port = 8080;
var hostname = '127.0.0.1';
@@ -91,27 +112,30 @@ server.listen(port);
// Load socket.io and connect it to the server
var io = require('socket.io').listen(server);
-// Manage socket for the namespace /simulation
-var socket_simulation = io.of('/simulation');
+// Manage sockets
+var socket_simulation_get = io.of('/simulation_get');
+var socket_simulation_signal = io.of('/simulation_signal');
+var socket_simulation_warning = io.of('/simulation_warning');
+
// signals
function positionUpdate(changedValues) {
console.log('positionUpdate: ' + changedValues);
- socket_simulation.emit('positioning_signal', {signal: 'positionUpdate', data: changedValues});
+ if(!poll) { socket_simulation_signal.emit('positioning_signal', {signal: 'positionUpdate', data: changedValues});}
}
var setPositionUpdateListener = i_positioningEnhancedPositionWrapper.setPositionUpdateListener(positionUpdate);
function tripDataUpdated(changedValues) {
console.log('tripDataUpdated: ' + changedValues);
- socket_simulation.emit('demonstrator_signal', {signal: 'tripDataUpdated', data: changedValues});
+ if(!poll) { socket_simulation_signal.emit('demonstrator_signal', {signal: 'tripDataUpdated', data: changedValues});}
}
var setTripDataUpdatedListener = i_fuelStopAdvisorWrapper.setTripDataUpdatedListener(tripDataUpdated);
function fuelStopAdvisorWarning(changedValues) {
console.log('fuelStopAdvisorWarning: ' + changedValues);
- socket_simulation.emit('demonstrator_signal', {signal: 'fuelStopAdvisorWarning', data: changedValues});
+ if(!poll) { socket_simulation_signal.emit('demonstrator_signal', {signal: 'fuelStopAdvisorWarning', data: changedValues});}
}
var setFuelStopAdvisorWarningListener = i_fuelStopAdvisorWrapper.setFuelStopAdvisorWarningListener(fuelStopAdvisorWarning);
function tripDataResetted(changedValues) {
console.log('tripDataResetted: ' + changedValues);
- socket_simulation.emit('demonstrator_signal', {signal: 'tripDataResetted', data: changedValues});
+ if(!poll) { socket_simulation_signal.emit('demonstrator_signal', {signal: 'tripDataResetted', data: changedValues});}
}
var setTripDataResettedListener = i_fuelStopAdvisorWrapper.setTripDataResettedListener(tripDataResetted);
@@ -119,8 +143,8 @@ var setTripDataResettedListener = i_fuelStopAdvisorWrapper.setTripDataResettedLi
gcontext.init();
// connection
-socket_simulation.on('connection', function (client) {
- console.log('Client connected');
+socket_simulation_get.on('connection', function (client) {
+ console.log('Socket simulation started');
client.on('positioning_request', function (message) {
switch(message.interface) {
case "PositioningEnhancedPosition":
@@ -133,12 +157,12 @@ socket_simulation.on('connection', function (client) {
}
else {
console.log("Could not find " + message.method + " function");
- client.emit('feedback', "Could not find " + message.method + " function");
+ socket_simulation_warning.emit('feedback', "Could not find " + message.method + " function");
}
break;
default:
console.log("Could not find " + message.interface);
- client.emit('feedback', "Could not find " + message.interface);
+ socket_simulation_warning.emit('feedback', "Could not find " + message.interface);
}
});
client.on('demonstrator_request', function (message) {
@@ -154,12 +178,12 @@ socket_simulation.on('connection', function (client) {
}
else {
console.log("Could not find " + message.method + " function");
- client.emit('feedback', "Could not find " + message.method + " function");
+ socket_simulation_warning.emit('feedback', "Could not find " + message.method + " function");
}
break;
default:
console.log("Could not find " + message.interface);
- client.emit('feedback', "Could not find " + message.interface);
+ socket_simulation_warning.emit('feedback', "Could not find " + message.interface);
}
});
client.on('panel_request', function (message) {
@@ -170,7 +194,7 @@ socket_simulation.on('connection', function (client) {
break;
default:
console.log("Could not find " + message.interface);
- client.emit('feedback', "Could not find " + message.interface);
+ socket_simulation_warning.emit('feedback', "Could not find " + message.interface);
}
});
});
@@ -181,7 +205,10 @@ setInterval(function(){
if (err) throw err;
// console.log('results: %j', results);
});
- console.log('Refresh simulated values')
+ if(poll) {
+ socket_simulation_signal.emit('positioning_signal', {signal: 'positionUpdate', data: 0});
+ socket_simulation_signal.emit('demonstrator_signal', {signal: 'tripDataUpdated', data: 0});
+ }
}, 1000);
// Log info
diff --git a/test/html-based-panel/simulation-panel.html b/test/html-based-panel/simulation-panel.html
index afa08f5..c1f742b 100644
--- a/test/html-based-panel/simulation-panel.html
+++ b/test/html-based-panel/simulation-panel.html
@@ -101,26 +101,30 @@ Copyright © PCA Peugeot Citroen
<script type="text/javascript">
<!-- sockets management -->
-var socket_simulation = io.connect('http://localhost:8080/simulation'); //namespace simulation
-socket_simulation.on('feedback', function(message) {
+var socket_simulation_get = io.connect('http://localhost:8080/simulation_get'); //namespace simulation_get
+var socket_simulation_signal = io.connect('http://localhost:8080/simulation_signal'); //namespace simulation_signal
+var socket_simulation_warning = io.connect('http://localhost:8080/simulation_warning'); //namespace simulation_warning
+
+socket_simulation_warning.on('feedback', function(message) {
alert('Message received from the server : ' + message);
})
-socket_simulation.on('positioning_answer', function(message) {
+socket_simulation_get.on('positioning_answer', function(message) {
if(message.request === 'getPositionInfo')
{
getPositionInfoReturn(message.answer);
}
})
-socket_simulation.on('positioning_signal', function(message) {
+socket_simulation_signal.on('positioning_signal', function(message) {
+console.log(message);
if(message.signal === 'positionUpdate')
{
positionUpdate(message.data);
}
})
-socket_simulation.on('demonstrator_answer', function(message) {
+socket_simulation_get.on('demonstrator_answer', function(message) {
if(message.request === 'getVersion')
{
getVersionReturn(message.answer);
@@ -128,11 +132,26 @@ socket_simulation.on('demonstrator_answer', function(message) {
if(message.request === 'getPositionInfo')
{
getPositionInfoReturn(message.answer);
+ } else {
+ if(message.request === 'getInstantData')
+ {
+ getInstantDataReturn(message.answer);
+ } else {
+ if(message.request === 'getLevel')
+ {
+ getLevelReturn(message.answer);
+ } else {
+ if(message.request === 'getInstantConsumption')
+ {
+ getInstantConsumptionReturn(message.answer);
+ }
+ }
+ }
}
}
})
-socket_simulation.on('demonstrator_signal', function(message) {
+socket_simulation_signal.on('demonstrator_signal', function(message) {
if(message.signal === 'tripDataUpdated')
{
tripDataUpdated(message.data);
@@ -142,9 +161,23 @@ socket_simulation.on('demonstrator_signal', function(message) {
<!-- scenarii -->
var scenarii = new Enum({'START': 1, 'INITIALIZATION': 2, 'HIGH_TANK_LEVEL': 3, 'LOW_TANK_LEVEL': 4});
+<!-- DBus GENIVI constants -->
+var genivi_constants = new Enum({'GENIVI_FUELSTOPADVISOR_FUEL_LEVEL': 33, 'GENIVI_FUELSTOPADVISOR_INSTANT_FUEL_CONSUMPTION_PER_DISTANCE': 35, 'GENIVI_FUELSTOPADVISOR_TANK_DISTANCE': 34, 'GENIVI_FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE': 36});
+
<!-- initialization -->
var today=new Date();
document.getElementById("start_time").innerHTML=today;
+document.getElementById("engine_speed").innerHTML='---';
+document.getElementById("tank").innerHTML='---';
+document.getElementById("fuel_instant").innerHTML='---';
+document.getElementById("vehicle_speed").innerHTML='---';
+document.getElementById("latitude").innerHTML='---';
+document.getElementById("longitude").innerHTML='---';
+document.getElementById("guidance_status").innerHTML='---';
+document.getElementById("simulation_status").innerHTML='---';
+document.getElementById("warning_status").innerHTML='---';
+document.getElementById("tank_distance").innerHTML='---';
+document.getElementById("enhanced_tank_distance").innerHTML='---';
getVersion();
@@ -152,13 +185,15 @@ getPositionInfo();
<!-- getters -->
function getVersion() {
- socket_simulation.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getVersion', parameters: []});
+ socket_simulation_get.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getVersion', parameters: []});
}
function getVersionReturn(answer) {
document.getElementById("version").innerHTML=answer[3];
}
function getPositionInfo() {
- socket_simulation.emit('positioning_request', {interface: 'PositioningEnhancedPosition', method: 'getPositionInfo', parameters: [0,27]});
+ var data = [0,7]; //GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE | GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE | GENIVI_ENHANCEDPOSITIONSERVICE_ALTITUDE
+ // NB: getPositionInfo uses a 64 bits wide bitfield, split into two 16 bits, [msb,lsb]
+ socket_simulation_get.emit('positioning_request', {interface: 'PositioningEnhancedPosition', method: 'getPositionInfo', parameters: data});
}
function getPositionInfoReturn(answer) {
for ( var i=1; i<answer.length; i++ ) {
@@ -175,10 +210,37 @@ function getPositionInfoReturn(answer) {
}
}
function getInstantData() {
- socket_simulation.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getInstantData', parameters: []});
+ socket_simulation_get.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getInstantData', parameters: []});
}
function getInstantDataReturn(answer) {
-alert('Message received from the server : ' + answer);
+ for ( var i=0; i<answer.length; i++ ) {
+ switch(answer[i].key)
+ {
+ case genivi_constants.get('GENIVI_FUELSTOPADVISOR_FUEL_LEVEL').value:
+ document.getElementById("tank").innerHTML=answer[i].value;
+ break;
+ case genivi_constants.get('GENIVI_FUELSTOPADVISOR_TANK_DISTANCE').value:
+ document.getElementById("tank_distance").innerHTML=answer[i].value;
+ break;
+ case genivi_constants.get('GENIVI_FUELSTOPADVISOR_INSTANT_FUEL_CONSUMPTION_PER_DISTANCE').value:
+ document.getElementById("fuel_instant").innerHTML=answer[i].value/10;
+ break;
+ case genivi_constants.get('GENIVI_FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE').value:
+ document.getElementById("enhanced_tank_distance").innerHTML=answer[i].value;
+ break;
+ }
+ }
+}
+function getLevel() {
+ socket_simulation_get.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getLevel', parameters: []});
+}
+function getLevelReturn(answer) {
+ document.getElementById("tank").innerHTML = answer[0];
+}
+function getInstantConsumption() {
+ socket_simulation_get.emit('demonstrator_request', {interface: 'FuelStopAdvisor', method: 'getInstantConsumption', parameters: []});
+}
+function getInstantConsumptionReturn(answer) {
}
<!-- setters -->
@@ -190,12 +252,14 @@ function positionUpdate(changedValues) {
function tripDataUpdated(number) {
getInstantData();
+ getLevel();
+ getInstantConsumption();
}
<!-- some other functions -->
function stepChange(button) {
var data = scenarii.get(button.value).key;
- socket_simulation.emit('panel_request', {request: 'LogReplayerScenario', parameters: [data]});
+ socket_simulation_get.emit('panel_request', {request: 'LogReplayerScenario', parameters: [data]});
}
</script>