Ejemplo n.º 1
0
        private static async Task Main(string[] args)
        {
            var tr1 = new TextWriterTraceListener(System.Console.Out);

            Trace.Listeners.Add(tr1);

            var client = new DreamScreenClient();

            _devices = new List <DreamDevice>();
            client.DeviceDiscovered += AddDevice;
            client.CommandReceived  += LogCommand;
            client.StartDeviceDiscovery();
            await Task.Delay(5000);

            client.StopDeviceDiscovery();
            var subscribing = false;

            if (_devices.Count > 0)
            {
                Console.WriteLine($"Found {_devices.Count} devices.");
                foreach (var dev in _devices)
                {
                    if (dev.Type == DeviceType.Connect || dev.Type == DeviceType.SideKick)
                    {
                        continue;
                    }
                    var curMode = dev.DeviceMode;
                    Console.WriteLine($"DreamScreen found, beginning subscribe test for {dev.IpAddress}, current mode is {curMode}.");
                    await client.SetMode(dev, DeviceMode.Off);

                    await client.SetMode(dev, DeviceMode.Video);

                    client.ColorsReceived += ColorsReceived;
                    client.StartSubscribing(dev.IpAddress);
                    subscribing = true;
                    break;
                }
            }

            if (subscribing)
            {
                while (true)
                {
                    // Log color messages
                }
            }
        }
Ejemplo n.º 2
0
        private static void Main()
        {
            var client = new DreamScreenClient();
            var source = new CancellationTokenSource();

            client.DeviceDiscovered += ProcessDevice;
            source.CancelAfter(TimeSpan.FromSeconds(5));
            client.StartDeviceDiscovery();
            var token = source.Token;

            while (!token.IsCancellationRequested)
            {
            }

            client.StopDeviceDiscovery();
            client.Dispose();
        }
Ejemplo n.º 3
0
        private static async Task Main(string[] args)
        {
            var client = new DreamScreenClient();

            _devices = new List <DreamDevice>();
            client.DeviceDiscovered += AddDevice;      // Handler for when a device is discovered
            client.CommandReceived  += LogCommand;     // Handle incoming messages
            client.StartDeviceDiscovery();             // Start discovery, wait for 5s
            await Task.Delay(5000);

            client.StopDeviceDiscovery();             // Stop discovery
            // Do stuff with found devices
            if (_devices.Count > 0)
            {
                Console.WriteLine($"Found {_devices.Count} devices.");
                var dev = _devices[0];
                if (dev != null)
                {
                    var res = await client.SetMode(dev, DeviceMode.Video);

                    Console.WriteLine("Mode Res: " + JsonConvert.SerializeObject(res));
                    res = await client.SetAmbientColor(dev, Color.Crimson);

                    Console.WriteLine("Col Res: " + JsonConvert.SerializeObject(res));
                    res = await client.SetAmbientMode(dev, AmbientMode.Scene);

                    Console.WriteLine("Mode Res: " + JsonConvert.SerializeObject(res));
                    res = await client.SetAmbientShow(dev, AmbientShow.Forest);

                    Console.WriteLine("Mode Res: " + JsonConvert.SerializeObject(res));
                    while (true)
                    {
                    }

                    await client.SetMode(dev, DeviceMode.Off);
                }
            }
        }