/**************************************************************************** ** ** Copyright (C) 2019 Luxoft Sweden AB ** Copyright (C) 2018 Pelagicore AG ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Neptune 3 UI. ** ** $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 neptune3ui-configure.html \title Neptune 3 UI - Configure \brief Describes the steps necessary to configure Neptune 3 UI. For maintainability, the UI configuration is split into several YAML files, as described in the following table: \table \header \li File \li Description \row \li \c am-config-neptune.yaml \li Defines the \l{Center Console Display} and Cluster-specific configurations. For example, built-in apps and their runtime (native or QML), import paths, UI-specific configurations (such as full-screen mode), and a main QML file (if it's a QML runtime). This YAML file configures Neptune 3 UI to use "neptune" style. \row \li \c am-config-lucee.yaml \li Similar to \c am-config-neptune.yaml, but this YAML file configures Neptune 3 UI to use "lucee" style. \row \li \c info.yaml \li Defines the app-specific configuration, such as a main QML file and its imports. For more information, see \l{https://doc.qt.io/QtApplicationManager/manifest.html}{Manifest Definition}. \endtable The following code is an example of a \c am-config-neptune.yaml file: \badcode formatVersion: 1 formatType: am-configuration --- # basic AM functionality - the builtin apps are in 'apps'. # installations will go into the standard QStandardPath AppLocalDataLocation # (e.g. ~/.local/share/Luxoft Sweden AB/Neptune UI) /am hierarchy applications: builtinAppsManifestDir: "${CONFIG_PWD}/apps" installedAppsManifestDir: "${stdpath:AppLocalDataLocation}/neptune3-ui/manifests" installationDir: "${stdpath:AppLocalDataLocation}/neptune3-ui/apps" documentDir: "${stdpath:AppLocalDataLocation}/neptune3-ui/docs" # QML apps will be able to import from modules... runtimes: qml: importPaths: [ "${CONFIG_PWD}/imports_shared" ] environmentVariables: QT_PLUGIN_PATH: ${CONFIG_PWD} SERVER_CONF_PATH: ${CONFIG_PWD}/server.conf native: importPaths: [ "${CONFIG_PWD}/imports_shared" ] environmentVariables: QT_PLUGIN_PATH: ${CONFIG_PWD} SERVER_CONF_PATH: ${CONFIG_PWD}/server.conf # ... as well as the SystemUI ui: fullscreen: no style: "${CONFIG_PWD}/styles/neptune" iconThemeName: "neptune" iconThemeSearchPaths: [ "${CONFIG_PWD}/imports_shared/assets/icons" ] mainQml: "${CONFIG_PWD}/Main.qml" importPaths: [ "${CONFIG_PWD}/imports_shared", "${CONFIG_PWD}/imports_system", "${CONFIG_PWD}/sysui" ] windowIcon: "${CONFIG_PWD}/imports_shared/assets/icons/neptune/sysui/ic-menu-home.png" systemProperties: public: showCluster: yes showHUD: yes devMode: yes hardwareVariant: 'high' #Qt Safe Renderer settings qsrEnabled: no qsrServerAddress: '127.0.0.1' qsrServerPort: '1111' showSystemAppsInLauncher: no private: appStoreServerUrl: 'http://demoappsdeploy.qt.io:8514/' orientation: 'Portrait' adjustSizesForScreen: yes # development setup: no security flags: noSecurity: yes noUiWatchdog: yes \endcode The YAML file contains options for system properties to show screens other than the Center Console, such as the Instrument Cluster or the HUD. These screens are enabled by default. Set \c showCluster or \c showHUD to \c no, to let Neptune 3 UI know that these screens should not be shown. You can also set the \c devMode option to \c yes or \c no, to enable or disable Development Mode in Neptune 3 UI. When enabled, the Sheets app is included in the Application Launcher and developers can see all of the components that Neptune 3 UI supports, to develop an app. The \c hardwareVariant parameter can be used to specify the type of hardware used. According to the variant, features are enabled or disabled depending on whether the hardware supports them. Currently, this parameter accepts two values: \c high or \c low. If set to \c low, some performance-intensive graphical effects, which lead to bad frame rates on low-end devices like Raspberry Pi, are disabled. To enable \l{Qt Safe Renderer}, you can set \c qsrEnabled to \c yes, which allows you to load Safe telltales inside the Cluster app. For more information, see \l{Neptune 3 UI - Qt Safe Renderer Integration}. The \c showSystemAppsInLauncher parameter lets you display or hide system apps such as the Cluster, HUD, or Climate apps in the Launcher. The \c adjustSizesForScreen parameter is used to modify the size of the Center Console Window and the Instrument Cluster Window. This adjustment is usually necessary when the target platform is a desktop and the fullscreen mode is not in use. If you'd like to use the \l{Qt Automotive Suite Deployment Server}, set the \c appStoreServerUrl parameter to contain your server's base URL together with its port. Currently, the default value is \c{http://demoappsdeploy.qt.io:8514}. All of these options are also configurable from the command line as a parameter to the \c appman utility. For more information, see \l{Qt Application Manager Configuration}. \badcode appman --option 'ui: { fullscreen: no }' \endcode \note After you have changed the YAML files, you must regenerate the Yocto image for your target. For more details, see \l{Building eLinux image}{Building Your Own Embedded Linux Image}. */