update mhs

This commit is contained in:
lcdwiki 2019-06-04 08:12:41 +01:00
parent 49431c5b4d
commit 7029fa6ac3
15 changed files with 165 additions and 19 deletions

View File

@ -1,20 +1,48 @@
#!/bin/bash #!/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 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 sudo mkdir -p /etc/X11/xorg.conf.d
fi
sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/ sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/
sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/mhs32.dtbo sudo cp ./usr/mhs32-overlay.dtb /boot/overlays/mhs32.dtbo
sudo cp -rf ./usr/99-calibration.conf-mhs32 /etc/X11/xorg.conf.d/99-calibration.conf sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak
sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/ 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=mhs32:rotate=270" >> ./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-mhs32-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 if [ -b /dev/mmcblk0p7 ]; then
sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt
else else
sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/cmdline.txt /boot/
fi fi
sudo cp ./usr/inittab /etc/ sudo cp ./usr/inittab /etc/
sudo cp ./boot/config-mhs32.txt /boot/config.txt #sudo cp ./boot/config-mhs32.txt /boot/config.txt
sudo touch ./.have_installed
echo "gpio:resistance:mhs32:270:480:320" > ./.have_installed
#FBCP install #FBCP install
wget --spider -q -o /dev/null --tries=1 -T 3 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 cp -rf ./etc/rc.local /etc/rc.local
sudo apt-get install git cmake -y 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 rm -rf rpi-fbcp
sudo git clone https://github.com/tasanakorn/rpi-fbcp sudo git clone https://github.com/tasanakorn/rpi-fbcp
sudo mkdir ./rpi-fbcp/build sudo mkdir ./rpi-fbcp/build
@ -22,6 +50,8 @@ cd ./rpi-fbcp/build/
sudo cmake .. sudo cmake ..
sudo make sudo make
sudo install fbcp /usr/local/bin/fbcp sudo install fbcp /usr/local/bin/fbcp
cd - > /dev/null
fi
#evdev install #evdev install
nodeplatform=`uname -n` nodeplatform=`uname -n`
kernel=`uname -r` kernel=`uname -r`
@ -35,11 +65,26 @@ if test $version -lt 970;then
echo "reboot" echo "reboot"
else else
echo "need to update touch configuration" 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 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 fi
else else
echo "this is not raspberrypi kernel, no need to update touch configure, reboot" echo "this is not raspberrypi kernel, no need to update touch configure, reboot"
fi 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 sudo reboot

View File

@ -34,7 +34,7 @@ fi
sudo cp ./usr/inittab /etc/ sudo cp ./usr/inittab /etc/
#sudo cp ./boot/config-mhs35.txt /boot/config.txt #sudo cp ./boot/config-mhs35.txt /boot/config.txt
sudo touch ./.have_installed sudo touch ./.have_installed
echo "gpio:resistance:mhs35:90" > ./.have_installed echo "gpio:resistance:mhs35:90:480:320" > ./.have_installed
#FBCP install #FBCP install
wget --spider -q -o /dev/null --tries=1 -T 3 https://github.com wget --spider -q -o /dev/null --tries=1 -T 3 https://github.com

View File

@ -1,20 +1,48 @@
#!/bin/bash #!/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 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 sudo mkdir -p /etc/X11/xorg.conf.d
fi
sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/ sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/
sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/mhs395.dtbo sudo cp ./usr/mhs395-overlay.dtb /boot/overlays/mhs395.dtbo
sudo cp -rf ./usr/99-calibration.conf-mhs395 /etc/X11/xorg.conf.d/99-calibration.conf sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak
sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf 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=mhs395:rotate=90" >> ./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-mhs395-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 if [ -b /dev/mmcblk0p7 ]; then
sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt
else else
sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/cmdline.txt /boot/
fi fi
sudo cp ./usr/inittab /etc/ sudo cp ./usr/inittab /etc/
sudo cp ./boot/config-mhs395.txt /boot/config.txt #sudo cp ./boot/config-mhs395.txt /boot/config.txt
sudo touch ./.have_installed
echo "gpio:resistance:mhs395:90:480:320" > ./.have_installed
#FBCP install #FBCP install
wget --spider -q -o /dev/null --tries=1 -T 3 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 cp -rf ./etc/rc.local /etc/rc.local
sudo apt-get install git cmake -y 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 rm -rf rpi-fbcp
sudo git clone https://github.com/tasanakorn/rpi-fbcp sudo git clone https://github.com/tasanakorn/rpi-fbcp
sudo mkdir ./rpi-fbcp/build sudo mkdir ./rpi-fbcp/build
@ -22,6 +50,8 @@ cd ./rpi-fbcp/build/
sudo cmake .. sudo cmake ..
sudo make sudo make
sudo install fbcp /usr/local/bin/fbcp sudo install fbcp /usr/local/bin/fbcp
cd - > /dev/null
fi
#evdev install #evdev install
nodeplatform=`uname -n` nodeplatform=`uname -n`
kernel=`uname -r` kernel=`uname -r`
@ -35,11 +65,26 @@ if test $version -lt 970;then
echo "reboot" echo "reboot"
else else
echo "need to update touch configuration" 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 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 fi
else else
echo "this is not raspberrypi kernel, no need to update touch configure, reboot" echo "this is not raspberrypi kernel, no need to update touch configure, reboot"
fi 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 sudo reboot

View File

@ -33,7 +33,7 @@ sudo mkdir /etc/X11/xorg.conf.d
fi fi
sudo cp -rf ./usr/99-calibration.conf-397-270 /etc/X11/xorg.conf.d/99-calibration.conf sudo cp -rf ./usr/99-calibration.conf-397-270 /etc/X11/xorg.conf.d/99-calibration.conf
sudo touch ./.have_installed sudo touch ./.have_installed
echo "hdmi:resistance:397:270" > ./.have_installed echo "hdmi:resistance:397:270:480:800" > ./.have_installed
nodeplatform=`uname -n` nodeplatform=`uname -n`
kernel=`uname -r` kernel=`uname -r`

View File

@ -25,7 +25,7 @@ sudo mkdir /etc/X11/xorg.conf.d
fi fi
sudo cp ./usr/40-libinput.conf-0 /etc/X11/xorg.conf.d/40-libinput.conf sudo cp ./usr/40-libinput.conf-0 /etc/X11/xorg.conf.d/40-libinput.conf
sudo touch ./.have_installed sudo touch ./.have_installed
echo "hdmi:capacity:MPI5001:0" > ./.have_installed echo "hdmi:capacity:MPI5001:0:800:480" > ./.have_installed
sudo sync sudo sync
sudo sync sudo sync
sleep 1 sleep 1

View File

@ -58,7 +58,7 @@ hdmi_force_hotplug=1
dtparam=i2c_arm=on dtparam=i2c_arm=on
dtparam=spi=on dtparam=spi=on
enable_uart=1 enable_uart=1
dtoverlay=mhs35:rotate=90 dtoverlay=mhs32:rotate=270
hdmi_group=2 hdmi_group=2
hdmi_mode=1 hdmi_mode=1
hdmi_mode=87 hdmi_mode=87

View File

@ -44,6 +44,8 @@ output_type=`cat $cur_dir/.have_installed | awk -F ':' '{printf $1}'`
touch_type=`cat $cur_dir/.have_installed | awk -F ':' '{printf $2}'` touch_type=`cat $cur_dir/.have_installed | awk -F ':' '{printf $2}'`
device_id=`cat $cur_dir/.have_installed | awk -F ':' '{printf $3}'` device_id=`cat $cur_dir/.have_installed | awk -F ':' '{printf $3}'`
default_value=`cat $cur_dir/.have_installed | awk -F ':' '{printf $4}'` default_value=`cat $cur_dir/.have_installed | awk -F ':' '{printf $4}'`
width=`cat $cur_dir/.have_installed | awk -F ':' '{printf $5}'`
height=`cat $cur_dir/.have_installed | awk -F ':' '{printf $6}'`
if [ $output_type = "hdmi" ]; then if [ $output_type = "hdmi" ]; then
result=`grep -rn "^display_rotate=" /boot/config.txt | tail -n 1` result=`grep -rn "^display_rotate=" /boot/config.txt | tail -n 1`
@ -106,9 +108,9 @@ resultr=`grep -rn "^hdmi_cvt" /boot/config.txt | tail -n 1 | awk -F' ' '{print $
liner=`echo -n $resultr | awk -F: '{printf $1}'` liner=`echo -n $resultr | awk -F: '{printf $1}'`
strr=`echo -n $resultr | awk -F: '{printf $2}'` 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 if [ $new_rotate_value -eq $default_value ] || [ $new_rotate_value -eq $[($default_value+180+360)%360] ]; then
sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt 480 320/' /boot/config.txt sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt '"$width"' '"$height"'/' /boot/config.txt
elif [ $new_rotate_value -eq $[($default_value-90+360)%360] ] || [ $new_rotate_value -eq $[($default_value+90+360)%360] ]; then elif [ $new_rotate_value -eq $[($default_value-90+360)%360] ] || [ $new_rotate_value -eq $[($default_value+90+360)%360] ]; then
sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt 320 480/' /boot/config.txt sudo sed -i -e ''"$liner"'s/'"$strr"'/hdmi_cvt '"$height"' '"$width"'/' /boot/config.txt
fi fi
fi fi

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3901 158 212 3713"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "158 3901 3713 212"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

View File

@ -1,7 +1,7 @@
Section "InputClass" Section "InputClass"
Identifier "calibration" Identifier "calibration"
MatchProduct "ADS7846 Touchscreen" MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3713 158 3901 212" Option "Calibration" "212 3713 158 3901"
Option "SwapAxes" "1" Option "SwapAxes" "1"
Option "EmulateThirdButton" "1" Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000" Option "EmulateThirdButtonTimeout" "1000"

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3713 212 3901 158"
Option "SwapAxes" "1"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "268 3880 227 3936"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3880 268 3936 227"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

View File

@ -0,0 +1,9 @@
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "227 3936 3880 268"
Option "SwapAxes" "1"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection