diff --git a/uwb/init.uwb.calib.xtal.sh b/uwb/init.uwb.calib.xtal.sh new file mode 100644 index 0000000000000000000000000000000000000000..efdfd6b0aa023217f677cf6dfdaa4042352f0f59 --- /dev/null +++ b/uwb/init.uwb.calib.xtal.sh @@ -0,0 +1,25 @@ +#!/vendor/bin/sh +# only use xtal_trim from factory calibration +if [ -z "$2" ] +then + echo "usage is $0 input-calibration output_calibration" + exit 0 +fi +OUTPUT_CALIB="$2" +if [ ! -f "$OUTPUT_CALIB" ]; then + touch $OUTPUT_CALIB + chmod 0644 $OUTPUT_CALIB + file="$1" + while IFS=, read -r f1 f2 + do + case $f1 in + "UWB_cal_tx_xtal_reg_final_value") + if [ $((0x$f2)) -gt 63 ]; then + f2=63 + fi + echo 'xtal_trim=0x'$f2 >> $OUTPUT_CALIB + ;; + esac + done <"$file" + exit 0 +fi diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk index 29ac73e3093b7956873a5589ccdd8fe852dd5acd..bb99b48103f8ad1608661d5d88553b30c65036c2 100644 --- a/uwb/uwb_calibration.mk +++ b/uwb/uwb_calibration.mk @@ -22,6 +22,7 @@ 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)/init.uwb.calib.xtal.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.uwb.calib.sh \ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.uwb.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.uwb.xml