diff --git a/MIS35-show b/MIS35-show index b2d2dcf..d27689e 100755 --- a/MIS35-show +++ b/MIS35-show @@ -1,20 +1,55 @@ #!/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/mis35-overlay.dtb /boot/overlays/ sudo cp ./usr/mis35-overlay.dtb /boot/overlays/mis35.dtbo -sudo cp -rf ./usr/99-calibration.conf-mhs35 /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 -if [ -b /dev/mmcblk0p7 ]; then + +root_dev=`grep -oPr "root=[^\s]*" /boot/cmdline.txt | awk -F= '{printf $NF}'` +if test "$root_dev" = "/dev/mmcblk0p7";then +sudo cp -rf ./boot/config-noobs-nomal.txt ./boot/config.txt.bak +else +sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak +sudo echo "hdmi_force_hotplug=1" >> ./boot/config.txt.bak +fi +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=mis35: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-mis35-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 test "$root_dev" = "/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-mis35.txt /boot/config.txt +#sudo cp ./boot/config-mhs35.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:mis35:90:480:320" > ./.have_installed + #FBCP install +wget --spider -q -o /dev/null --tries=1 -T 10 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,24 +57,41 @@ 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` +#nodeplatform=`uname -n` +#kernel=`uname -r` version=`uname -v` -if test "$nodeplatform" = "raspberrypi";then -echo "this is raspberrypi kernel" -version=${version%% *} -version=${version#*#} +#if test "$nodeplatform" = "raspberrypi";then +#echo "this is raspberrypi kernel" +version=${version##* } +#version=${version#*#} echo $version -if test $version -lt 970;then +if test $version -lt 2017;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_1%3a2.10.6-1+b1_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" +#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/usr/99-calibration.conf-mis35-0 b/usr/99-calibration.conf-mis35-0 new file mode 100755 index 0000000..a111598 --- /dev/null +++ b/usr/99-calibration.conf-mis35-0 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "141 3838 264 3955" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mis35-180 b/usr/99-calibration.conf-mis35-180 new file mode 100755 index 0000000..b1b9939 --- /dev/null +++ b/usr/99-calibration.conf-mis35-180 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3838 141 3955 264" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mis35-270 b/usr/99-calibration.conf-mis35-270 new file mode 100755 index 0000000..0baea1f --- /dev/null +++ b/usr/99-calibration.conf-mis35-270 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "264 3955 3838 141" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mis35-90 b/usr/99-calibration.conf-mis35-90 new file mode 100755 index 0000000..52a8409 --- /dev/null +++ b/usr/99-calibration.conf-mis35-90 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3955 264 141 3838" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/mis35-overlay.dtb b/usr/mis35-overlay.dtb index b583a2c..c753e02 100755 Binary files a/usr/mis35-overlay.dtb and b/usr/mis35-overlay.dtb differ