dotfiles/.local/bin/batteryctl

41 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/bin/bash
# Definitions
threshold_config=/sys/class/power_supply/BAT1/charge_control_end_threshold
print_help() {
echo "Usage: ${0} (get|set) [level]"
echo
echo " get Gets the current battery charging limit"
echo " set Sets the current battery charging limit to the provided level (set to 0 to disable battery charging limit)"
echo
echo "Please note that this script is made for Samsung Galaxy Book Computers and only works with Galaxy Book Extras module loaded and enabled."
exit 1
}
# Check if file is present
if ! ([ -e $threshold_config ]); then
echo "Couldn't find '${threshold_config}': No such file or directory"
echo "Please ensure the concerned module is loaded correctly"
exit 1
fi
# Check parameters
# get
if [ $# -eq 1 ] && [[ $1 == "get" ]]; then
cat $threshold_config
# set (check level option)
elif [ $# -eq 2 ] && [[ $1 == "set" ]] && [ $2 -le 99 ] && [ $2 -ge 0 ]; then
echo $2 | sudo tee $threshold_config
if [ $? == 0 ]; then
echo "Done"
exit 0
else
exit 1
fi
else
print_help
fi