Skip to content

Commit cc70959

Browse files
committed
pldm-platform: Add more standard derive impls
This adds Eq comparison and other common traits to the protocol structs. Signed-off-by: Matt Johnston <[email protected]>
1 parent 0bdf4be commit cc70959

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

pldm-platform/src/proto.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ pub enum SensorState {
192192
UpperFatal,
193193
}
194194

195-
#[derive(Debug, Clone, Default)]
195+
#[derive(Debug, Clone, Default, Eq, PartialEq, Hash, Ord, PartialOrd)]
196196
pub struct VecWrap<T, const N: usize>(pub heapless::Vec<T, N>);
197197

198198
impl<T, const N: usize> From<heapless::Vec<T, N>> for VecWrap<T, N> {
@@ -261,7 +261,7 @@ where
261261
}
262262

263263
/// A null terminated ascii string.
264-
#[derive(DekuWrite, Default, Clone)]
264+
#[derive(DekuWrite, Default, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
265265
pub struct AsciiString<const N: usize>(pub VecWrap<u8, N>);
266266

267267
impl<const N: usize> AsciiString<N> {
@@ -373,7 +373,7 @@ pub struct GetSensorReadingReq {
373373
}
374374

375375
#[deku_derive(DekuRead, DekuWrite)]
376-
#[derive(Debug, Clone)]
376+
#[derive(Debug, Clone, PartialEq, Eq)]
377377
pub struct GetSensorReadingResp {
378378
#[deku(temp, temp_value = "reading.deku_id().unwrap()")]
379379
data_size: u8,
@@ -387,15 +387,15 @@ pub struct GetSensorReadingResp {
387387
}
388388

389389
#[deku_derive(DekuRead, DekuWrite)]
390-
#[derive(Debug, Clone)]
390+
#[derive(Debug, Clone, PartialEq, Eq)]
391391
pub struct GetStateSensorReadingsReq {
392392
pub sensor: SensorId,
393393
pub rearm: u8,
394394
#[deku(temp, temp_value = "0")]
395395
rsvd: u8,
396396
}
397397

398-
#[derive(Debug, DekuRead, DekuWrite, Clone)]
398+
#[derive(Debug, DekuRead, DekuWrite, Clone, PartialEq, Eq)]
399399
pub struct StateField {
400400
pub op_state: SensorOperationalState,
401401
pub present_state: u8,
@@ -487,29 +487,29 @@ impl Debug for StateFieldDebug<'_> {
487487
}
488488

489489
#[deku_derive(DekuRead, DekuWrite)]
490-
#[derive(Debug, Clone)]
490+
#[derive(Debug, Clone, PartialEq, Eq)]
491491
pub struct GetStateSensorReadingsResp {
492492
#[deku(temp, temp_value = "self.fields.len() as u8")]
493493
pub composite_sensor_count: u8,
494494
#[deku(count = "composite_sensor_count")]
495495
pub fields: VecWrap<StateField, 8>,
496496
}
497497

498-
#[derive(Debug, DekuRead, DekuWrite, Clone)]
498+
#[derive(Debug, DekuRead, DekuWrite, Clone, PartialEq, Eq)]
499499
pub struct SetNumericSensorEnableReq {
500500
pub sensor: SensorId,
501501
pub set_op_state: SetSensorOperationalState,
502502
pub event_enable: SensorEventMessageEnable,
503503
}
504504

505-
#[derive(Debug, DekuRead, DekuWrite, Clone)]
505+
#[derive(Debug, DekuRead, DekuWrite, Clone, PartialEq, Eq)]
506506
pub struct SetEnableField {
507507
pub set_op_state: SetSensorOperationalState,
508508
pub event_enable: SensorEventMessageEnable,
509509
}
510510

511511
#[deku_derive(DekuRead, DekuWrite)]
512-
#[derive(Debug, Clone)]
512+
#[derive(Debug, Clone, PartialEq, Eq)]
513513
pub struct SetStateSensorEnablesReq {
514514
pub sensor: SensorId,
515515

@@ -534,7 +534,7 @@ pub enum PDRRepositoryState {
534534
pub type Timestamp104 = [u8; 13];
535535

536536
#[deku_derive(DekuRead, DekuWrite)]
537-
#[derive(Debug, Clone)]
537+
#[derive(Debug, Clone, PartialEq, Eq)]
538538
pub struct GetPDRRepositoryInfoResp {
539539
pub state: PDRRepositoryState,
540540
pub update_time: Timestamp104,
@@ -546,7 +546,7 @@ pub struct GetPDRRepositoryInfoResp {
546546
}
547547

548548
#[deku_derive(DekuRead, DekuWrite)]
549-
#[derive(Debug, Clone, Eq, PartialEq)]
549+
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
550550
#[deku(id_type = "u8")]
551551
#[repr(u8)]
552552
pub enum TransferOperationFlag {
@@ -555,7 +555,7 @@ pub enum TransferOperationFlag {
555555
}
556556

557557
#[deku_derive(DekuRead, DekuWrite)]
558-
#[derive(Debug, Clone)]
558+
#[derive(Debug, Clone, PartialEq, Eq)]
559559
pub struct GetPDRReq {
560560
pub record_handle: u32,
561561
pub data_transfer_handle: u32,
@@ -567,7 +567,7 @@ pub struct GetPDRReq {
567567
const MAX_PDR_TRANSFER: usize = 100;
568568

569569
#[deku_derive(DekuRead, DekuWrite)]
570-
#[derive(Debug, Clone)]
570+
#[derive(Debug, Clone, PartialEq, Eq)]
571571
pub struct GetPDRResp {
572572
pub next_record_handle: u32,
573573
pub next_data_transfer_handle: u32,
@@ -665,7 +665,7 @@ impl deku::no_std_io::Seek for &mut Length {
665665
pub const PDR_VERSION_1: u8 = 1;
666666

667667
#[deku_derive(DekuRead, DekuWrite)]
668-
#[derive(Debug, Clone)]
668+
#[derive(Debug, Clone, PartialEq, Eq)]
669669
pub struct Pdr {
670670
pub record_handle: u32,
671671
pub pdr_header_version: u8,
@@ -681,7 +681,7 @@ pub struct Pdr {
681681

682682
#[non_exhaustive]
683683
#[deku_derive(DekuRead, DekuWrite)]
684-
#[derive(Debug, Clone)]
684+
#[derive(Debug, Clone, PartialEq, Eq)]
685685
#[deku(ctx = "pdr_type: u8", id = "pdr_type")]
686686
pub enum PdrRecord {
687687
#[deku(id = 30)]
@@ -697,7 +697,7 @@ impl PdrRecord {
697697
}
698698

699699
#[deku_derive(DekuRead, DekuWrite)]
700-
#[derive(Debug, Clone)]
700+
#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord)]
701701
#[deku(id_type = "u8")]
702702
#[repr(u8)]
703703
pub enum FileClassification {
@@ -730,7 +730,7 @@ pub mod file_capabilities {
730730
}
731731

732732
#[deku_derive(DekuRead, DekuWrite)]
733-
#[derive(Debug, Clone)]
733+
#[derive(Debug, Clone, PartialEq, Eq)]
734734
pub struct FileDescriptorPdr {
735735
pub terminus_handle: u16,
736736
pub file_identifier: u16,

0 commit comments

Comments
 (0)