(command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:INPUT spids:[71]) op: Equal rhs: {(0)} spids: [71] ) ] spids: [71] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Number '$1')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:INPUT spids:[99]) op: Equal rhs: {($ VSub_Number '$1')} spids: [99] ) ] spids: [99] ) ] spids: [16777215 95] ) ] spids: [16777215 104] ) (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)}) (C {(G_CHECK_ROOT_USER)}) (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-CPU_info>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_DEqual left: (arith_expr.ArithWord w:{($ VSub_DollarName '$G_HW_MODEL')}) right: (arith_expr.ArithWord w:{(Lit_Digits 20)}) ) spids: [139 148] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('nNotice: CPU information is not available for VM.') (Lit_Other '\\') (n) ) } ) (command.ControlFlow token:<ControlFlow_Exit exit>) ] spids: [16777215 151] ) ] spids: [16777215 171] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_GOV_CURRENT spids:[179]) op: Equal rhs: {(SQ <Unknown>)} spids: [179] ) ] spids: [179] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:aCPU_CURRENT_FREQ spids:[186]) op: Equal rhs: {(0)} spids: [186] ) ] spids: [186] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:aCPU_MIN_FREQ spids:[190]) op: Equal rhs: {(0)} spids: [190] ) ] spids: [190] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:aCPU_MAX_FREQ spids:[194]) op: Equal rhs: {(0)} spids: [194] ) ] spids: [194] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:aCPU_SCALINGAVAILABLE_FREQ spids:[198]) op: Equal rhs: {(0)} spids: [198] ) ] spids: [198] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_SCALINGSUPPORTED spids:[202]) op: Equal rhs: {(1)} spids: [202] ) ] spids: [202] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FP_CPU_SCALINGAVAILABLE_FREQ spids:[206]) op: Equal rhs: {(SQ </tmp/dietpi-available_cpu_freqs>)} spids: [206] ) ] spids: [206] ) (command.FuncDef name: Obtain_Cpu_Freq body: (command.BraceGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[222]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(nproc)} {(--all)})]) left_token: <Left_CommandSub '$('> spids: [229 233] ) } ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[236]) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_cur_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: aCPU_CURRENT_FREQ index: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) spids: [263] ) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_cur_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [266 272] ) } spids: [263] ) ] spids: [263] ) ] spids: [16777215 259] ) ] spids: [16777215 276] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_min_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: aCPU_MIN_FREQ index: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) spids: [297] ) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_min_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [300 306] ) } spids: [297] ) ] spids: [297] ) ] spids: [16777215 293] ) ] spids: [16777215 310] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_max_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: aCPU_MAX_FREQ index: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) spids: [331] ) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_max_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [334 340] ) } spids: [331] ) ] spids: [331] ) ] spids: [16777215 327] ) ] spids: [16777215 344] ) ] spids: [242 348] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[378]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(nproc)} {(--all)})] ) left_token: <Left_CommandSub '$('> spids: [385 389] ) } ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[392]) ) body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: aCPU_SCALINGAVAILABLE_FREQ index: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) spids: [402] ) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_DollarName '$i') (/cpufreq/scaling_available_frequencies) } ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sed)} {(-e)} {(SQ <'s/[^0-9]//g'>)}) (C {(sed)} {(SQ <'/^$/d'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [405 441] ) } spids: [402] ) ] spids: [402] ) ] spids: [398 445] ) ) ] spids: [16777215 371] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpufreq/mp-cpufreq/cpu_freq_table)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: aCPU_SCALINGAVAILABLE_FREQ index: (arith_expr.ArithWord w:{(Lit_Digits 0)}) spids: [468] ) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(cat)} { ( /sys/devices/system/cpu/cpufreq/mp-cpufreq/cpu_freq_table ) } ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sed)} {(-e)} {(SQ <'s/[^0-9]//g'>)}) (C {(sed)} {(SQ <'/^$/d'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [471 505] ) } spids: [468] ) ] spids: [468] ) ] spids: [453 464] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_SCALINGSUPPORTED spids:[513]) op: Equal rhs: {(0)} spids: [513] ) ] spids: [513] ) ] spids: [509 518] ) ] spids: [215] ) spids: [212 215] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_CURRENT spids:[526]) op: Equal rhs: {(SQ <Unknown>)} spids: [526] ) ] spids: [526] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[532]) op: Equal rhs: {(SQ <Unknown>)} spids: [532] ) ] spids: [532] ) (command.FuncDef name: Obtain_Cpu_Temp body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_CURRENT spids:[547]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(G_OBTAIN_CPU_TEMP)})]) left_token: <Left_CommandSub '$('> spids: [548 550] ) } spids: [547] ) ] spids: [547] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cpu_temp_current_f spids:[556]) op: Equal rhs: {(SQ <Unknown>)} spids: [556] ) ] spids: [554] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cpu_temp_current_f spids:[586]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithBinary op_id: Arith_Star left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 9)}) ) right: (arith_expr.ArithWord w:{(Lit_Digits 5)}) ) right: (arith_expr.ArithWord w:{(Lit_Digits 32)}) ) spids: [587 608] ) } spids: [586] ) ] spids: [586] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_GreatEqual left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 70)}) ) spids: [613 622] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[629]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[91mWarning: ') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f | Reducing the life of your device.") (Lit_Other '\\') ('e[0m') ) } spids: [629] ) ] spids: [629] ) ] spids: [16777215 625] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_GreatEqual left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 60)}) ) spids: [645 654] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[661]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[38;5;202m') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[90m | Running hot, not recommended.') (Lit_Other '\\') ('e[0m') ) } spids: [661] ) ] spids: [661] ) ] spids: [643 657] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_GreatEqual left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 50)}) ) spids: [679 688] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[695]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[93m') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m | Running warm, but safe.') (Lit_Other '\\') ('e[0m') ) } spids: [695] ) ] spids: [695] ) ] spids: [677 691] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_GreatEqual left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 40)}) ) spids: [715 724] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[731]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[92m') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('e[90m | Optimal temperature.') (Lit_Other '\\') ('e[0m') ) } spids: [731] ) ] spids: [731] ) ] spids: [713 727] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_GreatEqual left: (arith_expr.ArithWord w: {($ VSub_DollarName '$CPU_TEMP_CURRENT')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 30)}) ) spids: [751 760] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[767]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[96m') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('e[90m | Cool runnings.') (Lit_Other '\\') ('e[0m') ) } spids: [767] ) ] spids: [767] ) ] spids: [749 763] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[789]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[96m') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_DollarName '$cpu_temp_current_f') ("'f ") (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m| Who put me in the freezer!') (Lit_Other '\\') ('e[0m') ) } spids: [789] ) ] spids: [789] ) ] spids: [785 807] ) ] spids: [16777215 582] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_TEMP_PRINT spids:[815]) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[91mKERNELERR: ') ($ VSub_DollarName '$CPU_TEMP_CURRENT') ("'c") (Lit_Other '\\') ('e[0m') ) } spids: [815] ) ] spids: [815] ) ] spids: [811 827] ) ] spids: [543] ) spids: [540 543] ) (command.FuncDef name: Obtain_Cpu_Gov body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CPU_GOV_CURRENT spids:[857]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)} ) ] ) left_token: <Left_CommandSub '$('> spids: [858 862] ) } spids: [857] ) ] spids: [857] ) ] spids: [16777215 853] ) ] spids: [16777215 866] ) ] spids: [838] ) spids: [835 838] ) (command.FuncDef name: Print_Stats body: (command.BraceGroup children: [ (C {(echo)} {(-e)} {(DQ )}) (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ( 'e[38;5;154m\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80' ) (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n ') (Lit_Other '\\') ('e[1mDietPi CPU Info') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') (n) (Lit_Other '\\') ('e[90m Use dietpi-config to change CPU / performance options') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n ') (Lit_Other '\\') ( 'e[38;5;154m\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80' ) (Lit_Other '\\') ('e[0m') ) } ) (C {(echo)} {(-e)} { (DQ (' Architecture ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_CommandSub '$('> spids: [935 939] ) ) } ) (C {(echo)} {(-e)} { (DQ (' Temp ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') ($ VSub_DollarName '$CPU_TEMP_PRINT') ) } ) (C {(echo)} {(-e)} { (DQ (' Governor ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') ($ VSub_DollarName '$CPU_GOV_CURRENT') ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$CPU_GOV_CURRENT'))} {(Lit_Other '=')} {(DQ (ondemand))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$CPU_GOV_CURRENT'))} {(Lit_Other '=')} {(DQ (conservative))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} { (DQ (' Throttle up ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(cat)} {(/DietPi/dietpi.txt)}) (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_USAGE_THROTTLE_UP='>)}) (C {(sed)} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1030 1052] ) ('% CPU usage') ) } ) ] spids: [16777215 1016] ) ] spids: [16777215 1058] ) (C {(echo)} {(-e)} {(DQ )}) (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[90m Current Freq Min Freq Max Freq') (Lit_Other '\\') ('e[0m') ) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[1090]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name aCPU_CURRENT_FREQ> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [1097 1103] ) } ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[1106]) ) body: (command.DoGroup children: [ (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[90mCPU') ($ VSub_DollarName '$i') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name aCPU_CURRENT_FREQ> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) spids: [1133 1138] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1000)}) ) spids: [1131 1145] ) (' MHz ') (Lit_Other '\\') ('e[90m') (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name aCPU_MIN_FREQ> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) spids: [1151 1156] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1000)}) ) spids: [1149 1163] ) (' MHz ') (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name aCPU_MAX_FREQ> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) spids: [1167 1172] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1000)}) ) spids: [1165 1179] ) (' MHz') (Lit_Other '\\') ('e[0m') ) } ) ] spids: [1112 1187] ) ) (C {(echo)} {(-e)} {(DQ )}) (C {(G_DIETPI-NOTIFY)} {(2)} { (SQ < 'CPU current frequency, may be affected by this script, due to the processing required to run it.\\n' > ) } ) ] spids: [877] ) spids: [874 877] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithBinary op_id: Arith_DEqual left: (arith_expr.ArithWord w:{($ VSub_DollarName '$INPUT')}) right: (arith_expr.ArithWord w:{(Lit_Digits 2)}) ) spids: [1241 1250] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(Obtain_Cpu_Freq)}) (command.SimpleCommand words: [{(rm)} {(DQ ($ VSub_DollarName '$FP_CPU_SCALINGAVAILABLE_FREQ'))}] redirects: [(redir.Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ VSub_DollarName '$CPU_SCALINGSUPPORTED')}) spids: [1279 1284] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[1294]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name aCPU_SCALINGAVAILABLE_FREQ> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [1301 1307] ) } ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[1310]) ) body: (command.DoGroup children: [ (command.SimpleCommand words: [ {(echo)} {(-e)} { (DQ (word_part.BracedVarSub token: <VSub_Name aCPU_SCALINGAVAILABLE_FREQ> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) spids: [1325 1330] ) ) } ] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$FP_CPU_SCALINGAVAILABLE_FREQ'))} ) ] ) ] spids: [1316 1341] ) ) (C {(sort)} {(-u)} {(-n)} {(DQ ($ VSub_DollarName '$FP_CPU_SCALINGAVAILABLE_FREQ'))} {(-o)} {(DQ ($ VSub_DollarName '$FP_CPU_SCALINGAVAILABLE_FREQ'))} ) ] spids: [16777215 1287] ) ] spids: [16777215 1367] ) ] spids: [16777215 1253] ) ] else_action: [ (C {(Obtain_Cpu_Freq)}) (C {(Obtain_Cpu_Temp)}) (C {(Obtain_Cpu_Gov)}) (C {(Print_Stats)}) ] spids: [1375 1397] ) (C {(unset)} {(aCPU_CURRENT_FREQ)}) (C {(unset)} {(aCPU_MIN_FREQ)}) (C {(unset)} {(aCPU_MAX_FREQ)}) (C {(unset)} {(aCPU_SCALINGAVAILABLE_FREQ)}) (C {(unset)} {(afp_temperature)}) (command.ControlFlow token:<ControlFlow_Exit exit>) ] spids: [3] )