Source code for brainaccess_board.stream
import time
from pylsl import StreamInfo, StreamOutlet
[docs]
class Stimulation:
def __init__(
self, name: str = "BrainAccessMarkers", source_id: str = "BrainAccessMarkers"
) -> None:
"""Initialize LSL marker device.
Parameters
----------
name : str, optional
Name of the LSL stream, by default "BrainAccessMarkers"
source_id : str, optional
Source ID of the LSL stream, by default "BrainAccessMarkers"
"""
self._info = StreamInfo(
name=name,
type="Markers",
channel_count=1,
nominal_srate=0,
channel_format=3, # "string",
source_id=source_id,
)
self._outlet = StreamOutlet(self._info)
time.sleep(1)
[docs]
def annotate(self, msg: str) -> None:
"""Send a marker to the LSL stream
Parameters
----------
msg : str
Marker message to send to the LSL stream.
"""
self._outlet.push_sample([msg])
[docs]
def have_consumers(self) -> bool:
"""Check if there are any consumers connected to the LSL stream
Returns
-------
bool
True if there are consumers connected to the LSL stream, False otherwise.
"""
return self._outlet.have_consumers()