コード例 #1
0
        public SignalsVisualization()
        {
            AssetManager.Instance.Bridge = new Bridge();
            gsrAsset = RealTimeArousalDetectionUsingGSRAsset.Instance;
            settings = (RealTimeArousalDetectionAssetSettings)gsrAsset.Settings;
            logger   = (ILog)AssetManager.Instance.Bridge;

            if ("BackgroundMode".Equals(settings.FormMode))
            {
                this.WindowState = FormWindowState.Minimized;
                Load            += new EventHandler(Form_Load);
            }
            else
            {
                InitializeComponent();
                lblErrors.Text = "";

                StartGSRDevice();
                if (DoesChartDisplay())
                {
                    GSRChartDisplay();
                    timer1.Tick += timer1_Tick;
                }

                StartSocket();
                lblSampleRateValue.Text    = !"TestWithoutDevice".Equals(settings.ApplicationMode) ? gsrAsset.GetSignalSampleRate().ToString() : "0";
                lblSocketAddressValue.Text = settings.SocketIPAddress + ":" + settings.SocketPort;
                lblTimeWindowValue.Text    = settings.DefaultTimeWindow + " s";
                btnSocketLight.BackColor   = Color.GreenYellow;

                this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.gsrChart_MouseWheel);
            }
        }
コード例 #2
0
        public void SetTimeWindow_SetNewValue_ReturnTrue()
        {
            //arrange
            RealTimeArousalDetectionUsingGSRAsset gsrHandler = new RealTimeArousalDetectionUsingGSRAsset();

            //act
            int newMaxArousalLevel = gsrHandler.SetTimeWindow(15);

            //assert
            Assert.AreEqual(gsrHandler.GetGSRSignalProcessor().DefaultTimeWindow, 15);
        }
コード例 #3
0
        public void SetTimeWindow_SetNewValue_ReturnFalse()
        {
            //arrange
            RealTimeArousalDetectionUsingGSRAsset gsrHandler = new RealTimeArousalDetectionUsingGSRAsset();
            double oldTimeWindow = gsrHandler.GetGSRSignalProcessor().DefaultTimeWindow;

            //act
            int newMaxArousalLevel = gsrHandler.SetTimeWindow(oldTimeWindow + 10);

            //assert
            Assert.AreNotEqual(gsrHandler.GetGSRSignalProcessor().DefaultTimeWindow, oldTimeWindow);
        }
コード例 #4
0
        public void StartListening()
        {
            settings = RealTimeArousalDetectionAssetSettings.Instance;
            logger   = (ILog)AssetManager.Instance.Bridge;
            try
            {
                // Set the TcpListener
                Int32     port      = settings.SocketPort;
                IPAddress localAddr = IPAddress.Parse(settings.SocketIPAddress);
                server = new TcpListener(localAddr, port);

                // Start listening for client requests.
                server.Start();
                isTcpListenerActive = true;

                RealTimeArousalDetectionUsingGSRAsset gsrAsset = RealTimeArousalDetectionUsingGSRAsset.Instance;

                // Buffer for reading data
                Byte[] bytes = new Byte[256];
                String data  = null;

                // Enter the listening loop.
                while (true && isTcpListenerActive)
                {
                    // You could also user server.AcceptSocket() here.
                    client = server.AcceptTcpClient();

                    data = null;

                    // Get a stream object for reading and writing
                    NetworkStream stream = client.GetStream();

                    int i;

                    // Loop to receive all the data sent by the client.
                    while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
                    {
                        // Translate data bytes to a ASCII string.
                        data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);

                        StringBuilder response = new StringBuilder();
                        response.Append("Received at ");
                        response.Append(DateTime.Now.ToString());
                        response.Append("\r\n");
                        response.Append(data);

                        //Start Of Calibration Period
                        if (data.Equals("SOCP"))
                        {
                            response.Append("\r\n");
                            string result = gsrAsset.StartOfCalibrationPeriod();
                            response.Append(result);
                        }

                        //End Of Calibration Period
                        if (data.Equals("EOCP"))
                        {
                            response.Append("\r\n");
                            string result = gsrAsset.EndOfCalibrationPeriod();
                            response.Append(result);
                        }

                        if (data.Equals("GET_EDA"))
                        {
                            response.Append("\r\n");
                            string result = gsrAsset.GetEDA();
                            response.Append(result);
                        }

                        //End Of Measurement
                        if (data.Equals("EOM"))
                        {
                            response.Append("\r\n");
                            string result = gsrAsset.EndOfMeasurement();
                            response.Append(result);
                        }

                        byte[] msg = System.Text.Encoding.ASCII.GetBytes(response.ToString());

                        // Send back a response.
                        stream.Write(msg, 0, msg.Length);
                    }

                    // Shutdown and end connection
                    client.Close();
                }
            }
            catch (SocketException e)
            {
                isTcpListenerActive = false;
                logger.Log(Severity.Error, "SocketException: " + e);
            }
            finally
            {
                // Stop listening for new clients.
                isTcpListenerActive = false;
                if (client != null)
                {
                    client.Close();
                }
                server.Stop();
            }
        }