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

View File

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