Skip to content

Commit 4e4f90c

Browse files
committed
fix: channel auto-detect stabilisation + total_samples_written cursor for reliable chunk reads
1 parent 958c863 commit 4e4f90c

3 files changed

Lines changed: 363 additions & 120 deletions

File tree

examples/joint_angle_regression/lsl_utils.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import time
21
import threading
2+
import time
33
from collections import deque
44

55
_LSL_IMPORT_ERROR = None
66
try:
7-
from pylsl import StreamInlet, StreamInfo, StreamOutlet, local_clock
7+
from pylsl import StreamInfo, StreamInlet, StreamOutlet, local_clock
8+
89
# pylsl API changed: resolve_stream was renamed in some versions
910
try:
1011
from pylsl import resolve_stream as _resolve_stream
@@ -34,11 +35,20 @@
3435

3536

3637
ANGLE_KEYS = [
37-
"thumb_cmc_mcp", "thumb_ip",
38-
"index_mcp", "index_pip", "index_dip",
39-
"middle_mcp", "middle_pip", "middle_dip",
40-
"ring_mcp", "ring_pip", "ring_dip",
41-
"pinky_mcp", "pinky_pip", "pinky_dip",
38+
"thumb_cmc_mcp",
39+
"thumb_ip",
40+
"index_mcp",
41+
"index_pip",
42+
"index_dip",
43+
"middle_mcp",
44+
"middle_pip",
45+
"middle_dip",
46+
"ring_mcp",
47+
"ring_pip",
48+
"ring_dip",
49+
"pinky_mcp",
50+
"pinky_pip",
51+
"pinky_dip",
4252
]
4353

4454
TARGET_SPECS = {
@@ -60,7 +70,9 @@ def resolve_lsl_stream(name=None, stream_type=None, timeout=5.0):
6070
if not HAS_LSL:
6171
raise RuntimeError(f"pylsl import failed: {_LSL_IMPORT_ERROR!r}")
6272
if resolve_stream is None:
63-
raise RuntimeError("pylsl resolve function not available (resolve_stream/resolve_byprop missing).")
73+
raise RuntimeError(
74+
"pylsl resolve function not available (resolve_stream/resolve_byprop missing)."
75+
)
6476
if name:
6577
streams = resolve_stream("name", name, timeout=timeout)
6678
elif stream_type:

0 commit comments

Comments
 (0)