#!/bin/bash case ${1} in IO0) GPIO=25;; IO1) GPIO=16;; IO2) GPIO=20;; IO3) GPIO=21;; IO4) GPIO=26;; IO5) GPIO=19;; IO6) GPIO=6;; IO7) GPIO=5;; IO8) GPIO=22;; IO9) GPIO=4;; GPIO1) GPIO=1;; CE1) GPIO=7;; *) echo "Output not defined" >&2 exit 1 ;; esac VALUE="${2:-1}" if [ -z "${GPIO}" ]; then CHIP_BASE_DIR="/sys/bus/i2c/devices/1-00${ADDR}/gpio" CHIP_NAME="$(ls ${CHIP_BASE_DIR})" CHIP_DIR="${CHIP_BASE_DIR}/${CHIP_NAME}" CHIP="${CHIP_NAME#gpiochip}" GPIO="$((${INDEX} + ${CHIP}))" fi if [ "${VALUE}" = "stop" ]; then echo "${GPIO}" > /sys/class/gpio/unexport exit 0 fi if [ ! -d /sys/class/gpio/gpio${GPIO} ]; then echo "${GPIO}" > /sys/class/gpio/export fi echo "out" > /sys/class/gpio/gpio${GPIO}/direction echo "${VALUE}" > /sys/class/gpio/gpio${GPIO}/value