xref: /aosp_15_r20/external/autotest/autotest_lib/client/bin/temperature.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li#!/usr/bin/env python
2*9c5db199SXin Li# Lint as: python2, python3
3*9c5db199SXin Li
4*9c5db199SXin Lifrom __future__ import absolute_import
5*9c5db199SXin Lifrom __future__ import division
6*9c5db199SXin Lifrom __future__ import print_function
7*9c5db199SXin Li
8*9c5db199SXin Liimport argparse
9*9c5db199SXin Li
10*9c5db199SXin Liargparser = argparse.ArgumentParser(
11*9c5db199SXin Li    description="Get the highest reported board temperature (all sensors) in "
12*9c5db199SXin Li                "Celsius.")
13*9c5db199SXin Li
14*9c5db199SXin Ligroup = argparser.add_mutually_exclusive_group()
15*9c5db199SXin Ligroup.add_argument("-m", "--maximum",
16*9c5db199SXin Li                   action="store_const",
17*9c5db199SXin Li                   const='Maximum',
18*9c5db199SXin Li                   dest="temperature_type",
19*9c5db199SXin Li                   help="Get the highest reported board temperature "
20*9c5db199SXin Li                        "from all sensors in Celsius.")
21*9c5db199SXin Liargs = argparser.add_argument("-v", "--verbose",
22*9c5db199SXin Li                              action="store_true",
23*9c5db199SXin Li                              help="Show temperature type and value.")
24*9c5db199SXin Liargparser.set_defaults(temperature_type='all')
25*9c5db199SXin Liargs = argparser.parse_args()
26*9c5db199SXin Li
27*9c5db199SXin Liimport common
28*9c5db199SXin Lifrom autotest_lib.client.bin import utils
29*9c5db199SXin Li
30*9c5db199SXin LiTEMPERATURE_TYPE = {
31*9c5db199SXin Li    'Maximum': utils.get_current_temperature_max,
32*9c5db199SXin Li}
33*9c5db199SXin Li
34*9c5db199SXin Lidef print_temperature(temperature_type):
35*9c5db199SXin Li    if args.verbose:
36*9c5db199SXin Li        print(temperature_type, end=' ')
37*9c5db199SXin Li    print(TEMPERATURE_TYPE.get(temperature_type)())
38*9c5db199SXin Li
39*9c5db199SXin Liif args.temperature_type == 'all':
40*9c5db199SXin Li    for temperature_type in list(TEMPERATURE_TYPE.keys()):
41*9c5db199SXin Li        print_temperature(temperature_type)
42*9c5db199SXin Lielse:
43*9c5db199SXin Li    print_temperature(args.temperature_type)
44