blob: 72a897e6afd022744215e9dbe2275e461a0ccad7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
from test.helpers.syscmd import SysCommand
import unittest
import uuid
import time
class Qbutton(unittest.TestCase):
def __init__(self, testname, testfunc, gpio):
if gpio == "SOPA":
super(Qbutton, self).__init__("buttonSopa")
else:
super(Qbutton, self).__init__("buttonGpio")
self._testMethodDoc = testname
def buttonGpio(self):
print("normal-button-test-using-gpio")
self.fail("failed: GPIO BUTTON FAIL")
def buttonSopa(self):
str_cmd = "i2cset -f -y 1 0x2d 0x40 0x31"
disable_pmic = SysCommand("disable_pmic", str_cmd)
disable_pmic.execute()
# BUG: REPEAT THIS EXECUTION TWICE BECAUSE FIRST TIME IT RETURNS AN ERROR
led_on="echo 1 > /sys/class/leds/red\:usbhost/brightness"
ledon = SysCommand("led_on", led_on)
ledon.execute()
time.sleep(0.1)
disable_pmic.execute()
if disable_pmic.execute() == 0:
str_cmd = "i2cset -f -y 1 0x2d 0x50 0xff"
reset_button = SysCommand("reset_button", str_cmd)
if reset_button.execute() == 0:
str_cmd = "i2cget -f -y 1 0x2d 0x50"
get_button_val = SysCommand("get_button_val", str_cmd)
print("\n\t --> PRESS button for 1 sec (TIMEOUT: 10s) \n")
timeout = 0
while timeout < 20:
if get_button_val.execute() == 0:
get_button_val.execute()
button_value = get_button_val.getOutput()
button_value=button_value.decode('ascii').split("x")
if int(button_value[1]) == 4:
timeout = 20
time.sleep(0.5)
timeout = timeout + 1
if timeout==20 and int(button_value[1]) == 0:
self.fail("failed: timeout exceeded")
else:
timeout = 20
self.fail("failed: not button input")
else:
self.fail("failed: could not complete i2c reset button state")
else:
self.fail("failed: could not complete i2c disable PMIC")
|