diff --git a/LCD24-3A+-show b/LCD24-3A+-show new file mode 100755 index 0000000..ee43d80 --- /dev/null +++ b/LCD24-3A+-show @@ -0,0 +1,66 @@ +#!/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/tft9341-overlay.dtb /boot/overlays/ +sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo +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=tft9341:rotate=90" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt +sudo cp -rf ./usr/99-calibration.conf-32-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-32.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:32:90:320:240" > ./.have_installed +#evdev install +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +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" +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/LCD24-show b/LCD24-show index f013b1a..5b7cc99 100755 --- a/LCD24-show +++ b/LCD24-show @@ -1,17 +1,34 @@ #!/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 -sudo mkdir /etc/X11/xorg.conf.d +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/ sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo -sudo cp -rf ./usr/99-calibration.conf-32 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo.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=tft9341:rotate=270" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt +sudo cp -rf ./usr/99-calibration.conf-32-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-32.txt /boot/config.txt +#sudo cp ./boot/config-32.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:32:270:320:240" > ./.have_installed +#evdev install nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -24,11 +41,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/LCD28-show b/LCD28-show index f013b1a..5b7cc99 100755 --- a/LCD28-show +++ b/LCD28-show @@ -1,17 +1,34 @@ #!/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 -sudo mkdir /etc/X11/xorg.conf.d +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/ sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo -sudo cp -rf ./usr/99-calibration.conf-32 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo.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=tft9341:rotate=270" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt +sudo cp -rf ./usr/99-calibration.conf-32-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-32.txt /boot/config.txt +#sudo cp ./boot/config-32.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:32:270:320:240" > ./.have_installed +#evdev install nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -24,11 +41,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/LCD32-show b/LCD32-show index f013b1a..5b7cc99 100755 --- a/LCD32-show +++ b/LCD32-show @@ -1,17 +1,34 @@ #!/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 -sudo mkdir /etc/X11/xorg.conf.d +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/ sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo -sudo cp -rf ./usr/99-calibration.conf-32 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo.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=tft9341:rotate=270" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt +sudo cp -rf ./usr/99-calibration.conf-32-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-32.txt /boot/config.txt +#sudo cp ./boot/config-32.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:32:270:320:240" > ./.have_installed +#evdev install nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -24,11 +41,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/LCD35-show b/LCD35-show index 5716905..3a72d24 100755 --- a/LCD35-show +++ b/LCD35-show @@ -1,17 +1,35 @@ #!/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 -sudo mkdir /etc/X11/xorg.conf.d +fi +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir -p /etc/X11/xorg.conf.d +fi sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/ sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo -sudo cp -rf ./usr/99-calibration.conf-35 /etc/X11/xorg.conf.d/99-calibration.conf -sudo cp -rf ./usr/99-fbturbo.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=tft35a:rotate=90" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt + +sudo cp -rf ./usr/99-calibration.conf-35-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-35.txt /boot/config.txt +#sudo cp ./boot/config-35.txt /boot/config.txt +sudo touch ./.have_installed +echo "gpio:resistance:35:90:480:320" > ./.have_installed +#evdev install nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -24,11 +42,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/rotate.sh b/rotate.sh index 4e0c60f..2b7a30b 100755 --- a/rotate.sh +++ b/rotate.sh @@ -105,6 +105,7 @@ new_rotate_value=$[$new_rotate_value*90] elif [ $output_type = "gpio" ]; then sudo sed -i -e ''"$line"'s/'"$str"'/rotate='"$new_rotate_value"'/' /boot/config.txt resultr=`grep -rn "^hdmi_cvt" /boot/config.txt | tail -n 1 | awk -F' ' '{print $1,$2,$3}'` +if [ -n "$resultr" ]; then 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 @@ -113,6 +114,7 @@ elif [ $new_rotate_value -eq $[($default_value-90+360)%360] ] || [ $new_rotate_v sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt '"$height"' '"$width"'/' /boot/config.txt fi fi +fi #setting touch screen rotate if [ $touch_type = "resistance" ]; then diff --git a/usr/99-calibration.conf-32-0 b/usr/99-calibration.conf-32-0 new file mode 100755 index 0000000..3990895 --- /dev/null +++ b/usr/99-calibration.conf-32-0 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "155 3865 115 3700" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-32-180 b/usr/99-calibration.conf-32-180 new file mode 100755 index 0000000..362dd5b --- /dev/null +++ b/usr/99-calibration.conf-32-180 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3865 155 3700 115" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-32 b/usr/99-calibration.conf-32-270 similarity index 100% rename from usr/99-calibration.conf-32 rename to usr/99-calibration.conf-32-270 diff --git a/usr/99-calibration.conf-32-90 b/usr/99-calibration.conf-32-90 new file mode 100755 index 0000000..d3f6e8d --- /dev/null +++ b/usr/99-calibration.conf-32-90 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3700 115 155 3865" + Option "SwapAxes" "1" +EndSection diff --git a/usr/99-calibration.conf-35-0 b/usr/99-calibration.conf-35-0 new file mode 100755 index 0000000..30b06d6 --- /dev/null +++ b/usr/99-calibration.conf-35-0 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "268 3880 227 3936" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-35-180 b/usr/99-calibration.conf-35-180 new file mode 100755 index 0000000..99ad398 --- /dev/null +++ b/usr/99-calibration.conf-35-180 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3880 268 3936 227" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-35-270 b/usr/99-calibration.conf-35-270 new file mode 100755 index 0000000..90f3c37 --- /dev/null +++ b/usr/99-calibration.conf-35-270 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "227 3936 3880 268" + Option "SwapAxes" "1" +EndSection diff --git a/usr/99-calibration.conf-35 b/usr/99-calibration.conf-35-90 similarity index 100% rename from usr/99-calibration.conf-35 rename to usr/99-calibration.conf-35-90