@@ -22,134 +22,120 @@ source "/data/SetupHelper/HelperResources/IncludeHelpers"
2222
2323# ### running manually and OK to proceed - prompt for input
2424if [ $scriptAction == ' NONE' ] ; then
25- # display innitial message
26- echo
27- echo " This package makes the following modifications:"
28- echo " - installs the overlay file for the GPIO LED (used for backlight)"
29- echo " - adds the display setup and backlight overlay to config.txt"
30- echo
31- yesNoPrompt " Do you want to continue (y/n)?: "
32- if $yesResponse ; then
33- scriptAction=' INSTALL'
34-
35- yesNoPrompt " Rotate the display 180 degrees (y/n)?: "
36- if $yesResponse ; then
37- touch " $setupOptionsDir /rotateDisplay"
38- else
39- rm -f " $setupOptionsDir /rotateDisplay"
40- fi
41- yesNoPrompt " Enter custom GPIO pin for backlight (default: 23) (y/n)?: "
42- if $yesResponse ; then
43- read -p " enter GPIO pin to use: " gpioPin
44- if [ " $gpioPin " != " " ]; then
45- echo $gpioPin > " $setupOptionsDir /backlight_gpio_pin"
46- else
47- rm -f " $setupOptionsDir /backlight_gpio_pin"
48- fi
49- else
50- rm -f " $setupOptionsDir /backlight_gpio_pin"
51- fi
52- fi
25+ # display innitial message
26+ echo
27+ echo " This package makes the following modifications:"
28+ echo " - installs the overlay file for the GPIO LED (used for backlight)"
29+ echo " - adds the display setup and backlight overlay to config.txt"
30+ echo
31+ yesNoPrompt " Do you want to continue (y/n)?: "
32+ if $yesResponse ; then
33+ scriptAction=' INSTALL'
34+
35+ yesNoPrompt " Rotate the display 180 degrees (y/n)?: "
36+ if $yesResponse ; then
37+ touch " $setupOptionsDir /rotateDisplay"
38+ else
39+ rm -f " $setupOptionsDir /rotateDisplay"
40+ fi
41+ yesNoPrompt " Enter custom GPIO pin for backlight (default: 23) (y/n)?: "
42+ if $yesResponse ; then
43+ read -p " enter GPIO pin to use: " gpioPin
44+ if [ " $gpioPin " != " " ]; then
45+ echo $gpioPin > " $setupOptionsDir /backlight_gpio_pin"
46+ else
47+ rm -f " $setupOptionsDir /backlight_gpio_pin"
48+ fi
49+ else
50+ rm -f " $setupOptionsDir /backlight_gpio_pin"
51+ fi
52+ fi
5353fi
5454# ### installing
5555if [ $scriptAction == ' INSTALL' ] ; then
56- display_rotate=0
57- if [ -f $setupOptionsDir /rotateDisplay ]; then
58- display_rotate=2
59- fi
60- gpioPin=23
61- if [ -f $setupOptionsDir /backlight_gpio_pin ]; then
62- gpioPin=$( cat " $setupOptionsDir /backlight_gpio_pin" )
63- fi
64- # install overlay only if it doesn't exist
65- [ -f " $overlayFile " ] || logMessage " installing Display Backlight overlay" && rebootNeeded=true && updateActiveFile " $overlayFile "
56+ display_rotate=0
57+ if [ -f $setupOptionsDir /rotateDisplay ]; then
58+ display_rotate=2
59+ fi
60+ gpioPin=23
61+ if [ -f $setupOptionsDir /backlight_gpio_pin ]; then
62+ gpioPin=$( cat " $setupOptionsDir /backlight_gpio_pin" )
63+ fi
64+ # install overlay only if it doesn't exist
65+ [ -f " $overlayFile " ] || logMessage " installing Display Backlight overlay" && rebootNeeded=true && updateActiveFile " $overlayFile "
6666
67- logMessage " activating VeTouchDisplay settings in $configFile "
68- cp $configFile $configFile .tmp
69- # remove any previouos lines added by this script
70- sed -i -e " /#### begin VeTouchDisplay/,/#### end VeTouchDisplay/d" " $configFile .tmp"
71-
72- echo " " >> " $configFile .tmp"
73- echo " #### begin VeTouchDisplay" >> " $configFile .tmp"
74- echo " # Elecrow RC050 5 inch HDMI 800 x 480 Capacitive Touch LCD Display for Raspberry Pi/ PC/ SONY PS4" >> " $configFile .tmp"
75- echo " # https://www.elecrow.com/wiki/index.php?title=RC050_5_inch_HDMI_800_x_480_Capacitive_Touch_LCD_Display_for_Raspberry_Pi/_PC/_SONY_PS4" >> " $configFile .tmp"
76- echo " hdmi_force_hotplug=1" >> " $configFile .tmp"
77- echo " max_usb_current=1" >> " $configFile .tmp"
78- echo " hdmi_drive=1" >> " $configFile .tmp"
79- echo " hdmi_group=2" >> " $configFile .tmp"
80- echo " hdmi_mode=1" >> " $configFile .tmp"
81- echo " hdmi_mode=87" >> " $configFile .tmp"
82- echo " hdmi_cvt=800 480 60 6 0 0 0" >> " $configFile .tmp"
83- echo " display_rotate=$display_rotate " >> " $configFile .tmp"
84- echo " framebuffer_width=800" >> " $configFile .tmp"
85- echo " framebuffer_height=480" >> " $configFile .tmp"
86- echo " # for backlight on / off" >> " $configFile .tmp"
87- echo " # gpio-led overlay allows to invert the backlight (echo 0 for on and 1 for off, like backlight blanking)" >> " $configFile .tmp"
88- echo " dtoverlay=gpio-led,gpio=$gpioPin ,label=backlight,active_low=1" >> " $configFile .tmp"
89- # comment dtoverlay=vc4-kms-v3c for raspberrypi4 if active
90- if [ $machine == " raspberrypi4" ]; then
91- if [ $( grep -c " ^\s*dtoverlay=vc4-kms-v3c" " $configFile " ) != 0 ]; then
92- logMessage " disabling dtoverlay=vc4-kms-v3c on Raspberry Pi 4"
93- sed -i ' s/^\s*dtoverlay=vc4-kms-v3c/#dtoverlay=vc4-kms-v3c/g' " $configFile .tmp"
94- rebootNeeded=true
95- fi
96- fi
97- echo " #### end VeTouchDisplay" >> " $configFile .tmp"
98- echo " " >> " $configFile .tmp"
99- # detect changes
100- cmp -s $configFile " $configFile .tmp" > /dev/null
101- if (( $? == 1 )) ; then
102- logMessage " updating config.txt"
103- updateActiveFile " $configFile .tmp" " $configFile "
104- if $thisFileUpdated ; then
105- rebootNeeded=true
106- fi
107- else
108- rm $configFile .tmp
67+ if [ $( grep -c " #### begin VeTouchDisplay" " $configFile " ) == 0 ]; then
68+ logMessage " activating VeTouchDisplay settings in $configFile "
69+
70+ echo " #### begin VeTouchDisplay" >> " $configFile "
71+ echo " # Elecrow RC050 5 inch HDMI 800 x 480 Capacitive Touch LCD Display for Raspberry Pi/ PC/ SONY PS4" >> " $configFile "
72+ echo " # https://www.elecrow.com/wiki/index.php?title=RC050_5_inch_HDMI_800_x_480_Capacitive_Touch_LCD_Display_for_Raspberry_Pi/_PC/_SONY_PS4" >> " $configFile "
73+ echo " hdmi_force_hotplug=1" >> " $configFile "
74+ echo " max_usb_current=1" >> " $configFile "
75+ echo " hdmi_drive=1" >> " $configFile "
76+ echo " hdmi_group=2" >> " $configFile "
77+ echo " hdmi_mode=1" >> " $configFile "
78+ echo " hdmi_mode=87" >> " $configFile "
79+ echo " hdmi_cvt=800 480 60 6 0 0 0" >> " $configFile "
80+ echo " display_rotate=$display_rotate " >> " $configFile "
81+ echo " framebuffer_width=800" >> " $configFile "
82+ echo " framebuffer_height=480" >> " $configFile "
83+ echo " # for backlight on / off" >> " $configFile "
84+ echo " # gpio-led overlay allows to invert the backlight (echo 0 for on and 1 for off, like backlight blanking)" >> " $configFile "
85+ echo " dtoverlay=gpio-led,gpio=$gpioPin ,label=backlight,active_low=1" >> " $configFile "
86+ # comment dtoverlay=vc4-kms-v3c for raspberrypi4 if active
87+ if [ $machine == " raspberrypi4" ]; then
88+ if [ $( grep -c " ^\s*dtoverlay=vc4-kms-v3c" " $configFile " ) != 0 ]; then
89+ logMessage " disabling dtoverlay=vc4-kms-v3c on Raspberry Pi 4"
90+ sed -i ' s/^\s*dtoverlay=vc4-kms-v3c/#dtoverlay=vc4-kms-v3c/g' " $configFile "
91+ rebootNeeded=true
92+ fi
10993 fi
110-
111- # enable screen saver (blanking) from the Venus
112- if [ " $gpioPin " != " " ]; then
113- if [ ! -e " $blankDeviceFile " ] || [ $( grep -c " /sys/class/leds/backlight/brightness" " $blankDeviceFile " ) == 0 ]; then
114- logMessage " setting display blanking to GPIO pin $gpioPin "
115- echo " /sys/class/leds/backlight/brightness" > " $blankDeviceFile "
116- restartGui=true
117- fi
118- fi
119- if [ -e $headlessFlag ]; then
120- logMessage " activating local GUI"
121- rm -f $headlessFlag
122- rebootNeeded=true
94+ echo " #### end VeTouchDisplay" >> " $configFile "
95+ echo " " >> " $configFile "
96+ rebootNeeded=true
97+ fi
98+ # enable screen saver (blanking) from the Venus
99+ if [ " $gpioPin " != " " ]; then
100+ if [ ! -e " $blankDeviceFile " ] || [ $( grep -c " /sys/class/leds/backlight/brightness" " $blankDeviceFile " ) == 0 ]; then
101+ logMessage " setting display blanking to GPIO pin $gpioPin "
102+ echo " /sys/class/leds/backlight/brightness" > " $blankDeviceFile "
103+ restartGui=true
123104 fi
124-
105+ fi
106+ if [ -e $headlessFlag ]; then
107+ logMessage " activating local GUI"
108+ rm -f $headlessFlag
109+ rebootNeeded=true
110+ fi
125111fi
126112
127113# uninstalling - check scriptAction again
128114# if an install step failed package needs to be removed
129115if [ $scriptAction == ' UNINSTALL' ] ; then
130- logMessage " ++ Uninstalling display setup"
131- if [ -e " $blankDeviceFile " ]; then
132- logMessage " disabling display blanking"
133- rm -f " $blankDeviceFile "
134- restartGui=true
135- fi
136- if [ ! -f " /etc/venus/headless" ]; then
137- echo
138- logMessage " DISABLING LOCAL GUI - reverts to console"
139- echo
140- touch " /etc/venus/headless"
141- rebootNeeded=true
142- fi
143- logMessage " restoring previous overlay file"
144- restoreActiveFile " $overlayFile "
116+ logMessage " ++ Uninstalling display setup"
117+ if [ -e " $blankDeviceFile " ]; then
118+ logMessage " disabling display blanking"
119+ rm -f " $blankDeviceFile "
120+ restartGui=true
121+ fi
122+ if [ ! -f " /etc/venus/headless" ]; then
123+ echo
124+ logMessage " DISABLING LOCAL GUI - reverts to console"
125+ echo
126+ touch " /etc/venus/headless"
127+ rebootNeeded=true
128+ fi
129+ logMessage " restoring previous overlay file"
130+ restoreActiveFile " $overlayFile "
145131
146- # remove mods from configFile - do not use restore in case other mods were made manually
147- if [ -f " $configFile " ]; then
148- if [ $( grep -c " #### begin VeTouchDisplay" " $configFile " ) != 0 ]; then
149- sed -i -e ' /#### begin VeTouchDisplay/,/#### end VeTouchDisplay/d' " $configFile "
150- rebootNeeded=true
151- fi
152- fi
132+ # remove mods from configFile - do not use restore in case other mods were made manually
133+ if [ -f " $configFile " ]; then
134+ if [ $( grep -c " #### begin VeTouchDisplay" " $configFile " ) != 0 ]; then
135+ sed -i -e ' /#### begin VeTouchDisplay/,/#### end VeTouchDisplay/d' " $configFile "
136+ rebootNeeded=true
137+ fi
138+ fi
153139fi
154140
155141# thats all folks - SCRIPT EXITS INSIDE THE FUNCTION
0 commit comments