Beispiel #1
0
        private static XBeeAddress64 Parse(AtResponse sl, AtResponse sh)
        {
            if (!sh.IsOk || !sl.IsOk)
                throw new XBeeException("Failed to read serial number");

            var data = new OutputStream();
            data.Write(sh.Value);
            data.Write(sl.Value);

            return new XBeeAddress64(data.ToArray());
        }
Beispiel #2
0
        public override byte[] GetFrameData()
        {
            var frameData = new OutputStream();

            frameData.Write((byte) ApiId);
            frameData.Write(FrameId);
            frameData.Write(Command);

            if (Value != null)
                frameData.Write(Value);

            return frameData.ToArray();
        }
Beispiel #3
0
        public override byte[] GetFrameData()
        {
            var frameData = new OutputStream();

            // api id
            frameData.Write((byte)ApiId);
            // frame id (arbitrary byte that will be sent back with ack)
            frameData.Write(FrameId);

            frameData.Write(RemoteAddress64.Address);
            frameData.Write(RemoteAddress16.Address);

            // 0 - queue changes -- don't forget to send AC command
            frameData.Write(ApplyChanges ? 2 : 0);

            frameData.Write((ushort)Command);

            if (Value != null)
                frameData.Write(Value);

            return frameData.ToArray();
        }
Beispiel #4
0
        public override byte[] GetFrameData()
        {
            var output = new OutputStream();

            output.Write((byte)ApiId);
            output.Write(FrameId);
            output.Write(Destination.Address);
            output.Write((byte)Option);

            if (Payload != null)
                output.Write(Payload);

            return output.ToArray();
        }
Beispiel #5
0
 protected virtual void GetFramePayload(OutputStream output)
 {
     output.Write(Payload);
 }
Beispiel #6
0
 protected virtual void GetFrameOptions(OutputStream output)
 {
     output.Write(BroadcastRadius);
     output.Write((byte)Option);
 }
Beispiel #7
0
 protected virtual void GetFrameHeader(OutputStream output)
 {
     output.Write((byte)ApiId);
     output.Write(FrameId);
     output.Write(DestinationSerial.Address);
     output.Write(DestinationAddress.Address);
 }
Beispiel #8
0
        public override byte[] GetFrameData()
        {
            if (MaxPayloadSize > 0 && Payload.Length > MaxPayloadSize)
                throw new ArgumentException("Payload exceeds user-defined maximum payload size of "
                    + MaxPayloadSize + " bytes. Please package into multiple packets");

            var output = new OutputStream();

            GetFrameHeader(output);
            GetFrameOptions(output);
            GetFramePayload(output);

            return output.ToArray();
        }