diff --git a/tests/extmod_hardware/machine_Counter.py b/tests/extmod_hardware/machine_Counter.py index 65340ad829ff..93300a9271cf 100644 --- a/tests/extmod_hardware/machine_Counter.py +++ b/tests/extmod_hardware/machine_Counter.py @@ -12,12 +12,16 @@ raise SystemExit -FREQ = 500_000 # 5_000 # Hz +FREQ = 500_000 # 500 # Hz FILTER_NS = 25 # ns -SECONDS = 2 +SECONDS = 1 MATCH = FREQ * SECONDS # 2 seconds counting time # MATCH = 75 - +MATCH_1000 = round(MATCH / 1000 * 1.5) # match margin per thousand +if MATCH_1000 == 0: + MATCH_1000 = 1 + +print("MATCH:", MATCH, "MATCH_1000:", MATCH_1000) # Configure pins based on the target. if "esp32" in sys.platform: @@ -253,7 +257,7 @@ def callback_timer(timer): pass print(counter, "value:", counter.value()) assert counter.value() >= MATCH - assert counter.value() < MATCH + MATCH * 0.5 + assert counter.value() < MATCH + MATCH_1000 print("Ok.") print() counter.deinit() @@ -275,35 +279,35 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() >= MATCH - assert counter.value() < MATCH + MATCH * 0.5 + assert counter.value() < MATCH + MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 100 * 3) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 300) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() < MATCH + 100 * 3: + while counter.value() < MATCH + 300: pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() >= MATCH + 100 * 3 - assert counter.value() < MATCH + 100 * 3 + MATCH * 0.5 + assert counter.value() >= MATCH + 300 + assert counter.value() < MATCH + 300 + MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 100 * 5) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 500) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() < MATCH + 100 * 5: + while counter.value() < MATCH + 500: pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() >= MATCH + 100 * 5 - assert counter.value() < MATCH + 100 * 5 + MATCH * 0.5 + assert counter.value() >= MATCH + 500 + assert counter.value() < MATCH + 500 + MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() @@ -312,15 +316,15 @@ def callback_timer(timer): out2(0) is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 100 * 3) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=MATCH + 300) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() > MATCH + 100 * 3: + while counter.value() > MATCH + 300: pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() <= MATCH + 100 * 3 - assert counter.value() > MATCH + 100 * 3 -MATCH * 0.5 + assert counter.value() <= MATCH + 300 + assert counter.value() > MATCH + 300 - MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() @@ -334,7 +338,7 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() <= MATCH - assert counter.value() > MATCH -MATCH * 0.5 + assert counter.value() > MATCH - MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() @@ -348,7 +352,7 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() <= 0 - assert counter.value() > -MATCH * 0.5 + assert counter.value() > -MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print() @@ -364,7 +368,7 @@ def callback_timer(timer): # print(counter, "value:", counter.value()) # assert is_callback == True # assert counter.value() <= 0 - # assert counter.value() > -MATCH * 0.5 + # assert counter.value() > -MATCH_1000 # assert counter.value() == counter1.value() # print("Ok.") # print() @@ -380,35 +384,35 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() <= -MATCH - assert counter.value() > -(MATCH + MATCH * 0.5) + assert counter.value() > -(MATCH + MATCH_1000) assert counter.value() == counter1.value() print("Ok.") print() is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 100 * 3)) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 300)) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() > -(MATCH + 100 * 3): + while counter.value() > -(MATCH + 300): pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() <= -(MATCH + 100 * 3) - assert counter.value() > -(MATCH + 100 * 3 + MATCH * 0.5) + assert counter.value() <= -(MATCH + 300) + assert counter.value() > -(MATCH + 300 + MATCH_1000) assert counter.value() == counter1.value() print("Ok.") print() is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 100 * 5)) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 500)) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() > -(MATCH + 100 * 5): + while counter.value() > -(MATCH + 500): pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() <= -(MATCH + 100 * 5) - assert counter.value() > -(MATCH + 100 * 5 + MATCH * 0.5) + assert counter.value() <= -(MATCH + 500) + assert counter.value() > -(MATCH + 500 + MATCH_1000) assert counter.value() == counter1.value() print("Ok.") print() @@ -417,15 +421,15 @@ def callback_timer(timer): out2(1) is_callback = False - counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 100 * 3)) + counter.irq(handler=callback_pwm_deinit, trigger=Counter.IRQ_MATCH, value=-(MATCH + 300)) print(counter, "value:", counter.value()) pwm.init(freq=FREQ) - while counter.value() < -(MATCH + 100 * 3): + while counter.value() < -(MATCH + 300): pass print(counter, "value:", counter.value()) assert is_callback == True - assert counter.value() >= -(MATCH + 100 * 3) - assert counter.value() < -(MATCH + 100 * 3 -MATCH * 0.5) + assert counter.value() >= -(MATCH + 300) + assert counter.value() < -(MATCH + 300 - MATCH_1000) assert counter.value() == counter1.value() print("Ok.") print() @@ -439,7 +443,7 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() >= -MATCH - assert counter.value() < -(MATCH -MATCH * 0.5) + assert counter.value() < -(MATCH - MATCH_1000) assert counter.value() == counter1.value() print("Ok.") print() @@ -455,7 +459,7 @@ def callback_timer(timer): print(counter, "value:", counter.value()) assert is_callback == True assert counter.value() >= 0 - assert counter.value() < MATCH * 0.5 + assert counter.value() < MATCH_1000 assert counter.value() == counter1.value() print("Ok.") print()