Skip to content

Commit

Permalink
add MHS35B driver
Browse files Browse the repository at this point in the history
  • Loading branch information
goodtft committed Nov 7, 2019
1 parent 5a6f609 commit a8de38f
Show file tree
Hide file tree
Showing 7 changed files with 144 additions and 1 deletion.
97 changes: 97 additions & 0 deletions MHS35B-show
Original file line number Diff line number Diff line change
@@ -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
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ https://github.com/lcdwiki/LCD-show-retropie

Install drivers in the Raspbian system<br>
====================================================
Update: <br>
v2.1-20191106<br>
Update to support MHS35B<br>
Update: <br>
v2.0-20190704<br>
Update to support rotate the display direction<br>
Expand Down Expand Up @@ -118,7 +121,14 @@ sudo ./MHS35-show
### WIKI:
CN: http://www.lcdwiki.com/zh/MHS-3.5inch_RPi_Display <br>
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 <br>
EN:http://www.lcdwiki.com/MHS-3.5inch_RPi_Display-B

# 4.0" HDMI Display(MPI4008):
### Driver install:
sudo ./MPI4008-show
Expand Down
9 changes: 9 additions & 0 deletions usr/99-calibration.conf-mhs35b-0
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions usr/99-calibration.conf-mhs35b-180
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions usr/99-calibration.conf-mhs35b-270
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions usr/99-calibration.conf-mhs35b-90
Original file line number Diff line number Diff line change
@@ -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
Binary file added usr/mhs35b-overlay.dtb
Binary file not shown.

0 comments on commit a8de38f

Please sign in to comment.