From 287b73f2515f0d11f0f051e4ac156157213e519c Mon Sep 17 00:00:00 2001 From: Hasan Awais Date: Fri, 27 Oct 2023 16:57:36 +0000 Subject: [PATCH] uwb: move calibrations to device specific folder The UWB calibration files were previously copied from the Qorvo area. They are now copied from the device specific folder. Bug: 307692986 Change-Id: I18e38abb7ee6e1e44f967f755b22bd3db50720e6 Signed-off-by: Hasan Awais --- device-comet.mk | 11 +++ uwb/Android.bp | 71 ++++++++++++++++ uwb/UWB-calibration.conf | 142 ------------------------------- uwb/calibration-CE.conf | 73 ++++++++++++++++ uwb/calibration-FCC.conf | 73 ++++++++++++++++ uwb/calibration-JP.conf | 39 +++++++++ uwb/calibration-RESTRICTED.conf | 3 + uwb/calibration-TW.conf | 39 +++++++++ uwb/calibration-default.conf | 72 ++++++++++++++++ uwb/calibration.conf | 35 ++++++++ uwb/configuration.conf | 146 ++++++++++++++++++++++++++++++++ uwb/uwb_calibration.mk | 14 +-- 12 files changed, 571 insertions(+), 147 deletions(-) create mode 100644 uwb/Android.bp delete mode 100644 uwb/UWB-calibration.conf create mode 100644 uwb/calibration-CE.conf create mode 100644 uwb/calibration-FCC.conf create mode 100644 uwb/calibration-JP.conf create mode 100644 uwb/calibration-RESTRICTED.conf create mode 100644 uwb/calibration-TW.conf create mode 100644 uwb/calibration-default.conf create mode 100644 uwb/calibration.conf create mode 100644 uwb/configuration.conf diff --git a/device-comet.mk b/device-comet.mk index 0b28296..f81808b 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -18,6 +18,13 @@ TARGET_KERNEL_DIR ?= device/google/comet-kernel TARGET_BOARD_KERNEL_HEADERS := device/google/comet-kernel/kernel-headers TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_RIGHT +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) + USE_UWBFIELDTESTQM := true +endif +ifeq ($(filter factory_comet, $(TARGET_PRODUCT)),) + include device/google/comet/uwb/uwb_calibration.mk +endif + $(call inherit-product-if-exists, vendor/google_devices/comet/prebuilts/device-vendor-comet.mk) $(call inherit-product-if-exists, vendor/google_devices/zumapro/prebuilts/device-vendor.mk) $(call inherit-product-if-exists, vendor/google_devices/zumapro/proprietary/device-vendor.mk) @@ -172,6 +179,10 @@ PRODUCT_PACKAGES += \ # Trusty liboemcrypto.so PRODUCT_SOONG_NAMESPACES += vendor/google_devices/comet/prebuilts +# UWB +PRODUCT_SOONG_NAMESPACES += \ + device/google/comet/uwb + # Location # SDK build system $(call soong_config_set, include_libsitril-gps-wifi, board_without_radio, $(BOARD_WITHOUT_RADIO)) diff --git a/uwb/Android.bp b/uwb/Android.bp new file mode 100644 index 0000000..de2da1f --- /dev/null +++ b/uwb/Android.bp @@ -0,0 +1,71 @@ +// +// Copyright (C) 2021 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. + +soong_namespace {} + +prebuilt_defaults { + name: "conf_defaults", + vendor: true, + sub_dir: "uwb", +} + +prebuilt_etc { + name: "configuration.conf", + src: "configuration.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration.conf", + src: "calibration.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-default.conf", + src: "calibration-default.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-CE.conf", + src: "calibration-CE.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-FCC.conf", + src: "calibration-FCC.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-JP.conf", + src: "calibration-JP.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-TW.conf", + src: "calibration-TW.conf", + defaults: ["conf_defaults"], +} + +prebuilt_etc { + name: "calibration-RESTRICTED.conf", + src: "calibration-RESTRICTED.conf", + defaults: ["conf_defaults"], +} + diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration.conf deleted file mode 100644 index 52a528d..0000000 --- a/uwb/UWB-calibration.conf +++ /dev/null @@ -1,142 +0,0 @@ -[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=0 -ant0.ch9.prf16.pg_count=0 -ant0.ch9.prf16.pg_delay=0 -ant0.ch9.prf64.ant_delay=16450 -ant0.ch9.prf64.tx_power=0 -ant0.ch9.prf64.pg_count=0 -ant0.ch9.prf64.pg_delay=0 -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=16450 -ant1.ch9.prf16.tx_power=0 -ant1.ch9.prf16.pg_count=0 -ant1.ch9.prf16.pg_delay=0 -ant1.ch9.prf64.ant_delay=16450 -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=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=16450 -ant2.ch9.prf16.tx_power=0 -ant2.ch9.prf16.pg_count=0 -ant2.ch9.prf16.pg_delay=0 -ant2.ch9.prf64.ant_delay=16450 -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=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=2173 -ant1.ant2.ch9.pdoa_offset=3555 -ant0.ant3.ch5.pdoa_offset=0 -ant0.ant3.ch9.pdoa_offset=0 -ant1.ant3.ch5.pdoa_offset=3845 -ant1.ant3.ch9.pdoa_offset=647 -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=23 -temperature_reference=85 -smart_tx_power=1 -auto_sleep_margin=20000 -restricted_channels=0 -[HAL]aoa_capability=1 -[HAL]ant_sets.ch5.range.rx_ant_set_nonranging = 6 -[HAL]ant_sets.ch5.range.rx_ant_set_ranging = 3 -[HAL]ant_sets.ch5.range.tx_ant_set_nonranging = 0 -[HAL]ant_sets.ch5.range.tx_ant_set_ranging = 0 -[HAL]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 6 -[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 = 6 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging = 3 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging = 0 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging = 0 -[HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging = 6 -[HAL]ant_sets.ch5.elevation.rx_ant_set_ranging = 1 -[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 = 6 -[HAL]ant_sets.ch9.elevation.rx_ant_set_ranging = 1 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging = 0 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging = 0 -[HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 6 -[HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging = 3 -[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=500 -coex_gpio=4 -coex_delay_us=1000 -coex_margin_us=500 -coex_interval_us=2000 diff --git a/uwb/calibration-CE.conf b/uwb/calibration-CE.conf new file mode 100644 index 0000000..385bc55 --- /dev/null +++ b/uwb/calibration-CE.conf @@ -0,0 +1,73 @@ +# CE calibration file + +ant2.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame0.post_tx_power_index=0xff +ant2.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame1.post_tx_power_index=0xff +ant2.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame2.post_tx_power_index=0xff +ant2.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame3.post_tx_power_index=0xff +ant2.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame4.post_tx_power_index=0xff +ant2.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame5.post_tx_power_index=0xff +ant2.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame6.post_tx_power_index=0xff +ant2.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame7.post_tx_power_index=0xff + +ant2.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame0.post_tx_power_index=0xff +ant2.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame1.post_tx_power_index=0xff +ant2.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame2.post_tx_power_index=0xff +ant2.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame3.post_tx_power_index=0xff +ant2.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame4.post_tx_power_index=0xff +ant2.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame5.post_tx_power_index=0xff +ant2.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame6.post_tx_power_index=0xff +ant2.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame7.post_tx_power_index=0xff + +ant3.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame0.post_tx_power_index=0xff +ant3.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame1.post_tx_power_index=0xff +ant3.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame2.post_tx_power_index=0xff +ant3.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame3.post_tx_power_index=0xff +ant3.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame4.post_tx_power_index=0xff +ant3.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame5.post_tx_power_index=0xff +ant3.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame6.post_tx_power_index=0xff +ant3.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame7.post_tx_power_index=0xff + +ant3.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame0.post_tx_power_index=0xff +ant3.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame1.post_tx_power_index=0xff +ant3.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame2.post_tx_power_index=0xff +ant3.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame3.post_tx_power_index=0xff +ant3.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame4.post_tx_power_index=0xff +ant3.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame5.post_tx_power_index=0xff +ant3.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame6.post_tx_power_index=0xff +ant3.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame7.post_tx_power_index=0xff + + +restricted_channels=0x0000 +alternate_pulse_shape=0x00 diff --git a/uwb/calibration-FCC.conf b/uwb/calibration-FCC.conf new file mode 100644 index 0000000..616f91e --- /dev/null +++ b/uwb/calibration-FCC.conf @@ -0,0 +1,73 @@ +# FCC calibration file + +ant2.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame0.post_tx_power_index=0xff +ant2.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame1.post_tx_power_index=0xff +ant2.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame2.post_tx_power_index=0xff +ant2.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame3.post_tx_power_index=0xff +ant2.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame4.post_tx_power_index=0xff +ant2.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame5.post_tx_power_index=0xff +ant2.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame6.post_tx_power_index=0xff +ant2.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame7.post_tx_power_index=0xff + +ant2.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame0.post_tx_power_index=0xff +ant2.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame1.post_tx_power_index=0xff +ant2.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame2.post_tx_power_index=0xff +ant2.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame3.post_tx_power_index=0xff +ant2.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame4.post_tx_power_index=0xff +ant2.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame5.post_tx_power_index=0xff +ant2.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame6.post_tx_power_index=0xff +ant2.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame7.post_tx_power_index=0xff + +ant3.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame0.post_tx_power_index=0xff +ant3.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame1.post_tx_power_index=0xff +ant3.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame2.post_tx_power_index=0xff +ant3.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame3.post_tx_power_index=0xff +ant3.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame4.post_tx_power_index=0xff +ant3.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame5.post_tx_power_index=0xff +ant3.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame6.post_tx_power_index=0xff +ant3.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame7.post_tx_power_index=0xff + +ant3.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame0.post_tx_power_index=0xff +ant3.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame1.post_tx_power_index=0xff +ant3.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame2.post_tx_power_index=0xff +ant3.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame3.post_tx_power_index=0xff +ant3.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame4.post_tx_power_index=0xff +ant3.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame5.post_tx_power_index=0xff +ant3.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame6.post_tx_power_index=0xff +ant3.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame7.post_tx_power_index=0xff + + +restricted_channels=0x0000 +alternate_pulse_shape=0x00 diff --git a/uwb/calibration-JP.conf b/uwb/calibration-JP.conf new file mode 100644 index 0000000..c2ffed0 --- /dev/null +++ b/uwb/calibration-JP.conf @@ -0,0 +1,39 @@ +# JP calibration file + +ant2.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame0.post_tx_power_index=0xff +ant2.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame1.post_tx_power_index=0xff +ant2.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame2.post_tx_power_index=0xff +ant2.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame3.post_tx_power_index=0xff +ant2.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame4.post_tx_power_index=0xff +ant2.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame5.post_tx_power_index=0xff +ant2.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame6.post_tx_power_index=0xff +ant2.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame7.post_tx_power_index=0xff + +ant3.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame0.post_tx_power_index=0xff +ant3.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame1.post_tx_power_index=0xff +ant3.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame2.post_tx_power_index=0xff +ant3.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame3.post_tx_power_index=0xff +ant3.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame4.post_tx_power_index=0xff +ant3.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame5.post_tx_power_index=0xff +ant3.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame6.post_tx_power_index=0xff +ant3.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame7.post_tx_power_index=0xff + + +restricted_channels=0x0020 +alternate_pulse_shape=0x01 diff --git a/uwb/calibration-RESTRICTED.conf b/uwb/calibration-RESTRICTED.conf new file mode 100644 index 0000000..64363e5 --- /dev/null +++ b/uwb/calibration-RESTRICTED.conf @@ -0,0 +1,3 @@ +# RESTRICTED calibration file, UWB disabled + +restricted_channels=0xFFFF diff --git a/uwb/calibration-TW.conf b/uwb/calibration-TW.conf new file mode 100644 index 0000000..4036c35 --- /dev/null +++ b/uwb/calibration-TW.conf @@ -0,0 +1,39 @@ +# FCC calibration file + +ant2.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame0.post_tx_power_index=0xff +ant2.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame1.post_tx_power_index=0xff +ant2.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame2.post_tx_power_index=0xff +ant2.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame3.post_tx_power_index=0xff +ant2.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame4.post_tx_power_index=0xff +ant2.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame5.post_tx_power_index=0xff +ant2.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame6.post_tx_power_index=0xff +ant2.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame7.post_tx_power_index=0xff + +ant3.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame0.post_tx_power_index=0xff +ant3.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame1.post_tx_power_index=0xff +ant3.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame2.post_tx_power_index=0xff +ant3.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame3.post_tx_power_index=0xff +ant3.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame4.post_tx_power_index=0xff +ant3.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame5.post_tx_power_index=0xff +ant3.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame6.post_tx_power_index=0xff +ant3.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame7.post_tx_power_index=0xff + + +restricted_channels=0x0020 +alternate_pulse_shape=0x00 diff --git a/uwb/calibration-default.conf b/uwb/calibration-default.conf new file mode 100644 index 0000000..eb9d1af --- /dev/null +++ b/uwb/calibration-default.conf @@ -0,0 +1,72 @@ +# ROW (Rest Of World) calibration file + +ant2.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame0.post_tx_power_index=0xff +ant2.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame1.post_tx_power_index=0xff +ant2.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame2.post_tx_power_index=0xff +ant2.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame3.post_tx_power_index=0xff +ant2.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame4.post_tx_power_index=0xff +ant2.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame5.post_tx_power_index=0xff +ant2.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame6.post_tx_power_index=0xff +ant2.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch5.ref_frame7.post_tx_power_index=0xff + +ant2.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame0.post_tx_power_index=0xff +ant2.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame1.post_tx_power_index=0xff +ant2.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame2.post_tx_power_index=0xff +ant2.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame3.post_tx_power_index=0xff +ant2.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame4.post_tx_power_index=0xff +ant2.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame5.post_tx_power_index=0xff +ant2.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame6.post_tx_power_index=0xff +ant2.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant2.ch9.ref_frame7.post_tx_power_index=0xff + +ant3.ch5.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame0.post_tx_power_index=0xff +ant3.ch5.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame1.post_tx_power_index=0xff +ant3.ch5.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame2.post_tx_power_index=0xff +ant3.ch5.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame3.post_tx_power_index=0xff +ant3.ch5.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame4.post_tx_power_index=0xff +ant3.ch5.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame5.post_tx_power_index=0xff +ant3.ch5.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame6.post_tx_power_index=0xff +ant3.ch5.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch5.ref_frame7.post_tx_power_index=0xff + +ant3.ch9.ref_frame0.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame0.post_tx_power_index=0xff +ant3.ch9.ref_frame1.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame1.post_tx_power_index=0xff +ant3.ch9.ref_frame2.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame2.post_tx_power_index=0xff +ant3.ch9.ref_frame3.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame3.post_tx_power_index=0xff +ant3.ch9.ref_frame4.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame4.post_tx_power_index=0xff +ant3.ch9.ref_frame5.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame5.post_tx_power_index=0xff +ant3.ch9.ref_frame6.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame6.post_tx_power_index=0xff +ant3.ch9.ref_frame7.tx_power_index=08:08:08:08 +ant3.ch9.ref_frame7.post_tx_power_index=0xff + +restricted_channels=0x0000 +alternate_pulse_shape=0x00 diff --git a/uwb/calibration.conf b/uwb/calibration.conf new file mode 100644 index 0000000..efbed76 --- /dev/null +++ b/uwb/calibration.conf @@ -0,0 +1,35 @@ +# common calibration file +ant0.ch5.ant_delay=10:40:00:00 +ant0.ch9.ant_delay=10:40:00:00 + +ant1.ch5.ant_delay=10:40:00:00 +ant1.ch9.ant_delay=10:40:00:00 + +ant2.ch5.ant_delay=10:40:00:00 +ant2.ch9.ant_delay=10:40:00:00 + +ant3.ch5.ant_delay=10:40:00:00 +ant3.ch9.ant_delay=10:40:00:00 + +ant_grp1.ch5.pdoa.axisx.offset=00:00 +ant_grp1.ch9.pdoa.axisx.offset=00:00 + +xtal_trim=0x30 + +dual_rx_auto.accum_period=0x00 + +# Increase TX power of 0.25 dB +# ant0.ch5.pa_gain_offset=0x01 +# ant0.ch9.pa_gain_offset=0x01 + +# Decrease TX power of -0.25 dB +# ant1.ch5.pa_gain_offset=0xFF +# ant1.ch9.pa_gain_offset=0xFF + +# Increase TX power of 0.25 dB +# ant2.ch5.pa_gain_offset=0x01 +# ant2.ch9.pa_gain_offset=0x01 + +# Decrease TX power of -0.25 dB +# ant3.ch5.pa_gain_offset=0xFF +# ant3.ch9.pa_gain_offset=0xFF diff --git a/uwb/configuration.conf b/uwb/configuration.conf new file mode 100644 index 0000000..aabf5f0 --- /dev/null +++ b/uwb/configuration.conf @@ -0,0 +1,146 @@ +[FIRA]ant_sets.ch5.range.rx_ant_set_nonranging = 2 +[FIRA]ant_sets.ch5.range.rx_ant_set_ranging = 2 +[FIRA]ant_sets.ch5.range.tx_ant_set_nonranging = 2 +[FIRA]ant_sets.ch5.range.tx_ant_set_ranging = 2 +[FIRA]ant_sets.ch9.range.rx_ant_set_nonranging = 2 +[FIRA]ant_sets.ch9.range.rx_ant_set_ranging = 2 +[FIRA]ant_sets.ch9.range.tx_ant_set_nonranging = 2 +[FIRA]ant_sets.ch9.range.tx_ant_set_ranging = 2 +[FIRA]ant_sets.ch5.azimuth.rx_ant_set_nonranging = 1 +[FIRA]ant_sets.ch5.azimuth.rx_ant_set_ranging = 1 +[FIRA]ant_sets.ch5.azimuth.tx_ant_set_nonranging = 3 +[FIRA]ant_sets.ch5.azimuth.tx_ant_set_ranging = 3 +[FIRA]ant_sets.ch9.azimuth.rx_ant_set_nonranging = 1 +[FIRA]ant_sets.ch9.azimuth.rx_ant_set_ranging = 1 +[FIRA]ant_sets.ch9.azimuth.tx_ant_set_nonranging = 3 +[FIRA]ant_sets.ch9.azimuth.tx_ant_set_ranging = 3 +[FIRA]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging = 1 +[FIRA]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth = 1 +[FIRA]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation = 0 +[FIRA]ant_sets.ch5.azimuth_elevation.tx_ant_set_nonranging = 3 +[FIRA]ant_sets.ch5.azimuth_elevation.tx_ant_set_ranging = 3 +[FIRA]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging = 1 +[FIRA]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth = 1 +[FIRA]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation = 0 +[FIRA]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging = 3 +[FIRA]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging = 3 + +[CCC]ant_sets.ch5.range.rx_ant_set_nonranging = 2 +[CCC]ant_sets.ch5.range.rx_ant_set_ranging = 2 +[CCC]ant_sets.ch5.range.tx_ant_set_nonranging = 2 +[CCC]ant_sets.ch5.range.tx_ant_set_ranging = 2 +[CCC]ant_sets.ch9.range.rx_ant_set_nonranging = 2 +[CCC]ant_sets.ch9.range.rx_ant_set_ranging = 2 +[CCC]ant_sets.ch9.range.tx_ant_set_nonranging = 2 +[CCC]ant_sets.ch9.range.tx_ant_set_ranging = 2 + +# Antenna Configuration +wifi_spdt=01 +ant0.config=03 +ant1.config=13 +ant2.config=02 +ant3.config=12 + +# Dual Rx (for Tx ANT3) +ant_grp0.rf_config.rfoff=00 +ant_grp0.rf_config.tx=03 +ant_grp0.rf_config.tx_aoa=03 +ant_grp0.rf_config.rx_ip=0e +ant_grp0.rf_config.rx_sts0=0e +ant_grp0.rf_config.rx_sts1=0e +ant_grp0.rf_config.rx_sts2=0e +ant_grp0.rf_config.rx_sts3=0e +ant_grp0.ext_sw_config=00 +ant_grp0.lna_rxa=01 +ant_grp0.lna_rxb=01 +ant_grp0.rx_config=04 +ant_grp0.pdoa_segments=02:07:00:00:00:00 +ant_grp0.pdoa_type=01:00:00 +ant_grp0.tx_power_control=00 +ant_grp0.ch5.pdoa.axisx.lut_id=00 +ant_grp0.ch9.pdoa.axisy.lut_id=01 + +# Dual Rx (for Tx ANT3) +ant_grp1.rf_config.rfoff=00 +ant_grp1.rf_config.tx=03 +ant_grp1.rf_config.tx_aoa=03 +ant_grp1.rf_config.rx_ip=0e +ant_grp1.rf_config.rx_sts0=0e +ant_grp1.rf_config.rx_sts1=0e +ant_grp1.rf_config.rx_sts2=0e +ant_grp1.rf_config.rx_sts3=0e +ant_grp1.ext_sw_config=00 +ant_grp1.lna_rxa=01 +ant_grp1.lna_rxb=01 +ant_grp1.rx_config=04 +ant_grp1.pdoa_segments=02:07:00:00:00:00 +ant_grp1.pdoa_type=00:00:00 +ant_grp1.tx_power_control=00 +ant_grp1.ch5.pdoa.axisx.lut_id=00 +ant_grp1.ch9.pdoa.axisy.lut_id=01 + +# Tx ANT2, Dual Rx (for Tx ANT2) +ant_grp2.rf_config.rfoff=00 +ant_grp2.rf_config.tx=03 +ant_grp2.rf_config.tx_aoa=03 +ant_grp2.rf_config.rx_ip=0e +ant_grp2.rf_config.rx_sts0=0e +ant_grp2.rf_config.rx_sts1=0e +ant_grp2.rf_config.rx_sts2=0e +ant_grp2.rf_config.rx_sts3=0e +ant_grp2.ext_sw_config=00 +ant_grp2.lna_rxa=01 +ant_grp2.lna_rxb=01 +ant_grp2.rx_config=05 +ant_grp2.pdoa_segments=02:07:00:00:00:00 +ant_grp2.pdoa_type=00:00:00 +ant_grp2.tx_power_control=00 + +# Tx ANT3, Dual Rx (for Tx ANT3) +ant_grp3.rf_config.rfoff=00 +ant_grp3.rf_config.tx=03 +ant_grp3.rf_config.tx_aoa=03 +ant_grp3.rf_config.rx_ip=0e +ant_grp3.rf_config.rx_sts0=0e +ant_grp3.rf_config.rx_sts1=0e +ant_grp3.rf_config.rx_sts2=0e +ant_grp3.rf_config.rx_sts3=0e +ant_grp3.ext_sw_config=01 +ant_grp3.lna_rxa=01 +ant_grp3.lna_rxb=01 +ant_grp3.rx_config=05 +ant_grp3.pdoa_segments=02:07:00:00:00:00 +ant_grp3.pdoa_type=00:00:00 +ant_grp3.tx_power_control=00 + +pdoa_lut0.data=de:e6:6f:f3:8b:e8:6f:f3:38:ea:6f:f3:e5:eb:6f:f3:92:ed:6f:f3:3f:ef:72:f6:ec:f0:11:f8:99:f2:4a:f9:45:f4:54:fa:f2:f5:44:fb:9f:f7:22:fc:4c:f9:f3:fc:f9:fa:bd:fd:a6:fc:81:fe:53:fe:41:ff:00:00:00:00:ad:01:bf:00:5a:03:7f:01:07:05:43:02:b4:06:0d:03:61:08:de:03:0e:0a:bc:04:bb:0b:ac:05:67:0d:b6:06:14:0f:ef:07:c1:10:8e:09:6e:12:91:0c:1b:14:91:0c:c8:15:91:0c:75:17:91:0c:22:19:91:0c +pdoa_lut1.data=de:e6:6f:f3:8b:e8:6f:f3:38:ea:6f:f3:e5:eb:6f:f3:92:ed:6f:f3:3f:ef:6f:f3:ec:f0:6f:f3:99:f2:6d:f6:45:f4:63:f8:f2:f5:d1:f9:9f:f7:08:fb:4c:f9:21:fc:f9:fa:26:fd:a6:fc:1f:fe:53:fe:11:ff:00:00:00:00:ad:01:ef:00:5a:03:e1:01:07:05:da:02:b4:06:df:03:61:08:f8:04:0e:0a:2f:06:bb:0b:9d:07:67:0d:93:09:14:0f:91:0c:c1:10:91:0c:6e:12:91:0c:1b:14:91:0c:c8:15:91:0c:75:17:91:0c:22:19:91:0c + +# Reference frames definition +ref_frame0.phy_cfg=44:21:07 # BPRF SET 3 +ref_frame0.payload_size=0x007f + +ref_frame1.phy_cfg=25:25:03 # HPRF SET 16 +ref_frame1.payload_size=0x0C68 + +ref_frame2.phy_cfg=44:31:07 # BPRF DRBM_HP SP1 +ref_frame2.payload_size=0x007f + +ref_frame3.phy_cfg=44:22:07 # BPRF SET 4 +ref_frame3.payload_size=0x0000 + +ref_frame4.phy_cfg=25:24:03 # HPRF DRHM_LR CL3 SP1 +ref_frame4.payload_size=0x0C68 + +ref_frame5.phy_cfg=25:2c:03 # HPRF DRHM_LR CL7 SP1 +ref_frame5.payload_size=0x0C68 + +ref_frame6.phy_cfg=25:2d:03 # HPRF DRHM_HR CL7 +ref_frame6.payload_size=0x0C68 + +ref_frame7.phy_cfg=45:22:07 # HPRF SET 24 +ref_frame7.payload_size=0x0000 + +# Post tones +post_tx.pattern_data=DD:DD:DD:DD:77:77:77:77 +post_tx.pattern_repetitions=0x0000 diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk index 33bd076..64e2b06 100644 --- a/uwb/uwb_calibration.mk +++ b/uwb/uwb_calibration.mk @@ -13,9 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -LOCAL_UWB_CAL_DIR=device/google/comet/uwb +PRODUCT_PACKAGES += \ + configuration.conf \ + calibration.conf \ + calibration-default.conf \ + calibration-CE.conf \ + calibration-FCC.conf \ + calibration-JP.conf \ + calibration-TW.conf \ + calibration-RESTRICTED.conf -PRODUCT_COPY_FILES += \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration.conf \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-unknown.conf \ - $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-default.conf \