blob: c8721fe9762a0ec395c8948aa75695d8d1b38743 [file] [log] [blame]
#!/bin/bash
# shellcheck source=/dev/null
source /usr/sbin/gpio-defs.sh
function gpio_number() {
GPIO_BASE=$(cat /sys/class/gpio/gpiochip"$GPIO_CHIP0_BASE"/base)
echo $((GPIO_BASE + $1))
}
# Configure GPIO as output and set its value
function gpio_configure_output() {
gpioId=$(gpio_number "$1")
echo "$gpioId" > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio"${gpioId}"/direction
echo "$2" > /sys/class/gpio/gpio"${gpioId}"/value
echo "$gpioId" > /sys/class/gpio/unexport
}
function gpio_get_val() {
gpioId=$(gpio_number "$1")
echo "$gpioId" > /sys/class/gpio/export
cat /sys/class/gpio/gpio"$gpioId"/value
echo "$gpioId" > /sys/class/gpio/unexport
}
# Configure GPIO as input
function gpio_configure_input() {
gpioId=$(gpio_number "$1")
echo "$gpioId" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio"${gpioId}"/direction
echo "$gpioId" > /sys/class/gpio/unexport
}