Skip to content

Commit

Permalink
Update machine_Counter.py
Browse files Browse the repository at this point in the history
  • Loading branch information
IhorNehrutsa committed Jan 31, 2025
1 parent c28f580 commit 9e2ed86
Showing 1 changed file with 39 additions and 35 deletions.
74 changes: 39 additions & 35 deletions tests/extmod_hardware/machine_Counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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()
Expand Down

0 comments on commit 9e2ed86

Please sign in to comment.