summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2017-01-13 17:14:09 +0100
committerasanoaozora <fifitaneki@hotmail.com>2017-01-13 17:14:09 +0100
commit3d57d7d54fa178ecb3a68bbce9bf25011f896c77 (patch)
tree08185d07ab905d8729f82756208b5ff9b4556e07 /src
parentfb72cd3c133c4a0f3115988df232600cfba02826 (diff)
downloadnavigation-3d57d7d54fa178ecb3a68bbce9bf25011f896c77.tar.gz
add time to hmi, fix some issue with guidance
Diffstat (limited to 'src')
-rwxr-xr-xsrc/build.sh11
-rw-r--r--src/hmi/qml/Core/genivi-capi.js11
-rw-r--r--src/hmi/qml/Core/genivi-origin.js11
-rw-r--r--src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcfbin35714 -> 37043 bytes
-rw-r--r--src/hmi/qml/NavigationAppBrowseMap.qml478
-rw-r--r--src/hmi/qml/NavigationAppSearch.qml35
6 files changed, 311 insertions, 235 deletions
diff --git a/src/build.sh b/src/build.sh
index 0bf6c63..8606ab1 100755
--- a/src/build.sh
+++ b/src/build.sh
@@ -5,6 +5,7 @@ html="OFF"
clean=0
capi=0
navit=0
+theme=0
commonapi_tools_option=""
function check_path_for_capi
@@ -33,7 +34,7 @@ function check_path_for_capi
commonapi_tools_option="-DDBUS_LIB_PATH="$DBUS_LIB_PATH" -DCOMMONAPI_DBUS_TOOL_DIR="$COMMONAPI_DBUS_TOOL_DIR" -DCOMMONAPI_TOOL_DIR="$COMMONAPI_TOOL_DIR""
}
-while getopts cdmhn opt
+while getopts cdmhnt opt
do
case $opt in
c)
@@ -51,14 +52,18 @@ do
n)
navit=1
;;
+ t)
+ theme=1
+ ;;
\?)
echo "Usage:"
- echo "$0 [-cdmhn]"
+ echo "$0 [-cdmhnt]"
echo "-c: Rebuild with clean"
echo "-d: Enable the debug messages"
echo "-m: Build with commonAPI plugins "
echo "-h: Enable migration to the html based hmi"
echo "-n: Build navit"
+ echo "-t: Generate the HMI theme"
exit 1
esac
done
@@ -135,7 +140,7 @@ fi
make
cd ../
-if [ "$clean" = 1 ]
+if [ "$theme" = 1 ]
then
echo 'generate the hmi for gdp theme'
cd script
diff --git a/src/hmi/qml/Core/genivi-capi.js b/src/hmi/qml/Core/genivi-capi.js
index e1988f9..a142469 100644
--- a/src/hmi/qml/Core/genivi-capi.js
+++ b/src/hmi/qml/Core/genivi-capi.js
@@ -129,6 +129,10 @@ address[NAVIGATIONCORE_COUNTRY]="Switzerland";
address[NAVIGATIONCORE_CITY]="Zürich";
address[NAVIGATIONCORE_STREET]="In Lampitzäckern";
address[NAVIGATIONCORE_HOUSENUMBER]="";
+data['show_position']['lat']=47.415740;
+data['show_position']['lon']=8.614862;
+data['display_on_map']='show_current_position'; //display current position of the vehicle on the map
+
historyOfLastEnteredLocationDepth=10; //max number of items into the history is set to historyOfLastEnteredLocationDepth-1
tripMode="TRIP_NUMBER1";
@@ -284,6 +288,11 @@ function connect_spellResultSignal(interface,menu)
return interface.connect("","/LocationInput","org.genivi.navigation.navigationcore.LocationInput.v4_0","spellResult",menu,"spellResult");
}
+function connect_guidanceStatusChangedSignal(interface,menu)
+{
+ return interface.connect("","/Guidance","org.genivi.navigation.navigationcore.Guidance.v4_0","guidanceStatusChanged",menu,"guidanceStatusChanged");
+}
+
function connect_guidanceWaypointReachedSignal(interface,menu)
{
return interface.connect("","/Guidance","org.genivi.navigation.navigationcore.Guidance.v4_0","waypointReached",menu,"guidanceWaypointReached");
@@ -344,7 +353,7 @@ function connect_tripDataUpdatedSignal(interface,menu)
return interface.connect("","/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor.v1_0","tripDataUpdated",menu,"tripDataUpdated");
}
-function connect_fuelStopAdvisorSignal(interface,menu)
+function connect_fuelStopAdvisorWarningSignal(interface,menu)
{
return interface.connect("","/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor.v1_0","fuelStopAdvisorWarning",menu,"fuelStopAdvisorWarning");
}
diff --git a/src/hmi/qml/Core/genivi-origin.js b/src/hmi/qml/Core/genivi-origin.js
index 24c1b60..1d683af 100644
--- a/src/hmi/qml/Core/genivi-origin.js
+++ b/src/hmi/qml/Core/genivi-origin.js
@@ -129,6 +129,10 @@ address[NAVIGATIONCORE_COUNTRY]="Switzerland";
address[NAVIGATIONCORE_CITY]="Zürich";
address[NAVIGATIONCORE_STREET]="In Lampitzäckern";
address[NAVIGATIONCORE_HOUSENUMBER]="";
+data['show_position']['lat']=47.415740;
+data['show_position']['lon']=8.614862;
+data['display_on_map']='show_current_position'; //display current position of the vehicle on the map
+
historyOfLastEnteredLocationDepth=10; //max number of items into the history is set to historyOfLastEnteredLocationDepth-1
tripMode="TRIP_NUMBER1";
@@ -284,6 +288,11 @@ function connect_spellResultSignal(interface,menu)
return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.LocationInput","SpellResult",menu,"spellResult");
}
+function connect_guidanceStatusChangedSignal(interface,menu)
+{
+ return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.Guidance","GuidanceStatusChanged",menu,"guidanceStatusChanged");
+}
+
function connect_guidanceWaypointReachedSignal(interface,menu)
{
return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.Guidance","WaypointReached",menu,"guidanceWaypointReached");
@@ -344,7 +353,7 @@ function connect_tripDataUpdatedSignal(interface,menu)
return interface.connect("","/org/genivi/demonstrator/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor","TripDataUpdated",menu,"tripDataUpdated");
}
-function connect_fuelStopAdvisorSignal(interface,menu)
+function connect_fuelStopAdvisorWarningSignal(interface,menu)
{
return interface.connect("","/org/genivi/demonstrator/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor","FuelStopAdvisorWarning",menu,"fuelStopAdvisorWarning");
}
diff --git a/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf b/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf
index d447405..460d157 100644
--- a/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf
+++ b/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf
Binary files differ
diff --git a/src/hmi/qml/NavigationAppBrowseMap.qml b/src/hmi/qml/NavigationAppBrowseMap.qml
index b059463..b51a190 100644
--- a/src/hmi/qml/NavigationAppBrowseMap.qml
+++ b/src/hmi/qml/NavigationAppBrowseMap.qml
@@ -45,22 +45,210 @@ HMIMenu {
property string pagefile:"NavigationAppBrowseMap"
next: scrollup
prev: menub
- property Item guidanceWaypointReachedSignal;
- property Item guidanceManeuverChangedSignal;
- property Item guidancePositionOnRouteChangedSignal;
- property Item mapmatchedpositionPositionUpdateSignal;
- property Item mapmatchedpositionAddressUpdateSignal;
- property Item simulationStatusChangedSignal;
- property Item simulationSpeedChangedSignal;
- property Item fuelStopAdvisorSignal;
property bool north:false;
property int speedValueSent: 0;
property bool displayManeuvers:false;
- DBusIf {
+ //------------------------------------------//
+ // Management of the DBus exchanges
+ //------------------------------------------//
+ DBusIf {
id:dbusIf
}
+ property Item guidanceStatusChangedSignal;
+ function guidanceStatusChanged(args)
+ {
+ Genivi.hookSignal("guidanceStatusChanged");
+ if(args[1]===Genivi.NAVIGATIONCORE_ACTIVE)
+ {
+ guidanceStatus.setState("ON");
+ Genivi.guidance_activated = true;
+ //Guidance active, so inform the trip computer (refresh)
+ Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50);
+ updateGuidance();
+ } else {
+ guidanceStatus.setState("OFF");
+ Genivi.guidance_activated = false;
+ //Guidance inactive, so inform the trip computer
+ Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0);
+ maneuverAdvice.text=Genivi.gettext("NoGuidance");
+ maneuverIcon.source=StyleSheetGuidance.maneuverIcon[Constants.SOURCE]; //no icon by default
+ distancetomaneuverValue.text="----";
+ distancetodestinationValue.text="----";
+ timetodestinationValue.text="----";
+ roadaftermaneuverValue.text="----";
+ }
+ }
+
+ property Item guidanceManeuverChangedSignal;
+ function guidanceManeuverChanged(args)
+ {
+ Genivi.hookSignal("guidanceManeuverChanged");
+ // TODO: Create possibility to poll information?
+ // console.log("guidanceManeuverChanged");
+ // Genivi.dump("",args);
+ maneuverAdvice.text=Genivi.Maneuver[args[1]];
+ }
+
+ property Item guidanceWaypointReachedSignal;
+ function guidanceWaypointReached(args)
+ {
+ Genivi.hookSignal("guidanceWaypointReached");
+ // console.log("guidanceWaypointReached");
+ // Genivi.dump("",args);
+ if (args[2]) {
+ maneuverAdvice.text="Destination reached";
+ } else {
+ maneuverAdvice.text="Waypoint reached";
+ }
+
+ }
+
+ property Item guidancePositionOnRouteChangedSignal;
+ function guidancePositionOnRouteChanged(args)
+ {
+ Genivi.hookSignal("guidancePositionOnRouteChanged");
+ updateGuidance();
+ }
+
+ property Item mapmatchedpositionPositionUpdateSignal;
+ function mapmatchedpositionPositionUpdate(args)
+ {
+ Genivi.hookSignal("mapmatchedpositionPositionUpdate");
+ var res=Genivi.mapmatchedposition_GetPosition(dbusIf);
+ for (var i=0;i<res[3].length;i+=4){
+ if (res[3][i+1]== Genivi.NAVIGATIONCORE_SPEED){
+ vehicleSpeedValue.text=res[3][i+3][3][1];
+ }
+ }
+ }
+
+ property Item simulationSpeedChangedSignal;
+ function simulationSpeedChanged(args)
+ {
+ Genivi.hookSignal("simulationSpeedChanged");
+ if (args[1] == 0) {
+ speedValue.text="0";
+ speedValueSent=0;
+ }
+ if (args[1] == 1) {
+ speedValue.text="1/4";
+ speedValueSent=1;
+ }
+ if (args[1] == 2) {
+ speedValue.text="1/2";
+ speedValueSent=2;
+ }
+ if (args[1] == 4) {
+ speedValue.text="1";
+ speedValueSent=3;
+ }
+ if (args[1] == 8) {
+ speedValue.text="2";
+ speedValueSent=4;
+ }
+ if (args[1] == 16) {
+ speedValue.text="4";
+ speedValueSent=5;
+ }
+ if (args[1] == 32) {
+ speedValue.text="8";
+ speedValueSent=6;
+ }
+ if (args[1] == 64) {
+ speedValue.text="16";
+ speedValueSent=7;
+ }
+ }
+
+ property Item simulationStatusChangedSignal;
+ function simulationStatusChanged(args)
+ {
+ Genivi.hookSignal("simulationStatusChanged");
+ if (args[1] != Genivi.NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION)
+ {
+ on_off.setState("ON");
+ if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_PAUSED || args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION)
+ {
+ simu_mode.setState("PAUSE");
+ }
+ else
+ {
+ if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_RUNNING)
+ {
+ simu_mode.setState("PLAY");
+ }
+ }
+ }
+ else
+ {
+ on_off.setState("OFF");
+ simu_mode.setState("FREE");
+ }
+ }
+
+ property Item mapmatchedpositionAddressUpdateSignal;
+ function mapmatchedpositionAddressUpdate(args)
+ {
+ Genivi.hookSignal("mapmatchedpositionAddressUpdate");
+ updateAddress();
+ }
+
+ property Item fuelStopAdvisorWarningSignal;
+ function fuelStopAdvisorWarning(args)
+ {
+ Genivi.hookSignal("fuelStopAdvisorWarning");
+ if (args[1] == 1)
+ {
+ fsamessageText.text=Genivi.gettext("FSAWarning");
+ select_search_for_refill_in_top.visible=true;
+ }
+ else
+ {
+ fsamessageText.text=" ";
+ select_search_for_refill_in_top.visible=false;
+ }
+ }
+
+ function connectSignals()
+ {
+ guidanceStatusChangedSignal=Genivi.connect_guidanceStatusChangedSignal(dbusIf,menu);
+ guidanceWaypointReachedSignal=Genivi.connect_guidanceWaypointReachedSignal(dbusIf,menu);
+ guidanceManeuverChangedSignal=Genivi.connect_guidanceManeuverChangedSignal(dbusIf,menu);
+ guidancePositionOnRouteChangedSignal=Genivi.connect_guidancePositionOnRouteChangedSignal(dbusIf,menu);
+ simulationStatusChangedSignal=Genivi.connect_simulationStatusChangedSignal(dbusIf,menu);
+ simulationSpeedChangedSignal=Genivi.connect_simulationSpeedChangedSignal(dbusIf,menu);
+ mapmatchedpositionPositionUpdateSignal=Genivi.connect_mapmatchedpositionPositionUpdateSignal(dbusIf,menu);
+ mapmatchedpositionAddressUpdateSignal=Genivi.connect_mapmatchedpositionAddressUpdateSignal(dbusIf,menu);
+ fuelStopAdvisorWarningSignal=Genivi.connect_fuelStopAdvisorWarningSignal(dbusIf,menu);
+ }
+
+ function disconnectSignals()
+ {
+ guidanceStatusChangedSignal.destroy();
+ guidanceWaypointReachedSignal.destroy();
+ guidanceManeuverChangedSignal.destroy();
+ guidancePositionOnRouteChangedSignal.destroy();
+ simulationStatusChangedSignal.destroy();
+ simulationSpeedChangedSignal.destroy();
+ mapmatchedpositionPositionUpdateSignal.destroy();
+ mapmatchedpositionAddressUpdateSignal.destroy();
+ fuelStopAdvisorWarningSignal.destroy();
+ }
+
+ //------------------------------------------//
+ // Time
+ //------------------------------------------//
+ Timer {
+ id: time_in_top_timer
+ interval: 1000
+ repeat: true
+ running: true
+ triggeredOnStart: true
+ onTriggered: time_in_top.set()
+ }
+
//------------------------------------------//
// Map settings
//------------------------------------------//
@@ -331,107 +519,6 @@ HMIMenu {
//------------------------------------------//
// Map browsing
//------------------------------------------//
- function guidanceManeuverChanged(args)
- {
- Genivi.hookSignal("guidanceManeuverChanged");
- // TODO: Create possibility to poll information?
- // console.log("guidanceManeuverChanged");
- // Genivi.dump("",args);
- maneuverAdvice.text=Genivi.Maneuver[args[1]];
- }
-
- function guidanceWaypointReached(args)
- {
- Genivi.hookSignal("guidanceWaypointReached");
- // console.log("guidanceWaypointReached");
- // Genivi.dump("",args);
- if (args[2]) {
- maneuverAdvice.text="Destination reached";
- } else {
- maneuverAdvice.text="Waypoint reached";
- }
-
- }
-
- function guidancePositionOnRouteChanged(args)
- {
- Genivi.hookSignal("guidancePositionOnRouteChanged");
- updateGuidance();
- }
-
- function mapmatchedpositionPositionUpdate(args)
- {
- Genivi.hookSignal("mapmatchedpositionPositionUpdate");
- var res=Genivi.mapmatchedposition_GetPosition(dbusIf);
- for (var i=0;i<res[3].length;i+=4){
- if (res[3][i+1]== Genivi.NAVIGATIONCORE_SPEED){
- vehicleSpeedValue.text=res[3][i+3][3][1];
- }
- }
- }
-
- function simulationSpeedChanged(args)
- {
- Genivi.hookSignal("simulationSpeedChanged");
- if (args[1] == 0) {
- speedValue.text="0";
- speedValueSent=0;
- }
- if (args[1] == 1) {
- speedValue.text="1/4";
- speedValueSent=1;
- }
- if (args[1] == 2) {
- speedValue.text="1/2";
- speedValueSent=2;
- }
- if (args[1] == 4) {
- speedValue.text="1";
- speedValueSent=3;
- }
- if (args[1] == 8) {
- speedValue.text="2";
- speedValueSent=4;
- }
- if (args[1] == 16) {
- speedValue.text="4";
- speedValueSent=5;
- }
- if (args[1] == 32) {
- speedValue.text="8";
- speedValueSent=6;
- }
- if (args[1] == 64) {
- speedValue.text="16";
- speedValueSent=7;
- }
- }
-
- function simulationStatusChanged(args)
- {
- Genivi.hookSignal("simulationStatusChanged");
- if (args[1] != Genivi.NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION)
- {
- on_off.setState("ON");
- if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_PAUSED || args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION)
- {
- simu_mode.setState("PAUSE");
- }
- else
- {
- if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_RUNNING)
- {
- simu_mode.setState("PLAY");
- }
- }
- }
- else
- {
- on_off.setState("OFF");
- simu_mode.setState("FREE");
- }
- }
-
function updateSimulation()
{
var res=Genivi.mapmatchedposition_GetSimulationStatus(dbusIf);
@@ -537,12 +624,6 @@ HMIMenu {
}
}
- function mapmatchedpositionAddressUpdate(args)
- {
- Genivi.hookSignal("mapmatchedpositionAddressUpdate");
- updateAddress();
- }
-
function showZoom()
{
var res=Genivi.mapviewer_GetMapViewScale(dbusIf);
@@ -556,21 +637,6 @@ HMIMenu {
zoomlevel.text=text;
}
- function fuelStopAdvisorWarning(args)
- {
- Genivi.hookSignal("fuelStopAdvisorWarning");
- if (args[1] == 1)
- {
- fsamessageText.text=Genivi.gettext("FSAWarning");
- select_search_for_refill_in_top.visible=true;
- }
- else
- {
- fsamessageText.text=" ";
- select_search_for_refill_in_top.visible=false;
- }
- }
-
function getManeuversList()
{
var res=Genivi.guidance_GetManeuversList(dbusIf,0xffff,0);
@@ -596,30 +662,6 @@ HMIMenu {
}
}
- function connectSignals()
- {
- guidanceWaypointReachedSignal=Genivi.connect_guidanceWaypointReachedSignal(dbusIf,menu);
- guidanceManeuverChangedSignal=Genivi.connect_guidanceManeuverChangedSignal(dbusIf,menu);
- guidancePositionOnRouteChangedSignal=Genivi.connect_guidancePositionOnRouteChangedSignal(dbusIf,menu);
- simulationStatusChangedSignal=Genivi.connect_simulationStatusChangedSignal(dbusIf,menu);
- simulationSpeedChangedSignal=Genivi.connect_simulationSpeedChangedSignal(dbusIf,menu);
- mapmatchedpositionPositionUpdateSignal=Genivi.connect_mapmatchedpositionPositionUpdateSignal(dbusIf,menu);
- mapmatchedpositionAddressUpdateSignal=Genivi.connect_mapmatchedpositionAddressUpdateSignal(dbusIf,menu);
- fuelStopAdvisorSignal=Genivi.connect_fuelStopAdvisorSignal(dbusIf,menu);
- }
-
- function disconnectSignals()
- {
- guidanceWaypointReachedSignal.destroy();
- guidanceManeuverChangedSignal.destroy();
- guidancePositionOnRouteChangedSignal.destroy();
- simulationStatusChangedSignal.destroy();
- simulationSpeedChangedSignal.destroy();
- mapmatchedpositionPositionUpdateSignal.destroy();
- mapmatchedpositionAddressUpdateSignal.destroy();
- fuelStopAdvisorSignal.destroy();
- }
-
function toggleOrientation()
{
if (!orientation.status) {
@@ -633,68 +675,47 @@ HMIMenu {
function updateGuidance()
{
- var res=Genivi.guidance_GetGuidanceStatus(dbusIf);
- if (res[1] == Genivi.NAVIGATIONCORE_INACTIVE) {
- guidanceStatus.setState("OFF");
- Genivi.guidance_activated = false;
- //Guidance inactive, so inform the trip computer
- Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0);
- maneuverAdvice.text=Genivi.gettext("NoGuidance");
- maneuverIcon.source=StyleSheetGuidance.maneuverIcon[Constants.SOURCE]; //no icon by default
- distancetomaneuverValue.text="----";
- distancetodestinationValue.text="----";
- timetodestinationValue.text="----";
- roadaftermaneuverValue.text="----";
- return;
- } else {
- guidanceStatus.setState("ON");
- Genivi.guidance_activated = true;
- //Guidance active, so inform the trip computer (refresh)
- Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50);
- }
-
- var maneuversList=Genivi.guidance_GetManeuversList(dbusIf,1,0);
- var numberOfManeuvers=maneuversList[3];
- //only one maneuver is considered
- var maneuver=maneuversList[5][1];
- var roadNumberAfterManeuver=maneuver[1];
- var roadNameAfterManeuver=maneuver[3];
- var roadPropertyAfterManeuver=maneuver[5];
- var drivingSide=maneuver[7];
- var offsetOfNextManeuver=maneuver[9];
- var items=maneuver[11][1];
- var offsetOfManeuver=items[1];
- var travelTime=items[3];
- var direction=items[5];
- var maneuverType=items[7];
- var maneuverData=items[9];
- if (maneuverData[1] == Genivi.NAVIGATIONCORE_DIRECTION)
+ if(Genivi.guidance_activated == true)
{
- guidanceStatus.setState("ON");
- Genivi.guidance_activated = true;
- maneuverIcon.source=Genivi.ManeuverDirectionIcon[maneuverData[3][3][1]];
- //Genivi.ManeuverType[subarray[j+1][7]] contains CROSSROAD and is removed for the moment
- distancetomaneuverValue.text=Genivi.distance(offsetOfManeuver);
- roadaftermaneuverValue.text=roadNameAfterManeuver;
- }
+ var maneuversList=Genivi.guidance_GetManeuversList(dbusIf,1,0);
+ var numberOfManeuvers=maneuversList[3];
+ //only one maneuver is considered
+ var maneuver=maneuversList[5][1];
+ var roadNumberAfterManeuver=maneuver[1];
+ var roadNameAfterManeuver=maneuver[3];
+ var roadPropertyAfterManeuver=maneuver[5];
+ var drivingSide=maneuver[7];
+ var offsetOfNextManeuver=maneuver[9];
+ var items=maneuver[11][1];
+ var offsetOfManeuver=items[1];
+ var travelTime=items[3];
+ var direction=items[5];
+ var maneuverType=items[7];
+ var maneuverData=items[9];
+ if (maneuverData[1] == Genivi.NAVIGATIONCORE_DIRECTION)
+ {
+ maneuverIcon.source=Genivi.ManeuverDirectionIcon[maneuverData[3][3][1]];
+ //Genivi.ManeuverType[subarray[j+1][7]] contains CROSSROAD and is removed for the moment
+ distancetomaneuverValue.text=Genivi.distance(offsetOfManeuver);
+ roadaftermaneuverValue.text=roadNameAfterManeuver;
+ }
- res=Genivi.guidance_GetDestinationInformation(dbusIf);
- distancetodestinationValue.text = Genivi.distance(res[1]);
- timetodestinationValue.text = Genivi.time(res[3]);
+ var res=Genivi.guidance_GetDestinationInformation(dbusIf);
+ distancetodestinationValue.text = Genivi.distance(res[1]);
+ timetodestinationValue.text = Genivi.time(res[3]);
- updateAddress();
+ updateAddress();
+ }
}
function stopGuidance()
{
Genivi.guidance_StopGuidance(dbusIf);
- updateGuidance();
}
function startGuidance()
{
Genivi.guidance_StartGuidance(dbusIf,Genivi.routing_handle(dbusIf));
- updateGuidance();
updateSimulation();
updateAddress();
}
@@ -743,7 +764,7 @@ HMIMenu {
on_off.visible=true;
on_off.disabled=false;
simu_mode.visible=true;
- simu_mode.disabled=false;
+ simu_mode.disabled=true;
}
function hideSimulation()
@@ -783,6 +804,17 @@ HMIMenu {
image:StyleSheetTop.navigation_app_browse_map_top_background[Constants.SOURCE];
anchors { fill: parent; topMargin: parent.headlineHeight}
+ Text {
+ x:StyleSheetTop.time_in_top[Constants.X]; y:StyleSheetTop.time_in_top[Constants.Y]; width:StyleSheetTop.time_in_top[Constants.WIDTH]; height:StyleSheetTop.time_in_top[Constants.HEIGHT];color:StyleSheetTop.time_in_top[Constants.TEXTCOLOR];styleColor:StyleSheetTop.time_in_top[Constants.STYLECOLOR]; font.pixelSize:StyleSheetTop.time_in_top[Constants.PIXELSIZE];
+ visible: true
+ style: Text.Sunken;
+ smooth: true
+ id:time_in_top
+ function set() {
+ text = Qt.formatTime(new Date(),"hh:mm")
+ }
+ }
+
SmartText {
x:StyleSheetTop.fsamessageText[Constants.X]; y:StyleSheetTop.fsamessageText[Constants.Y]; width:StyleSheetTop.fsamessageText[Constants.WIDTH]; height:StyleSheetTop.fsamessageText[Constants.HEIGHT];color:StyleSheetTop.fsamessageText[Constants.TEXTCOLOR];styleColor:StyleSheetTop.fsamessageText[Constants.STYLECOLOR]; font.pixelSize:StyleSheetTop.fsamessageText[Constants.PIXELSIZE];
id:fsamessageText
@@ -1361,7 +1393,6 @@ HMIMenu {
source:StyleSheetSettings.exit[Constants.SOURCE]; x:StyleSheetSettings.exit[StyleSheetSettings.X]; y:StyleSheetSettings.exit[StyleSheetSettings.Y]; width:StyleSheetSettings.exit[StyleSheetSettings.WIDTH]; height:StyleSheetSettings.exit[StyleSheetSettings.HEIGHT];
id:exitSettings; next:north; prev:west;
onClicked: {
- Genivi.data['show_current_position']=true;
move_stop();
camera_stop();
hideMapSettings();
@@ -1391,29 +1422,30 @@ HMIMenu {
Component.onCompleted: {
Genivi.mapviewer_handle(dbusIf,menu.width,menu.height,Genivi.MAPVIEWER_MAIN_MAP);
- if (Genivi.data['show_route_handle']) {
+ if (Genivi.data['display_on_map']==='show_route_handle') {
Genivi.mapviewer_DisplayRoute(dbusIf,Genivi.data['show_route_handle'],false);
- delete(Genivi.data['show_route_handle']);
- }
- if (Genivi.data['zoom_route_handle']) {
var res=Genivi.routing_GetRouteBoundingBox(dbusIf,Genivi.data['zoom_route_handle']);
if (res[0] == "structure") {
Genivi.mapviewer_SetMapViewBoundingBox(dbusIf,res);
- } else {
+ } else {
console.log("Unexpected result from GetRouteBoundingBox:");
- Genivi.dump("",res);
- }
- delete(Genivi.data['zoom_route_handle']);
+ Genivi.dump("",res);
+ }
}
- if (Genivi.data['show_position']) {
- Genivi.mapviewer_SetFollowCarMode(dbusIf,false);
- Genivi.mapviewer_SetTargetPoint(dbusIf,Genivi.data['show_position']['lat'],Genivi.data['show_position']['lon'],Genivi.data['show_position']['alt']);
- delete(Genivi.data['show_position']);
- }
- if (Genivi.data['show_current_position']) {
- Genivi.mapviewer_SetFollowCarMode(dbusIf,true);
- delete(Genivi.data['show_current_position']);
- }
+ else {
+ if (Genivi.data['display_on_map']==='show_current_position') {
+ Genivi.mapviewer_SetFollowCarMode(dbusIf,true);
+ } else {
+ if (Genivi.data['display_on_map']==='show_position') {
+ Genivi.mapviewer_SetFollowCarMode(dbusIf,false);
+ Genivi.mapviewer_SetTargetPoint(dbusIf,Genivi.data['show_position']['lat'],Genivi.data['show_position']['lon'],Genivi.data['show_position']['alt']);
+ } else {
+ console.log("Error: no position valid");
+ }
+ }
+ }
+
+
connectSignals();
updateGuidance();
updateSimulation();
diff --git a/src/hmi/qml/NavigationAppSearch.qml b/src/hmi/qml/NavigationAppSearch.qml
index e453d93..19b45bb 100644
--- a/src/hmi/qml/NavigationAppSearch.qml
+++ b/src/hmi/qml/NavigationAppSearch.qml
@@ -54,6 +54,22 @@ NavigationAppHMIMenu {
id: dbusIf
}
+ property Item guidanceStatusChangedSignal;
+ function guidanceStatusChanged(args)
+ {
+ Genivi.hookSignal("guidanceStatusChanged");
+ if(args[1]===Genivi.NAVIGATIONCORE_ACTIVE)
+ {
+ Genivi.guidance_activated = true;
+ //Guidance active, so inform the trip computer (refresh)
+ Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50);
+ } else {
+ Genivi.guidance_activated = false;
+ //Guidance inactive, so inform the trip computer
+ Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0);
+ }
+ }
+
property Item currentSelectionCriterionSignal;
function currentSelectionCriterion(args)
{// locationInputHandle 1, selectionCriterion 3
@@ -328,6 +344,7 @@ NavigationAppHMIMenu {
function connectSignals()
{
+ guidanceStatusChangedSignal=Genivi.connect_guidanceStatusChangedSignal(dbusIf,menu);
currentSelectionCriterionSignal=Genivi.connect_currentSelectionCriterionSignal(dbusIf,menu);
searchStatusSignal=Genivi.connect_searchStatusSignal(dbusIf,menu);
searchResultListSignal=Genivi.connect_searchResultListSignal(dbusIf,menu);
@@ -341,6 +358,7 @@ NavigationAppHMIMenu {
function disconnectSignals()
{
+ guidanceStatusChangedSignal.destroy();
currentSelectionCriterionSignal.destroy();
searchStatusSignal.destroy();
searchResultListSignal.destroy();
@@ -364,7 +382,7 @@ NavigationAppHMIMenu {
mapresult[map[j+1]]=map[j+3][3][1];
}
var text=Genivi.distance(mapresult[Genivi.NAVIGATIONCORE_DISTANCE])+" "+Genivi.time(mapresult[Genivi.NAVIGATIONCORE_TIME])+" "+mapresult[Genivi.NAVIGATIONCORE_ROAD_NAME];
- model.append({"name":text});
+ model.append({"name":text,"number":i});
}
}
@@ -567,7 +585,9 @@ NavigationAppHMIMenu {
guidance_stop.visible=false;
guidance_start.disabled=false;
guidance_stop.disabled=true;
+ routeArea.model.clear();
routeArea.visible=true;
+ routeArea.forceActiveFocus();
crossroadZoom.visible=true;
Genivi.route_calculated=true;
}
@@ -787,13 +807,14 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.show_route_on_map[Constants.SOURCE]; x:StyleSheet.show_route_on_map[Constants.X]; y:StyleSheet.show_route_on_map[Constants.Y]; width:StyleSheet.show_route_on_map[Constants.WIDTH]; height:StyleSheet.show_route_on_map[Constants.HEIGHT];
id: show_route_on_map
- disabled:true; next:back; prev:back
+ disabled:true; next:back; prev:back
visible: false;
onClicked: {
disconnectSignals();
- Genivi.data["mapback"]="NavigationCalculatedRoute";
- Genivi.data["show_route_handle"]=Genivi.routing_handle(dbusIf);
- Genivi.data["zoom_route_handle"]=Genivi.routing_handle(dbusIf);
+ Genivi.data["mapback"]="NavigationAppSearch";
+ Genivi.data['display_on_map']='show_route_handle';
+ Genivi.data['show_route_handle']=Genivi.routing_handle(dbusIf);
+ Genivi.data['zoom_route_handle']=Genivi.routing_handle(dbusIf);
mapMenu();
}
}
@@ -804,9 +825,9 @@ NavigationAppHMIMenu {
onClicked: {
disconnectSignals();
Genivi.guidance_StartGuidance(dbusIf,Genivi.routing_handle(dbusIf));
- Genivi.data["mapback"]="NavigationCalculatedRoute";
+ Genivi.data["mapback"]="NavigationAppSearch";
+ Genivi.data['display_on_map']='show_current_position';
Genivi.data["show_route_handle"]=Genivi.routing_handle(dbusIf);
- Genivi.data["show_current_position"]=true;
mapMenu();
}
}