From cb4f8803dc9101b78645bfb8c89a696990bc9247 Mon Sep 17 00:00:00 2001 From: lcdwiki Date: Tue, 4 Jun 2019 12:02:16 +0100 Subject: [PATCH] add MPI3508 --- LCD5-show | 47 ++++++++++++++++-- MPI3508-show | 49 ++++++++++++++++--- ...n.conf-3508 => 99-calibration.conf-3508-0} | 0 usr/99-calibration.conf-3508-180 | 6 +++ usr/99-calibration.conf-3508-270 | 6 +++ usr/99-calibration.conf-3508-90 | 6 +++ 6 files changed, 103 insertions(+), 11 deletions(-) rename usr/{99-calibration.conf-3508 => 99-calibration.conf-3508-0} (100%) create mode 100755 usr/99-calibration.conf-3508-180 create mode 100755 usr/99-calibration.conf-3508-270 create mode 100755 usr/99-calibration.conf-3508-90 diff --git a/LCD5-show b/LCD5-show index 7a068de..f6b49f0 100755 --- a/LCD5-show +++ b/LCD5-show @@ -1,6 +1,24 @@ #!/bin/bash -sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf -sudo cp -rf ./boot/config-5.txt /boot/config.txt + +sudo ./system_backup.sh + +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 "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=1" >> ./boot/config.txt.bak +sudo echo "hdmi_cvt 800 480 60 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-5.txt /boot/config.txt if [ -b /dev/mmcblk0p7 ]; then sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt else @@ -8,8 +26,12 @@ 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 -sudo cp -rf ./usr/99-calibration.conf-5 /etc/X11/xorg.conf.d/99-calibration.conf +fi +sudo cp -rf ./usr/99-calibration.conf-5-270 /etc/X11/xorg.conf.d/99-calibration.conf +sudo touch ./.have_installed +echo "hdmi:resistance:5:270:800:480" > ./.have_installed nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -22,11 +44,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/MPI3508-show b/MPI3508-show index c3c2829..b27c065 100755 --- a/MPI3508-show +++ b/MPI3508-show @@ -1,6 +1,24 @@ #!/bin/bash -sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf -sudo cp -rf ./boot/config-35-480X320.txt /boot/config.txt +sudo ./system_backup.sh + +sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak +sudo echo "hdmi_force_hotplug=1" >> ./boot/config.txt.bak +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=0" >> ./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 320 60 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-35-480X320.txt /boot/config.txt if [ -b /dev/mmcblk0p7 ]; then sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt else @@ -8,8 +26,12 @@ 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 -sudo mkdir -p /etc/X11/xorg.conf.d -sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +if [ ! -d /etc/X11/xorg.conf.d ]; then +sudo mkdir /etc/X11/xorg.conf.d +fi +sudo cp -rf ./usr/99-calibration.conf-3508-0 /etc/X11/xorg.conf.d/99-calibration.conf +sudo touch ./.have_installed +echo "hdmi:resistance:3508:0:480:320" > ./.have_installed nodeplatform=`uname -n` kernel=`uname -r` version=`uname -v` @@ -22,11 +44,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/usr/99-calibration.conf-3508 b/usr/99-calibration.conf-3508-0 similarity index 100% rename from usr/99-calibration.conf-3508 rename to usr/99-calibration.conf-3508-0 diff --git a/usr/99-calibration.conf-3508-180 b/usr/99-calibration.conf-3508-180 new file mode 100755 index 0000000..15592a5 --- /dev/null +++ b/usr/99-calibration.conf-3508-180 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "233 3945 183 3939" + Option "SwapAxes" "1" +EndSection diff --git a/usr/99-calibration.conf-3508-270 b/usr/99-calibration.conf-3508-270 new file mode 100755 index 0000000..4c3cd68 --- /dev/null +++ b/usr/99-calibration.conf-3508-270 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "183 3939 3945 233" + Option "SwapAxes" "0" +EndSection diff --git a/usr/99-calibration.conf-3508-90 b/usr/99-calibration.conf-3508-90 new file mode 100755 index 0000000..fc64cf8 --- /dev/null +++ b/usr/99-calibration.conf-3508-90 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3939 183 233 3945" + Option "SwapAxes" "0" +EndSection