Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osfv_cli/src/osfv: Integrate power LED in power control #119

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 0 additions & 45 deletions osfv_cli/src/osfv/cli/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,28 +281,6 @@ def power_off(rte, args):
rte.power_off(args.time)


def power_on_ex(rte, args):
power_on(rte, args)
for attempt in range(20):
if check_pwr_led(rte, args) == "high":
print("Power on successful.")
return True
sleep(0.25)
print("Power on failed.")
return False


def power_off_ex(rte, args):
power_off(rte, args)
for attempt in range(20):
if check_pwr_led(rte, args) == "low":
print("Power off successful.")
return True
sleep(0.25)
print("Power off failed.")
return False


def reset(rte, args):
print(f"Pressing reset button...")
rte.reset(args.time)
Expand Down Expand Up @@ -797,15 +775,6 @@ def main():
default=1,
help="Power button press time in seconds (default: 1)",
)
power_on_ex_parser = pwr_subparsers.add_parser(
"on_ex", help="Short power button press, to power on DUT"
)
power_on_ex_parser.add_argument(
"--time",
type=int,
default=1,
help="Power button press time in seconds (default: 1) AND verify if power LED did light up",
)

power_off_parser = pwr_subparsers.add_parser(
"off_ex", help="Long power button press, to power off DUT"
Expand All @@ -816,16 +785,6 @@ def main():
default=6,
help="Power button press time in seconds (default: 6)",
)
power_off_ex_parser = pwr_subparsers.add_parser(
"off",
help="Long power button press, to power off DUT and verify if power LED did turn off",
)
power_off_ex_parser.add_argument(
"--time",
type=int,
default=6,
help="Power button press time in seconds (default: 6)",
)

reset_parser = pwr_subparsers.add_parser(
"reset", help="Reset button press, to reset DUT"
Expand Down Expand Up @@ -1033,10 +992,6 @@ def main():
power_on(rte, args)
elif args.pwr_cmd == "off":
power_off(rte, args)
if args.pwr_cmd == "on_ex":
power_on_ex(rte, args)
elif args.pwr_cmd == "off_ex":
power_off_ex(rte, args)
elif args.pwr_cmd == "reset":
reset(rte, args)
elif args.pwr_cmd == "pwr_led":
Expand Down
19 changes: 17 additions & 2 deletions osfv_cli/src/osfv/libs/rte.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,14 @@ def power_on(self, sleep=1):
power pin in the "low" state. Default is 1 second.
"""
self.gpio_set(self.GPIO_POWER, "low", sleep)
time.sleep(sleep)
if self.dut_data['pwr_ctrl']['power_led'] is True:
for attempt in range(float(sleep) / 0.25):
if self.gpio_get(self.GPIO_PWR_LED) == "high":
return True
time.sleep(0.25)
return False
else:
time.sleep(sleep)

def power_off(self, sleep=6):
"""
Expand All @@ -73,7 +80,15 @@ def power_off(self, sleep=6):
pin in the "low" state. Default is 6 seconds.
"""
self.gpio_set(self.GPIO_POWER, "low", sleep)
time.sleep(sleep)
if self.dut_data['pwr_ctrl']['power_led'] is True:
for attempt in range(float(sleep) / 0.25):
if self.gpio_get(self.GPIO_PWR_LED) == "low":
self.gpio_set(self.GPIO_POWER, "high", 0)
return True
time.sleep(0.25)
return False
else:
time.sleep(sleep)

def reset(self, sleep=1):
"""
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU6.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/APU7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "S5"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/EA-0113.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: false
flashing_power_state: "S5"

disable_wp: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/FW4C.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: false
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/H4-PLUS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: false
flashing_power_state: "G3"

reset_cmos: false
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/MSI PRO Z690-A DDR4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ programmer:
pwr_ctrl:
sonoff: true
relay: false
power_led: false
flashing_power_state: "G3"
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/MSI PRO Z690-A DDR5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ programmer:
pwr_ctrl:
sonoff: true
relay: false
power_led: false
flashing_power_state: "G3"
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/MSI PRO Z790-P WIFI DDR5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ programmer:
pwr_ctrl:
sonoff: true
relay: false
power_led: false
flashing_power_state: "G3"
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/MinnowBoard Turbot B41.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: false
flashing_power_state: "G3"

reset_cmos: false
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/Optiplex 7010.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pwr_ctrl:
sonoff: true
# whether power is controller via on-board RTE relay (required)
relay: false
power_led: false
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/V1210.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/V1410.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/V1610.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP2410.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP2420.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "G3"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP2430.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: false
relay: true
power_led: true
flashing_power_state: "G3"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP3210.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP3230.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ pwr_ctrl:
sonoff: true
# whether power is controller via on-board RTE relay (required)
relay: false
power_led: true
flashing_power_state: "G3"
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP4630.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pwr_ctrl:
sonoff: false
# whether power is controller via on-board RTE relay (required)
relay: true
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP4650.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pwr_ctrl:
sonoff: true
# whether power is controller via on-board RTE relay (required)
relay: false
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP4670.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pwr_ctrl:
sonoff: true
# whether power is controller via on-board RTE relay (required)
relay: false
power_led: true
flashing_power_state: "G3"

# whether CMOS reset is required after flashing (optional - defaults to false)
Expand Down
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP6650.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: true
relay: false
power_led: true
flashing_power_state: "G3"

reset_cmos: true
1 change: 1 addition & 0 deletions osfv_cli/src/osfv/models/VP6670.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ programmer:
pwr_ctrl:
sonoff: true
relay: false
power_led: true
flashing_power_state: "G3"

reset_cmos: true