1#!/vendor/bin/sh 2if [ -z "$2" ] 3then 4 echo "usage is $0 input-calibration output_calibration" 5 exit 0 6fi 7OUTPUT_CALIB="$2" 8if [ ! -f "$OUTPUT_CALIB" ]; then 9 touch $OUTPUT_CALIB 10 chmod 0600 $OUTPUT_CALIB 11 file="$1" 12 while IFS=, read -r f1 f2 13 do 14 case $f1 in 15 "UWB_cal_tx_xtal_reg_final_value") 16 if [ $((0x$f2)) -gt 63 ]; then 17 f2=63 18 fi 19 echo 'xtal_trim=0x'$f2 >> $OUTPUT_CALIB 20 ;; 21 "UWB_TX1RX1_CH5_tx_ant_delay_cal_data") 22 echo 'ant0.ch5.prf64.ant_delay=0x'$f2 >> $OUTPUT_CALIB 23 ;; 24 "UWB_TX1RX1_CH5_rx_ant_delay_cal_data") 25 echo 'ant1.ch5.prf64.ant_delay=0x'$f2 >> $OUTPUT_CALIB 26 ;; 27 "UWB_TX1RX1_CH9_tx_ant_delay_cal_data") 28 echo 'ant0.ch9.prf64.ant_delay=0x'$f2 >> $OUTPUT_CALIB 29 ;; 30 "UWB_TX1RX1_CH9_rx_ant_delay_cal_data") 31 echo 'ant1.ch9.prf64.ant_delay=0x'$f2 >> $OUTPUT_CALIB 32 ;; 33 "UWB_RX2_CH5_cal_pdoa_data") 34 # float value * 2048 35 #/vendor/bin/sh does not support "bc" 36 base=2048 37 ones=${f2%%.*} 38 dec=${f2#*.} 39 ones="$(($ones*$base))" 40 if [ ${#dec} -eq 2 ]; then 41 dec="$(($dec*$base/100))" 42 echo 'ant1.ant3.ch5.pdoa_offset='$(($ones+$dec)) >> $OUTPUT_CALIB 43 fi 44 ;; 45 "UWB_RX2_CH9_cal_pdoa_data") 46 base=2048 47 ones=${f2%%.*} 48 dec=${f2#*.} 49 ones="$(($ones*$base))" 50 if [ ${#dec} -eq 2 ]; then 51 dec="$(($dec*$base/100))" 52 echo 'ant1.ant3.ch9.pdoa_offset='$(($ones+$dec)) >> $OUTPUT_CALIB 53 fi 54 esac 55 done <"$file" 56 exit 0 57fi 58