diff --git a/src/sentences/aam.rs b/src/sentences/aam.rs index a17a74e..a73823d 100644 --- a/src/sentences/aam.rs +++ b/src/sentences/aam.rs @@ -32,7 +32,7 @@ use crate::{parse::NmeaSentence, sentences::utils::array_string, Error, Sentence /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct AamData { pub arrival_circle_entered: Option, pub perpendicular_passed: Option, diff --git a/src/sentences/apa.rs b/src/sentences/apa.rs index 8fe2d86..b85de35 100644 --- a/src/sentences/apa.rs +++ b/src/sentences/apa.rs @@ -46,7 +46,7 @@ use crate::{parse::NmeaSentence, sentences::utils::array_string, Error, Sentence #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq, Clone)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct ApaData { pub status_warning: Option, pub status_cycle_warning: Option, diff --git a/src/sentences/bwc.rs b/src/sentences/bwc.rs index 62e249c..a7a9473 100644 --- a/src/sentences/bwc.rs +++ b/src/sentences/bwc.rs @@ -22,7 +22,7 @@ use crate::{ /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct BwcData { #[cfg_attr(feature = "defmt-03", defmt(Debug2Format))] pub fix_time: Option, diff --git a/src/sentences/bww.rs b/src/sentences/bww.rs index e95f281..9e0ad9a 100644 --- a/src/sentences/bww.rs +++ b/src/sentences/bww.rs @@ -31,7 +31,7 @@ use crate::{ /// Example: `$GPBWW,213.8,T,218.0,M,TOWPT,FROMWPT*42` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct BwwData { pub true_bearing: Option, pub magnetic_bearing: Option, diff --git a/src/sentences/dbk.rs b/src/sentences/dbk.rs index 1711bdd..2fa64ca 100644 --- a/src/sentences/dbk.rs +++ b/src/sentences/dbk.rs @@ -29,7 +29,7 @@ use crate::{parse::NmeaSentence, Error, ParseResult, SentenceType}; /// Example: `$SDDBK,1330.5,f,0405.5,M,0221.6,F*2E` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct DbkData { pub depth_feet: Option, pub depth_meters: Option, diff --git a/src/sentences/dbs.rs b/src/sentences/dbs.rs index 9c34c8d..bcf8b05 100644 --- a/src/sentences/dbs.rs +++ b/src/sentences/dbs.rs @@ -28,7 +28,7 @@ use crate::{Error, NmeaSentence, ParseResult, SentenceType}; /// #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct DbsData { pub water_depth_feet: Option, pub water_depth_meters: Option, diff --git a/src/sentences/gga.rs b/src/sentences/gga.rs index 69c7423..c417bfe 100644 --- a/src/sentences/gga.rs +++ b/src/sentences/gga.rs @@ -28,7 +28,7 @@ use crate::{ /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct GgaData { #[cfg_attr( not(feature = "std"), diff --git a/src/sentences/gns.rs b/src/sentences/gns.rs index 049bf93..6c9bea9 100644 --- a/src/sentences/gns.rs +++ b/src/sentences/gns.rs @@ -26,7 +26,7 @@ use crate::{parse::NmeaSentence, Error, SentenceType}; /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct GnsData { #[cfg_attr(feature = "defmt-03", defmt(Debug2Format))] pub fix_time: Option, diff --git a/src/sentences/gst.rs b/src/sentences/gst.rs index d17c3e2..fec83d0 100644 --- a/src/sentences/gst.rs +++ b/src/sentences/gst.rs @@ -22,7 +22,7 @@ use nom::{character::complete::char, combinator::opt, number::complete::float, I #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct GstData { #[cfg_attr(feature = "defmt-03", defmt(Debug2Format))] pub time: Option, diff --git a/src/sentences/hdt.rs b/src/sentences/hdt.rs index ecaac84..a3035d6 100644 --- a/src/sentences/hdt.rs +++ b/src/sentences/hdt.rs @@ -22,7 +22,7 @@ use crate::{Error, NmeaSentence, SentenceType}; /// 3. Checksum #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct HdtData { /// Heading, degrees True pub heading: Option, diff --git a/src/sentences/mda.rs b/src/sentences/mda.rs index 26f2c32..64dc93c 100644 --- a/src/sentences/mda.rs +++ b/src/sentences/mda.rs @@ -13,7 +13,7 @@ use crate::{parse::NmeaSentence, Error, SentenceType}; /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct MdaData { /// Pressure in inches of mercury pub pressure_in_hg: Option, diff --git a/src/sentences/mtw.rs b/src/sentences/mtw.rs index 4c54c98..3b56155 100644 --- a/src/sentences/mtw.rs +++ b/src/sentences/mtw.rs @@ -22,7 +22,7 @@ use crate::{parse::NmeaSentence, Error, SentenceType}; /// 3: Mandatory NMEA checksum #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct MtwData { pub temperature: Option, } diff --git a/src/sentences/mwv.rs b/src/sentences/mwv.rs index 03ac00a..c8bffc8 100644 --- a/src/sentences/mwv.rs +++ b/src/sentences/mwv.rs @@ -19,7 +19,7 @@ use crate::{parse::NmeaSentence, Error, SentenceType}; /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct MwvData { pub wind_direction: Option, pub reference: Option, diff --git a/src/sentences/ttm.rs b/src/sentences/ttm.rs index 2afc8f7..ab32419 100644 --- a/src/sentences/ttm.rs +++ b/src/sentences/ttm.rs @@ -90,7 +90,7 @@ pub enum TtmTypeOfAcquisition { /// ``` #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct TtmData { /// Target number pub target_number: Option, diff --git a/src/sentences/wnc.rs b/src/sentences/wnc.rs index 9582122..572f94f 100644 --- a/src/sentences/wnc.rs +++ b/src/sentences/wnc.rs @@ -29,9 +29,9 @@ use crate::{ /// 4. K = Kilometers /// 5. Waypoint ID, Destination /// 6. Waypoint ID, Origin -#[derive(Debug, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct WncData { /// Distance, Nautical Miles pub distance_nautical_miles: Option, diff --git a/src/sentences/zfo.rs b/src/sentences/zfo.rs index 6a6fa4c..f4a27db 100644 --- a/src/sentences/zfo.rs +++ b/src/sentences/zfo.rs @@ -24,7 +24,7 @@ use crate::{ /// 4. Checksum #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct ZfoData { #[cfg_attr(feature = "defmt-03", defmt(Debug2Format))] pub fix_time: Option, diff --git a/src/sentences/ztg.rs b/src/sentences/ztg.rs index 9335abc..642f854 100644 --- a/src/sentences/ztg.rs +++ b/src/sentences/ztg.rs @@ -26,7 +26,7 @@ use super::utils::array_string; /// 4. Checksum #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "defmt-03", derive(defmt::Format))] -#[derive(Debug, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct ZtgData { #[cfg_attr(feature = "defmt-03", defmt(Debug2Format))] pub fix_time: Option,