diff options
author | asanoaozora <fifitaneki@hotmail.com> | 2016-05-24 14:57:42 +0200 |
---|---|---|
committer | asanoaozora <fifitaneki@hotmail.com> | 2016-05-24 14:57:42 +0200 |
commit | 5c53c08a85ac2f953f986cf21023a938fb77c385 (patch) | |
tree | ca70b8a3aa0d234dacaa68f5a1b59d79050f09ce /src | |
parent | 9633477ee8cbd4ad9c44b892ec4789ff61a3c4ce (diff) | |
download | navigation-5c53c08a85ac2f953f986cf21023a938fb77c385.tar.gz |
some updates of README, scripts and fix minor bugs
Diffstat (limited to 'src')
-rw-r--r-- | src/README | 192 | ||||
-rw-r--r-- | src/README.md | 86 | ||||
-rwxr-xr-x | src/build.sh (renamed from src/rebuild_all.sh) | 0 | ||||
-rwxr-xr-x | src/clone_and_build.sh (renamed from src/reload.sh) | 10 | ||||
-rw-r--r-- | src/hmi/qml/Core/gimp/README.md (renamed from src/hmi/qml/Core/gimp/README) | 16 | ||||
-rw-r--r-- | src/hmi/qml/TripComputer.qml | 16 | ||||
-rw-r--r-- | src/hmi/qml/hmi-launcher/main.cpp | 1 |
7 files changed, 110 insertions, 211 deletions
diff --git a/src/README b/src/README deleted file mode 100644 index d8b2086..0000000 --- a/src/README +++ /dev/null @@ -1,192 +0,0 @@ -Release date of the file: 10-03-2016 -Status: OK - -Project: -Navigation application based on Navit and compliant with the Navigation APIs standardized by the GENIVI Alliance -This project is one of the navigation projects that implements the GENIVI navigation APIs. - -More: -The GENIVI APIs are implemented into Navit plugins, running on DBus. The HMI is made in Qml (Qt5.2.1 and QtQuick 2.1) -See also other navigation projects like proof of concepts implemented for poi-service, traffic-info and positioning - -What is in: -This repository contains the application (with the HMI) of the navigation project -It's possible to build and run the whole stuff (including the navit and the plugins) directly from this repository -FYI: the scripts for building Navit and the GENIVI plugins are located into http://git.projects.genivi.org/lbs/navigation-service.git - this repository is cloned during the build - -Author: -Philippe Colliot philippe.colliot@mpsa.com -Martin Schaller <martin.schaller@it-schaller.de> - -License: -See headers and LICENSE file - -=============================== -Tested target and nota bene -=============================== -Ubuntu 14.04 LTS 32 bits on Qt 5.2.1 gcc 32bit - -Ubuntu 15.10 64 bits on Qt 5.4 gcc 64bit -For Qt version >= 5.2 with gcc 64 bits, there's an issue that needs to be fixed by compiling your code with -fPIC (-fPIE is not enough) -You must build your code with position independent code if Qt was built with -reduce-relocations -For Qt version 5.4, it's needed to fix Qt 5.4 QML -> C++ QVariant issues by unboxing the QVariant-QJSValue - - -========================================== -Current versions of additional code -========================================== -Please see 'reload.sh' for <current version of navigation>, <current version of positioning> and <current version of navit>. - -Automotive message broker: -<current version of amb> (git): c216955d16ca275159891cad296217094d972390 - -========================================== -All-in-one script for load and build -========================================== -./reload.sh - -========================================== -How to get additional code -========================================== -NB: automotive message broker is added by the cmake process - -Get navigation: -NB: A little bit long because it downloads the map -git clone http://git.projects.genivi.org/lbs/navigation.git ./navigation -cd navigation -git checkout <current version of navigation> - -Go to the folder that contains the sources and follow the indications into the README -cd src/navigation - -========================================== -Directory Structure -========================================== -navigation/map-viewer/ -the plugins for the map rendering and manipulation (zoom, scroll..) -navigation/navigation-core/ -the plugins for basic navigation features (location input, route calculation...) -navigation/poi-cam/ -the plugins for poi content access module -navigation/patches/ -some patches to complete the navit code -navigation/map/ -the map -navigation/navit/ -basic code of navit -navigation/positioning/ -the code of positioning -hmi/ -the hmi in Qml -genivilogreplayer/ -the plugin for amb that connects the logreplayer data (by using socket) -fuel-stop-advisor/ -the code of the FSA application -automotive-message-broker/ -the code of amb -script/ -some scripts to build the hmi skins - -========================================== -Known issues -========================================== -There's an issue with navit (R6135) against gtk. -If the env variable NAVIT_GRAPHICS is not set, by default the graphics are gtk based. -- for gtk, navit checks for freetype. Because of a missing symbolic link, it's necessary to do ln -s /usr/include/freetype2/ /usr/include/freetype -- despite navit enables gtk_drawing, there's a pb during runtime (to be fixed) -So, for the time being, export NAVIT_GRAPHICS='sdl' is set into the run script - -============================================================================================= -How-to for the FSA -============================================================================================= -(you're supposed to have got additional code before) -Prerequisite: -Configure Qt version: - export QT_SELECT=5 -To check it: - qtchooser --print-env - -========================================== -All-in-one script -========================================== -./rebuild_all.sh - -========================================== -How-to step by step, with explanations -========================================== -NB: potential issue may occur due to path change of freetype stuff. If necessary, add a link to /usr/include/freetype2/ into /usr/include - - -Set language for the address list: - export LANGUAGE=en_US - -Create and enter the build folder: -mkdir ./build -cd build - -1. Build the additional code for navigation: - -Build the navit code first (to be improved) -mkdir navigation -cd navigation -mkdir navit -cd navit -cmake -DDISABLE_QT=1 -DSAMPLE_MAP=0 -Dvehicle/null=1 -Dgraphics/qt_qpainter=0 ../../../navigation/src/navigation/navit/ -make -cd ../ -cmake ../../navigation/src/navigation -make -cd .. - -2. Build the code of the FSA - -NB: AMB has install step, so you may be asked for sudo during make -NB: a patch is applied by default to run amb on dbus session, not to apply it, add -DAMB_ON_DBUS_SESSION=OFF - -cmake ../ -make -cd ../ - -========================================== -How To Prepare the HMI -========================================== -There are two resolutions available, WVGA and XGA. -For instance, for VGA: -cd script -./prepare.sh -i ../hmi/qml/Core/gimp/green-theme/800x480 -cd ../ - -========================================== -How To Run -========================================== - -Launch in loop mode: - ./run - -For the full FSA demonstration, please see $WORKING-DIR/test/script/README - -You can get information about the various options available with - ./run --help - -Options include running each process within its own terminal (or within gdb), creating log files, or disabling logreplayer or positioning from starting. - -============================================================================================= -How to for the common api based proof of concept -============================================================================================= -NB: You need CommonAPI 3.1.2 and Franca 0.9.1 installed -(experimental) - -Build the code of the FSA with CommonAPI: - -NB: You need CommonAPI 3.1.2 and Franca 0.9.1 installed -If the CommonAPI stuff has been generated into /usr/local/ -Check if the links are well set into ./lib -ln -s libCommonAPI-DBus.so.3.1.2 libCommonAPI-DBus.so.3 -ln -s libCommonAPI.so.3.1.2 libCommonAPI.so.3 -The folder ./include/CommonAPI-3.1/CommonAPI must contain 3.1.2 includes - -cd build -cmake -DWITH_FRANCA_INTERFACE=ON -DCOMMONAPI_DBUS_TOOL_GENERATOR=<common-api-dbus-tools folder>/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/x86/commonapi-dbus-generator-linux-x86 -DCOMMONAPI_TOOL_GENERATOR=<common-api-tools folder>/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/x86/commonapi-generator-linux-x86 -DWITH_DEBUG=ON . ../ -make -cd .. diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..3cb5dd9 --- /dev/null +++ b/src/README.md @@ -0,0 +1,86 @@ +# Navigation application (including Fuel Stop Advisor) + +## Synopsis +This folder contains a navigation application built on top of [navigation middleware](https://github.com/GENIVI/navigation) . Some test scripts are available into the ../test folder. +The GENIVI APIs are implemented by navit plugins, running on DBus. +The GENIVI APIs are implemented into Navit plugins, running on DBus. The HMI is made in Qml (Qt5.2.1 and QtQuick 2.1) + +##Tested targets +Desktop: Tested under Ubuntu 16.04 LTS 64 bits +Hardware: Code is running on the [Genivi Demo Platform](https://github.com/GENIVI/genivi-dev-platform) (Yocto based) + +## Third parties software +Positioning from [https://github.com/GENIVI/positioning](https://github.com/GENIVI/positioning) +Navit from [https://github.com/navit-gps/navit/](https://github.com/navit-gps/navit/) +Navigation middleware from [https://github.com/GENIVI/navigation](https://github.com/GENIVI/navigation) +Automotive message broker (amb) from [https://github.com/otcshare/automotive-message-broker.git](https://github.com/otcshare/automotive-message-broker.git) +NB: navit and amb are patched +NB: For displaying current versions used by the code type ./reload.sh in command line +NB: The code of positioning and navit is regularly aligned with the latest versions of the third parties software + +## Prerequisites +Under Ubuntu, some packets are needed to be installed: +sudo apt-get install xsltproc libdbus-cpp-dev libdbus-c++-dev libglib2.0-dev gtk+-2.0 libglibmm-2.4-dev libxml++2.6-dev libgtk-3-dev libdbus-1-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev inkscape qt5-qmake qtbase5-dev-tools qtbase5-dev qttools5-dev-tools qtdeclarative5-dev qtdeclarative5-dialogs-plugin libboost-all-dev uuid-dev qtquick1.5-dev qtdeclarative5-qtquick2-plugin qt4-qmlviewer sqlite3 libsqlite3-dev + +export QT_SELECT=5 +Set language for the address list: + export LANGUAGE=en_US + +## How to build +### From scratch +A script allows to clone the third parties code (i.e. positioning, navigation, navit and amb) and rebuild all +./clone_and_build.sh +### Build +A script allows either: +to clean and rebuild all (including invoking cmake) +./build.sh -c +or to build updated parts +./build.sh + +## How to test + + +##Directory Structure + +navigation/map-viewer/ +the plugins for the map rendering and manipulation (zoom, scroll..) +navigation/navigation-core/ +the plugins for basic navigation features (location input, route calculation...) +navigation/poi-cam/ +the plugins for poi content access module +navigation/patches/ +some patches to complete the navit code +navigation/map/ +the map +navigation/navit/ +basic code of navit +navigation/positioning/ +the code of positioning +hmi/ +the hmi in Qml +genivilogreplayer/ +the plugin for amb that connects the logreplayer data (by using socket) +fuel-stop-advisor/ +the code of the FSA application +automotive-message-broker/ +the code of amb +script/ +some scripts to build the hmi skins + +##Known issues +NB: For issues concerning third parties, see the corresponding README. + +For Qt version >= 5.2 with gcc 64 bits, there's an issue that needs to be fixed by compiling your code with -fPIC (-fPIE is not enough) +You must build your code with position independent code if Qt was built with -reduce-relocations +For Qt version 5.4, it's needed to fix Qt 5.4 QML -> C++ QVariant issues by unboxing the QVariant-QJSValue +Potential issue may occur due to path change of freetype stuff. If necessary, add a link to /usr/include/freetype2/ into /usr/include + +##How To Prepare the HMI + +There are two resolutions available, WVGA and XGA. +For instance, for VGA: +cd script +./prepare.sh -i ../hmi/qml/Core/gimp/green-theme/800x480 +cd ../ + + diff --git a/src/rebuild_all.sh b/src/build.sh index 9379f65..9379f65 100755 --- a/src/rebuild_all.sh +++ b/src/build.sh diff --git a/src/reload.sh b/src/clone_and_build.sh index 461067c..af0848d 100755 --- a/src/reload.sh +++ b/src/clone_and_build.sh @@ -1,7 +1,7 @@ #!/bin/bash -navigation_version='368cc50e9579d7ce7751c1a24c48072b9027592f' -positioning_version='f4f6b041f66fe7a02bd36f8f90918f9838292bed' +navigation_version='5ca0a6e28cf8dfcba41c299cc2b5340c7a0444f3' +positioning_version='9e65831eed02cc8a1b2e2e73787d6007b54214b4' navit_version='42f9d3484516c88c7cdf647817a6d6a2acac53c2' echo "version of navigation is: $navigation_version" @@ -23,11 +23,11 @@ fi rm -rf navigation rm -rf automotive-message-broker -git clone http://git.projects.genivi.org/lbs/navigation.git ./navigation +git clone https://github.com/GENIVI/navigation.git ./navigation cd navigation git checkout $navigation_version cd src/navigation -git clone http://git.projects.genivi.org/lbs/positioning.git ./positioning +git clone https://github.com/GENIVI/positioning.git ./positioning cd positioning git checkout $positioning_version cd .. @@ -38,7 +38,7 @@ patch -p0 -i ../patches/search_list_get_unique.diff patch -p0 -i ../patches/fsa_issue_padding.diff cd ../../../../ -./rebuild_all.sh -c +./build.sh -c diff --git a/src/hmi/qml/Core/gimp/README b/src/hmi/qml/Core/gimp/README.md index ee47ff3..449fa05 100644 --- a/src/hmi/qml/Core/gimp/README +++ b/src/hmi/qml/Core/gimp/README.md @@ -1,18 +1,18 @@ -Release date of the file: 30-09-2014 -Status: to be completed +# How to generate a new style sheet -How to generate a new style sheet -Important notice: don't change the layer names of the xcf files, the qml content is based on it +## Synopsis +The HMI of FSA is generated from the Gimp files, by using a python script. It allows to quickly relook the HMI. + +## Important notice +Please don't change the layer names of the xcf files, the qml content is based on it Gimp version tested: 2.8 -First step: -To load the script in python: +## To load the script in python: exit Gimp sudo cp generate-style-sheet.py /usr/lib/gimp/2.0/plug-ins sudo chmod +x /usr/lib/gimp/2.0/plug-ins/generate-style-sheet.py -Second step: -To create the style sheets +## To create the style sheets Without the batch (from Gimp): To generate a style sheet and the images: launch Gimp diff --git a/src/hmi/qml/TripComputer.qml b/src/hmi/qml/TripComputer.qml index a67b3ee..d3a8108 100644 --- a/src/hmi/qml/TripComputer.qml +++ b/src/hmi/qml/TripComputer.qml @@ -179,19 +179,23 @@ HMIMenu { function update(tripnr) { var res; + var value; disableAllValue(); // By default set all the values to "--" if (tripnr > 0) { res=Genivi.fuelstopadvisor_message(dbusIf,"GetTripData",["uint8",tripnr-1]); for (var i = 0 ; i < res[1].length ; i+=4) { if (res[1][i+1] == Genivi.FUELSTOPADVISOR_DISTANCE) { - distance_value.text=res[1][i+3][1]/10; - } + value=res[1][i+3][1]/10; + distance_value.text=value.toFixed(1); + } if (res[1][i+1] == Genivi.FUELSTOPADVISOR_AVERAGE_SPEED) { - avg_speed_value.text=res[1][i+3][1]/10; - } + value=res[1][i+3][1]/10; + avg_speed_value.text=value.toFixed(0); + } if (res[1][i+1] == Genivi.FUELSTOPADVISOR_AVERAGE_FUEL_CONSUMPTION_PER_DISTANCE) { - avg_fuel_value.text=res[1][i+3][1]/10; - } + value=res[1][i+3][1]/10; + avg_fuel_value.text=value.toFixed(1); + } } } else { res=Genivi.fuelstopadvisor_message(dbusIf,"GetInstantData",[]); diff --git a/src/hmi/qml/hmi-launcher/main.cpp b/src/hmi/qml/hmi-launcher/main.cpp index d4918c5..1887104 100644 --- a/src/hmi/qml/hmi-launcher/main.cpp +++ b/src/hmi/qml/hmi-launcher/main.cpp @@ -73,6 +73,7 @@ int main(int argc, char ** argv) QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel); window->setFlags(Qt::CustomizeWindowHint); + window->setColor(Qt::transparent); QSurfaceFormat surfaceFormat = window->requestedFormat(); window->setFormat(surfaceFormat); |