コード例 #1
0
        private static void InitHardware()
        {
            //TODO: Ethernet not found, set dummy mode
            string ip     = SystemContext.SystemPara.IpAddress;
            int    port   = SystemContext.SystemPara.Port;
            var    device = TcpClientStream.SearchDevice(ip, port);

            if (device == null)
            {
                SystemContext.IsDummyMode = true;
                var motor   = new DummyMotorController();
                var laser   = new DummyLaser();
                var blowing = new DummyIO();
                SystemContext.Hardware = new HardwareProxy(motor, laser, blowing);
            }
            else
            {
                SystemContext.IsDummyMode = false;
                var para = SystemContext.SystemPara;
                Func <AxisParameter, MotorParameter> convert = x => new MotorParameter
                {
                    Ratio      = x.Ratio,
                    IsReversed = x.Reversed
                };
                var motorPara = new Dictionary <AxisTypes, MotorParameter>();
                motorPara[AxisTypes.AxisX] = convert(para.XPara);
                motorPara[AxisTypes.AxisY] = convert(para.YPara); motorPara[AxisTypes.AxisY].IsDualDriven = true;
                motorPara[AxisTypes.AxisZ] = convert(para.ZPara);
                motorPara[AxisTypes.AxisW] = new MotorParameter();
                var motor   = new MotorController(device, motorPara);
                var laser   = new LaserController(device, 10);
                var blowing = new IOController(device);
                SystemContext.Hardware = new HardwareProxy(motor, laser, blowing);
            }
        }
コード例 #2
0
    static async Task run()
    {
        var io = new DummyIO();
        var n  = await io.Connect();

        Console.WriteLine("done " + io.State + " " + n);
    }
コード例 #3
0
ファイル: TaskIO.cs プロジェクト: hythof/csharp
 static async Task runWhenAny()
 {
     var io = new DummyIO();
     var t1 = io.Connect();
     var t2 = Task.Delay(1);
     await Task.WhenAny(t1, t2);
     Console.WriteLine("done " + io.State);
     await Task.Delay(1000);
     Console.WriteLine("delay end");
     await t1;
 }
コード例 #4
0
    static async Task runWhenAny()
    {
        var io = new DummyIO();
        var t1 = io.Connect();
        var t2 = Task.Delay(1);
        await Task.WhenAny(t1, t2);

        Console.WriteLine("done " + io.State);
        await Task.Delay(1000);

        Console.WriteLine("delay end");
        await t1;
    }
コード例 #5
0
        public IPlaylistIO GetPlaylistIO(int formatId)
        {
            IPlaylistIO theReader = null;

            if (PL_M3U == formatId)
            {
                theReader = new M3UIO();
            }
            else if (PL_PLS == formatId)
            {
                theReader = new PLSIO();
            }
            else if (PL_FPL == formatId)
            {
                theReader = new FPLIO();
            }
            else if (PL_XSPF == formatId)
            {
                theReader = new XSPFIO();
            }
            else if (PL_SMIL == formatId)
            {
                theReader = new SMILIO();
            }
            else if (PL_ASX == formatId)
            {
                theReader = new ASXIO();
            }
            else if (PL_B4S == formatId)
            {
                theReader = new B4SIO();
            }

            if (null == theReader)
            {
                theReader = new DummyIO();
            }

            return(theReader);
        }
コード例 #6
0
ファイル: TaskIO.cs プロジェクト: hythof/csharp
 static async Task run()
 {
     var io = new DummyIO();
     var n = await io.Connect();
     Console.WriteLine("done " + io.State + " " + n);
 }