Ejemplo n.º 1
0
        private void TestComPort(Object comWrapper)
        {
            SerialPortWrapper wrap = (SerialPortWrapper)comWrapper;

            wrap.IsTesting   = true;
            wrap.DisplayName = "Testing...";

            Invoke(new DoSub(delegate() {
                _ports.ResetBindings();
            }));

            try {
                PTFirmwareInfo fw = PTUnit.GetFirmwareInfo(wrap.PortName);
                if (fw == null)
                {
                    wrap.DisplayName = "Not detected";
                }
                else
                {
                    wrap.DisplayName = fw.FirmwareString;
                }

                wrap.FirmwareInfo = fw;
            } catch (SystemException sex) {
                wrap.DisplayName  = "Exception: " + sex.Message;
                wrap.FirmwareInfo = null;
            }

            Invoke(new DoSub(delegate() {
                _ports.ResetBindings();
            }));

            wrap.IsTesting = false;

            Invoke(new DoSub(delegate() {
                foreach (SerialPortWrapper wrapper in _ports)
                {
                    if (wrapper.IsTesting)
                    {
                        return;
                    }
                }

                // then none of the ports are currently being tested, so the buttons can be re-enabled
                UpdateButtonEnabled();
                this.__test.Enabled = true;
            }));
        }
Ejemplo n.º 2
0
		private static void RunTests() {
			
			String portName = GetPortName();
			
			PTUnit unit = new PTUnit( portName );
			
			/////////////////////////////////////////
			
			Console.WriteLine("Firmware");
			Console.WriteLine("\t" + unit.GetFirmwareInfo() );
//			Console.WriteLine("Performing reset. . .");
//			
//			unit.Reset();
			
			/////////////////////////////////////////
			
			Console.WriteLine("Resolution and Limits:");
			
			short panMin, panMax, tiltMin, tiltMax;
			
			Console.WriteLine("\tPan Minimum:\t"     + (panMax = unit.GetPanPositionLimitMin() ) );
			Console.WriteLine("\tPan Maximum:\t"     + (panMin = unit.GetPanPositionLimitMax() ) );
			Console.WriteLine("\tPan Resolution:\t"  + unit.GetPanPositionResolution() );
			Console.WriteLine();
			Console.WriteLine("\tTilt Minimum:\t"    + (tiltMax = unit.GetTiltPositionLimitMin() ) );
			Console.WriteLine("\tTilt Maximum:\t"    + (tiltMin = unit.GetTiltPositionLimitMax() ) );
			Console.WriteLine("\tTilt Resolution:\t" + unit.GetTiltPositionResolution() );
			
			/////////////////////////////////////////
			
			Console.WriteLine("Moving:");
			
			Console.WriteLine("\tMoving to Max Limits (both axes):");
			
			unit.SetPanDesiredPosition( panMax );
			unit.SetTiltDesiredPosition( tiltMax );
			Console.WriteLine("\t\tWaiting to finish...");
			unit.AwaitCompletion();
			Console.WriteLine("\t\tFinished...");
			Console.WriteLine();
			
			
			Console.WriteLine("\tMoving to Min Limits (both axes):");
			
			unit.SetPanDesiredPosition( panMin );
			unit.SetTiltDesiredPosition( tiltMin );
			Console.WriteLine("\t\tWaiting to finish...");
			unit.AwaitCompletion();
			Console.WriteLine("\t\tFinished...");
			Console.WriteLine();
			
			
			Console.WriteLine("\tReturning to (0,0):");
			
			unit.SetPanDesiredPosition( 0 );
			unit.SetTiltDesiredPosition( 0 );
			Console.WriteLine("\t\tWaiting to finish...");
			unit.AwaitCompletion();
			Console.WriteLine("\t\tFinished...");
			Console.WriteLine();
			
			/////////////////////////////////////////
			
			Console.WriteLine("Sequential command tests:");
			
			Console.WriteLine("\tMoving to Max Limits (both axes)");
			unit.SetPanDesiredPosition( panMax );
			unit.SetTiltDesiredPosition( tiltMax );
			Console.WriteLine("\tSleeping for 750ms...");
			Thread.Sleep( 750 );
			
			Console.WriteLine("\tMoving to Min Limits (both axes) without waiting for completion:");
			unit.SetPanDesiredPosition( panMin );
			unit.SetTiltDesiredPosition( tiltMin );
			Console.WriteLine("\t\tWaiting to finish...");
			unit.AwaitCompletion();
			Console.WriteLine("\t\tFinished...");
			Console.WriteLine();
			
			/////////////////////////////////////////
			
			Console.ReadLine();
			
		}