1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2022 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<resources>
20    <!-- When true, the filter engine will alter UWB values to improve accuracy. -->
21    <bool name="enable_filters">true</bool>
22
23    <!-- The size in samples of the sliding window for the AoA filters. Note that this increases
24    latency to about half the window size. -->
25    <integer name="filter_angle_window">1</integer>
26
27    <!-- Enables elevation estimation. Strongly recommended for hardware that doesn't support
28    elevation. This helps produce better predictions from pose changes, and improves the quality
29    of the AoA primer. -->
30    <bool name="enable_primer_est_elevation">false</bool>
31
32    <!-- Enables the AoA conversion primer. This is needed on hardware that does not convert AoA
33    to spherical coordinates, including hardware that does not support elevation.-->
34    <bool name="enable_primer_aoa">false</bool>
35
36    <!-- Selects which pose source will be used by default to anticipate the next UWB measurement.
37    The pose source helps lower latency by shifting the filter states to reflect how the phone has
38    moved.
39    NONE = No pose source.
40    ROTATION_VECTOR = Requires gyro, accel and compass. Very accurate, rotation only.
41    GYRO = Gyro only. Less accurate, Saves a tiny bit of power.
42    SIXDOF = 6DOF sensor. Extremely accurate, accounts for position. Not available on most hardware.
43    DOUBLE_INTEGRATE = Double integration. Under development. Expect very bad motion drift.
44    -->
45    <string name="pose_source_type">NONE</string>
46
47    <!-- Sets the field of view, in degrees. Note that this is in degrees from 0 (straight ahead),
48    which is not the same as how camera FOV is represented.
49    UWB values outside the field of view will be replaced with predicted values based on pose
50    changes. The FOV is circular, so a value of 90 will only provide continuous azimuth values if
51    elevation is zero.
52    If <=0 or >=180, the primer will be disabled, allowing an unlimited field of view. -->
53    <integer name="primer_fov_degrees">0</integer>
54
55    <!-- Enables the back azimuth primer. This is needed on hardware that does not report azimuth
56    values beyond +/-90deg. This primer determines if azimuth values are likely to be coming from
57    behind the phone in three ways:
58    1. The prediction expects the next reading to come from behind the user because the user has
59       rotated away from the signal.
60    2. Predictions based on pose changes inversely correlate with azimuth readings.
61    3. UWB readings show very little relationship to pose changes because of non-line-of-sight
62       conditions.
63    This works best with an FOV primer setting below 90 degrees to ensure that predictions are being
64    used across the 90-degree threshold. -->
65    <bool name="enable_azimuth_mirroring">false</bool>
66
67    <!-- Whether to use a persistent cache in the algorithm to determine country code or not.
68    If enabled, will fallback to the cache to determine device location for
69    UWB regulatory purposes when  other sources (telephony, wifi, location, etc) is not available.
70    -->
71    <bool name = "persistent_cache_use_for_country_code_enabled">true</bool>
72</resources>
73