|
|
|
@ -25,6 +25,7 @@ import socket
@@ -25,6 +25,7 @@ import socket
|
|
|
|
|
import struct |
|
|
|
|
import random |
|
|
|
|
import threading |
|
|
|
|
import enum |
|
|
|
|
|
|
|
|
|
from MAVProxy.modules.lib import mp_util |
|
|
|
|
|
|
|
|
@ -41,18 +42,24 @@ try:
@@ -41,18 +42,24 @@ try:
|
|
|
|
|
except ImportError: |
|
|
|
|
import Queue |
|
|
|
|
|
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_X_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_Y_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_Z_IGNORE) |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_VX_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VY_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VZ_IGNORE) |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_AX_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AY_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AZ_IGNORE) |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE = mavutil.mavlink.POSITION_TARGET_TYPEMASK_FORCE_SET |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE = mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_IGNORE |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE = mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE |
|
|
|
|
|
|
|
|
|
# Enumeration convenience class for mavlink POSITION_TARGET_TYPEMASK |
|
|
|
|
class MAV_POS_TARGET_TYPE_MASK(enum.IntEnum): |
|
|
|
|
POS_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_X_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_Y_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_Z_IGNORE) |
|
|
|
|
VEL_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_VX_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VY_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VZ_IGNORE) |
|
|
|
|
ACC_IGNORE = (mavutil.mavlink.POSITION_TARGET_TYPEMASK_AX_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AY_IGNORE | |
|
|
|
|
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AZ_IGNORE) |
|
|
|
|
FORCE_SET = mavutil.mavlink.POSITION_TARGET_TYPEMASK_FORCE_SET |
|
|
|
|
YAW_IGNORE = mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_IGNORE |
|
|
|
|
YAW_RATE_IGNORE = mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE |
|
|
|
|
POS_ONLY = VEL_IGNORE | ACC_IGNORE | YAW_IGNORE | YAW_RATE_IGNORE |
|
|
|
|
LAST_BYTE = 0xF000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MAV_FRAMES_TO_TEST = [ |
|
|
|
|
mavutil.mavlink.MAV_FRAME_GLOBAL, |
|
|
|
@ -8116,11 +8123,10 @@ Also, ignores heartbeats not from our target system'''
@@ -8116,11 +8123,10 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.VEL_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
int(lat * 1.0e7), # lat |
|
|
|
|
int(lng * 1.0e7), # lon |
|
|
|
|
alt, # alt |
|
|
|
@ -8184,10 +8190,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8184,10 +8190,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.VEL_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
int(targetpos.lat * 1.0e7), # lat |
|
|
|
|
int(targetpos.lng * 1.0e7), # lon |
|
|
|
|
to_alt_frame(targetpos.alt, frame_name), # alt |
|
|
|
@ -8214,10 +8219,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8214,10 +8219,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.VEL_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
int(targetpos.lat * 1.0e7), # lat |
|
|
|
|
int(targetpos.lng * 1.0e7), # lon |
|
|
|
|
to_alt_frame(targetpos.alt, frame_name), # alt |
|
|
|
@ -8244,10 +8248,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8244,10 +8248,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.VEL_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_IGNORE, |
|
|
|
|
int(targetpos.lat * 1.0e7), # lat |
|
|
|
|
int(targetpos.lng * 1.0e7), # lon |
|
|
|
|
to_alt_frame(targetpos.alt, frame_name), # alt |
|
|
|
@ -8338,11 +8341,10 @@ Also, ignores heartbeats not from our target system'''
@@ -8338,11 +8341,10 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.POS_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
@ -8436,10 +8438,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8436,10 +8438,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.POS_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
@ -8466,10 +8467,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8466,10 +8467,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.POS_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_RATE_IGNORE, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
@ -8535,10 +8535,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8535,10 +8535,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.POS_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_IGNORE, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
@ -8565,10 +8564,9 @@ Also, ignores heartbeats not from our target system'''
@@ -8565,10 +8564,9 @@ Also, ignores heartbeats not from our target system'''
|
|
|
|
|
self.sysid_thismav(), # target system_id |
|
|
|
|
1, # target component id |
|
|
|
|
mav_frame, |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_FORCE | |
|
|
|
|
MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE, |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.POS_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.ACC_IGNORE | |
|
|
|
|
MAV_POS_TARGET_TYPE_MASK.YAW_IGNORE, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|
0, |
|
|
|
|