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; }