You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey all: this is an issue with an associated PR (#1188) that I just put together.
I recently noticed a problem with dronekit and Herelink setups: basically, dronekit will attempt to parse every HEARTBEAT message that comes through, regardless of what type of system produced the message. This leads to issues, as Mavlink allows for non-vehicles to send HEARTBEAT messages (https://mavlink.io/en/messages/common.html#HEARTBEAT -- check out the autopilot field).
The symptom of this problem is a large number of dronekit APIExceptions, of the format (from herelinks): dronekit.APIException: mode (33554832, 0) not available on mavlink definition
or dronekit.APIException: mode (0, 0) not available on mavlink definition
I have confirmed that these messages are from the Herelink setup itself. This can be confirmed by checking the mav.tlog produced using mavproxy and cross-referencing the messages. (I can link a gist of the tlog if desired, but it doesn't really provide more info)
Anyways, this has been recently addressed in the pymavlink repository and a fix was merged into their master: ArduPilot/pymavlink#769
I'm proposing a change (see PR) that uses mavutil's probably_vehicle_heartbeat function to ignore HEARTBEAT messages that don't come from vehicles.
This also relates to several other PRs/issues, such as #990, but should be more all-encompassing and robust.
The text was updated successfully, but these errors were encountered:
Hey all: this is an issue with an associated PR (#1188) that I just put together.
I recently noticed a problem with dronekit and Herelink setups: basically, dronekit will attempt to parse every HEARTBEAT message that comes through, regardless of what type of system produced the message. This leads to issues, as Mavlink allows for non-vehicles to send HEARTBEAT messages (https://mavlink.io/en/messages/common.html#HEARTBEAT -- check out the
autopilot
field).The symptom of this problem is a large number of dronekit APIExceptions, of the format (from herelinks):
dronekit.APIException: mode (33554832, 0) not available on mavlink definition
or
dronekit.APIException: mode (0, 0) not available on mavlink definition
I have confirmed that these messages are from the Herelink setup itself. This can be confirmed by checking the
mav.tlog
produced using mavproxy and cross-referencing the messages. (I can link a gist of the tlog if desired, but it doesn't really provide more info)Anyways, this has been recently addressed in the
pymavlink
repository and a fix was merged into their master: ArduPilot/pymavlink#769I'm proposing a change (see PR) that uses mavutil's
probably_vehicle_heartbeat
function to ignore HEARTBEAT messages that don't come from vehicles.This also relates to several other PRs/issues, such as #990, but should be more all-encompassing and robust.
The text was updated successfully, but these errors were encountered: