aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/neptune3ui-configure.qdoc
blob: 30ed0f8cb4bdac732e900c2d8e422ee712f5a68d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166

/****************************************************************************
**
** 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 /tmp/am hierarchy

    applications:
    builtinAppsManifestDir: "${CONFIG_PWD}/apps"
    installedAppsManifestDir: "/tmp/neptune3-ui/manifests"
    appImageMountDir: "/tmp/neptune3-ui/image-mounts"
    database: "/tmp/neptune3-ui/apps.db"

    # 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://chaos.pelagicore.net:9090'
        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 enableCursorManagement option can be set to \c yes or \c no, to enable or disable the
   Cursor Support in Neptune 3 UI's Center Console only. When enabled, it's possible to navigate
   the Center Console with input methods other than touch, such as a keyboard or a gamepad.

   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://chaos.pelagicore.net:9090}.

   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}.

*/