diff --git a/mavlink-core/src/connection/direct_serial.rs b/mavlink-core/src/connection/direct_serial.rs index a3a33a0fa6a7d9f8e09c86f23a8c30a76594e3fe..2e31bda56d96c8a62211ea8fd6ea7f0c30f47824 100644 --- a/mavlink-core/src/connection/direct_serial.rs +++ b/mavlink-core/src/connection/direct_serial.rs @@ -77,6 +77,7 @@ impl<M: Message> MavConnection<M> for SerialConnection { let mut sequence = self.sequence.lock().unwrap(); let header = MavHeader { + incompat_flags: 0, sequence: *sequence, system_id: header.system_id, component_id: header.component_id, diff --git a/mavlink-core/src/connection/tcp.rs b/mavlink-core/src/connection/tcp.rs index 35b7f09084cb4b7d260a4359fcf135d9eb72a8b1..73d456aa3b93d75c7fa51d622c72a931dbf38750 100644 --- a/mavlink-core/src/connection/tcp.rs +++ b/mavlink-core/src/connection/tcp.rs @@ -95,6 +95,7 @@ impl<M: Message> MavConnection<M> for TcpConnection { let mut lock = self.writer.lock().unwrap(); let header = MavHeader { + incompat_flags: 0, sequence: lock.sequence, system_id: header.system_id, component_id: header.component_id, diff --git a/mavlink-core/src/connection/udp.rs b/mavlink-core/src/connection/udp.rs index 3ec739d3f5ecce19d5c2cd119f1722ea9dc7f1ce..91bbfaef45a69094d4aee72e3ccc62fbda3dc913 100644 --- a/mavlink-core/src/connection/udp.rs +++ b/mavlink-core/src/connection/udp.rs @@ -134,6 +134,7 @@ impl<M: Message> MavConnection<M> for UdpConnection { let state = &mut *guard; let header = MavHeader { + incompat_flags: 0, sequence: state.sequence, system_id: header.system_id, component_id: header.component_id, diff --git a/mavlink-core/src/lib.rs b/mavlink-core/src/lib.rs index e6e7aec97a20fcca7476b7d099a88b2551b5c62c..fa6bea9c482b9978e6cac0c36e0add5e80700218 100644 --- a/mavlink-core/src/lib.rs +++ b/mavlink-core/src/lib.rs @@ -93,6 +93,7 @@ pub trait MessageData: Sized { #[derive(Debug, Copy, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct MavHeader { +pub incompat_flags: u8, pub system_id: u8, pub component_id: u8, pub sequence: u8, @@ -118,6 +119,7 @@ pub const MAV_STX_V2: u8 = 0xFD; impl Default for MavHeader { fn default() -> Self { Self { + incompat_flags: 0, system_id: 255, component_id: 0, sequence: 0, @@ -211,6 +213,7 @@ impl<M: Message> MavFrame<M> { let system_id = buf.get_u8(); let component_id = buf.get_u8(); let header = MavHeader { + incompat_flags: 0, system_id, component_id, sequence, @@ -639,7 +642,7 @@ impl MAVLinkV2MessageRaw { let header_buf = self.mut_header(); header_buf.copy_from_slice(&[ payload_length as u8, - 0, //incompat_flags + header.incompat_flags, 0, //compat_flags header.sequence, header.system_id, diff --git a/mavlink/examples/embedded-async-read/src/main.rs b/mavlink/examples/embedded-async-read/src/main.rs index 7f53335de3e15e44108646aa00ed6a3b47901f25..6b4e5c1dc17b044fe1d2ec9023af58e5474f2316 100644 --- a/mavlink/examples/embedded-async-read/src/main.rs +++ b/mavlink/examples/embedded-async-read/src/main.rs @@ -39,6 +39,7 @@ async fn main(spawner: Spawner) { // Create our mavlink header and heartbeat message let header = mavlink::MavHeader { + incompat_flags: 0, system_id: 1, component_id: 1, sequence: 42, diff --git a/mavlink/examples/embedded/src/main.rs b/mavlink/examples/embedded/src/main.rs index 4a71ca8fcfd7b1e45fa766fd368683808486bb70..21b70396b13225d1cad19921d3cdd0128b4581b5 100644 --- a/mavlink/examples/embedded/src/main.rs +++ b/mavlink/examples/embedded/src/main.rs @@ -82,6 +82,7 @@ fn main() -> ! { fn mavlink_header() -> mavlink::MavHeader { mavlink::MavHeader { + incompat_flags: 0, system_id: 1, component_id: 1, sequence: 42, diff --git a/mavlink/tests/mav_frame_tests.rs b/mavlink/tests/mav_frame_tests.rs index 1c225efd09d7148c439bace4ac09de7804a8d086..5472dbb8c12ce2ec463f493759b163f90c256946 100644 --- a/mavlink/tests/mav_frame_tests.rs +++ b/mavlink/tests/mav_frame_tests.rs @@ -96,6 +96,7 @@ mod mav_frame_tests { fn new(msg: MavMessage) -> MavFrame<MavMessage> { MavFrame { header: MavHeader { + incompat_flags: 0, system_id: 1, component_id: 2, sequence: 84, diff --git a/mavlink/tests/test_shared/mod.rs b/mavlink/tests/test_shared/mod.rs index 4cba46907af9cd0cd438b048a428620eb65034b3..332e9a1f02326a75a3bf6bd0a07bfd42043d3e27 100644 --- a/mavlink/tests/test_shared/mod.rs +++ b/mavlink/tests/test_shared/mod.rs @@ -1,6 +1,7 @@ #![allow(unused)] pub const COMMON_MSG_HEADER: mavlink::MavHeader = mavlink::MavHeader { + incompat_flags: 0, sequence: 239, system_id: 1, component_id: 2,