|
Ivan Mahonin |
38a1ab |
#!/bin/bash
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
set -e
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
# command to make rotation
|
|
Ivan Mahonin |
38a1ab |
# normal, left, inverted or right will be passed as the first arg
|
|
Ivan Mahonin |
38a1ab |
COMMAND="$(dirname "$0")/rotate.sh"
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
# paths to sensor files
|
|
Ivan Mahonin |
38a1ab |
DEVICE=/sys/bus/iio/devices/iio:device0
|
|
Ivan Mahonin |
38a1ab |
DEVICE_X="$DEVICE/in_accel_x_raw"
|
|
Ivan Mahonin |
38a1ab |
DEVICE_Y="$DEVICE/in_accel_y_raw"
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
# min sensor value to call rotation
|
|
Ivan Mahonin |
38a1ab |
THRESHOLD=10000
|
|
Ivan Mahonin |
38a1ab |
# time interval in seconds
|
|
Ivan Mahonin |
38a1ab |
INTERVAL=2
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
PREV_ROT=
|
|
Ivan Mahonin |
38a1ab |
while true; do
|
|
Ivan Mahonin |
38a1ab |
X="$(cat "$DEVICE/in_accel_x_raw")"
|
|
Ivan Mahonin |
38a1ab |
Y="$(cat "$DEVICE/in_accel_y_raw")"
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
ROT="$PREV_ROT"
|
|
Ivan Mahonin |
38a1ab |
if [ "$X" -gt "$THRESHOLD" ]; then
|
|
Ivan Mahonin |
38a1ab |
ROT="normal"
|
|
Ivan Mahonin |
38a1ab |
elif [ "$X" -lt "-$THRESHOLD" ]; then
|
|
Ivan Mahonin |
38a1ab |
ROT="inverted"
|
|
Ivan Mahonin |
38a1ab |
elif [ "$Y" -gt "$THRESHOLD" ]; then
|
|
Ivan Mahonin |
38a1ab |
ROT="right"
|
|
Ivan Mahonin |
38a1ab |
elif [ "$Y" -lt "-$THRESHOLD" ]; then
|
|
Ivan Mahonin |
38a1ab |
ROT="left"
|
|
Ivan Mahonin |
38a1ab |
fi
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
if [ "$ROT" != "$PREV_ROT" ]; then
|
|
Ivan Mahonin |
38a1ab |
"$COMMAND" "$ROT"
|
|
Ivan Mahonin |
38a1ab |
PREV_ROT="$ROT"
|
|
Ivan Mahonin |
38a1ab |
# double wait immediatelly after rotation
|
|
Ivan Mahonin |
38a1ab |
sleep "$INTERVAL"
|
|
Ivan Mahonin |
38a1ab |
fi
|
|
Ivan Mahonin |
38a1ab |
|
|
Ivan Mahonin |
38a1ab |
sleep "$INTERVAL"
|
|
Ivan Mahonin |
38a1ab |
done
|
|
Ivan Mahonin |
38a1ab |
|