/// <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; } } }
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"; } }
/// <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); }
private void btnConnectToTreadmill_Click(object sender, EventArgs e) { TreadmillController.SetSerialPortName(comboBoxTreadmillPort.Text); }