diff --git a/MHS32-show b/MHS32-show index 6799f7e..ea21b7f 100755 --- a/MHS32-show +++ b/MHS32-show @@ -1,20 +1,48 @@ #!/bin/bash + +sudo ./system_backup.sh + +if [ -f /etc/X11/xorg.conf.d/40-libinput.conf ]; then sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/ sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/mhs32.dtbo -sudo cp -rf ./usr/99-calibration.conf-mhs32 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/ +sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak +sudo echo "hdmi_force_hotplug=1" >> ./boot/config.txt.bak +sudo echo "dtparam=i2c_arm=on" >> ./boot/config.txt.bak +sudo echo "dtparam=spi=on" >> ./boot/config.txt.bak +sudo echo "enable_uart=1" >> ./boot/config.txt.bak +sudo echo "dtoverlay=mhs32:rotate=270" >> ./boot/config.txt.bak +sudo echo "hdmi_group=2" >> ./boot/config.txt.bak +sudo echo "hdmi_mode=1" >> ./boot/config.txt.bak +sudo echo "hdmi_mode=87" >> ./boot/config.txt.bak +sudo echo "hdmi_cvt 480 320 60 6 0 0 0" >> ./boot/config.txt.bak +sudo echo "hdmi_drive=2" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt + +sudo cp -rf ./usr/99-calibration.conf-mhs32-270 /etc/X11/xorg.conf.d/99-calibration.conf +sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf if [ -b /dev/mmcblk0p7 ]; then sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt else sudo cp ./usr/cmdline.txt /boot/ fi sudo cp ./usr/inittab /etc/ -sudo cp ./boot/config-mhs32.txt /boot/config.txt +#sudo cp ./boot/config-mhs32.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:mhs32:270:480:320" > ./.have_installed #FBCP install +wget --spider -q -o /dev/null --tries=1 -T 3 https://github.com +if [ $? -eq 0 ]; then +sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf sudo cp -rf ./etc/rc.local /etc/rc.local -sudo apt-get install git cmake -y +sudo apt-get install git cmake -y 2> error_output.txt +result=`cat ./error_output.txt` +echo -e "\033[31m$result\033[0m" +grep -q "^E:" ./error_output.txt && exit sudo rm -rf rpi-fbcp sudo git clone https://github.com/tasanakorn/rpi-fbcp sudo mkdir ./rpi-fbcp/build @@ -22,6 +50,8 @@ cd ./rpi-fbcp/build/ sudo cmake .. sudo make sudo install fbcp /usr/local/bin/fbcp +cd - > /dev/null +fi #evdev install nodeplatform=`uname -n` kernel=`uname -r` @@ -35,11 +65,26 @@ if test $version -lt 970;then echo "reboot" else echo "need to update touch configuration" -sudo apt-get install xserver-xorg-input-evdev +sudo dpkg -i -B ./xserver-xorg-input-evdev_2.10.5-1_armhf.deb 2> error_output.txt +#sudo apt-get install xserver-xorg-input-evdev 2> error_output.txt +result=`cat ./error_output.txt` +echo -e "\033[31m$result\033[0m" +grep -q "error:" ./error_output.txt && exit sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf -echo "reboot" +#echo "reboot" fi else echo "this is not raspberrypi kernel, no need to update touch configure, reboot" fi + +sudo sync +sudo sync +sleep 1 +if [ $# -eq 1 ]; then +sudo ./rotate.sh $1 +elif [ $# -gt 1 ]; then +echo "Too many parameters" +fi + +echo "reboot now" sudo reboot diff --git a/MHS35-show b/MHS35-show index 6a5fe7c..686d9c5 100755 --- a/MHS35-show +++ b/MHS35-show @@ -34,7 +34,7 @@ fi sudo cp ./usr/inittab /etc/ #sudo cp ./boot/config-mhs35.txt /boot/config.txt sudo touch ./.have_installed -echo "gpio:resistance:mhs35:90" > ./.have_installed +echo "gpio:resistance:mhs35:90:480:320" > ./.have_installed #FBCP install wget --spider -q -o /dev/null --tries=1 -T 3 https://github.com diff --git a/MHS40-show b/MHS40-show index 1b66f3c..d14f7b9 100755 --- a/MHS40-show +++ b/MHS40-show @@ -1,20 +1,48 @@ #!/bin/bash + +sudo ./system_backup.sh + +if [ -f /etc/X11/xorg.conf.d/40-libinput.conf ]; then sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/ sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/mhs395.dtbo -sudo cp -rf ./usr/99-calibration.conf-mhs395 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak +sudo echo "hdmi_force_hotplug=1" >> ./boot/config.txt.bak +sudo echo "dtparam=i2c_arm=on" >> ./boot/config.txt.bak +sudo echo "dtparam=spi=on" >> ./boot/config.txt.bak +sudo echo "enable_uart=1" >> ./boot/config.txt.bak +sudo echo "dtoverlay=mhs395:rotate=90" >> ./boot/config.txt.bak +sudo echo "hdmi_group=2" >> ./boot/config.txt.bak +sudo echo "hdmi_mode=1" >> ./boot/config.txt.bak +sudo echo "hdmi_mode=87" >> ./boot/config.txt.bak +sudo echo "hdmi_cvt 480 320 60 6 0 0 0" >> ./boot/config.txt.bak +sudo echo "hdmi_drive=2" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt +sudo cp -rf ./usr/99-calibration.conf-mhs395-90 /etc/X11/xorg.conf.d/99-calibration.conf +sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf if [ -b /dev/mmcblk0p7 ]; then sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt else sudo cp ./usr/cmdline.txt /boot/ fi sudo cp ./usr/inittab /etc/ -sudo cp ./boot/config-mhs395.txt /boot/config.txt +#sudo cp ./boot/config-mhs395.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:mhs395:90:480:320" > ./.have_installed + #FBCP install +wget --spider -q -o /dev/null --tries=1 -T 3 https://github.com +if [ $? -eq 0 ]; then +sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf sudo cp -rf ./etc/rc.local /etc/rc.local -sudo apt-get install git cmake -y +sudo apt-get install git cmake -y 2> error_output.txt +result=`cat ./error_output.txt` +echo -e "\033[31m$result\033[0m" +grep -q "^E:" ./error_output.txt && exit sudo rm -rf rpi-fbcp sudo git clone https://github.com/tasanakorn/rpi-fbcp sudo mkdir ./rpi-fbcp/build @@ -22,6 +50,8 @@ cd ./rpi-fbcp/build/ sudo cmake .. sudo make sudo install fbcp /usr/local/bin/fbcp +cd - > /dev/null +fi #evdev install nodeplatform=`uname -n` kernel=`uname -r` @@ -35,11 +65,26 @@ if test $version -lt 970;then echo "reboot" else echo "need to update touch configuration" -sudo apt-get install xserver-xorg-input-evdev +sudo dpkg -i -B ./xserver-xorg-input-evdev_2.10.5-1_armhf.deb 2> error_output.txt +#sudo apt-get install xserver-xorg-input-evdev 2> error_output.txt +result=`cat ./error_output.txt` +echo -e "\033[31m$result\033[0m" +grep -q "error:" ./error_output.txt && exit sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf -echo "reboot" +#echo "reboot" fi else echo "this is not raspberrypi kernel, no need to update touch configure, reboot" fi + +sudo sync +sudo sync +sleep 1 +if [ $# -eq 1 ]; then +sudo ./rotate.sh $1 +elif [ $# -gt 1 ]; then +echo "Too many parameters" +fi + +echo "reboot now" sudo reboot diff --git a/MPI4008-show b/MPI4008-show index c4077a8..d8ec890 100755 --- a/MPI4008-show +++ b/MPI4008-show @@ -33,7 +33,7 @@ sudo mkdir /etc/X11/xorg.conf.d fi sudo cp -rf ./usr/99-calibration.conf-397-270 /etc/X11/xorg.conf.d/99-calibration.conf sudo touch ./.have_installed -echo "hdmi:resistance:397:270" > ./.have_installed +echo "hdmi:resistance:397:270:480:800" > ./.have_installed nodeplatform=`uname -n` kernel=`uname -r` diff --git a/MPI5001-show b/MPI5001-show index bd542f4..19796c8 100755 --- a/MPI5001-show +++ b/MPI5001-show @@ -25,7 +25,7 @@ sudo mkdir /etc/X11/xorg.conf.d fi sudo cp ./usr/40-libinput.conf-0 /etc/X11/xorg.conf.d/40-libinput.conf sudo touch ./.have_installed -echo "hdmi:capacity:MPI5001:0" > ./.have_installed +echo "hdmi:capacity:MPI5001:0:800:480" > ./.have_installed sudo sync sudo sync sleep 1 diff --git a/boot/config.txt.bak b/boot/config.txt.bak index 6888425..58186f3 100755 --- a/boot/config.txt.bak +++ b/boot/config.txt.bak @@ -58,7 +58,7 @@ hdmi_force_hotplug=1 dtparam=i2c_arm=on dtparam=spi=on enable_uart=1 -dtoverlay=mhs35:rotate=90 +dtoverlay=mhs32:rotate=270 hdmi_group=2 hdmi_mode=1 hdmi_mode=87 diff --git a/rotate.sh b/rotate.sh index 5b5c499..4e0c60f 100755 --- a/rotate.sh +++ b/rotate.sh @@ -44,6 +44,8 @@ output_type=`cat $cur_dir/.have_installed | awk -F ':' '{printf $1}'` touch_type=`cat $cur_dir/.have_installed | awk -F ':' '{printf $2}'` device_id=`cat $cur_dir/.have_installed | awk -F ':' '{printf $3}'` default_value=`cat $cur_dir/.have_installed | awk -F ':' '{printf $4}'` +width=`cat $cur_dir/.have_installed | awk -F ':' '{printf $5}'` +height=`cat $cur_dir/.have_installed | awk -F ':' '{printf $6}'` if [ $output_type = "hdmi" ]; then result=`grep -rn "^display_rotate=" /boot/config.txt | tail -n 1` @@ -106,9 +108,9 @@ resultr=`grep -rn "^hdmi_cvt" /boot/config.txt | tail -n 1 | awk -F' ' '{print $ liner=`echo -n $resultr | awk -F: '{printf $1}'` strr=`echo -n $resultr | awk -F: '{printf $2}'` if [ $new_rotate_value -eq $default_value ] || [ $new_rotate_value -eq $[($default_value+180+360)%360] ]; then -sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt 480 320/' /boot/config.txt +sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt '"$width"' '"$height"'/' /boot/config.txt elif [ $new_rotate_value -eq $[($default_value-90+360)%360] ] || [ $new_rotate_value -eq $[($default_value+90+360)%360] ]; then -sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt 320 480/' /boot/config.txt +sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt '"$height"' '"$width"'/' /boot/config.txt fi fi diff --git a/usr/99-calibration.conf-mhs32-0 b/usr/99-calibration.conf-mhs32-0 new file mode 100755 index 0000000..2b05d0a --- /dev/null +++ b/usr/99-calibration.conf-mhs32-0 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3901 158 212 3713" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs32-180 b/usr/99-calibration.conf-mhs32-180 new file mode 100755 index 0000000..e863f5a --- /dev/null +++ b/usr/99-calibration.conf-mhs32-180 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "158 3901 3713 212" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs32 b/usr/99-calibration.conf-mhs32-270 similarity index 85% rename from usr/99-calibration.conf-mhs32 rename to usr/99-calibration.conf-mhs32-270 index 044c457..ba60f3b 100755 --- a/usr/99-calibration.conf-mhs32 +++ b/usr/99-calibration.conf-mhs32-270 @@ -1,7 +1,7 @@ Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" - Option "Calibration" "3713 158 3901 212" + Option "Calibration" "212 3713 158 3901" Option "SwapAxes" "1" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "1000" diff --git a/usr/99-calibration.conf-mhs32-90 b/usr/99-calibration.conf-mhs32-90 new file mode 100755 index 0000000..7c32b55 --- /dev/null +++ b/usr/99-calibration.conf-mhs32-90 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3713 212 3901 158" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs395-0 b/usr/99-calibration.conf-mhs395-0 new file mode 100755 index 0000000..1576093 --- /dev/null +++ b/usr/99-calibration.conf-mhs395-0 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "268 3880 227 3936" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs395-180 b/usr/99-calibration.conf-mhs395-180 new file mode 100755 index 0000000..9d81748 --- /dev/null +++ b/usr/99-calibration.conf-mhs395-180 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3880 268 3936 227" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs395-270 b/usr/99-calibration.conf-mhs395-270 new file mode 100755 index 0000000..f536459 --- /dev/null +++ b/usr/99-calibration.conf-mhs395-270 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "227 3936 3880 268" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs395 b/usr/99-calibration.conf-mhs395-90 similarity index 100% rename from usr/99-calibration.conf-mhs395 rename to usr/99-calibration.conf-mhs395-90