mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-16 03:40:34 +08:00
mavlink: don't send events over Iridium
This commit is contained in:
@@ -208,17 +208,18 @@ void SendProtocol::handle_request_event(const mavlink_message_t &msg) const
|
||||
|
||||
void SendProtocol::send_event(const Event &event) const
|
||||
{
|
||||
mavlink_event_t event_msg{};
|
||||
event_msg.event_time_boot_ms = event.timestamp_ms;
|
||||
event_msg.destination_component = MAV_COMP_ID_ALL;
|
||||
event_msg.destination_system = 0;
|
||||
event_msg.id = event.id;
|
||||
event_msg.sequence = event.sequence;
|
||||
event_msg.log_levels = event.log_levels;
|
||||
static_assert(sizeof(event_msg.arguments) >= sizeof(event.arguments), "MAVLink message arguments buffer too small");
|
||||
memcpy(&event_msg.arguments, event.arguments, sizeof(event.arguments));
|
||||
mavlink_msg_event_send_struct(_mavlink.get_channel(), &event_msg);
|
||||
|
||||
if (_mavlink.get_mode() != Mavlink::MAVLINK_MODE_IRIDIUM) {
|
||||
mavlink_event_t event_msg{};
|
||||
event_msg.event_time_boot_ms = event.timestamp_ms;
|
||||
event_msg.destination_component = MAV_COMP_ID_ALL;
|
||||
event_msg.destination_system = 0;
|
||||
event_msg.id = event.id;
|
||||
event_msg.sequence = event.sequence;
|
||||
event_msg.log_levels = event.log_levels;
|
||||
static_assert(sizeof(event_msg.arguments) >= sizeof(event.arguments), "MAVLink message arguments buffer too small");
|
||||
memcpy(&event_msg.arguments, event.arguments, sizeof(event.arguments));
|
||||
mavlink_msg_event_send_struct(_mavlink.get_channel(), &event_msg);
|
||||
}
|
||||
}
|
||||
|
||||
void SendProtocol::on_gcs_connected()
|
||||
@@ -228,8 +229,9 @@ void SendProtocol::on_gcs_connected()
|
||||
|
||||
void SendProtocol::send_current_sequence(const hrt_abstime &now, bool force_reset)
|
||||
{
|
||||
// only send if enough tx buffer space available
|
||||
if (_mavlink.get_free_tx_buf() < MAVLINK_MSG_ID_CURRENT_EVENT_SEQUENCE_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES) {
|
||||
// only send if enough tx buffer space available or not MAVLINK_MODE_IRIDIUM
|
||||
if (_mavlink.get_free_tx_buf() < MAVLINK_MSG_ID_CURRENT_EVENT_SEQUENCE_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES ||
|
||||
_mavlink.get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user