# Usage example of MAVLink UDP port for user applications
# python3 heartbeat_example_udp.py
# python3 heartbeat_example.py 127.0.0.1:14560 35
# in this case: 127.0.0.1:14560 - address and port of mavlink source,
# now available 14560 and 14561 udp ports
# 35 - system-id for signature
import pymavlink.mavutil as mavutil
from pymavlink.dialects.v20 import common as mavlink
from threading import Thread
# use default arguments if no arguments given from command line
srcSystem = mavlink.MAV_COMP_ID_USER1
remote_address = "127.0.0.1:14560"
# use arguments from command line
srcSystem = int(sys.argv[2])
remote_address = sys.argv[1]
mav = mavutil.mavlink_connection(
'udpout:' + remote_address, source_system=srcSystem)
mav.mav.heartbeat_send(mavlink.MAV_TYPE_GENERIC,
mavlink.MAV_AUTOPILOT_INVALID,
mavlink.MAV_MODE_FLAG_CUSTOM_MODE_ENABLED,
mavlink.MAV_STATE_STANDBY)
send_thread = Thread(target=sender_loop)
send_thread.daemon = True
msg = mav.recv_match(blocking=True)
if msg.get_type() == 'HEARTBEAT':
print("HEARTBEAT from %d: %s" % (msg.get_srcSystem(), msg))