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..9598405 --- /dev/null +++ b/uwb/UWB-calibration-ce.conf @@ -0,0 +1,136 @@ +[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 +[CCC]wifi_coex_min_spacing=0x08 +ant0.ch5.prf16.ant_delay=16430 +ant0.ch5.prf16.tx_power=0x4f4f444f +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x34 +ant0.ch5.prf64.ant_delay=16430 +ant0.ch5.prf64.tx_power=0x4f4f444f +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x34 +ant0.ch9.prf16.ant_delay=16430 +ant0.ch9.prf16.tx_power=0x3e3e303e +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x34 +ant0.ch9.prf64.ant_delay=16430 +ant0.ch9.prf64.tx_power=0x3e3e303e +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x34 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16430 +ant1.ch5.prf16.tx_power=0 +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0 +ant1.ch5.prf64.ant_delay=16430 +ant1.ch5.prf64.tx_power=0 +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0 +ant1.ch9.prf16.ant_delay=16430 +ant1.ch9.prf16.tx_power=0 +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0 +ant1.ch9.prf64.ant_delay=16430 +ant1.ch9.prf64.tx_power=0 +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16430 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16430 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16430 +ant2.ch9.prf16.tx_power=0 +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0 +ant2.ch9.prf64.ant_delay=16430 +ant2.ch9.prf64.tx_power=0 +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16430 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16430 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16430 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16430 +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=0 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=0 +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=3d:ea:7b:0a:66:ea:c3:09:a4:ea:0a:09:cd:ea:66:08:0a:eb:ae:07:33:eb:f6:06:48:eb:52:06:71:eb:9a:05:c3:eb:e1:04:e1:ec:29:04:c3:ef:85:03:a4:f4:cd:02:14:f8:14:02:b8:fa:5c:01:8f:fc:b8:00:e1:fe:00:00:48:01:48:ff:85:03:a4:fe:ae:05:ec:fd:00:08:33:fd:d7:09:7b:fc:85:0b:d7:fb:0a:0d:1f:fb:66:0e:66:fa:33:0f:ae:f9:00:10:0a:f9:a4:10:52:f8:1f:11:9a:f7:5c:11:f6:f6:9a:11:3d:f6:ae:11:85:f5 +ant1.ant2.ch9.pdoa_lut=c3:ed:7b:0a:29:ee:c3:09:3d:ee:0a:09:cd:ee:66:08:c3:ef:ae:07:f6:f0:f6:06:3d:f2:52:06:52:f2:9a:05:cd:f2:e1:04:5c:f3:29:04:c3:f3:85:03:b8:f4:cd:02:71:f7:14:02:52:fa:5c:01:85:fd:b8:00:00:00:00:00:0a:01:48:ff:5c:01:a4:fe:14:02:ec:fd:5c:03:33:fd:48:05:7b:fc:b8:06:d7:fb:14:08:1f:fb:33:09:66:fa:ec:09:ae:f9:3d:0a:0a:f9:0a:0b:52:f8:1f:0b:9a:f7:48:0b:f6:f6:85:0b:3d:f6:9a:0b:85:f5 +ant1.ant3.ch5.pdoa_lut=66:ec:7b:0a:e1:ec:c3:09:14:ee:0a:09:d7:ef:66:08:8f:f2:ae:07:00:f6:f6:06:cd:f6:52:06:33:f7:9a:05:d7:f7:e1:04:48:f9:29:04:33:fd:85:03:d7:fd:cd:02:3d:fe:14:02:ec:ff:5c:01:14:00:b8:00:3d:00:00:00:cd:02:48:ff:29:04:a4:fe:a4:04:ec:fd:85:05:33:fd:e1:06:7b:fc:b8:08:d7:fb:14:0a:1f:fb:e1:0a:66:fa:1f:0b:0a:f9:1f:0b:ae:f9:5c:0b:52:f8:c3:0b:9a:f7:52:0c:f6:f6:0a:0d:3d:f6:00:0e:85:f5 +ant1.ant3.ch9.pdoa_lut=0a:ef:7b:0a:c3:ef:c3:09:00:f0:0a:09:14:f0:66:08:7b:f0:ae:07:48:f1:f6:06:00:f2:52:06:c3:f3:9a:05:00:f6:e1:04:d7:f7:29:04:1f:f9:85:03:ae:f9:cd:02:e1:fa:14:02:e1:fc:5c:01:b8:fe:b8:00:c3:ff:00:00:00:02:48:ff:5c:05:a4:fe:52:08:ec:fd:14:0a:33:fd:e1:0a:7b:fc:14:0c:d7:fb:14:0e:1f:fb:1f:0f:66:fa:00:10:ae:f9:b8:10:0a:f9:29:12:52:f8:00:14:9a:f7:7b:16:f6:f6:d7:17:3d:f6:29:18:85:f5 +xtal_trim=50 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +alternate_pulse_shape=0x00 +restricted_channels=0 +[HAL]aoa_capability=0 +[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 = 6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4 +[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 = 6 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 0 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 0 +[HAL]minimum_system_offset_uwbtime0=300 +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..0d3b99d --- /dev/null +++ b/uwb/UWB-calibration-fcc.conf @@ -0,0 +1,136 @@ +[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 +[CCC]wifi_coex_min_spacing=0x08 +ant0.ch5.prf16.ant_delay=16430 +ant0.ch5.prf16.tx_power=0x4f4f444f +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x28 +ant0.ch5.prf64.ant_delay=16430 +ant0.ch5.prf64.tx_power=0x4f4f444f +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x28 +ant0.ch9.prf16.ant_delay=16430 +ant0.ch9.prf16.tx_power=0x5e5e4c5e +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x28 +ant0.ch9.prf64.ant_delay=16430 +ant0.ch9.prf64.tx_power=0x5e5e4c5e +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x28 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16430 +ant1.ch5.prf16.tx_power=0 +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0 +ant1.ch5.prf64.ant_delay=16430 +ant1.ch5.prf64.tx_power=0 +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0 +ant1.ch9.prf16.ant_delay=16430 +ant1.ch9.prf16.tx_power=0 +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0 +ant1.ch9.prf64.ant_delay=16430 +ant1.ch9.prf64.tx_power=0 +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16430 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16430 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16430 +ant2.ch9.prf16.tx_power=0 +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0 +ant2.ch9.prf64.ant_delay=16430 +ant2.ch9.prf64.tx_power=0 +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16430 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16430 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16430 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16430 +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=0 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=0 +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=3d:ea:7b:0a:66:ea:c3:09:a4:ea:0a:09:cd:ea:66:08:0a:eb:ae:07:33:eb:f6:06:48:eb:52:06:71:eb:9a:05:c3:eb:e1:04:e1:ec:29:04:c3:ef:85:03:a4:f4:cd:02:14:f8:14:02:b8:fa:5c:01:8f:fc:b8:00:e1:fe:00:00:48:01:48:ff:85:03:a4:fe:ae:05:ec:fd:00:08:33:fd:d7:09:7b:fc:85:0b:d7:fb:0a:0d:1f:fb:66:0e:66:fa:33:0f:ae:f9:00:10:0a:f9:a4:10:52:f8:1f:11:9a:f7:5c:11:f6:f6:9a:11:3d:f6:ae:11:85:f5 +ant1.ant2.ch9.pdoa_lut=c3:ed:7b:0a:29:ee:c3:09:3d:ee:0a:09:cd:ee:66:08:c3:ef:ae:07:f6:f0:f6:06:3d:f2:52:06:52:f2:9a:05:cd:f2:e1:04:5c:f3:29:04:c3:f3:85:03:b8:f4:cd:02:71:f7:14:02:52:fa:5c:01:85:fd:b8:00:00:00:00:00:0a:01:48:ff:5c:01:a4:fe:14:02:ec:fd:5c:03:33:fd:48:05:7b:fc:b8:06:d7:fb:14:08:1f:fb:33:09:66:fa:ec:09:ae:f9:3d:0a:0a:f9:0a:0b:52:f8:1f:0b:9a:f7:48:0b:f6:f6:85:0b:3d:f6:9a:0b:85:f5 +ant1.ant3.ch5.pdoa_lut=66:ec:7b:0a:e1:ec:c3:09:14:ee:0a:09:d7:ef:66:08:8f:f2:ae:07:00:f6:f6:06:cd:f6:52:06:33:f7:9a:05:d7:f7:e1:04:48:f9:29:04:33:fd:85:03:d7:fd:cd:02:3d:fe:14:02:ec:ff:5c:01:14:00:b8:00:3d:00:00:00:cd:02:48:ff:29:04:a4:fe:a4:04:ec:fd:85:05:33:fd:e1:06:7b:fc:b8:08:d7:fb:14:0a:1f:fb:e1:0a:66:fa:1f:0b:0a:f9:1f:0b:ae:f9:5c:0b:52:f8:c3:0b:9a:f7:52:0c:f6:f6:0a:0d:3d:f6:00:0e:85:f5 +ant1.ant3.ch9.pdoa_lut=0a:ef:7b:0a:c3:ef:c3:09:00:f0:0a:09:14:f0:66:08:7b:f0:ae:07:48:f1:f6:06:00:f2:52:06:c3:f3:9a:05:00:f6:e1:04:d7:f7:29:04:1f:f9:85:03:ae:f9:cd:02:e1:fa:14:02:e1:fc:5c:01:b8:fe:b8:00:c3:ff:00:00:00:02:48:ff:5c:05:a4:fe:52:08:ec:fd:14:0a:33:fd:e1:0a:7b:fc:14:0c:d7:fb:14:0e:1f:fb:1f:0f:66:fa:00:10:ae:f9:b8:10:0a:f9:29:12:52:f8:00:14:9a:f7:7b:16:f6:f6:d7:17:3d:f6:29:18:85:f5 +xtal_trim=50 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +alternate_pulse_shape=0x00 +restricted_channels=0 +[HAL]aoa_capability=0 +[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 = 6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4 +[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 = 6 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 0 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 0 +[HAL]minimum_system_offset_uwbtime0=300 +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..87f72fa --- /dev/null +++ b/uwb/UWB-calibration-jp.conf @@ -0,0 +1,136 @@ +[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 +[CCC]wifi_coex_min_spacing=0x08 +ant0.ch5.prf16.ant_delay=16430 +ant0.ch5.prf16.tx_power=0xffffffff +ant0.ch5.prf16.pg_count=0 +ant0.ch5.prf16.pg_delay=0x34 +ant0.ch5.prf64.ant_delay=16430 +ant0.ch5.prf64.tx_power=0xffffffff +ant0.ch5.prf64.pg_count=0 +ant0.ch5.prf64.pg_delay=0x34 +ant0.ch9.prf16.ant_delay=16430 +ant0.ch9.prf16.tx_power=0x2e2e242e +ant0.ch9.prf16.pg_count=0 +ant0.ch9.prf16.pg_delay=0x34 +ant0.ch9.prf64.ant_delay=16430 +ant0.ch9.prf64.tx_power=0x2e2e242e +ant0.ch9.prf64.pg_count=0 +ant0.ch9.prf64.pg_delay=0x34 +ant0.port=0 +ant0.selector_gpio=7 +ant0.selector_gpio_value=0 +ant1.ch5.prf16.ant_delay=16430 +ant1.ch5.prf16.tx_power=0 +ant1.ch5.prf16.pg_count=0 +ant1.ch5.prf16.pg_delay=0 +ant1.ch5.prf64.ant_delay=16430 +ant1.ch5.prf64.tx_power=0 +ant1.ch5.prf64.pg_count=0 +ant1.ch5.prf64.pg_delay=0 +ant1.ch9.prf16.ant_delay=16430 +ant1.ch9.prf16.tx_power=0 +ant1.ch9.prf16.pg_count=0 +ant1.ch9.prf16.pg_delay=0 +ant1.ch9.prf64.ant_delay=16430 +ant1.ch9.prf64.tx_power=0 +ant1.ch9.prf64.pg_count=0 +ant1.ch9.prf64.pg_delay=0 +ant1.port=0 +ant1.selector_gpio=7 +ant1.selector_gpio_value=1 +ant2.ch5.prf16.ant_delay=16430 +ant2.ch5.prf16.tx_power=0 +ant2.ch5.prf16.pg_count=0 +ant2.ch5.prf16.pg_delay=0 +ant2.ch5.prf64.ant_delay=16430 +ant2.ch5.prf64.tx_power=0 +ant2.ch5.prf64.pg_count=0 +ant2.ch5.prf64.pg_delay=0 +ant2.ch9.prf16.ant_delay=16430 +ant2.ch9.prf16.tx_power=0 +ant2.ch9.prf16.pg_count=0 +ant2.ch9.prf16.pg_delay=0 +ant2.ch9.prf64.ant_delay=16430 +ant2.ch9.prf64.tx_power=0 +ant2.ch9.prf64.pg_count=0 +ant2.ch9.prf64.pg_delay=0 +ant2.port=1 +ant2.selector_gpio=6 +ant2.selector_gpio_value=0 +ant3.ch5.prf16.ant_delay=16430 +ant3.ch5.prf16.tx_power=0 +ant3.ch5.prf16.pg_count=0 +ant3.ch5.prf16.pg_delay=0 +ant3.ch5.prf64.ant_delay=16430 +ant3.ch5.prf64.tx_power=0 +ant3.ch5.prf64.pg_count=0 +ant3.ch5.prf64.pg_delay=0 +ant3.ch9.prf16.ant_delay=16430 +ant3.ch9.prf16.tx_power=0 +ant3.ch9.prf16.pg_count=0 +ant3.ch9.prf16.pg_delay=0 +ant3.ch9.prf64.ant_delay=16430 +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=0 +ant0.ant3.ch5.pdoa_offset=0 +ant0.ant3.ch9.pdoa_offset=0 +ant1.ant3.ch5.pdoa_offset=0 +ant1.ant3.ch9.pdoa_offset=0 +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=3d:ea:7b:0a:66:ea:c3:09:a4:ea:0a:09:cd:ea:66:08:0a:eb:ae:07:33:eb:f6:06:48:eb:52:06:71:eb:9a:05:c3:eb:e1:04:e1:ec:29:04:c3:ef:85:03:a4:f4:cd:02:14:f8:14:02:b8:fa:5c:01:8f:fc:b8:00:e1:fe:00:00:48:01:48:ff:85:03:a4:fe:ae:05:ec:fd:00:08:33:fd:d7:09:7b:fc:85:0b:d7:fb:0a:0d:1f:fb:66:0e:66:fa:33:0f:ae:f9:00:10:0a:f9:a4:10:52:f8:1f:11:9a:f7:5c:11:f6:f6:9a:11:3d:f6:ae:11:85:f5 +ant1.ant2.ch9.pdoa_lut=c3:ed:7b:0a:29:ee:c3:09:3d:ee:0a:09:cd:ee:66:08:c3:ef:ae:07:f6:f0:f6:06:3d:f2:52:06:52:f2:9a:05:cd:f2:e1:04:5c:f3:29:04:c3:f3:85:03:b8:f4:cd:02:71:f7:14:02:52:fa:5c:01:85:fd:b8:00:00:00:00:00:0a:01:48:ff:5c:01:a4:fe:14:02:ec:fd:5c:03:33:fd:48:05:7b:fc:b8:06:d7:fb:14:08:1f:fb:33:09:66:fa:ec:09:ae:f9:3d:0a:0a:f9:0a:0b:52:f8:1f:0b:9a:f7:48:0b:f6:f6:85:0b:3d:f6:9a:0b:85:f5 +ant1.ant3.ch5.pdoa_lut=66:ec:7b:0a:e1:ec:c3:09:14:ee:0a:09:d7:ef:66:08:8f:f2:ae:07:00:f6:f6:06:cd:f6:52:06:33:f7:9a:05:d7:f7:e1:04:48:f9:29:04:33:fd:85:03:d7:fd:cd:02:3d:fe:14:02:ec:ff:5c:01:14:00:b8:00:3d:00:00:00:cd:02:48:ff:29:04:a4:fe:a4:04:ec:fd:85:05:33:fd:e1:06:7b:fc:b8:08:d7:fb:14:0a:1f:fb:e1:0a:66:fa:1f:0b:0a:f9:1f:0b:ae:f9:5c:0b:52:f8:c3:0b:9a:f7:52:0c:f6:f6:0a:0d:3d:f6:00:0e:85:f5 +ant1.ant3.ch9.pdoa_lut=0a:ef:7b:0a:c3:ef:c3:09:00:f0:0a:09:14:f0:66:08:7b:f0:ae:07:48:f1:f6:06:00:f2:52:06:c3:f3:9a:05:00:f6:e1:04:d7:f7:29:04:1f:f9:85:03:ae:f9:cd:02:e1:fa:14:02:e1:fc:5c:01:b8:fe:b8:00:c3:ff:00:00:00:02:48:ff:5c:05:a4:fe:52:08:ec:fd:14:0a:33:fd:e1:0a:7b:fc:14:0c:d7:fb:14:0e:1f:fb:1f:0f:66:fa:00:10:ae:f9:b8:10:0a:f9:29:12:52:f8:00:14:9a:f7:7b:16:f6:f6:d7:17:3d:f6:29:18:85:f5 +xtal_trim=50 +temperature_reference=85 +smart_tx_power=1 +auto_sleep_margin=20000 +alternate_pulse_shape=0x01 +restricted_channels=0x20 +[HAL]aoa_capability=0 +[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 = 6 +[HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging = 4 +[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 = 6 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 6 +[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 4 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 0 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging = 0 +[HAL]minimum_system_offset_uwbtime0=300 +coex_gpio=4 +coex_delay_us=1000 +coex_margin_us=500 +coex_interval_us=2000 diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration.conf index a0d0a08..0d3b99d 100644 --- a/uwb/UWB-calibration.conf +++ b/uwb/UWB-calibration.conf @@ -110,6 +110,7 @@ xtal_trim=50 temperature_reference=85 smart_tx_power=1 auto_sleep_margin=20000 +alternate_pulse_shape=0x00 restricted_channels=0 [HAL]aoa_capability=0 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6 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_country.conf b/uwb/uwb_country.conf new file mode 100644 index 0000000..7ba69f2 --- /dev/null +++ b/uwb/uwb_country.conf @@ -0,0 +1,18 @@ +*FCC +"United States": "us" +"Canada": "ca" + +*CE +"Denmark": "dk" +"France": "fr" +"Germany": "de" +"Italy": "it" +"Netherlands": "nl" +"Spain": "es" +"Sweden": "se" +"Norway": "no" +"Australia": "au" +"United Kingdom": "uk" + +*JP +"Japan": "jp"