From 2494d24dde4d9c5641ef47688b5f0f7c26420195 Mon Sep 17 00:00:00 2001 From: Quad Date: Thu, 20 May 2021 10:46:14 +0200 Subject: [PATCH] Polish up TDP script --- tdp | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/tdp b/tdp index 571017e..ec9009e 100755 --- a/tdp +++ b/tdp @@ -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}" ;;