// __ API _____________________________________________________________


        public void SendMessage(MavlinkMessage msg)
        {
            mSendQueue.Enqueue(msg);

            // Signal send thread
            mSendSignal.Set();
        }
Beispiel #2
0
        public override void SendMessage(MavlinkMessage msg)
        {
            MavlinkPacket packet = CreatePacket(msg);

            byte[] bytes = Send(packet);
            try { serial.Write(bytes, 0, bytes.Length); }
            catch { }
        }
        private void SendMavlinkMessage(IPEndPoint ep, MavlinkMessage msg)
        {
            MavlinkPacket p = GetPacketFromMsg(msg);

            byte[] buffer = mMavLink.Send(p);

            mUdpClient.Send(buffer, buffer.Length, ep);
        }
Beispiel #4
0
        private MavlinkPacket CreatePacket(MavlinkMessage msg)
        {
            MavlinkPacket packet = new MavlinkPacket();

            packet.ComponentId = (int)MAV_COMPONENT.MAV_COMP_ID_SYSTEM_CONTROL;
            packet.SystemId    = 0xCE;
            packet.Message     = msg;

            return(packet);
        }
        private MavlinkPacket GetPacketFromMsg(MavlinkMessage msg)
        {
            MavlinkPacket p = new MavlinkPacket();

            p.Message        = msg;
            p.TimeStamp      = DateTime.Now;
            p.SequenceNumber = 1;
            p.SystemId       = MavlinkSystemId;
            p.ComponentId    = MavlinkComponentId;

            return(p);
        }
Beispiel #6
0
        /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="message"></param>
        /// <param name="systemId"></param>
        /// <param name="componentId"></param>
        /// <returns></returns>
        public byte[] Serialize(MavlinkMessage message, int systemId, int componentId)
        {
            var buff = new byte[256];

            buff[0] = (byte)systemId;
            buff[1] = (byte)componentId;

            var endPos = 3;

            var msgId = message.Serialize(buff, ref endPos);

            buff[2] = (byte)msgId;

            var resultBytes = new byte[endPos];

            Array.Copy(buff, resultBytes, endPos);

            return(resultBytes);
        }
Beispiel #7
0
 public MavlinkPacket(MavlinkMessage message)
 {
     Message = message;
 }
Beispiel #8
0
 public abstract void SendMessage(MavlinkMessage msg);
Beispiel #9
0
        public byte[] Serialize(MavlinkMessage message, int systemId, int componentId)
        {
            var buff = new byte[256];

            buff[0] = (byte)systemId;
            buff[1] = (byte)componentId;

            var endPos = 3;

            var msgId = message.Serialize(buff, ref endPos);

            buff[2] = (byte)msgId;

            var resultBytes = new byte[endPos];
            Array.Copy(buff, resultBytes, endPos);

            return resultBytes;
        }