| #!/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 |
| } |