diff --git a/recipes-extended/imu-setup/config/imu-lsm6ds3.conf b/recipes-extended/imu-setup/config/imu-lsm6ds3.conf new file mode 100644 index 0000000..6e25ce7 --- /dev/null +++ b/recipes-extended/imu-setup/config/imu-lsm6ds3.conf @@ -0,0 +1,5 @@ +# Imu accelerometer sample-frequency in Hz (one of [13 26 52 104 208 416]) +ACC_SAMPLING_FREQUENCY="13" + +# Imu gyroscope sample-frequency in Hz (one of [13 26 52 104 208 416]) +GYRO_SAMPLING_FREQUENCY="13" diff --git a/recipes-extended/imu-setup/files/imu-setup.service b/recipes-extended/imu-setup/files/imu-setup.service new file mode 100644 index 0000000..8658508 --- /dev/null +++ b/recipes-extended/imu-setup/files/imu-setup.service @@ -0,0 +1,13 @@ +[Unit] +Description=Configure imu +Requires=gpsd.service +After=gpsd.service + + +[Service] +Type=oneshot +ExecStart=/usr/bin/imu-setup +EnvironmentFile=/etc/imu-lsm6ds3.conf + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/recipes-extended/imu-setup/files/imu-setup.sh b/recipes-extended/imu-setup/files/imu-setup.sh new file mode 100644 index 0000000..b63941b --- /dev/null +++ b/recipes-extended/imu-setup/files/imu-setup.sh @@ -0,0 +1,13 @@ +#!/bin/bash +ACC_SYSFS_PATH="/sys/bus/iio/devices/iio:device0" +GYRO_SYSFS_PATH="/sys/bus/iio/devices/iio:device1" + +echo 0 > $ACC_SYSFS_PATH/buffer/enable +echo $ACC_SAMPLING_FREQUENCY > $ACC_SYSFS_PATH/sampling_frequency +echo 1 > $ACC_SYSFS_PATH/buffer/enable + +echo 0 > $GYRO_SYSFS_PATH/buffer/enable +echo $GYRO_SAMPLING_FREQUENCY > $GYRO_SYSFS_PATH/sampling_frequency +echo 1 > $GYRO_SYSFS_PATH/buffer/enable + +exit 0 diff --git a/recipes-extended/imu-setup/imu-setup_0.0.1.bb b/recipes-extended/imu-setup/imu-setup_0.0.1.bb new file mode 100644 index 0000000..b550703 --- /dev/null +++ b/recipes-extended/imu-setup/imu-setup_0.0.1.bb @@ -0,0 +1,33 @@ +# Copyright (C) 2019 Lucien Mueller +# Released under the MIT license (see COPYING.MIT for the terms) +inherit systemd +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +FILESEXTRAPATHS_prepend := "${THISDIR}/config:" + +RDEPENDS_${PN} = "bash" + +SRC_URI = " \ + file://imu-setup.service \ + file://imu-setup.sh \ + file://imu-lsm6ds3.conf \ + " + +FILES_${PN} = "${systemd_unitdir}/system ${bindir} /etc" + +SYSTEMD_SERVICE_${PN} =" \ + imu-setup.service \ + " + +do_install() { + + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/imu-setup.service ${D}${systemd_unitdir}/system/ + + install -d ${D}${bindir} + install -m 744 ${WORKDIR}/imu-setup.sh ${D}${bindir}/imu-setup + + install -d ${D}/etc + install -m 644 ${WORKDIR}/imu-lsm6ds3.conf ${D}/etc/imu-lsm6ds3.conf +} +