Exemplo n.º 1
0
        /// <summary>
        /// Converts byte to command and then executes command
        /// </summary>
        /// <param name="receivedCommand"></param>
        public void handleCommand(byte[] receivedCommand)
        {
            int command = (int)receivedCommand[2];

            switch (command)
            {
            // 0 is Start Cameras
            case 0:
            {
                MotionCapture.StartCameras();
                camerasStartedEvent();
                break;
            }

            // 1 is Stop Cameras
            case 1:
            {
                MotionCapture.StopCameras();
                break;
            }

            // 2 is Send Camera Coordinates
            case 2:
            {
                MotionCapture.UpdateCameraList();
                OptitrackCameraList.TransmitListOfCameras();
                break;
            }

            // 3 is Start Treadmill At Fixed Speed
            case 3:
            {
                TreadmillController.SetSpeed((float)BitConverter.ToDouble(receivedCommand, 4));
                break;
            }

            // 4 is Stop Treadmill
            case 4:
            {
                TreadmillController.SetSpeed(0.0f);
                break;
            }

            //8 is toggle feet on/off
            case 8:
            {
                break;
            }

            default:
            {
                System.Diagnostics.Debug.WriteLine("Invalid command received: " + command.ToString());
                break;
            }
            }
        }
Exemplo n.º 2
0
 private void btnTreadmillControl_Click(object sender, EventArgs e)
 {
     if (btnTreadmillControl.Text == "Start Treadmill")
     {
         TreadmillController.SetSerialPortName(comboBoxTreadmillPort.Text);
         TreadmillController.SetSpeed(2.0f);
         btnTreadmillControl.Text = "Stop Treadmill";
     }
     else if (btnTreadmillControl.Text == "Stop Treadmill")
     {
         TreadmillController.SetSpeed(0.0f);
         btnTreadmillControl.Text = "Start Treadmill";
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Constructor
        /// </summary>
        public MainForm()
        {
            InitializeComponent();
            //name thread (useful for debug)
            Thread.CurrentThread.Name = "Main Form Thread";
            //load camera calibration profile
            MotionCapture.LoadProfile("C:\\Users\\mag501\\Documents\\SVN_WorkingCopy\\Stromohab\\stromohab_08\\OptiTrack_Calibrations\\CalibrationFile_020609.cal");
            //register custom events
            OptitrackCommandParser_Server.camerasStartedEvent += new OptitrackCommandParser_Server.CamerasStartedHandler(commandParser_camerasStartedEvent);
            TCPServer.ServerListeningStartedEvent             += new TCPServer.ServerListeningStartedHandler(TCPServer_ServerListeningStartedEvent);
            TCPServer.ClientConnectionAcceptedEvent           += new TCPServer.ClientConnectionAcceptedHandler(TCPServer_ClientConnectionAcceptedEvent);
            //start listening for incoming connections
            TCPServer tcpServer = new TCPServer();

            //enumerate COM ports
            foreach (string portName in System.IO.Ports.SerialPort.GetPortNames())
            {
                comboBoxTreadmillPort.Items.Add(portName);
            }
            comboBoxTreadmillPort.Text = (string)comboBoxTreadmillPort.Items[comboBoxTreadmillPort.Items.Count - 1];

            TreadmillController.SetSerialPortName(comboBoxTreadmillPort.Text);
        }
Exemplo n.º 4
0
 private void btnConnectToTreadmill_Click(object sender, EventArgs e)
 {
     TreadmillController.SetSerialPortName(comboBoxTreadmillPort.Text);
 }