diff --git a/MPI4009-show b/MPI4009-show new file mode 100755 index 0000000..5fb80b5 --- /dev/null +++ b/MPI4009-show @@ -0,0 +1,77 @@ +#!/bin/bash + +sudo ./system_backup.sh + +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 "hdmi_force_edid_audio=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 "display_rotate=3" >> ./boot/config.txt.bak +sudo echo "max_usb_current=1" >> ./boot/config.txt.bak +sudo echo "config_hdmi_boost=7" >> ./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_drive=2" >> ./boot/config.txt.bak +sudo echo "hdmi_cvt 480 800 65 6 0 0 0" >> ./boot/config.txt.bak +sudo echo "dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900" >> ./boot/config.txt.bak +sudo cp -rf ./boot/config.txt.bak /boot/config.txt + +#sudo cp -rf ./boot/config-397.txt /boot/config.txt + +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 -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir /etc/X11/xorg.conf.d +fi +sudo cp -rf ./usr/99-calibration.conf-3971-270 /etc/X11/xorg.conf.d/99-calibration.conf +sudo touch ./.have_installed +echo "hdmi:resistance:3971:270:480:800" > ./.have_installed + +#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 2017;then +echo "reboot" +else +echo "need to update touch configuration" +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" +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/usr/99-calibration.conf-3971-0 b/usr/99-calibration.conf-3971-0 new file mode 100755 index 0000000..ee0968b --- /dev/null +++ b/usr/99-calibration.conf-3971-0 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "149 3861 135 3845" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-3971-180 b/usr/99-calibration.conf-3971-180 new file mode 100755 index 0000000..36dfcc5 --- /dev/null +++ b/usr/99-calibration.conf-3971-180 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3861 149 3845 135" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-3971-270 b/usr/99-calibration.conf-3971-270 new file mode 100755 index 0000000..6cde9e2 --- /dev/null +++ b/usr/99-calibration.conf-3971-270 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3845 135 149 3861" + Option "SwapAxes" "1" +EndSection diff --git a/usr/99-calibration.conf-3971-90 b/usr/99-calibration.conf-3971-90 new file mode 100755 index 0000000..d839c7f --- /dev/null +++ b/usr/99-calibration.conf-3971-90 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "135 3845 3861 149" + Option "SwapAxes" "1" +EndSection diff --git a/usr/99-calibration.conf-3971-FLIP-H b/usr/99-calibration.conf-3971-FLIP-H new file mode 100755 index 0000000..7043860 --- /dev/null +++ b/usr/99-calibration.conf-3971-FLIP-H @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3861 149 135 3845" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-3971-FLIP-V b/usr/99-calibration.conf-3971-FLIP-V new file mode 100755 index 0000000..9114f78 --- /dev/null +++ b/usr/99-calibration.conf-3971-FLIP-V @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "149 3861 3845 135" + Option "SwapAxes" "0" +EndSection