Allwinner: Replace bc with awk for floating-point comparison in temperature check

This commit is contained in:
Igor Pecovnik
2025-05-18 17:50:17 +02:00
committed by Igor
parent 8ca6cac1ef
commit 0cfdb8c7e4

View File

@@ -11,11 +11,11 @@
function getboardtemp() {
if [ -f /etc/armbianmonitor/datasources/soctemp ]; then
read raw_temp </etc/armbianmonitor/datasources/soctemp 2>/dev/null
if [ ! -z $(echo "$raw_temp" | grep -o "^[1-9][0-9]*\.\?[0-9]*$") ] && (( $(echo "${raw_temp} < 200" |bc -l) )); then
# Allwinner legacy kernels output degree C
if [[ "$raw_temp" =~ ^[1-9][0-9]*\.?[0-9]*$ ]] && awk "BEGIN {exit !($raw_temp < 200)}"; then
# Allwinner legacy kernels output degree C
board_temp=${raw_temp}
else
board_temp=$(awk '{printf("%d",$1/1000)}' <<<${raw_temp})
board_temp=$(awk '{printf("%d",$1/1000)}' <<<"${raw_temp}")
fi
elif [ -f /etc/armbianmonitor/datasources/pmictemp ]; then
# fallback to PMIC temperature