Ejemplo n.º 1
0
        public virtual IEnumerator <ITask> SendBluetoothMessageHandler(SendBluetoothMessage sendBluetoothMessage)
        {
            int inbox = Math.Max(1, Math.Min(10, sendBluetoothMessage.Body.Mailbox)) - 1;

            nxtcmd.LegoMessageWrite cmd = new nxtcmd.LegoMessageWrite(inbox, sendBluetoothMessage.Body.Message);
            cmd.RequireResponse = true;
            yield return(Arbiter.Choice(_legoBrickPort.SendNxtCommand(cmd),
                                        delegate(nxtcmd.LegoResponse ok)
            {
                sendBluetoothMessage.ResponsePort.Post(DefaultSubmitResponseType.Instance);
            },
                                        delegate(Fault fault)
            {
                sendBluetoothMessage.ResponsePort.Post(fault);
            }));

            yield break;
        }
        public virtual IEnumerator<ITask> SendBluetoothMessageHandler(SendBluetoothMessage sendBluetoothMessage)
        {
            int inbox = Math.Max(1, Math.Min(10, sendBluetoothMessage.Body.Mailbox)) - 1;
            nxtcmd.LegoMessageWrite cmd = new nxtcmd.LegoMessageWrite(inbox, sendBluetoothMessage.Body.Message);
            cmd.RequireResponse = true;
            yield return Arbiter.Choice(_legoBrickPort.SendNxtCommand(cmd),
                delegate(nxtcmd.LegoResponse ok)
                {
                    sendBluetoothMessage.ResponsePort.Post(DefaultSubmitResponseType.Instance);
                },
                delegate(Fault fault)
                {
                    sendBluetoothMessage.ResponsePort.Post(fault);
                });

            yield break;
        }