#!/bin/sh #GPIO6_5 -> GPIO53 (6*8+5 = 53) #GPIO6_6 -> GPIO54 (6*8+6 = 54) #GPIO3_0 -> GPIO24 (3*8+0 = 24) #(normal mode) ir_cut_enable() { # pin_mux echo "$gpio_0" > /sys/class/gpio/unexport; echo "$gpio_1" > /sys/class/gpio/unexport; echo "$gpio_0" > /sys/class/gpio/export; echo "$gpio_1" > /sys/class/gpio/export; # dir echo "out" > /sys/class/gpio/gpio$gpio_0/direction; echo "out" > /sys/class/gpio/gpio$gpio_1/direction; # data, gpio_1: 0, gpio_0: 1 (normal mode) echo "1" > /sys/class/gpio/gpio$gpio_0/value; echo "0" > /sys/class/gpio/gpio$gpio_1/value; #sleep 1s sleep 1; # back to original echo "0" > /sys/class/gpio/gpio$gpio_0/value; echo "0" > /sys/class/gpio/gpio$gpio_1/value; } # (ir mode) ir_cut_disable() { # pin_mux echo "$gpio_0" > /sys/class/gpio/unexport; echo "$gpio_1" > /sys/class/gpio/unexport; echo "$gpio_0" > /sys/class/gpio/export; echo "$gpio_1" > /sys/class/gpio/export; # dir echo "out" > /sys/class/gpio/gpio$gpio_0/direction; echo "out" > /sys/class/gpio/gpio$gpio_1/direction; # data, gpio_1: 1, gpio_0: 0 (ir mode) echo "0" > /sys/class/gpio/gpio$gpio_0/value; echo "1" > /sys/class/gpio/gpio$gpio_1/value; #sleep 1s sleep 1; # back to original echo "0" > /sys/class/gpio/gpio$gpio_0/value; echo "0" > /sys/class/gpio/gpio$gpio_1/value; } gpio_0=0 gpio_1=0 if [ $# -lt 2 ]; then echo "usage : ./demo_config.sh "; echo "for example:"; echo "ir mode : ./demo_config.sh hi3516cv300 1"; else if [ $1 = "hi3516ev100" ]; then gpio_0=53; gpio_1=24; elif [ $1 = "hi3516cv300" ]; then gpio_0=53; gpio_1=54; else echo "wrong chipid: $1, please select: hi3516cv300 or hi3516ev100."; exit; fi if [ $2 -eq 0 ]; then echo "normal mode, ir_cut on" ir_cut_enable > /dev/null; elif [ $2 -eq 1 ]; then echo "ir mode, ir_cut off" ir_cut_disable > /dev/null; else echo "invalid mode, please slect 0 or 1." fi fi