diff --git a/MHS35B-show b/MHS35B-show new file mode 100755 index 0000000..def324a --- /dev/null +++ b/MHS35B-show @@ -0,0 +1,97 @@ +#!/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/mhs35b-overlay.dtb /boot/overlays/ +sudo cp ./usr/mhs35b-overlay.dtb /boot/overlays/mhs35b.dtbo + +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=mhs35b:rotate=90" >> ./boot/config.txt.bak +sudo echo "dtoverlay=goodix" >> ./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-mhs35b-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 touch ./.have_installed +echo "gpio:resistance:mhs35b: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 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 +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` +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/README.md b/README.md index 9605589..5abc325 100755 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ https://github.com/lcdwiki/LCD-show-retropie Install drivers in the Raspbian system
==================================================== +Update:
+ v2.1-20191106
+ Update to support MHS35B
Update:
v2.0-20190704
Update to support rotate the display direction
@@ -118,7 +121,14 @@ sudo ./MHS35-show ### WIKI: CN: http://www.lcdwiki.com/zh/MHS-3.5inch_RPi_Display
EN:http://www.lcdwiki.com/MHS-3.5inch_RPi_Display - + +# MHS-3.5” RPi Display-B(MHS35XX): +### Driver install: +sudo ./MHS35B-show +### WIKI: +CN: http://www.lcdwiki.com/zh/MHS-3.5inch_RPi_Display-B
+EN:http://www.lcdwiki.com/MHS-3.5inch_RPi_Display-B + # 4.0" HDMI Display(MPI4008): ### Driver install: sudo ./MPI4008-show diff --git a/usr/99-calibration.conf-mhs35b-0 b/usr/99-calibration.conf-mhs35b-0 new file mode 100755 index 0000000..2a04ab9 --- /dev/null +++ b/usr/99-calibration.conf-mhs35b-0 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "Goodix Capacitive TouchScreen" + Option "Calibration" "315 7 479 18" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs35b-180 b/usr/99-calibration.conf-mhs35b-180 new file mode 100755 index 0000000..62e8ddd --- /dev/null +++ b/usr/99-calibration.conf-mhs35b-180 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "Goodix Capacitive TouchScreen" + Option "Calibration" "7 315 18 479" + Option "SwapAxes" "0" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs35b-270 b/usr/99-calibration.conf-mhs35b-270 new file mode 100755 index 0000000..3a585c2 --- /dev/null +++ b/usr/99-calibration.conf-mhs35b-270 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "Goodix Capacitive TouchScreen" + Option "Calibration" "315 7 18 479" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/99-calibration.conf-mhs35b-90 b/usr/99-calibration.conf-mhs35b-90 new file mode 100755 index 0000000..7a9ee3c --- /dev/null +++ b/usr/99-calibration.conf-mhs35b-90 @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "Goodix Capacitive TouchScreen" + Option "Calibration" "7 315 479 18" + Option "SwapAxes" "1" + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "1000" + Option "EmulateThirdButtonMoveThreshold" "300" +EndSection diff --git a/usr/mhs35b-overlay.dtb b/usr/mhs35b-overlay.dtb new file mode 100755 index 0000000..502b642 Binary files /dev/null and b/usr/mhs35b-overlay.dtb differ