diff --git a/src/npc_sync/sync.py b/src/npc_sync/sync.py index 45c1c92..6a7de5e 100644 --- a/src/npc_sync/sync.py +++ b/src/npc_sync/sync.py @@ -196,7 +196,8 @@ class SyncDataset: """ - + blocks_using_diode: tuple[bool, ...] + def __init__(self, path) -> None: if isinstance(path, self.__class__): self = path @@ -1131,6 +1132,7 @@ def is_mismatch(edges, block) -> bool: ) frame_display_time_blocks: list[npt.NDArray[np.floating]] = [] + blocks_using_diode = [True] * len(vsync_times_in_blocks) for block_idx, (vsyncs, rising, falling) in enumerate( zip( vsync_times_in_blocks, @@ -1185,6 +1187,7 @@ def short_interval_indices(diode_flips): frame_display_time_blocks.append( self.constant_lag_frame_display_time_blocks[block_idx] ) + blocks_using_diode[block_idx] = False continue def score(diode_flips, vsyncs) -> float: @@ -1236,6 +1239,7 @@ def median_diff(diode_flips, vsyncs) -> float: frame_display_time_blocks.append( self.constant_lag_frame_display_time_blocks[block_idx] ) + blocks_using_diode[block_idx] = False aborted = True break logger.debug("Missing first diode flip") @@ -1294,6 +1298,7 @@ def median_diff(diode_flips, vsyncs) -> float: frame_display_time_blocks.append( self.constant_lag_frame_display_time_blocks[block_idx] ) + blocks_using_diode[block_idx] = False continue logger.exception(error_text) import matplotlib.pyplot as plt @@ -1356,7 +1361,8 @@ def median_diff(diode_flips, vsyncs) -> float: frametimes = diode_flips + MONITOR_CENTER_REFRESH_TIME frame_display_time_blocks.append(frametimes) - assert len(frame_display_time_blocks) == len(self.vsync_times_in_blocks) + assert len(frame_display_time_blocks) == len(self.vsync_times_in_blocks) == len(blocks_using_diode) + self.blocks_using_diode = tuple(blocks_using_diode) return tuple(frame_display_time_blocks) @property