ublox/ubx_packets/packets/ack.rs
1#[cfg(feature = "serde")]
2use super::SerializeUbxPacketFields;
3#[cfg(feature = "serde")]
4use crate::serde::ser::SerializeMap;
5
6use crate::{error::ParserError, UbxPacketMeta};
7use ublox_derive::ubx_packet_recv;
8
9/// Messages in this class are sent as a result of a CFG message being
10/// received, decoded and processed by thereceiver.
11#[ubx_packet_recv]
12#[ubx(class = 5, id = 1, fixed_payload_len = 2)]
13struct AckAck {
14 /// Class ID of the Acknowledged Message
15 class: u8,
16
17 /// Message ID of the Acknowledged Message
18 msg_id: u8,
19}
20
21impl AckAckRef<'_> {
22 pub fn is_ack_for<T: UbxPacketMeta>(&self) -> bool {
23 self.class() == T::CLASS && self.msg_id() == T::ID
24 }
25}
26
27/// Message Not-Acknowledge
28#[ubx_packet_recv]
29#[ubx(class = 5, id = 0, fixed_payload_len = 2)]
30struct AckNak {
31 /// Class ID of the Acknowledged Message
32 class: u8,
33
34 /// Message ID of the Acknowledged Message
35 msg_id: u8,
36}
37
38impl AckNakRef<'_> {
39 pub fn is_nak_for<T: UbxPacketMeta>(&self) -> bool {
40 self.class() == T::CLASS && self.msg_id() == T::ID
41 }
42}