Skip to content

Commit

Permalink
RK3566 ledcontrol: do not overwrite system.cfg on every invocation
Browse files Browse the repository at this point in the history
  • Loading branch information
stolen committed May 12, 2024
1 parent 5cb63cf commit 6e63045
Showing 1 changed file with 19 additions and 62 deletions.
81 changes: 19 additions & 62 deletions packages/hardware/quirks/platforms/RK3566/bin/ledcontrol
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

LED_PATH="/sys/class/leds"
LED_STATUS=$(get_setting led.color)
DEFAULT=green

function led_state() {
echo ${2} >${LED_PATH}/${1}/brightness
Expand All @@ -17,38 +18,17 @@ function led_off() {
led_state amber:charging 0
}

function led_red() {
led_off
led_state red:status $1
}

function led_green() {
led_off
led_state green:power $1
}

function led_amber() {
led_off
led_state amber:charging $1
}

function brightness() {
led_off
case ${1} in
default)
led_green $2
;;
off)
led_off
;;
green)
led_green $2
led_state green:power $2
;;
red)
led_red $2
led_state red:status $2
;;
amber)
led_amber $2
led_state amber:charging $2
;;
esac
}
Expand All @@ -57,74 +37,51 @@ GETBRIGHTNESS=$(get_setting led.brightness)
if [ ! -z "${2}" ]
then
LEDBRIGHTNESS=${2}
elif [ ! -z "${GETBRIGHTNESS}" ]
then
LEDBRIGHTNESS=${GETBRIGHTNESS}
else
LEDBRIGHTNESS=max
set_setting led.brightness max
LEDBRIGHTNESS=${GETBRIGHTNESS:-max}
fi

# on first run (no setting) or on new brightness update settings
if [[ ${LEDBRIGHTNESS} != ${GETBRIGHTNESS} ]]; then
set_setting led.brightness ${LEDBRIGHTNESS}
fi

# expand aliases
case ${LEDBRIGHTNESS} in
max)
LEDBRIGHTNESS=255
set_setting led.brightness max
;;
mid)
LEDBRIGHTNESS=63
set_setting led.brightness mid
;;
min)
LEDBRIGHTNESS=15
set_setting led.brightness min
;;
esac

case ${1} in
green)
led_green ${LEDBRIGHTNESS}
set_setting led.color ${1}
;;
red)
led_red ${LEDBRIGHTNESS}
set_setting led.color ${1}
;;
amber)
led_amber ${LEDBRIGHTNESS}
set_setting led.color ${1}
default)
del_setting led.color
brightness ${DEFAULT} ${LEDBRIGHTNESS}
;;
off)
led_off
green|red|amber|off)
brightness ${1} ${LEDBRIGHTNESS}
set_setting led.color ${1}
;;
discharging)
if [ -n "${LED_STATUS}" ]
then
ledcontrol ${LED_STATUS}
else
led_green ${LEDBRIGHTNESS}
fi
brightness ${LED_STATUS:-${DEFAULT}} ${LEDBRIGHTNESS}
;;
charging)
if [ ! "${LED_STATUS}" = "off" ]
then
led_red ${LEDBRIGHTNESS}
brightness red ${LEDBRIGHTNESS}
fi
;;
default)
del_setting led.color
led_green ${LEDBRIGHTNESS}
;;
poweroff)
led_off
;;
brightness)
COLOR=$(get_setting led.color)
if [ ! -z "${COLOR}" ]
then
led_off
brightness ${COLOR} ${LEDBRIGHTNESS}
fi
brightness ${LED_STATUS:-${DEFAULT}} ${LEDBRIGHTNESS}
;;
list)
cat <<EOF
Expand Down

0 comments on commit 6e63045

Please sign in to comment.