Add a lowpower test for the buttons

Resolves #19
This commit is contained in:
2020-07-05 17:17:25 -07:00
parent 08085c465d
commit 63527bdb03
4 changed files with 104 additions and 5 deletions

View File

@@ -244,6 +244,24 @@ def test_button_fast(context_factory, logger):
assert serial_dev.readline() == b""
def test_button_lowpower(context_factory, logger):
serial_dev, jlink = context_factory("Test/Apps/button_lowpower.bin")
serial_dev.timeout = 0.3
ASSERTED = True
serial_dev.dtr = not ASSERTED
while (line := serial_dev.readline()) is not None and len(line) > 0:
pass
for _ in range(5):
serial_dev.dtr = ASSERTED
press_line = serial_dev.readline()
serial_dev.dtr = not ASSERTED
release_line = serial_dev.readline()
assert press_line == b"up:pressed\r\n"
assert release_line == b"up:released\r\n"
def test_clock(context_factory, logger):
serial_dev, jlink = context_factory("Test/Apps/clock.bin")
EXPECTED_RUNTIME = 10
@@ -325,7 +343,7 @@ def test_lptim(context_factory, logger):
def test_app_lowpower(context_factory, logger):
serial_dev, jlink = context_factory("Application/main.bin", leave_halted=True)
jlink.reset(halt=False)
state0_periods, state1_periods = measure_frequency(10, "D1")
state0_periods, state1_periods = measure_frequency(10, "D0")
num_periods = min(len(state0_periods), len(state1_periods))
periods = [state0_periods[i] + state1_periods[i] for i in range(num_periods)]
freqs = list(map(lambda x: 1 / x, periods))