ROGueENEMY/rogue-enemy_iio_buffer_on.sh
2023-12-20 15:32:43 +01:00

60 lines
1.5 KiB
Bash

#!/bin/bash
modprobe industrialio-sw-trigger
modprobe iio-trig-sysfs
modprobe iio-trig-hrtimer
# hrtimer
if [ ! -d "/home/config" ]; then
mkdir -p /home/config
fi
mount -t configfs none /home/config
mkdir -p /home/config/iio/triggers/hrtimer/rogue
# set sampling frequency for rogue
for i in /sys/bus/iio/devices/* ; do
if [ -d "$i" ]; then
if [ -f "$i/name" ]; then
name=$(cat "$i/name")
if [ "$name" = "rogue" ]; then
echo "800" > "$i/sampling_frequency"
fi
fi
fi
done
# set the gyroscope
for i in /sys/bus/iio/devices/* ; do
if [ -d "$i" ]; then
if [ -f "$i/name" ]; then
name=$(cat "$i/name")
if [ "$name" = "bmi323-imu" ]; then
# change chip sampling frequency
echo "800.000000" > "$i/in_accel_sampling_frequency"
echo "800.000000" > "$i/in_anglvel_sampling_frequency"
# enable accel data acquisition
echo 1 > "$i/scan_elements/in_accel_x_en"
echo 1 > "$i/scan_elements/in_accel_y_en"
echo 1 > "$i/scan_elements/in_accel_z_en"
# enable gyroscope data acquisition
echo 1 > "$i/scan_elements/in_anglvel_x_en"
echo 1 > "$i/scan_elements/in_anglvel_y_en"
echo 1 > "$i/scan_elements/in_anglvel_z_en"
# enable timestamp reporting
echo 1 > "$i/scan_elements/in_timestamp_en"
# bind rogue hrtimer to to the iio device
echo "rogue" > "$i/trigger/current_trigger"
# enable the buffer
echo 1 > "$i/buffer0/enable"
echo "bmi323-imu buffer started"
fi
fi
fi
done