From e79a75336d975239db2b7478ffa10ede93b02153 Mon Sep 17 00:00:00 2001 From: Rex Lin Date: Wed, 19 Oct 2022 14:38:42 +0800 Subject: [PATCH 1/3] uwb: add country conf file for F10 Bug: 247633734 Test: Verified with local build Signed-off-by: Rex Lin Change-Id: I93d5afc09167e45c307ed131c28ce07d3c671e1a --- uwb/Android.mk | 24 +++++ uwb/UWB-calibration-ce.conf | 152 +++++++++++++++++++++++++++ uwb/UWB-calibration-default.conf | 152 +++++++++++++++++++++++++++ uwb/UWB-calibration-fcc.conf | 152 +++++++++++++++++++++++++++ uwb/UWB-calibration-jp.conf | 153 ++++++++++++++++++++++++++++ uwb/UWB-calibration-restricted.conf | 152 +++++++++++++++++++++++++++ uwb/UWB-calibration-tw.conf | 153 ++++++++++++++++++++++++++++ uwb/country_conf_gen.sh | 31 ++++++ uwb/uwb_calibration.mk | 6 +- uwb/uwb_country.conf | 62 +++++++++++ 10 files changed, 1034 insertions(+), 3 deletions(-) create mode 100644 uwb/Android.mk create mode 100644 uwb/UWB-calibration-ce.conf create mode 100644 uwb/UWB-calibration-default.conf create mode 100644 uwb/UWB-calibration-fcc.conf create mode 100644 uwb/UWB-calibration-jp.conf create mode 100644 uwb/UWB-calibration-restricted.conf create mode 100644 uwb/UWB-calibration-tw.conf create mode 100755 uwb/country_conf_gen.sh create mode 100644 uwb/uwb_country.conf diff --git a/uwb/Android.mk b/uwb/Android.mk new file mode 100644 index 0000000..a7bdf11 --- /dev/null +++ b/uwb/Android.mk @@ -0,0 +1,24 @@ +# +# Copyright (C) 2022 The Android Open-Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# WARNING: Everything listed here will be built on ALL platforms, +# including x86, the universal, and the SDK. Modules must be uniquely +# named (liblights.panda), and must build everywhere, or limit themselves +# to only building on ARM if they include assembly. Individual makefiles +# are responsible for having their own logic, for fine-grained control. +LOCAL_PATH:= $(call my-dir) +LOCAL_UWB_CAL_DIR=$(LOCAL_PATH) +DEVICE_UWB_CAL_DIR=$(TARGET_OUT_VENDOR)/etc/uwb +$(shell ($(LOCAL_UWB_CAL_DIR)/country_conf_gen.sh $(LOCAL_UWB_CAL_DIR) $(DEVICE_UWB_CAL_DIR))) diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf new file mode 100644 index 0000000..522d6a4 --- /dev/null +++ b/uwb/UWB-calibration-ce.conf @@ -0,0 +1,152 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16449 +ant0.ch5.prf16.tx_power=0xFFFFD4FF +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x28 +ant0.ch5.prf64.ant_delay=16449 +ant0.ch5.prf64.tx_power=0xFFFFD4FF +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x28 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0xFFFFFFFF +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0x26 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0xFFFFFFFF +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0x26 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +restricted_channels=0 +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration-default.conf b/uwb/UWB-calibration-default.conf new file mode 100644 index 0000000..522d6a4 --- /dev/null +++ b/uwb/UWB-calibration-default.conf @@ -0,0 +1,152 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16449 +ant0.ch5.prf16.tx_power=0xFFFFD4FF +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x28 +ant0.ch5.prf64.ant_delay=16449 +ant0.ch5.prf64.tx_power=0xFFFFD4FF +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x28 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0xFFFFFFFF +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0x26 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0xFFFFFFFF +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0x26 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +restricted_channels=0 +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf new file mode 100644 index 0000000..522d6a4 --- /dev/null +++ b/uwb/UWB-calibration-fcc.conf @@ -0,0 +1,152 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16449 +ant0.ch5.prf16.tx_power=0xFFFFD4FF +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x28 +ant0.ch5.prf64.ant_delay=16449 +ant0.ch5.prf64.tx_power=0xFFFFD4FF +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x28 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0xFFFFFFFF +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0x26 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0xFFFFFFFF +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0x26 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +restricted_channels=0 +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration-jp.conf b/uwb/UWB-calibration-jp.conf new file mode 100644 index 0000000..d9f3f93 --- /dev/null +++ b/uwb/UWB-calibration-jp.conf @@ -0,0 +1,153 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16450 +ant0.ch5.prf16.tx_power=0 +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0 +ant0.ch5.prf64.ant_delay=16450 +ant0.ch5.prf64.tx_power=0 +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0 +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0 +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +alternate_pulse_shape=0x01 +restricted_channels=0x20 +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration-restricted.conf b/uwb/UWB-calibration-restricted.conf new file mode 100644 index 0000000..e2738e5 --- /dev/null +++ b/uwb/UWB-calibration-restricted.conf @@ -0,0 +1,152 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16449 +ant0.ch5.prf16.tx_power=0xFFFFD4FF +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x28 +ant0.ch5.prf64.ant_delay=16449 +ant0.ch5.prf64.tx_power=0xFFFFD4FF +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x28 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0xFFFFFFFF +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0x26 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0xFFFFFFFF +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0x26 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +restricted_channels=0xFFFF +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration-tw.conf b/uwb/UWB-calibration-tw.conf new file mode 100644 index 0000000..70ab457 --- /dev/null +++ b/uwb/UWB-calibration-tw.conf @@ -0,0 +1,153 @@ +[CCC]version=2 +[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 +[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 +[CCC]ant0.ch5.prf64.pdoa_offset=0 +[CCC]ant0.ch9.prf64.pdoa_offset=0 +[CCC]ant0.ch5.prf64.pll_locking_code=0 +[CCC]ant0.ch9.prf64.pll_locking_code=0 +[CCC]id=0 +[CCC]wifi_coex_time_gap=10 +[CCC]ap_coop_mode=1 +[CCC]antenna_selection=4 +ant0.ch5.prf16.ant_delay=16450 +ant0.ch5.prf16.tx_power=0 +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0 +ant0.ch5.prf64.ant_delay=16450 +ant0.ch5.prf64.tx_power=0 +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0 +ant0.ch9.prf16.ant_delay=16450 +ant0.ch9.prf16.tx_power=0xFFFFD4FF +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x26 +ant0.ch9.prf64.ant_delay=16450 +ant0.ch9.prf64.tx_power=0xFFFFD4FF +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x26 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16450 +ant1.ch5.prf16.tx_power=0 +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0 +ant1.ch5.prf64.ant_delay=16450 +ant1.ch5.prf64.tx_power=0 +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0 +ant1.ch9.prf16.ant_delay=16451 +ant1.ch9.prf16.tx_power=0xFFFFD4FF +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0x26 +ant1.ch9.prf64.ant_delay=16451 +ant1.ch9.prf64.tx_power=0xFFFFD4FF +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0x26 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16450 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16450 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16451 +ant2.ch9.prf16.tx_power=0xFFFFD4FF +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0x28 +ant2.ch9.prf64.ant_delay=16451 +ant2.ch9.prf64.tx_power=0xFFFFD4FF +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0x28 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16450 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16450 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16450 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16450 +ant3.ch9.prf64.tx_power=0 +ant3.ch9.prf64.pg_count=0 +ant3.ch9.prf64.pg_delay=0 +ant3.port=1 +ant3.selector_gpio=6 +ant3.selector_gpio_value=1 +ant0.ant1.ch5.pdoa_offset=0 +ant0.ant1.ch9.pdoa_offset=0 +ant0.ant2.ch5.pdoa_offset=0 +ant0.ant2.ch9.pdoa_offset=0 +ant1.ant2.ch5.pdoa_offset=0 +ant1.ant2.ch9.pdoa_offset=1782 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=-4342 +ant2.ant3.ch5.pdoa_offset=0 +ant2.ant3.ch9.pdoa_offset=0 +ch5.pll_locking_code=0 +ch9.pll_locking_code=0 +ant1.ant2.ch5.pdoa_lut=0a:f4:77:0a:d9:f4:c5:09:c1:f5:12:09:df:f5:60:08:7f:f6:ac:07:dd:f6:fa:06:f2:f6:48:06:89:f7:96:05:d1:f7:e3:04:54:f8:2f:04:f0:f8:7d:03:46:fa:cb:02:b0:fb:19:02:23:fd:64:01:a2:fe:b2:00:00:00:00:00:31:01:4e:ff:a6:02:9c:fe:0a:04:e7:fd:52:05:35:fd:73:06:83:fc:cb:07:d1:fb:be:08:1d:fb:f8:09:6a:fa:39:0b:b8:f9:81:0c:06:f9:1b:0d:54:f8:87:0d:a0:f7:a0:0e:ee:f6:06:0f:3b:f6:2d:0f:89:f5 +ant1.ant2.ch9.pdoa_lut=ec:ed:85:f5:3d:ee:3d:f6:66:ee:f6:f6:48:ef:9a:f7:d7:ef:52:f8:f6:f0:0a:f9:00:f2:ae:f9:ec:f3:66:fa:14:f6:1f:fb:14:f8:d7:fb:3d:fa:7b:fc:00:fc:33:fd:e1:fc:ec:fd:ec:fd:a4:fe:f6:fe:48:ff:00:00:00:00:48:01:b8:00:8f:02:5c:01:ae:03:14:02:1f:05:cd:02:52:06:85:03:ec:07:29:04:f6:08:e1:04:14:0a:9a:05:48:0b:52:06:b8:0c:f6:06:14:0e:ae:07:71:0f:66:08:e1:10:0a:09:9a:11:c3:09:b8:12:7b:0a +ant1.ant3.ch5.pdoa_lut=89:f4:ac:07:a2:f4:60:08:ae:f4:77:0a:0a:f5:12:09:7d:f5:c5:09:8d:f5:fa:06:0a:f7:48:06:9a:f7:96:05:fa:f7:e3:04:68:f8:2f:04:f0:f9:7d:03:fa:fb:cb:02:6d:fd:19:02:2f:fe:64:01:98:fe:b2:00:00:00:00:00:1d:02:4e:ff:2d:02:e7:fd:33:02:9c:fe:0a:03:35:fd:6f:04:83:fc:db:05:d1:fb:85:07:1d:fb:b0:08:6a:fa:06:09:b8:f9:71:09:06:f9:48:0a:54:f8:4e:0b:a0:f7:58:0c:3b:f6:62:0c:ee:f6:c5:0c:89:f5 +ant1.ant3.ch9.pdoa_lut=00:ee:7b:0a:3d:ee:c3:09:a4:ee:0a:09:cd:ee:66:08:f6:ee:ae:07:7b:f0:f6:06:29:f2:52:06:9a:f3:9a:05:a4:f4:e1:04:9a:f5:29:04:f6:f6:85:03:8f:f8:cd:02:14:fa:14:02:d7:fb:5c:01:c3:fd:b8:00:00:00:00:00:d7:01:48:ff:c3:03:a4:fe:9a:05:ec:fd:71:07:33:fd:b8:08:7b:fc:85:09:d7:fb:ae:09:1f:fb:c3:09:66:fa:ec:09:ae:f9:66:0a:0a:f9:33:0b:52:f8:8f:0c:9a:f7:ec:0d:f6:f6:29:0e:3d:f6:3d:0e:85:f5 +xtal_trim=23 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 + +restricted_channels=0x20 +[HAL]aoa_capability=2 +[HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_nonranging=6 +[HAL]ant_sets.ch5.range.tx_ant_set_ranging=6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=4 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=4 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging=0 +[HAL]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging=0 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 +[HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=3 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=3 +[HAL]minimum_system_offset_uwbtime0=250 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/country_conf_gen.sh b/uwb/country_conf_gen.sh new file mode 100755 index 0000000..7e398c0 --- /dev/null +++ b/uwb/country_conf_gen.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# This script is used to generate uwb conuntry configuration file, +# and the PRODUCT_COPY_FILES list in uwb.mk based on uwb_country.conf +# Bug: 196073172, 233619860 + +count=1 + +mkdir -p $2 + +while read line ; do + if [[ "$line" =~ ^"*" ]]; then + header=${line:1} + elif [[ "$line" =~ ^"\"" ]]; then + #line=$(echo ${line/,} | tr -d "\"") + country[count]=$(echo $line | cut -d ':' -f1 | tr -d "\"") + code[count]=$(echo $line | cut -d ':' -f2 | tr -d "\"" | tr -d " ") + if [ "$header" = "FCC" ]; then + cp $1/UWB-calibration-fcc.conf $2/UWB-calibration-${code[$count]}.conf + elif [ "$header" = "CE" ]; then + cp $1/UWB-calibration-ce.conf $2/UWB-calibration-${code[$count]}.conf + elif [ "$header" = "JP" ]; then + cp $1/UWB-calibration-jp.conf $2/UWB-calibration-${code[$count]}.conf + elif [ "$header" = "TW" ]; then + cp $1/UWB-calibration-tw.conf $2/UWB-calibration-${code[$count]}.conf + elif [ "$header" = "Restricted" ]; then + cp $1/UWB-calibration-restricted.conf $2/UWB-calibration-${code[$count]}.conf + fi + fi +((count++)) +done < $1/uwb_country.conf diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk index 849e154..d6c9d0a 100644 --- a/uwb/uwb_calibration.mk +++ b/uwb/uwb_calibration.mk @@ -19,9 +19,9 @@ $(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk) LOCAL_UWB_CAL_DIR=device/google/felix/uwb PRODUCT_COPY_FILES += \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration.conf \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-default.conf \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration-restricted.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-unknown.conf \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration-default.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-default.conf \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration-default.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration.conf \ $(LOCAL_UWB_CAL_DIR)/init.uwb.calib.xtal.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.uwb.calib.sh \ PRODUCT_COPY_FILES += \ diff --git a/uwb/uwb_country.conf b/uwb/uwb_country.conf new file mode 100644 index 0000000..93a5e2e --- /dev/null +++ b/uwb/uwb_country.conf @@ -0,0 +1,62 @@ +*FCC +"United States": "us" +"Canada": "ca" + +*CE +"Austria": "at" +"Belgium": "be" +"Bulgaria": "bg" +"Croatia": "hr" +"Cyprus": "cy" +"Czech Republic": "cz" +"Denmark": "dk" +"Estonia": "ee" +"Finland": "fi" +"France": "fr" +"Germany": "de" +"Greece": "gr" +"Hungary": "hu" +"Ireland Republic of (EIRE)": "ie" +"Italy": "it" +"Latvia": "lv" +"Lithuania": "lt" +"Luxembourg": "lu" +"Malta": "mt" +"Netherlands": "nl" +"Poland": "pl" +"Portugal": "pt" +"Romania": "ro" +"Slovakia": "sk" +"Slovenia": "si" +"Spain": "es" +"Sweden": "se" +"United Kingdom (Great Britain)": "gb" +"Northern Ireland": "ni" +"Iceland": "is" +"Liechtenstein": "li" +"Norway": "no" +"Switzerland": "ch" + +*JP +"Japan": "jp" + +*TW +"Taiwan": "tw" + +*Restricted +"Argentina": "ar" +"Armenia": "am" +"Azerbaijan": "az" +"Belarus": "by" +"Indonesia": "id" +"Kazakhstan": "kz" +"Kyrgyzstan": "kg" +"Nepal": "np" +"Pakistan": "pk" +"Paraguay": "py" +"Russia": "ru" +"Solomon Islands": "sb" +"Tajikistan": "tj" +"Turkmenistanr": "tm" +"Ukraine": "ua" +"Uzbekistan": "uz" From bb6b69385a7f17ef006bde77359e9e89c29cec85 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Mon, 24 Oct 2022 17:59:03 +0800 Subject: [PATCH 2/3] powerstats: update GPU DVFS for energy consumer Bug: 254409620 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: I5eb81a0def4d16138053d006bb23e20c535b4319 Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 92dd056..796b5a4 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -107,7 +107,7 @@ void addUwb(std::shared_ptr p) { "/sys/devices/platform/10db0000.spi/spi_master/spi16/spi16.0/uwb/power_stats", cfgs)); } -void addGPUGs202(std::shared_ptr p) { +void addGPU(std::shared_ptr p) { std::map stateCoeffs; // Add GPU state residency @@ -122,11 +122,9 @@ void addGPUGs202(std::shared_ptr p) { {"302000", 1308}, {"351000", 1522}, {"400000", 1772}, - {"434000", 1931}, {"471000", 2105}, {"510000", 2292}, {"572000", 2528}, - {"633000", 2811}, {"701000", 3127}, {"762000", 3452}, {"848000", 4044}}; @@ -164,7 +162,7 @@ int main() { addUwb(p); addPowerDomains(p); addDevfreq(p); - addGPUGs202(p); + addGPU(p); addDvfsStats(p); const std::string instance = std::string() + PowerStats::descriptor + "/default"; From 15b844bd9baa7e0a5d6750878200fb8acee19401 Mon Sep 17 00:00:00 2001 From: Jasmine Cha Date: Tue, 25 Oct 2022 11:12:55 +0800 Subject: [PATCH 3/3] audio: initial waves tuning 1. Initial tuning for F10 EVT Stage Bug: 255458384 Test: LR mix/swap, 255458384#comment1 Signed-off-by: Jasmine Cha Change-Id: Ia87c9cbb7c1cef83306dc0ba61cb2eddda9901e5 --- audio/felix/tuning/waves/waves_preset.mps | Bin 49508 -> 46372 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/audio/felix/tuning/waves/waves_preset.mps b/audio/felix/tuning/waves/waves_preset.mps index 0237e66e99693c940e3b770df67d4a2c1413923f..b02e84ac73ee3379cbac1368b0641e82bc149b3e 100644 GIT binary patch literal 46372 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 I?S1Qi0>&@#OaK4? literal 49508 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