Пример #1
0
        public Task AnimateLED(byte animation_id)
        {
            return(Task.Run(() =>
            {
                PanelCommand pnlcmd = new PanelCommand(PanelCommand.DISPLAY_ANIMATION, animation_id);

                connection.EnqueueCommand(pnlcmd).Handle.WaitOne();
            }));
        }
        public PanelCommandHandle EnqueueCommand(PanelCommand expcmd)
        {
            PanelCommandHandle cmdhdl = new PanelCommandHandle(new AutoResetEvent(false), expcmd);

            Task.Run(() =>
            {
                lock (pending_command_queue_lock)
                    pending_command_queue.Enqueue(cmdhdl);
            });

            return(cmdhdl);
        }
 public PanelCommandHandle(AutoResetEvent handle, PanelCommand command)
 {
     this.handle  = handle;
     this.command = command;
 }