From d6203341ca4d3312b3d065e20680cc91a758857e Mon Sep 17 00:00:00 2001 From: enriquezgarc Date: Tue, 16 Apr 2024 10:38:30 +0200 Subject: [PATCH] tests/psoc6/hw_ext/pwm.py: Refactor for REPL timing performance. Signed-off-by: enriquezgarc --- tests/psoc6/hw_ext/pwm.py | 44 +++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/tests/psoc6/hw_ext/pwm.py b/tests/psoc6/hw_ext/pwm.py index 18c9da71b0a3c..b2f96c1b35729 100644 --- a/tests/psoc6/hw_ext/pwm.py +++ b/tests/psoc6/hw_ext/pwm.py @@ -31,25 +31,43 @@ def _print_val(params_list, print_list=False): print(f"{params[0]} = {params[1]}") -def measure_signal(): - global start_time - if input_pin.value() == 1: - start_time = time.ticks_us() - wait_for_low() - return - measure_signal() +# def measure_signal_recursive(): +# global start_time +# if input_pin.value() == 1: +# start_time = time.ticks_us() +# wait_for_low() +# return +# measure_signal_recursive() + + +# def wait_for_low(): +# global low_signal_start_time +# while input_pin.value(): +# pass +# low_signal_start_time = time.ticks_us() +# wait_for_high() -def wait_for_low(): +# def wait_for_high(): +# global high_signal_start_time +# while input_pin.value() < 1: +# pass +# high_signal_start_time = time.ticks_us() + + +def measure_signal(): + global start_time global low_signal_start_time + global high_signal_start_time + + while input_pin.value() == 0: + pass + start_time = time.ticks_us() + # wait for low while input_pin.value(): pass low_signal_start_time = time.ticks_us() - wait_for_high() - - -def wait_for_high(): - global high_signal_start_time + # wait for high while input_pin.value() < 1: pass high_signal_start_time = time.ticks_us()