refactor(master : nicsensor) update to 1.9.4

优化代码:重构将十六进制转化为十进制的代码,便于阅读代码
This commit is contained in:
leimingsheng 2026-02-10 14:35:11 +08:00
parent 7bb15f6de8
commit 37d328c7f3

@ -1,5 +1,5 @@
#!/bin/sh
SCRIPT_VERSION="1.9.3"
SCRIPT_VERSION="1.9.4"
# ---------------------------------------------------------
# Project Feature Varible (Change if need)
# ---------------------------------------------------------
@ -254,6 +254,22 @@ print_usage(){
fi
}
# Convert a hexadecimal number to a decimal number
# @Param1 hex data
hex_to_dec(){
upper_hex_value=$(echo "$1" | 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 ""
}')
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
echo $dec_val
}
# print format message to console|debuglog
# @Param1 direction [console|log], default record to log if invalid
# @Param2 message level [Info Warning Error]
@ -507,7 +523,6 @@ pre_exec_hook(){
# if in debug mode, skip this check
if [ "$server_type" = "auto" ] && [ $DEBUG_MODE -eq 0 ];then
try_get_server_type
exit 0
fi
# is param legel?
@ -836,26 +851,9 @@ convert_emc1413_data(){
# remove data prefix '0x'
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
upper_hex_value1=$(echo "$hex_value1" | 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 ""
}')
upper_hex_value2=$(echo "$hex_value2" | 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 ""
}')
dec_value1=$(echo "ibase=16; $upper_hex_value1" | bc)
dec_value2=$(echo "ibase=16; $upper_hex_value2" | bc)
dec_value1=$(hex_to_dec $hex_value1)
dec_value2=$(hex_to_dec $hex_value2)
temp=$(echo "scale=4; $dec_value1 + ($dec_value2 / 32 * 0.125 )" | bc)
format_temp=$(echo "$temp" | awk '{ if ($0 ~ /^\./) print "0" $0; else print $0 }')
@ -920,16 +918,8 @@ convert_adc128_data(){
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
merge_value="${hex_value1}${hex_value2}"
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 ""
}')
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
dec_val=$(hex_to_dec $merge_value)
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 }')
fmt_print "log" $INFO "$3 - Hex data: $upper_hex_value"
@ -991,16 +981,7 @@ convert_ina3221_data(){
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
merge_value="${hex_value1}${hex_value2}"
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 ""
}')
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
dec_val=$(hex_to_dec $merge_value)
if [ $4 -eq $INA3221_BUS_VOLT ];then
volt=$(echo "scale=4; $dec_val / 8 * 40 / 10000 * 2" | bc)
@ -1091,16 +1072,7 @@ convert_tmp468_data(){
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
merge_value="${hex_value1}${hex_value2}"
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 ""
}')
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
dec_val=$(hex_to_dec $merge_value)
temp=$(echo "scale=4; $dec_val / 8 * 0.0625" | bc)
echo "$3 : $temp "
@ -1161,16 +1133,7 @@ convert_tmp112_data(){
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
merge_value="${hex_value1}${hex_value2}"
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 ""
}')
dec_val=$(echo "ibase=16; $upper_hex_value" | bc)
dec_val=$(hex_to_dec $merge_value)
binary_number=$(echo "ibase=16;obase=2;$upper_hex_value" | bc)
bin_length=$(echo $binary_number | awk '{print length($0)}')
@ -1221,27 +1184,8 @@ convert_ina226_data(){
merge_voltage_value="${hex_voltage_value1}${hex_voltage_value2}"
merge_current_value="${hex_current_value1}${hex_current_value2}"
upper_hex_voltage_value=$(echo "$merge_voltage_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 ""
}')
dec_voltage_val=$(echo "ibase=16; $upper_hex_voltage_value" | bc)
upper_hex_current_value=$(echo "$merge_current_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 ""
}')
dec_current_val=$(echo "ibase=16; $upper_hex_current_value" | bc)
dec_voltage_val=$(hex_to_dec $merge_voltage_value)
dec_current_val=$(hex_to_dec $merge_current_value)
real_voltage=$(echo "scale=4; $dec_voltage_val * 1.25 / 1000 " | bc)
real_current=$(echo "scale=4; $dec_current_val * 2.5 * 0.167 / 1000 " | bc)
@ -1284,27 +1228,8 @@ convert_lms95241_data(){
hex_value1=$(echo "$1" | awk '{sub(/^0x/,""); print}')
hex_value2=$(echo "$2" | awk '{sub(/^0x/,""); print}')
upper_hex_value1=$(echo "$hex_value1" | 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 ""
}')
dec_val1=$(echo "ibase=16; $upper_hex_value1" | bc)
upper_hex_value2=$(echo "$hex_value2" | 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 ""
}')
dec_val2=$(echo "ibase=16; $upper_hex_value2" | bc)
dec_val1=$(hex_to_dec $hex_value1)
dec_val2=$(hex_to_dec $hex_value2)
temp=$(echo "scale=4; $dec_val1 + $dec_val2 / 32 * 0.125 " | bc)