public MainForm() { this.InitializeComponent(); this.StatusLabel.Text = ""; this.device = new Device("device", 0); this.downloadDevice = new Device("download device", 0); this.digitalIo = new PeakDigitalIo("digital IO", 0); this.digitalIo.OnInputChange = new PeakDigitalIo.InputChangeHandler(this.DigitalIoChangeHandler); this.analogIo = new PeakAnalogIo("analog IO", 0); this.encoder = new KublerRotaryEncoder("encoder", 0); this.motor = new ElmoWhistleMotor("motor", 0); this.motor.OnInputChange = new ElmoWhistleMotor.InputChangeHandler(this.MotorInputChangeHandler); this.camera = new UlcRoboticsCamera("camera", 0); this.gps = new UlcRoboticsGps("gps", 0); this.nicbotBody = new UlcRoboticsNicbotBody("nicbot body", 0); this.nicbotWheel = new UlcRoboticsNicbotWheel("nicbot wheel", 0); this.rs232 = new UlcRoboticsRs232("rs232", 0); this.rs232.OnSerialReceive = new UlcRoboticsRs232.SerialReceiveHandler(this.Rs232ReceiveHandler); this.rs232RxQueue = new Queue(); this.busInterface = new BusInterface(); this.busInterface.AddDevice(this.device); this.busInterface.AddDevice(this.downloadDevice); this.busInterface.AddDevice(this.digitalIo); this.busInterface.AddDevice(this.analogIo); this.busInterface.AddDevice(this.encoder); this.busInterface.AddDevice(this.motor); this.busInterface.AddDevice(this.camera); this.busInterface.AddDevice(this.gps); this.busInterface.AddDevice(this.nicbotBody); this.busInterface.AddDevice(this.nicbotWheel); this.busInterface.AddDevice(this.rs232); Array interfaces = Enum.GetValues(typeof(BusInterfaces)); this.BusInterfaceComboBox.Items.Clear(); for (IEnumerator i = interfaces.GetEnumerator(); i.MoveNext(); ) { this.BusInterfaceComboBox.Items.Add(i.Current); } this.BusInterfaceComboBox.SelectedIndex = 0; this.BaudComboBox.Items.Clear(); this.BaudComboBox.Items.Add("10000"); this.BaudComboBox.Items.Add("20000"); this.BaudComboBox.Items.Add("50000"); this.BaudComboBox.Items.Add("100000"); this.BaudComboBox.Items.Add("125000"); this.BaudComboBox.Items.Add("250000"); this.BaudComboBox.Items.Add("500000"); this.BaudComboBox.Items.Add("1000000"); this.BaudComboBox.SelectedIndex = 5; this.DigitalIoBaudComboBox.Items.Clear(); this.DigitalIoBaudComboBox.Items.Add("1000000"); this.DigitalIoBaudComboBox.Items.Add("800000"); this.DigitalIoBaudComboBox.Items.Add("500000"); this.DigitalIoBaudComboBox.Items.Add("250000"); this.DigitalIoBaudComboBox.Items.Add("125000"); this.DigitalIoBaudComboBox.Items.Add("50000"); this.DigitalIoBaudComboBox.SelectedIndex = 5; this.AnalogIoBaudComboBox.Items.Clear(); this.AnalogIoBaudComboBox.Items.Add("1000000"); this.AnalogIoBaudComboBox.Items.Add("800000"); this.AnalogIoBaudComboBox.Items.Add("500000"); this.AnalogIoBaudComboBox.Items.Add("250000"); this.AnalogIoBaudComboBox.Items.Add("125000"); this.AnalogIoBaudComboBox.Items.Add("50000"); this.AnalogIoBaudComboBox.SelectedIndex = 5; this.EncoderBaudComboBox.Items.Clear(); this.EncoderBaudComboBox.Items.Add("10000"); this.EncoderBaudComboBox.Items.Add("20000"); this.EncoderBaudComboBox.Items.Add("50000"); this.EncoderBaudComboBox.Items.Add("100000"); this.EncoderBaudComboBox.Items.Add("125000"); this.EncoderBaudComboBox.Items.Add("250000"); this.EncoderBaudComboBox.Items.Add("500000"); this.EncoderBaudComboBox.Items.Add("1000000"); this.EncoderBaudComboBox.SelectedIndex = 6; this.MotorModeComboBox.SelectedIndex = 0; this.CameraBaudComboBox.Items.Clear(); this.CameraBaudComboBox.Items.Add("10000"); this.CameraBaudComboBox.Items.Add("20000"); this.CameraBaudComboBox.Items.Add("50000"); this.CameraBaudComboBox.Items.Add("125000"); this.CameraBaudComboBox.Items.Add("250000"); this.CameraBaudComboBox.Items.Add("500000"); this.CameraBaudComboBox.Items.Add("1000000"); this.CameraBaudComboBox.SelectedIndex = 5; this.GpsBaudComboBox.Items.Clear(); this.GpsBaudComboBox.Items.Add("10000"); this.GpsBaudComboBox.Items.Add("20000"); this.GpsBaudComboBox.Items.Add("50000"); this.GpsBaudComboBox.Items.Add("125000"); this.GpsBaudComboBox.Items.Add("250000"); this.GpsBaudComboBox.Items.Add("500000"); this.GpsBaudComboBox.Items.Add("1000000"); this.GpsBaudComboBox.SelectedIndex = 5; this.NicbotBodyBaudComboBox.Items.Clear(); this.NicbotBodyBaudComboBox.Items.Add("10000"); this.NicbotBodyBaudComboBox.Items.Add("20000"); this.NicbotBodyBaudComboBox.Items.Add("50000"); this.NicbotBodyBaudComboBox.Items.Add("100000"); this.NicbotBodyBaudComboBox.Items.Add("125000"); this.NicbotBodyBaudComboBox.Items.Add("250000"); this.NicbotBodyBaudComboBox.Items.Add("500000"); this.NicbotBodyBaudComboBox.Items.Add("1000000"); this.NicbotBodyBaudComboBox.SelectedIndex = 5; this.NicbotWheelModeComboBox.SelectedIndex = 0; this.NicbotWheelBaudComboBox.Items.Clear(); this.NicbotWheelBaudComboBox.Items.Add("10000"); this.NicbotWheelBaudComboBox.Items.Add("20000"); this.NicbotWheelBaudComboBox.Items.Add("50000"); this.NicbotWheelBaudComboBox.Items.Add("100000"); this.NicbotWheelBaudComboBox.Items.Add("125000"); this.NicbotWheelBaudComboBox.Items.Add("250000"); this.NicbotWheelBaudComboBox.Items.Add("500000"); this.NicbotWheelBaudComboBox.Items.Add("1000000"); this.NicbotWheelBaudComboBox.SelectedIndex = 5; this.Rs232BaudComboBox.Items.Clear(); this.Rs232BaudComboBox.Items.Add("10000"); this.Rs232BaudComboBox.Items.Add("20000"); this.Rs232BaudComboBox.Items.Add("50000"); this.Rs232BaudComboBox.Items.Add("125000"); this.Rs232BaudComboBox.Items.Add("250000"); this.Rs232BaudComboBox.Items.Add("500000"); this.Rs232BaudComboBox.Items.Add("1000000"); this.Rs232BaudComboBox.SelectedIndex = 5; this.NicbotAutoDrillOriginCheckBox.Checked = false; this.NicbotAutoDrillContinuousModeRadioButton.Checked = true; this.NicbotAutoDrillDistanceRetractionRadioButton.Checked = true; this.traceQueue = new Queue(); QueuedTraceListener queuedTraceListener = new QueuedTraceListener(this.traceQueue); Trace.Listeners.Add(queuedTraceListener); Tracer.MaskString = "FFFFFFFF"; this.ActivityButton.Text = "Start"; this.active = false; this.DownloadProgressLabel.Text = ""; this.DownloadActivityButton.Text = "Start"; this.downloadActive = false; this.HeartbeatActivityButton.Text = "Start"; this.heartbeatActive = false; this.GpsDegreesRadioButton.Checked = true; }
public void RemoveDevice(Device device) { lock (this) { device.OnTransmit = null; device.OnCommError = null; if (this.deviceList.Contains(device) != false) { this.deviceList.Remove(device); } } }
private void WaitDeviceHeartbeat(Device device) { DateTime limit = DateTime.Now.AddMilliseconds(BootTimeoutPeriod); for (; ; ) { if (false != device.ReceiveBootupHeartbeat) { Thread.Sleep(250); break; } else if (DateTime.Now > limit) { device.Fault("boot timeout"); break; } Thread.Sleep(50); } }
public void AddDevice(Device device) { device.OnTransmit = new Device.TransmitHandler(this.DeviceTransmit); device.OnCommError = new Device.CommErrorHandler(this.DeviceError); this.deviceList.Add(device); }