示例#1
0
        internal void BridgeDigitalWrite(int b, DigitalPin dp)
        {
            if (Connected)
            {
                txMessageId++;
                List <byte> txMessage = new List <byte>()
                {
                    ( byte )Command.BRIDGE
                };

                txMessage.Add(( byte )(txMessageId >> 8));
                txMessage.Add(( byte )(txMessageId));
                txMessage.AddRange(ASCIIEncoding.ASCII.GetBytes(b.ToString()));
                txMessage.Add(( byte )(0x00));
                txMessage.Add(( byte )('d'));
                txMessage.Add(( byte )('w'));
                txMessage.Add(( byte )(0x00));
                txMessage.AddRange(ASCIIEncoding.ASCII.GetBytes(dp.Pin.ToString()));
                txMessage.Add(( byte )(0x00));
                txMessage.Add((byte)(dp.Value ? '1' : '0'));

                int msgLength = txMessage.Count - 3;

                txMessage.Insert(3, ( byte )((msgLength) >> 8));
                txMessage.Insert(4, ( byte )((msgLength)));

                WriteToTcpStream(txMessage);
            }
        }
示例#2
0
        /// <summary>
        /// This is the digital pin sender.
        /// </summary>
        /// <param name="dp">The digital pin to send.</param>
        public void SendDigitalPin(DigitalPin dp)
        {
            if (Connected)
            {
                txMessageId++;
                List <byte> txMessage = new List <byte>()
                {
                    ( byte )Command.HARDWARE
                };

                txMessage.Add(( byte )(txMessageId >> 8));
                txMessage.Add(( byte )(txMessageId));

                string pin = dp.Pin.ToString();

                int msgLength = pin.Length + 5;

                txMessage.Add(( byte )((msgLength) >> 8));
                txMessage.Add(( byte )((msgLength)));

                txMessage.Add(( byte )'d');
                txMessage.Add(( byte )'w');
                txMessage.Add(0x00);

                txMessage.AddRange(ASCIIEncoding.ASCII.GetBytes(pin.ToString()));

                txMessage.Add(0x00);

                if (dp.Value)
                {
                    txMessage.Add(( byte )'1');
                }
                else
                {
                    txMessage.Add(( byte )'0');
                }

                WriteToTcpStream(txMessage);
            }
        }
示例#3
0
 public void DigitalWrite(DigitalPin dp)
 {
     refBlynk.BridgeDigitalWrite(Pin, dp);
 }