Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <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;
                }));
            }
        }