diff --git a/uwb/calibration/UWB-calibration.conf.p7 b/uwb/calibration/UWB-calibration.conf.p7 new file mode 100644 index 00000000..b52c8d38 --- /dev/null +++ b/uwb/calibration/UWB-calibration.conf.p7 @@ -0,0 +1,118 @@ +[CCC]format=1 +[CCC]kind=0 +[CCC]settings=1 +[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 +[HAL]antenna_pair_azimuth=3 +[HAL]antenna_pair_elevation=4 +[HAL]tx_antenna=0 +[HAL]minimum_system_offset_uwbtime0=200 +restricted_channels=0 diff --git a/uwb/calibration/country_conf_gen.sh b/uwb/calibration/country_conf_gen.sh new file mode 100755 index 00000000..3bc0bcfd --- /dev/null +++ b/uwb/calibration/country_conf_gen.sh @@ -0,0 +1,39 @@ +#!/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 + +project=("r4" "p7") +count=1 + +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) + code[count]=$(echo $line | cut -d ':' -f2 | tr -d " ") + + for var in ${project[@]}; do + if [ "$header" = "restricted_channels=0x20" ]; then + echo "alternate_pulse_shape=0x01" > UWB-calibration-${code[$count]}.conf.$var + echo "$header" >> UWB-calibration-${code[$count]}.conf.$var + else + echo "$header" > UWB-calibration-${code[$count]}.conf.$var + fi + done + fi +((count++)) +done < uwb_country.conf + +for var in ${project[@]}; do + echo "============== $var ==============" + for var2 in ${code[@]}; do + if [ "$var2" = "${code[-1]}" ]; then + echo "\$(LOCAL_UWB_CAL_DIR)/UWB-calibration-$var2.conf.$var:\$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-$var2.conf" + else + echo "\$(LOCAL_UWB_CAL_DIR)/UWB-calibration-$var2.conf.$var:\$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-$var2.conf \\" + fi + done +done diff --git a/uwb/calibration/uwb_country.conf b/uwb/calibration/uwb_country.conf new file mode 100644 index 00000000..51dd4341 --- /dev/null +++ b/uwb/calibration/uwb_country.conf @@ -0,0 +1,21 @@ +*restricted_channels=0xffff +"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" + +*restricted_channels=0x20 +"Japan": "jp", +"Taiwan": "tw" diff --git a/uwb/uwb.mk b/uwb/uwb.mk index be2f6d24..32fbe6aa 100644 --- a/uwb/uwb.mk +++ b/uwb/uwb.mk @@ -16,5 +16,12 @@ # UWB - ultra wide band $(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk) +LOCAL_UWB_CAL_DIR=device/google/gs201/uwb/calibration + PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.uwb.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.uwb.xml + +PRODUCT_COPY_FILES += \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.p7:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration.conf \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.p7:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-unknown.conf \ + $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.p7:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-default.conf