mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/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 <chip> <mode>";
 | |
|     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
 |