Fix gpio script and load kernel modules

pull/34/head
Igor Zalatov (via Araneus server) 2021-07-11 14:20:52 +03:00
parent aa09772143
commit b8b19e3327
2 changed files with 36 additions and 38 deletions

View File

@ -1,89 +1,85 @@
#!/bin/sh #!/bin/sh
# on SSC335:
# on EV200: # DAY mode
# GPIO1_0 -> GPIO8 (1*8+0 = 8)
# GPIO1_1 -> GPIO9 (1*8+1 = 9)
# on EV300:
# GPIO1_3 -> GPIO11
# GPIO1_2 -> GPIO10
#(normal mode)
ir_cut_enable() { ir_cut_enable() {
# pin_mux # Pin_mux
echo "$gpio_0" >/sys/class/gpio/unexport [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export
echo "$gpio_1" >/sys/class/gpio/unexport [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export
echo "$gpio_0" >/sys/class/gpio/export
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_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/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 "1" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value echo "0" >/sys/class/gpio/gpio$gpio_1/value
#sleep 1s # Sleep 1s
sleep 1 sleep 1
# back to original # Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/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_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/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 "0" >/sys/class/gpio/gpio$gpio_0/value
echo "1" >/sys/class/gpio/gpio$gpio_1/value echo "1" >/sys/class/gpio/gpio$gpio_1/value
#sleep 1s # Sleep 1s
sleep 1 sleep 1
# back to original # Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value echo "0" >/sys/class/gpio/gpio$gpio_1/value
} }
gpio_0=0 gpio_0=0
gpio_1=0 gpio_1=0
if [ $# -lt 2 ]; then if [ $# -lt 2 ]; then
echo "usage : ./ircut_demo <device> <mode>" echo "Usage: ircut_demo <vendor> <mode>"
echo "for example:" echo "For example:"
echo "ir mode : ./ircut_demo ms-j10 1" echo "NIGHT : ircut_demo anjoy 1"
else 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_0=78
gpio_1=79 gpio_1=79
elif [ $1 = "uniview" ]; then elif [ $1 = "uniview" ]; then
gpio_0=78 gpio_0=78
gpio_1=79 gpio_1=79
else else
echo "wrong device: $1, please select: ms-j10 or uniview." echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, gospell, uniview"
exit exit
fi fi
if [ $2 -eq 0 ]; then if [ $2 -eq 0 ]; then
echo "normal mode, ir_cut on" echo "DAY mode, ir_cut on"
ir_cut_enable >/dev/null ir_cut_enable >/dev/null
elif [ $2 -eq 1 ]; then elif [ $2 -eq 1 ]; then
echo "ir mode, ir_cut off" echo "NIGHT mode, ir_cut off"
ir_cut_disable >/dev/null ir_cut_disable >/dev/null
else else
echo "invalid mode, please slect 0 or 1." echo "Invalid mode, please slect 0 or 1"
fi fi
fi fi

View File

@ -110,6 +110,8 @@ elif [ ${sensor} = "none" ]; then
exit 0 exit 0
else else
echo -e "\n\e[1;32mThe sensor is assigned - ${sensor}\e[0m\n" | logger -s -t OpenIPC 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 fi
if [ "$1" = "-i" ]; then if [ "$1" = "-i" ]; then