コード例 #1
0
 /// <summary>
 /// Convenience method to generate a MAVLink v2 byte message.
 /// </summary>
 public byte[] GenerateMAVLinkPacket(MAVLink.MAVLINK_MSG_ID messageType, object indata, byte sysid = 255, byte compid = 0, int sequence = -1, byte[] signingkey = null)
 {
     message_id   = (uint)messageType;
     payload      = indata;
     system_id    = sysid;
     component_id = compid;
     return(toBytes(signingkey));
 }
コード例 #2
0
ファイル: Drone.cs プロジェクト: huaerchuwa/DroneController
        T getCurrentMessage <T>(MAVLink.MAVLINK_MSG_ID id) where T : MessageContainerBase
        {
            if (!this.currentState.ContainsKey(id))
            {
                return(null);
            }
            MavLinkMessage message = this.currentState[id];

            return((T)Activator.CreateInstance(typeof(T), new object[] { message }));
        }
コード例 #3
0
        MavLinkMessage createSampleMessage(MAVLink.MAVLINK_MSG_ID id, object data_struct)
        {
            MavLinkMessage sampleMessage = new MavLinkMessage();

            sampleMessage.messid      = id;
            sampleMessage.seq         = 128;
            sampleMessage.sysid       = 12;
            sampleMessage.compid      = 12;
            sampleMessage.data_struct = data_struct;
            return(sampleMessage);
        }
コード例 #4
0
        void SendMessage(MAVLink.MAVLINK_MSG_ID id, object mavlinkPayload)
        {
            var channel = ConnectionPanel.Channel;

            if (channel != null)
            {
                MavLinkMessage message = new MavLinkMessage();
                message.ComponentId  = (byte)MAVLink.MAV_COMPONENT.MAV_COMP_ID_MISSIONPLANNER;
                message.SystemId     = 255;
                message.MsgId        = id;
                message.TypedPayload = mavlinkPayload;
                channel.SendMessage(message);
            }
        }
コード例 #5
0
        public MavLinkMessage(byte[] buffer)
        {
            // fill out standard fields
            header = buffer[0];
            length = (int)buffer[1];
            seq    = (int)buffer[2];
            sysid  = (int)buffer[3];
            compid = (int)buffer[4];
            messid = (MAVLink.MAVLINK_MSG_ID)buffer[5];

            //create the object specified by the packet type
            object data = Activator.CreateInstance(getMessageType());

            // fill in the data of the object
            MavlinkUtil.ByteArrayToStructure(buffer, ref data, 6);
            data_struct = data;
        }
コード例 #6
0
        void SendMessage(MAVLink.MAVLINK_MSG_ID id, object mavlinkPayload)
        {
            var channel = this.Channel;

            if (channel != null)
            {
                MavLinkMessage message = new MavLinkMessage();
                message.ComponentId  = (byte)MAVLink.MAV_COMPONENT.MAV_COMP_ID_MISSIONPLANNER;
                message.SystemId     = 255;
                message.MsgId        = id;
                message.TypedPayload = mavlinkPayload;
                try
                {
                    channel.SendMessage(message);
                }
                catch (Exception ex)
                {
                    Write(ex.Message);
                }
            }
        }