1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2021 The Android Open Source Project 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15--> 16 17<!-- These resources are around just to allow their values to be customized 18 for different hardware and product builds. Do not translate. 19 20 NOTE: The naming convention is "config_camelCaseValue". Some legacy 21 entries do not follow the convention, but all new entries should. --> 22 23<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> 24 <!-- boolean indicating whether or not the system supports multiple UWB chips --> 25 <bool name="config_isMultichip">false</bool> 26 27 <!-- Filepath of multichip configuration file. This is an xml file that follows the format 28 specified in multichip-parser/uwbConfig.xsd. If config_isMultichip is false, this value will be 29 ignored. --> 30 <string translatable="false" name="config_multichipConfigPath"></string> 31 32 <!-- When true, the filter engine will alter UWB values to improve accuracy. --> 33 <bool name="enable_filters">true</bool> 34 35 <!-- Used to filter distance measurements. Determines percentage (0-100) of inliers within the 36 sliding window will be used to perform the average. At least one inlier will be used. 37 Therefore, a value of 0 is a true median, and a value of 100 is a true average. --> 38 <integer name="filter_distance_inliers_percent">0</integer> 39 40 <!-- The size in samples of the sliding window for the distance filter. Note that this increases 41 latency to about half the window size. --> 42 <integer name="filter_distance_window">3</integer> 43 44 <!-- Used to filter AoA angle measurements. Determines percentage (1-100) of inliers within the 45 sliding window will be used to perform the average. At least one inlier will be used. 46 Therefore, a value of 0 is a true median, and a value of 100 is a true average. --> 47 <integer name="filter_angle_inliers_percent">50</integer> 48 49 <!-- The size in samples of the sliding window for the AoA filters. Note that this increases 50 latency to about half the window size. --> 51 <integer name="filter_angle_window">5</integer> 52 53 <!-- Selects which pose source will be used by default to anticipate the next UWB measurement. 54 The pose source helps lower latency by shifting the filter states to reflect how the phone has 55 moved. 56 NONE = No pose source. 57 ROTATION_VECTOR = Requires gyro, accel and compass. Very accurate, rotation only. 58 GYRO = Gyro only. Less accurate, Saves a tiny bit of power. 59 SIXDOF = 6DOF sensor. Extremely accurate, accounts for position. Not available on most hardware. 60 DOUBLE_INTEGRATE = Double integration. Under development. Expect very bad motion drift. 61 --> 62 <string name="pose_source_type">ROTATION_VECTOR</string> 63 64 <!-- Enables elevation estimation. Strongly recommended for hardware that doesn't support 65 elevation. This helps produce better predictions from pose changes, and improves the quality 66 of the AoA primer. This will override elevation readings from hardware that supports it! --> 67 <bool name="enable_primer_est_elevation">false</bool> 68 69 <!-- Enables the AoA conversion primer. This is needed on hardware that does not convert AoA 70 to spherical coordinates, including hardware that does not support elevation.--> 71 <bool name="enable_primer_aoa">true</bool> 72 73 <!-- Sets the field of view, in degrees. Note that this is in degrees from 0 (straight ahead), 74 which is not the same as how camera FOV is represented. 75 UWB values outside the field of view will be replaced with predicted values based on pose 76 changes. The FOV is circular, so a value of 90 will only provide continuous azimuth values if 77 elevation is zero. 78 If <=0 or >=180, the primer will be disabled, allowing an unlimited field of view. --> 79 <integer name="primer_fov_degrees">60</integer> 80 81 <!-- Enables the back azimuth primer. This is needed on hardware that does not report azimuth 82 values beyond +/-90deg. This primer determines if azimuth values are likely to be coming from 83 behind the phone in three ways: 84 1. The prediction expects the next reading to come from behind the user because the user has 85 rotated away from the signal. 86 2. Predictions based on pose changes inversely correlate with azimuth readings. 87 3. UWB readings show very little relationship to pose changes because of non-line-of-sight 88 conditions. 89 This works best with an FOV primer setting below 90 degrees to ensure that predictions are being 90 used across the 90-degree threshold. --> 91 <bool name="enable_azimuth_mirroring">true</bool> 92 93 <!-- Azimuth values arriving from behind the user are often very unreliable due to interference 94 from the user and hardware design. Setting this to true forces predictions for all rear-azimuth 95 values. When false, the mirrored azimuth reading will be used. --> 96 <bool name="predict_rear_azimuths">true</bool> 97 98 <!-- The number of samples to consider when determining if the azimuth needs mirroring. --> 99 <integer name="mirror_detection_window">5</integer> 100 101 <!-- How much correlation is required to make the assumption that the azimuth is in front of the 102 phone. Correlation is defined as the user's rotation rate in degrees per second, multiplied by 103 how accurately the UWB readings follow that movement. The accuracy is scored on a bell curve 104 defined by mirror_score_std_degrees. 105 The user must rotate at least this many degrees per second before action is taken, and often 106 more if the readings aren't correlating well. --> 107 <integer name="front_mirror_dps">12</integer> 108 109 <!-- How much correlation is required to make the assumption that the azimuth is behind the 110 the phone. See front_mirror_dps setting for more detail. --> 111 <integer name="back_mirror_dps">10</integer> 112 113 <!-- Sets the size of the bell curve on which the correlation of azimuth and pose changes are 114 scored. It should be about one standard deviation of the hardware's azimuth jitter, in degrees. 115 --> 116 <integer name="mirror_score_std_degrees">8</integer> 117 118 <!-- Sets how much noise influences the decision to switch to the back azimuth, in percent. Back 119 values are more likely to be inconsistent with predictions due to non-line-of-sight effects. 120 The radians of typical inconsistency is multiplied by this percentage and added to the degrees 121 of rear azimuth correlation, to increase the odds of deciding rear correlation is the best fit. 122 --> 123 <integer name="back_noise_influence_percent">8</integer> 124 125 <!-- Sets how long reports with an error code will be replaced with predicted reports, in 126 seconds. This is measured from the time of the last non-error report. --> 127 <integer name="prediction_timeout_seconds">5</integer> 128 129 <!-- The Advertising Profile AoA Criteria Angle. This is the threshold with which the 130 Azimuth and Elevation values (from received OwrAoa measurements) are compared, to determine if 131 the IoT device is being pointed to by the phone. --> 132 <integer name="advertise_aoa_criteria_angle">10</integer> 133 134 <!-- The Advertising profile time threshold (for the received Owr Aoa Measurements). This 135 parameter controls the time window during which the received OwrAoa measurements are considered 136 to be valid (for determining if the IoT device is being pointed to). --> 137 <integer name="advertise_time_threshold_millis">5000</integer> 138 139 <!-- The Advertising profile array size. This controls the number of received Owr Aoa 140 measurements (or derived values), that will be stored. --> 141 <integer name="advertise_array_size_to_check">10</integer> 142 143 <!-- The Advertising profile array start index, for the stored values from Owr Aoa 144 measurements. Only the stored values at index >= the array start index will be used in the 145 Azimuth/Elevation variance calculation. --> 146 <integer name="advertise_array_start_index_to_cal_variance">2</integer> 147 148 <!-- The Advertising profile array end index, for the stored values from Owr Aoa 149 measurements. Only the stored values at index < the array end index will be used in the 150 Azimuth/Elevation variance calculation. --> 151 <integer name="advertise_array_end_index_to_cal_variance">8</integer> 152 153 <!-- The Advertising profile trusted variance value. This is the threshold within which the 154 computed Azimuth/Elevation variance values (from the received OwrAoa measurements) 155 is acceptable. --> 156 <integer name="advertise_trusted_variance_value">5</integer> 157 158 <!-- Max number of Rx data packets (for a UWB session) to be stored. This parameter defines the 159 storage capacity for a UWB session, for incoming packets from a remote UWB device. --> 160 <integer name = "rx_data_max_packets_to_store">10</integer> 161 162 <!-- Whether background ranging is enabled or not 163 If enabled: 164 * Background 3p apps are allowed to open new ranging sessions 165 * When previously foreground 3p apps moves to background, sessions are not terminated 166 --> 167 <bool name = "background_ranging_enabled">false</bool> 168 169 <!-- Whether ranging error streak timer is enabled or not. 170 If disabled, session would not be automatically stopped if there is no peer available. 171 --> 172 <bool name = "ranging_error_streak_timer_enabled">true</bool> 173 174 <!-- Whether to send ranging stopped params for CCC session stop or not. 175 If enabled, newly added `CccRangingStoppedParams` are sent in `onStopped()` callback. 176 --> 177 <bool name = "ccc_ranging_stopped_params_send_enabled">false</bool> 178 179 <!-- Returns whether an absolute UWB initiation time should be computed and configured for 180 CCC ranging session(s). 181 If disabled, a relative UWB initiation time (the value in CCCStartRangingParams), is 182 configured for the CCC ranging session. --> 183 <bool name = "ccc_absolute_uwb_initiation_time_enabled">false</bool> 184 185 <!-- Whether to use location APIs in the algorithm to determine country code or not. 186 If disabled, will use other sources (telephony, wifi, etc) to determine device location for 187 UWB regulatory purposes. 188 --> 189 <bool name = "location_use_for_country_code_enabled">true</bool> 190 191 <!-- Whether to disable uwb until first toggle or not. 192 If enabled, UWB will remain disabled on boot until the user toggles UWB on for the first time. 193 --> 194 <bool name = "uwb_disabled_until_first_toggle">false</bool> 195 196 <!-- Whether to interpret CCC supported sync codes value as little endian. 197 If enabled, CCC supported sync codes value will be interpreted as little endian. 198 --> 199 <bool name = "ccc_supported_sync_codes_little_endian">false</bool> 200 201 <!-- Whether to support (and configure) RANGE_DATA_NTF_CONFIG and related UWB configuration 202 parameters for a CCC ranging session. 203 If disabled, the RANGE_DATA_NTF_CONFIG parameter will be configured with the value DISABLED. 204 --> 205 <bool name = "ccc_supported_range_data_ntf_config">false</bool> 206 207 <!-- Whether to use a persistent cache in the algorithm to determine country code or not. 208 If enabled, will fallback to the cache to determine device location for 209 UWB regulatory purposes when other sources (telephony, wifi, location, etc) is not available. 210 --> 211 <bool name = "persistent_cache_use_for_country_code_enabled">false</bool> 212 213 <!-- Whether hardware idle turn off is enabled or not. 214 If enabled, some clients must explicitly request UWB to be enabled on top of user setting. 215 --> 216 <bool name = "hw_idle_turn_off_enabled">false</bool> 217 218 <!-- Whether multicast list update notification v2 is supported or not. 219 If enabled, the notification will be parsed into version 2 if uci major version is 2.0. --> 220 <bool name = "is_multicast_list_update_ntf_v2_supported">false</bool> 221 222 <!-- Whether multicast list update response v2 is supported or not. 223 If enabled, the response will be parsed into version 2 if uci major version is 2.0. --> 224 <bool name = "is_multicast_list_update_rsp_v2_supported">false</bool> 225 226 <!-- Whether or not the antenna operation mode shall be configured by the ANTENNA_MODE vendor 227 config param. If false, the FiRa-specified AOA_RESULT_REQ param is used instead. --> 228 <bool name = "is_antenna_mode_config_supported">false</bool> 229</resources> 230