dis_rs/common/receiver/
writer.rs

1use crate::common::receiver::model::Receiver;
2use crate::common::{Serialize, SerializePdu, SupportedVersion};
3use bytes::{BufMut, BytesMut};
4
5impl SerializePdu for Receiver {
6    fn serialize_pdu(&self, _version: SupportedVersion, buf: &mut BytesMut) -> u16 {
7        let rx_ref_id_bytes = self.radio_reference_id.serialize(buf);
8        buf.put_u16(self.radio_number);
9        buf.put_u16(self.receiver_state.into());
10        buf.put_u16(0u16);
11        buf.put_f32(self.received_power);
12        let tx_ref_id_bytes = self.transmitter_radio_reference_id.serialize(buf);
13        buf.put_u16(self.transmitter_radio_number);
14
15        12 + rx_ref_id_bytes + tx_ref_id_bytes
16    }
17}