/// <summary> /// Shut down the board data reader /// </summary> private async Task ShutDownBoard() { if (LslBroadcast != null) { await LslBroadcast.StopLslBroadcastAsync(); LslBroadcast.Log -= OnLog; await BroadcastStatus.StopDataBroadcastServerAsync(); } await BrainflowBoard.StopBoardDataReaderAsync(); BrainflowBoard.Log -= OnLog; BrainflowBoard.ConnectToBoard -= OnConnectToBoard; BrainflowBoard.BoardReadData -= OnBrainflowBoardReadData; BrainflowBoard = null; LslBroadcast = null; }
/// <summary> /// Connected to the board, startup the LSL broadcast /// </summary> private async void OnConnectToBoard(object sender, ConnectToBoardEventArgs e) { if (LslBroadcast == null && BrainflowBoard != null) { LslBroadcast = new LSLDataBroadcast(); LslBroadcast.Log += OnLog; await LslBroadcast.StartLslBroadcastAsyc(e.BoardId, e.SampleRate); await BroadcastStatus.StartDataBroadcastServerAsync(e.BoardId, e.SampleRate); BrainflowBoard.BoardReadData += OnBrainflowBoardReadData; // update the UI groupBoxBoard.Invoke(new Action(() => { pictureBoxStatus.Image = Properties.Resources.greenLight; buttonStart.Text = Properties.Resources.StopServer; buttonConfigureBoard.Enabled = true; })); } }