pub struct DeviceDataStruct {
pub mode: u8,
pub gain_setting: u8,
pub angle: u16,
pub transmit_duration: u16,
pub sample_period: u16,
pub transmit_frequency: u16,
pub number_of_samples: u16,
pub data_length: u16,
pub data: Vec<u8>,
}Expand description
This message is used to communicate the current sonar state. If the data field is populated, the other fields indicate the sonar state when the data was captured. The time taken before the response to the command is sent depends on the difference between the last angle scanned and the new angle in the parameters as well as the number of samples and sample interval (range). To allow for the worst case reponse time the command timeout should be set to 4000 msec.
Fields§
§mode: u8Operating mode (1 for Ping360)
gain_setting: u8Analog gain setting (0 = low, 1 = normal, 2 = high)
angle: u16Head angle
transmit_duration: u16Acoustic transmission duration (1~1000 us)
sample_period: u16Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)
transmit_frequency: u16Acoustic operating frequency (500~1000 kHz). It is only practical to use say 650 to 850 kHz due to the narrow bandwidth of the acoustic receiver.
number_of_samples: u16Number of samples per reflected signal (supported values: 200~1200)
data_length: u16An array of return strength measurements taken at regular intervals across the scan region. The first element is the closest measurement to the sensor, and the last element is the farthest measurement in the scanned range.
data: Vec<u8>Trait Implementations§
source§impl Clone for DeviceDataStruct
impl Clone for DeviceDataStruct
source§fn clone(&self) -> DeviceDataStruct
fn clone(&self) -> DeviceDataStruct
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for DeviceDataStruct
impl Debug for DeviceDataStruct
source§impl Default for DeviceDataStruct
impl Default for DeviceDataStruct
source§fn default() -> DeviceDataStruct
fn default() -> DeviceDataStruct
source§impl<'de> Deserialize<'de> for DeviceDataStruct
impl<'de> Deserialize<'de> for DeviceDataStruct
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl DeserializePayload for DeviceDataStruct
impl DeserializePayload for DeviceDataStruct
fn deserialize(payload: &[u8]) -> Self
source§impl MessageInfo for DeviceDataStruct
impl MessageInfo for DeviceDataStruct
source§impl PartialEq for DeviceDataStruct
impl PartialEq for DeviceDataStruct
source§impl Serialize for DeviceDataStruct
impl Serialize for DeviceDataStruct
source§impl SerializePayload for DeviceDataStruct
impl SerializePayload for DeviceDataStruct
impl StructuralPartialEq for DeviceDataStruct
Auto Trait Implementations§
impl Freeze for DeviceDataStruct
impl RefUnwindSafe for DeviceDataStruct
impl Send for DeviceDataStruct
impl Sync for DeviceDataStruct
impl Unpin for DeviceDataStruct
impl UnwindSafe for DeviceDataStruct
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)