User Tools

Site Tools

한국어

comfilepi:controlling_the_lcd_backlight:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
comfilepi:controlling_the_lcd_backlight:index [2023/09/14 12:56]
COMFILE Technology [Synchronizing the Backlight with the X11 Screensaver]
comfilepi:controlling_the_lcd_backlight:index [2023/09/19 14:33]
COMFILE Technology [Bash Script Implementation]
Line 264: Line 264:
 #!/bin/bash #!/bin/bash
  
-export DISPLAY=":​0.0"​ +PWM_PIN=31 
- +PIN=34
-PIN=34 ​  # CPi-A/​B/​F/​S +
-#​PIN=44 ​ # CPi-C+
  
 +# Set pins as output
 +raspi-gpio set $PWM_PIN op
 raspi-gpio set $PIN op raspi-gpio set $PIN op
 +
 +# Start with both pins HIGH.  If either of the
 +# pins go LOW, the backlight will turn off.
 +raspi-gpio set $PWM_PIN dh
 +raspi-gpio set $PIN dh
 +
 +# Get the current state
 +CURRENT_STATUS=$(xset q | grep "​Monitor is" | awk '​{print $3}')
 +LAST_STATUS=$CURRENT_STATUS
 +
 +logger -p info -t "​backlight_service"​ -s "​Monitor is $CURRENT_STATUS"​
  
 # Loop indefinitely updating backlight in sync with monitor status # Loop indefinitely updating backlight in sync with monitor status
Line 275: Line 286:
  
   # Check the current monitor status   # Check the current monitor status
-  ​current_status=$(xset q | grep "​Monitor is" | awk '​{print $3}')+  ​CURRENT_STATUS=$(xset q | grep "​Monitor is" | awk '​{print $3}')
  
-  # Control backlight pin according to the monitor status +  ​# Only turn the backlight on/off if the Monitor state has changed 
-  if [ "$current_status" = "​On"​ ]; then +  if [ "​$CURRENT_STATUS"​ != "​$LAST_STATUS"​ ]; then 
-    raspi-gpio set $PIN dh +    logger -p info -t "​backlight_service"​ -s "​Monitor is $CURRENT_STATUS"​ 
-  else + 
-    raspi-gpio set $PIN dl+    ​# Control backlight pin according to the monitor status 
 +    if [ "$CURRENT_STATUS" = "​On"​ ]; then 
 +      ​logger -p info -t "​backlight_service"​ -s "​Turning Backlight On" 
 +      ​raspi-gpio set $PIN dh 
 +    else 
 +      ​logger -p info -t "​backlight_service"​ -s "​Turning Backlight Off" 
 +      ​raspi-gpio set $PIN dl 
 +    fi 
 +    LAST_STATUS=$CURRENT_STATUS
   fi   fi
  
Line 295: Line 314:
  
 Add the line ''​@xset dpms 0 0 {timeout_in_seconds}''​ to the //​autostart//​ file to set the timeout each time the desktop loads. Add the line ''​@xset dpms 0 0 {timeout_in_seconds}''​ to the //​autostart//​ file to set the timeout each time the desktop loads.
 +
 +Run ''​journalctl -t backlight_service -r''​ to view the log entries.
  
  
comfilepi/controlling_the_lcd_backlight/index.txt · Last modified: 2023/12/06 10:00 by COMFILE Technology