Skip to content

Commit baaddd5

Browse files
committed
Replaced code for config.txt modifications
1 parent 298d42f commit baaddd5

3 files changed

Lines changed: 112 additions & 120 deletions

File tree

changes

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
v 1.4
2+
Replaced code for config.txt modifications
3+
4+
v1.3
5+
No changes
6+
17
v1.2
28
Fix for latest SetupHelper
3-
9+
410
v1.1
5-
first working version, tested on Venus OS 3.13
11+
first working version, tested on Venus OS 3.13
612

713
v1.0
8-
initial version
14+
initial version

setup

Lines changed: 102 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -22,134 +22,120 @@ source "/data/SetupHelper/HelperResources/IncludeHelpers"
2222

2323
#### running manually and OK to proceed - prompt for input
2424
if [ $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
5353
fi
5454
#### installing
5555
if [ $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
125111
fi
126112

127113
# uninstalling - check scriptAction again
128114
# if an install step failed package needs to be removed
129115
if [ $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
153139
fi
154140

155141
# thats all folks - SCRIPT EXITS INSIDE THE FUNCTION

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.3
1+
v1.4

0 commit comments

Comments
 (0)