![VersaLogic Zebra VL-EPC-2701 Скачать руководство пользователя страница 36](http://html1.mh-extra.com/html/versalogic/zebra-vl-epc-2701/zebra-vl-epc-2701_user-manual_1006790036.webp)
Advanced Features and Commands
36
Zebra (VL-EPC-2701) Yocto Linux User Guide
# convert 2's complement if needed
if [ "$acc_x" -gt 8192 ]; then
acc_x=$(echo "(16384-$acc_x)*(-1)" | bc -l)
fi
if [ "$acc_y" -gt 8192 ]; then
acc_y=$(echo "(16384-$acc_y)*(-1)" | bc -l)
fi
if [ "$acc_z" -gt 8192 ]; then
acc_z=$(echo "(16384-$acc_z)*(-1)" | bc -l)
fi
if [ "$mag_x" -gt 32768 ]; then
mag_x=$(echo "(65536-$mag_x)*(-1)" | bc -l)
fi
if [ "$mag_y" -gt 32768 ]; then
mag_y=$(echo "(65536-$mag_y)*(-1)" | bc -l)
fi
if [ "$mag_z" -gt 32768 ]; then
mag_z=$(echo "(65536-$mag_z)*(-1)" | bc -l)
fi
# convert values
acc_x=$(echo "$acc_x*$acc_sens" | bc -l)
acc_y=$(echo "$acc_y*$acc_sens" | bc -l)
acc_z=$(echo "$acc_z*$acc_sens" | bc -l)
mag_x=$(echo "$mag_x*$mag_sens" | bc -l)
mag_y=$(echo "$mag_y*$mag_sens" | bc -l)
mag_z=$(echo "$mag_z*$mag_sens" | bc -l)
printf " Acceleration [mg]: %4.0f %4.0f %4.0f \n" $acc_x
$acc_y $acc_z
printf " Magnetic Field [uT]: %4.0f %4.0f %4.0f \r" $mag_x
$mag_y $mag_z
sleep 0.1
tput cuu 1
done
Run this script on Zebra and the output should look like this:
root@imx6zebra:~# ./testaccelerometer.sh