Polish up TDP script

This commit is contained in:
Quad 2021-05-20 10:46:14 +02:00
parent 877fb21eaa
commit 2494d24dde
1 changed files with 22 additions and 14 deletions

36
tdp
View File

@ -10,26 +10,29 @@ Usage:
${command_name} COMMAND [ARGUMENTS]
Command:
check [ARG] Checks current TDP and prints it in watts
set WATT Setts TDP to the requested number in watts
check [ARGS] Checks current TDP and prints it in watts
set WATTS [ARGS] Setts TDP to the requested number in watts
help Prints this help text
COMMAND help Prints help for specified command"
COMMAND --help Prints help for specified command"
check_help_text="${command_name} check [ARG]
Example:
${command_name} check --detail
${command_name} c -d
Arguments:
--detail, -d Prints PL2 as well as PL1
--help Prints this help text"
set_help_text="${command_name} set WATT
set_help_text="${command_name} set WATT [ARGUMENTS]
Example:
${command_name} set 15
${command_name} set 10 --detail
${command_name} s 10 -d
Arguments:
--detail, -d Prints PL2 as well as PL1
--help Prints this help text"
print_help () {
@ -54,7 +57,7 @@ print_unknown () {
# Retrieves current TDP and prints it
check_tdp () {
if [ "$1" == "--detail" ] || [ "$1" == "-d" ]; then
if [[ "$@" == *"--detail"* ]] || [[ "$@" == *"-d"* ]]; then
echo "Placeholder"
echo "Extra placeholder"
@ -72,17 +75,20 @@ check_tdp () {
# Sets TDP to number provided as first argument
set_tdp () {
if [ -z "$1" ]; then
print_unknown
echo "Please specify wattage"
exit
elif [ "$1" == "--help" ]; then
print_help "set"
exit
elif ! [[ $1 =~ ^-?[0-9]+$ ]]; then
echo "TDP is not a number or argument unknown!)"
print_unknown
exit
fi
if ! [[ $1 =~ ^-?[0-9]+$ ]]; then
echo "TDP must be a plain number!)"
elif [[ ! "$@" == *"--force"* ]] || [ $1 -lt 8 ] || [ $1 -gt 28 ]; then
echo "TDP too high or low, should be between 8W and 28W"
if [ $1 -lt 5 ] || [ $1 -gt 30 ]; then
echo "TDP too high or low, should be between 5W and 30W"
echo "This is a sanity limit to prevent you from throttling to a near unusable state"
else
#PL1
local watts=$1
@ -94,18 +100,20 @@ set_tdp () {
echo $uwatts
echo "PL1 is now ${watts}W (Long-term)"
echo "PL2 is now ${watts2}W (Short-term)"
if [[ "$@" == *"--detail"* ]] || [[ "$@" == *"-d"* ]]; then
echo "PL2 is now ${watts2}W (Short-term)"
fi
fi
}
# Command handler
case $1 in
"check")
"check" | "c")
check_tdp "${@:2}"
;;
"set")
"set" | "s")
set_tdp "${@:2}"
;;