Fix led is_done

This commit is contained in:
CPD 2025-02-13 12:37:22 +01:00
parent 2631898c35
commit 91da580591
2 changed files with 7 additions and 5 deletions

View File

@ -109,9 +109,12 @@ class LedScript:
bool
Whether <t> is past the script length
"""
if t is None: t = time.time()
return t >= self.script["dtsum"][-1]
dt = self.get_dt(t)
return dt >= self.script["dtsum"][-1]
def get_dt(self, t: None|float=None) -> float:
if t is None: t = time.time()
return t - self.t_start
def get_state(self, t: None|float=None) -> int:
"""
@ -129,9 +132,7 @@ class LedScript:
int
LED Intensity [0,100]
"""
if t is None:
t = time.time()
dt = t - self.t_start
dt = self.get_dt(t)
return self.get_relative_state(dt)
def get_relative_state(self, dt: float) -> int:

View File

@ -134,6 +134,7 @@ def measure(
t_iter_start = time.time()
# 5) update LED
if stop_on_script_end and led_script.is_done(t_iter_start):
if verbose: print("Reached script end")
break
new_led_val = led_script.get_state(t_iter_start)
if new_led_val != led_val: