/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Automotive Suite. ** ** $QT_BEGIN_LICENSE:FDL-QTAS$ ** Commercial License Usage ** Licensees holding valid commercial Qt Automotive Suite licenses may use ** this file in accordance with the commercial license agreement provided ** with the Software or, alternatively, in accordance with the terms ** contained in a written agreement between you and The Qt Company. For ** licensing terms and conditions see https://www.qt.io/terms-conditions. ** For further information use the contact form at https://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \page neptuneui-index.html \title Neptune UI \brief A reference HMI for the OEMs to test the Qt Automotive Suite. Neptune provides IVI (infotainment) system, which depends on \l {Qt Application Manager} for the necessary infrastructure. It comes with support for a Head Unit and Cluster. The system also provides the infrastructure to develop, maintain, and deploy applications. \borderedimage instrument-cluster.png \caption QtQuick-based digital instrument cluster \borderedimage infotainment-cluster.png \caption QtQuick-based Head Unit The Head Unit interface provides additional pages that are accessible by swiping from right-to-left or left-to-right: \borderedimage infotainment-cluster-apps.png \caption Available applications on the Head Unit \borderedimage infotainment-cluster-settings.png \caption \uicontrol Settings that provides more control on the HEAD Unit and Cluster. The \uicontrol{APP STORE} tab in the \uicontrol Settings page lets you install/uninstall applications from the Head Unit. \borderedimage infotainment-cluster-carsettings.png \caption Provides options to enable or disable features on the car. \borderedimage infotainment-cluster-mycar.png \caption Provides an overview about the car itself. \section1 How to Run the UI? Typically the UI works out-of-the-box using Qt Creator, provided you choose to run your application on Qt Automotive emulator, iMX6, or DriveCX targets. You can also run only the HMI without your application. The following sections provide instructions on how to run the HMI alone. \section2 Emulator Image The Qt online installer automatically creates a virtual machine setup for the emulator image that comes with the \QAS installation, provided you have VirtualBox installed before running the Qt installer. Use the following command to run the virtual machine setup: \badcode emulator --vbox QtAutomotive-10 \endcode Where, \c emulator is a tool that is shipped with \QAS, and \e "QtAutomotive-10" is the name of the virtual machine setup. \image emulator-automotive.png \section2 Linux Desktop If you are interested in exploring the reference HMI without installing \QAS, follow these instructions to run the HMI on your Linux desktop: \list 1 \li Clone the Qt Application Manager and Neptune-UI git repositories. \li Build Qt Application Manager against Qt 5.6 or later that is installed on your desktop. See the Qt Application Manager \l[ApplicationManager]{Installation}{installation} page for more details on building. \li Build Neptune UI and install it by using the following command: \badcode qmake -r INSTALL_PREFIX= neptuneui.pro make && make install \endcode \li Run the following command from the directory where \e neptune-ui is installed: \badcode appman -r -c am-config.yaml \endcode \note You can edit the \c am-config.yaml to comment out parts that are not relevant. For example, the SD card install location under the \c "installationLocations:" section. \endlist Where, \c appman is a utility that is installed when you built Qt Application Manager, \c AM_CONFIG_FILE points to the Application Manager's \c config.yaml. \note Add \c {-I /dummyimport} to the appman command-line in case you don't have Qt IVI installed. \section2 UI Configuration The UI configuration is split into several \c yaml files for the ease of maintenance. The following is a list of those configuration files and their purpose: \list \li \c config.yaml - Defines the generic parameters such as the install location for applications installed from the APP STORE, database, and so on. \li \c am-config.yaml - Defines the Head Unit and Cluster-specific configuration such as the built-in applications, their runtime (native or qml), import paths, UI-specific configuration such as full-screen mode, main QML file (if runtime is qml), and so on. \li \c info.yaml - Defines application-specific configuration such as the main QML file, its imports, and so on. \endlist The following is a sample \c am-config.yaml: \badcode formatVersion: 1 formatType: am-configuration # basic AM functionality - the built-in apps are in 'apps'. applications: builtinAppsManifestDir: "apps" # QML apps will be able to import from modules... runtimes: qml: importPaths: [ "imports/shared" ] # ... as well as the SystemUI ui: fullscreen: yes mainQml: "Main.qml" importPaths: [ "imports/shared", "imports/system" ] windowIcon: "imports/shared/assets/icons/active/apps@96.png" systemProperties: public: styleConfig: "Config1920x1080.qml" showCluster: yes private: appStoreServerUrl: 'http://chaos.pelagicore.net:8080' # development setup: no security flags: noSecurity: yes noUiWatchdog: yes \endcode These options are also configurable from the command line as a parameter to the \e appman utility. \note You must regenerate the yocto image for the desired target after changing these \c yaml files. \section1 Related Information \list \li \l{Manifest Definition}{Application manifest file} \li \l{Main Configuration}{appman options} \li \l{Building eLinux Image} \li \l{Qt Application Manager Git Repository} \li \l{Neptune-UI Git Repository} \endlist */ /*! \externalpage http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html \title Building eLinux Image */ /*! \externalpage http://code.qt.io/cgit/qt/qtapplicationmanager.git/ \title Qt Application Manager Git Repository */ /*! \externalpage http://code.qt.io/cgit/qt-apps/neptune-ui.git/ \title Neptune-UI Git Repository */