mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Fix gpio script and load kernel modules
							parent
							
								
									aa09772143
								
							
						
					
					
						commit
						b8b19e3327
					
				|  | @ -1,89 +1,85 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| # on SSC335: | ||||
| 
 | ||||
| # on EV200: | ||||
| # GPIO1_0 -> GPIO8 (1*8+0 = 8) | ||||
| # GPIO1_1 -> GPIO9 (1*8+1 = 9) | ||||
| 
 | ||||
| # on EV300: | ||||
| # GPIO1_3 -> GPIO11 | ||||
| # GPIO1_2 -> GPIO10 | ||||
| 
 | ||||
| #(normal mode) | ||||
| # DAY 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 | ||||
|   # Pin_mux | ||||
|   [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export | ||||
|   [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export | ||||
| 
 | ||||
|   # dir | ||||
|   # 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) | ||||
|   # Data, gpio_1: 0, gpio_0: 1  (day mode) | ||||
|   echo "1" >/sys/class/gpio/gpio$gpio_0/value | ||||
|   echo "0" >/sys/class/gpio/gpio$gpio_1/value | ||||
| 
 | ||||
|   #sleep 1s | ||||
|   # Sleep 1s | ||||
|   sleep 1 | ||||
| 
 | ||||
|   # back to original | ||||
|   # 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 | ||||
| # NIGHT mode | ||||
| ir_cut_disable() { | ||||
|   # Pin_mux | ||||
|   [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export | ||||
|   [ ! -d /sys/class/gpio/gpio$gpio_1 ] && 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) | ||||
|   # Data, gpio_1: 1, gpio_0: 0  (night mode) | ||||
|   echo "0" >/sys/class/gpio/gpio$gpio_0/value | ||||
|   echo "1" >/sys/class/gpio/gpio$gpio_1/value | ||||
| 
 | ||||
|   #sleep 1s | ||||
|   # Sleep 1s | ||||
|   sleep 1 | ||||
| 
 | ||||
|   # back to original | ||||
|   # 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 : ./ircut_demo <device> <mode>" | ||||
|   echo "for example:" | ||||
|   echo "ir mode : ./ircut_demo ms-j10 1" | ||||
|   echo "Usage: ircut_demo <vendor> <mode>" | ||||
|   echo "For example:" | ||||
|   echo "NIGHT : ircut_demo anjoy 1" | ||||
| else | ||||
|   if [ $1 = "ms-j10" ]; then | ||||
|   if [ $1 = "anjoy" ]; then | ||||
|     gpio_0=78 | ||||
|     gpio_1=79 | ||||
|   elif [ $1 = "brovotech" ]; then | ||||
|     gpio_0=78 | ||||
|     gpio_1=79 | ||||
|   elif [ $1 = "gospell" ]; then | ||||
|     gpio_0=78 | ||||
|     gpio_1=79 | ||||
|   elif [ $1 = "uniview" ]; then | ||||
|     gpio_0=78 | ||||
|     gpio_1=79 | ||||
|   else | ||||
|     echo "wrong device: $1, please select: ms-j10 or uniview." | ||||
|     echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, gospell, uniview" | ||||
|     exit | ||||
|   fi | ||||
| 
 | ||||
|   if [ $2 -eq 0 ]; then | ||||
|     echo "normal mode, ir_cut on" | ||||
|     echo "DAY mode, ir_cut on" | ||||
|     ir_cut_enable >/dev/null | ||||
|   elif [ $2 -eq 1 ]; then | ||||
|     echo "ir mode, ir_cut off" | ||||
|     echo "NIGHT mode, ir_cut off" | ||||
|     ir_cut_disable >/dev/null | ||||
|   else | ||||
|     echo "invalid mode, please slect 0 or 1." | ||||
|     echo "Invalid mode, please slect 0 or 1" | ||||
|   fi | ||||
| fi | ||||
|  |  | |||
|  | @ -110,6 +110,8 @@ elif [ ${sensor} = "none" ]; then | |||
|     exit 0 | ||||
| else | ||||
|     echo -e "\n\e[1;32mThe sensor is assigned - ${sensor}\e[0m\n" | logger -s -t OpenIPC | ||||
|     # Temporary crutch, sorry | ||||
|     [ ! -f /data/ut/chagall.bin ] && (mkdir -p /data/ut; ln -sf /etc/sensors/venc_fw/chagall.bin /data/ut/chagall.bin) | ||||
| fi | ||||
| 
 | ||||
| if [ "$1" = "-i" ]; then | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue