Example #1
0
        public async Task <bool> OutputControl(Guid connectionId, byte address, OutputControls outputControls)
        {
            var reply = await SendCommand(connectionId,
                                          new OutputControlCommand(address, outputControls)).ConfigureAwait(false);

            return(reply.Type == ReplyType.Ack || reply.Type == ReplyType.OutputStatusReport);
        }
Example #2
0
        /// <summary>
        /// Send a command to alter the state of one or more outputs on a PD.
        /// </summary>
        /// <param name="connectionId">Identify the connection for communicating to the device.</param>
        /// <param name="address">Address assigned to the device.</param>
        /// <param name="outputControls">Data for one or more outputs to control.</param>
        /// <returns>Reply data that is returned after sending the command. There is the possibility of different replies can be returned from PD.</returns>
        public async Task <ReturnReplyData <OutputStatus> > OutputControl(Guid connectionId, byte address, OutputControls outputControls)
        {
            var reply = await SendCommand(connectionId,
                                          new OutputControlCommand(address, outputControls)).ConfigureAwait(false);

            return(new ReturnReplyData <OutputStatus>
            {
                Ack = reply.Type == ReplyType.Ack,
                Nak = reply.Type == ReplyType.Nak ? Nak.ParseData(reply.ExtractReplyData) : null,
                ReplyData = reply.Type == ReplyType.OutputStatusReport ? Model.ReplyData.OutputStatus.ParseData(reply.ExtractReplyData) : null
            });
        }
 public OutputControlCommand(byte address, OutputControls outputControls)
 {
     _outputControls = outputControls;
     Address         = address;
 }