static object Convert(Locationwp cmd, bool isint = false) { if (isint) { var temp = new MAVLink.mavlink_mission_item_int_t() { command = cmd.id, param1 = cmd.p1, param2 = cmd.p2, param3 = cmd.p3, param4 = cmd.p4, x = (int)(cmd.lat * 1.0e7), y = (int)(cmd.lng * 1.0e7), z = (float)cmd.alt }; return(temp); } else { var temp = new MAVLink.mavlink_mission_item_t() { command = cmd.id, param1 = cmd.p1, param2 = cmd.p2, param3 = cmd.p3, param4 = cmd.p4, x = (float)cmd.lat, y = (float)cmd.lng, z = (float)cmd.alt }; return(temp); } }
static object Convert(Locationwp cmd, bool isint = false) { if (isint) { var temp = new MAVLink.mavlink_mission_item_int_t() { command = cmd.id, param1 = cmd.p1, param2 = cmd.p2, param3 = cmd.p3, param4 = cmd.p4, x = (int)(cmd.lat * 1.0e7), y = (int)(cmd.lng * 1.0e7), z = (float) cmd.alt }; return temp; } else { var temp = new MAVLink.mavlink_mission_item_t() { command = cmd.id, param1 = cmd.p1, param2 = cmd.p2, param3 = cmd.p3, param4 = cmd.p4, x = (float) cmd.lat, y = (float) cmd.lng, z = (float) cmd.alt }; return temp; } }
private void but_mission_Click(object sender, EventArgs e) { MAVLink.mavlink_mission_count_t req = new MAVLink.mavlink_mission_count_t(); req.target_system = 1; req.target_component = 1; // set wp count req.count = 1; byte[] packet = mavlink.GenerateMAVLinkPacket10(MAVLink.MAVLINK_MSG_ID.MISSION_COUNT, req); Console.WriteLine("MISSION_COUNT send"); serialPort1.Write(packet, 0, packet.Length); var ack = readsomedata <MAVLink.mavlink_mission_request_t>(sysid, compid); if (ack.seq == 0) { MAVLink.mavlink_mission_item_int_t req2 = new MAVLink.mavlink_mission_item_int_t(); req2.target_system = sysid; req2.target_component = compid; req2.command = (byte)MAVLink.MAV_CMD.WAYPOINT; req2.current = 1; req2.autocontinue = 0; req2.frame = (byte)MAVLink.MAV_FRAME.GLOBAL_RELATIVE_ALT; req2.y = (int)(115 * 1.0e7); req2.x = (int)(-35 * 1.0e7); req2.z = (float)(2.34); req2.param1 = 0; req2.param2 = 0; req2.param3 = 0; req2.param4 = 0; req2.seq = 0; packet = mavlink.GenerateMAVLinkPacket10(MAVLink.MAVLINK_MSG_ID.MISSION_ITEM_INT, req2); Console.WriteLine("MISSION_ITEM_INT send"); lock (readlock) { serialPort1.Write(packet, 0, packet.Length); var ack2 = readsomedata <MAVLink.mavlink_mission_ack_t>(sysid, compid); if ((MAVLink.MAV_MISSION_RESULT)ack2.type != MAVLink.MAV_MISSION_RESULT.MAV_MISSION_ACCEPTED) { } } MAVLink.mavlink_mission_ack_t req3 = new MAVLink.mavlink_mission_ack_t(); req3.target_system = 1; req3.target_component = 1; req3.type = 0; packet = mavlink.GenerateMAVLinkPacket10(MAVLink.MAVLINK_MSG_ID.MISSION_ACK, req3); Console.WriteLine("MISSION_ACK send"); serialPort1.Write(packet, 0, packet.Length); } }