diff options
author | <philippe colliot> | 2015-11-05 15:34:29 +0100 |
---|---|---|
committer | <philippe colliot> | 2015-11-05 15:34:29 +0100 |
commit | 112742a3bcadd758a0d72f93c1870d0bf6ba3a5a (patch) | |
tree | 2fc24d9850594c8c0f516a84162a4bc23b824b0e | |
parent | ebacf38a199eca8c2f957f13dd3a48bb13a0136e (diff) | |
download | navigation-112742a3bcadd758a0d72f93c1870d0bf6ba3a5a.tar.gz |
FSA is running under Ubuntu 15.10 64bit Qt 5.4
-rw-r--r-- | src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/README | 16 | ||||
-rw-r--r-- | src/fuel-stop-advisor/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/genivilogreplayer/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/hmi/qml/Core/resource.js | 4 | ||||
-rw-r--r-- | src/hmi/qml/hmi-launcher/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/hmi/qml/hmi-launcher/dbusif.cpp | 20 | ||||
-rwxr-xr-x | test/script/README | 8 |
8 files changed, 49 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f3c30db..14fa476 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,7 +17,6 @@ ########################################################################### project(fuel-stop-advisor) cmake_minimum_required(VERSION 2.8) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") option(WITH_DEBUG "Enable the debug messages" OFF) @@ -1,4 +1,4 @@ -Release date of the file: 08-10-2015 +Release date of the file: 05-11-2015 Status: OK Project: @@ -6,7 +6,7 @@ Navigation application based on Navit and compliant with the Navigation APIs sta 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 and QtQuick 2.1) +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: @@ -22,8 +22,16 @@ Martin Schaller <martin.schaller@it-schaller.de> License: See headers and LICENSE file -Test target: -Ubuntu 14.04 LTS +=============================== +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 diff --git a/src/fuel-stop-advisor/CMakeLists.txt b/src/fuel-stop-advisor/CMakeLists.txt index 98a8a17..82b60fc 100644 --- a/src/fuel-stop-advisor/CMakeLists.txt +++ b/src/fuel-stop-advisor/CMakeLists.txt @@ -16,6 +16,8 @@ ########################################################################### cmake_minimum_required(VERSION 2.8) +add_definitions("-std=gnu++11") + include(FindPkgConfig) pkg_search_module(DBUS_CPP_GLIB dbus-c++-glib-1) diff --git a/src/genivilogreplayer/CMakeLists.txt b/src/genivilogreplayer/CMakeLists.txt index 41bc3f9..fc871bf 100644 --- a/src/genivilogreplayer/CMakeLists.txt +++ b/src/genivilogreplayer/CMakeLists.txt @@ -17,6 +17,8 @@ ########################################################################### cmake_minimum_required(VERSION 2.8) +add_definitions("-std=gnu++11") + include(FindPkgConfig) pkg_search_module(GLIB glib-2.0) diff --git a/src/hmi/qml/Core/resource.js b/src/hmi/qml/Core/resource.js index 56f4342..9fa8a97 100644 --- a/src/hmi/qml/Core/resource.js +++ b/src/hmi/qml/Core/resource.js @@ -25,9 +25,9 @@ * @licence end@ */ -Qt.include("/home/psa/Desktop/genivi/navigation-application-master/src/build/hmi/qml/hmi-launcher/constants.js"); +Qt.include("/home/psa/genivi/navigation-application/src/build/hmi/qml/hmi-launcher/constants.js"); -var IconPath = "/home/psa/Desktop/genivi/navigation-application-master/src/build/navigation/navit/navit/navit/xpm/" +var IconPath = "/home/psa/genivi/navigation-application/src/build/navigation/navit/navit/navit/xpm/" var ManeuverTypeIcon = new Object; ManeuverTypeIcon[NAVIGATIONCORE_INVALID]=IconPath+"unknown_64_64.png"; diff --git a/src/hmi/qml/hmi-launcher/CMakeLists.txt b/src/hmi/qml/hmi-launcher/CMakeLists.txt index 5a05844..1a1ffa6 100644 --- a/src/hmi/qml/hmi-launcher/CMakeLists.txt +++ b/src/hmi/qml/hmi-launcher/CMakeLists.txt @@ -21,6 +21,10 @@ project(hmi-launcher) cmake_minimum_required(VERSION 2.8.11) +add_definitions("-std=gnu++11") + +add_definitions("-fPIC") + message(STATUS "hmi-launcher") find_program(XSLTPROC xsltproc REQUIRED) @@ -50,7 +54,7 @@ include_directories( set(cmake_create_dir cmake -E make_directory) # settings for Qt -set(CMAKE_XXX_FLAGS "${CMAKE_XXX_FLAGS} ${QT5_EXECUTABLE_COMPILE_FLAGS}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${QT5_EXECUTABLE_COMPILE_FLAGS}") set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) diff --git a/src/hmi/qml/hmi-launcher/dbusif.cpp b/src/hmi/qml/hmi-launcher/dbusif.cpp index f8be005..c17b2f5 100644 --- a/src/hmi/qml/hmi-launcher/dbusif.cpp +++ b/src/hmi/qml/hmi-launcher/dbusif.cpp @@ -53,6 +53,12 @@ void QVariant v) { QDBusMessage msg = QDBusMessage::createSignal(path, interface, method); + + // unbox the QVariant-QJSValue to fix the Qt 5.4 QML -> C++ QVariant issues + if (v.userType() == qMetaTypeId<QJSValue>()) { + v = v.value<QJSValue>().toVariant(); + } + if (v.type() == QVariant::List) { QVariantList l = v.value < QVariantList > (); for (int i = 0; i < l.size(); i++) { @@ -90,6 +96,11 @@ dbus_from_qml(QVariant v) static QList<QVariant> dbus_list_from_qml_list(QVariant v) { + // unbox the QVariant-QJSValue to fix the Qt 5.4 QML -> C++ QVariant issues + if (v.userType() == qMetaTypeId<QJSValue>()) { + v = v.value<QJSValue>().toVariant(); + } + if (v.type() != QVariant::List) { qDebug() << "Wrong Variant Type" << v; throw("wrong variant type"); @@ -523,7 +534,14 @@ dbus_message_from_qml_list(DBusMessage *msg, QVariant v) { DBusMessageIter iter; dbus_message_iter_init_append(msg, &iter); - if (v.type() != QVariant::List) { + + // unbox the QVariant-QJSValue to fix the Qt 5.4 QML -> C++ QVariant issues + if (v.userType() == qMetaTypeId<QJSValue>()) { + v = v.value<QJSValue>().toVariant(); + } + + + if (v.type() != QVariant::List) { qDebug() << "Wrong Variant Type" << v; return false; } diff --git a/test/script/README b/test/script/README index 21e7ffb..31ef24d 100755 --- a/test/script/README +++ b/test/script/README @@ -3,7 +3,7 @@ Status: to be completed This test bench requires Python version >= 3.4 and uses pygame. -How to get pygame +How to get pygame (for Ubuntu 14.04 LTS) It seems you need to build it, so follow this recipe: (thanks to Sir on http://heritagerobotics.wordpress.com/category/xubuntu-stuff/) cd @@ -17,6 +17,7 @@ sudo python3 setup.py install You need some other packages sudo apt-get install python3-gobject + To test: Launch the application without the logreplayer: @@ -24,7 +25,12 @@ Launch the application without the logreplayer: Launch the test dashboard (keyboard interface) (the test dashboard calls the logreplayer and uses test log files) +For Ubuntu 14.04 LTS python3 simulation-dashboard.py + +For Ubuntu 15.10 +python simulation-dashboard.py + NB: To launch it remotely, you can set the host address, for instance: python3 simulation-dashboard.py -r 192.168.1.202 Steps: |