create plugin branch

This commit is contained in:
leimingsheng 2025-01-06 09:10:08 +08:00
parent 509803da51
commit 13944d8f06
5 changed files with 35 additions and 1 deletions

2
.gitignore vendored

@ -1 +1 @@
/tool/frudata.txt /tool/fru_parse/frudata.txt

@ -0,0 +1,34 @@
#!/bin/sh
# process sensor data then print to console
# @Param 1 adc128 data high 8bit
# @Param 2 adc128 data low 8bit
# @Param 3 customization channel name
# @Param 4 division factor
convert_adc128_data(){
# remove data prefix '0x'
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
merge_value="${hex_value1}${hex_value2}"
# bc calculator recognized upper case only, change data to upper case
upper_hex_value=$(echo "$merge_value" | awk '{
for(i=1; i<=length($0); i++){
if(tolower(substr($0,i,1)) ~ /^[a-f]$/)
printf toupper(substr($0,i,1));
else
printf substr($0,i,1);
}
print ""
}')
# calculate dec value then print it to console
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
volt=$(echo "scale=4; $dec_val / 16 / 4096 * 2.65 / $4" | bc)
format_volt=$(echo "$volt" | awk '{ if ($0 ~ /^\./) print "0" $0; else print $0 }')
echo "$3 : $format_volt v, hex value: $upper_hex_value"
}
# E.G. convert_adc128_data 0x08 0x20 "3V3" "1"
convert_adc128_data $1 $2 $3 $4