From ff09326e5f90f707931609ef13a2c8d8b70bbe82 Mon Sep 17 00:00:00 2001 From: patrickelectric Date: Thu, 16 May 2024 18:17:11 +0000 Subject: [PATCH] deploy: 54b20a5b205e1ddf2c3ce50c40312e064ea8141b --- bluerobotics_ping/all.html | 2 +- bluerobotics_ping/bluebps/enum.Messages.html | 28 +- .../bluebps/struct.CellTimeoutStruct.html | 6 +- .../bluebps/struct.CellVoltageMinStruct.html | 6 +- .../bluebps/struct.CurrentMaxStruct.html | 6 +- .../bluebps/struct.CurrentTimeoutStruct.html | 6 +- bluerobotics_ping/bluebps/struct.Device.html | 88 +- .../bluebps/struct.EraseFlashStruct.html | 6 +- .../bluebps/struct.EventsStruct.html | 6 +- .../bluebps/struct.RebootStruct.html | 6 +- .../bluebps/struct.ResetDefaultsStruct.html | 6 +- .../struct.SetCellVoltageMinimumStruct.html | 6 +- .../struct.SetCellVoltageTimeoutStruct.html | 6 +- .../bluebps/struct.SetCurrentMaxStruct.html | 6 +- .../struct.SetCurrentTimeoutStruct.html | 6 +- .../struct.SetLpfSampleFrequencyStruct.html | 6 +- .../bluebps/struct.SetLpfSettingStruct.html | 6 +- .../bluebps/struct.SetStreamRateStruct.html | 6 +- .../struct.SetTemperatureMaxStruct.html | 6 +- .../struct.SetTemperatureTimeoutStruct.html | 6 +- .../bluebps/struct.StateStruct.html | 6 +- .../bluebps/struct.TemperatureMaxStruct.html | 6 +- .../struct.TemperatureTimeoutStruct.html | 6 +- bluerobotics_ping/common/enum.Messages.html | 10 +- .../common/struct.AckStruct.html | 6 +- .../common/struct.AsciiTextStruct.html | 6 +- bluerobotics_ping/common/struct.Device.html | 6 +- .../struct.DeviceInformationStruct.html | 6 +- .../common/struct.GeneralRequestStruct.html | 6 +- .../common/struct.NackStruct.html | 6 +- .../common/struct.ProtocolVersionStruct.html | 6 +- .../common/struct.SetDeviceIdStruct.html | 6 +- bluerobotics_ping/enum.Messages.html | 2 +- .../message/trait.DeserializePayload.html | 2 +- .../message/trait.MessageInfo.html | 2 +- .../message/trait.SerializePayload.html | 2 +- bluerobotics_ping/ping1d/enum.Messages.html | 36 +- .../ping1d/struct.ContinuousStartStruct.html | 6 +- .../ping1d/struct.ContinuousStopStruct.html | 6 +- bluerobotics_ping/ping1d/struct.Device.html | 98 +- .../ping1d/struct.DeviceIdStruct.html | 6 +- .../ping1d/struct.DistanceSimpleStruct.html | 6 +- .../ping1d/struct.DistanceStruct.html | 6 +- .../ping1d/struct.FirmwareVersionStruct.html | 6 +- .../ping1d/struct.GainSettingStruct.html | 6 +- .../ping1d/struct.GeneralInfoStruct.html | 6 +- .../ping1d/struct.GotoBootloaderStruct.html | 6 +- .../ping1d/struct.ModeAutoStruct.html | 6 +- .../ping1d/struct.PcbTemperatureStruct.html | 6 +- .../ping1d/struct.PingEnableStruct.html | 6 +- .../ping1d/struct.PingIntervalStruct.html | 6 +- .../struct.ProcessorTemperatureStruct.html | 6 +- .../ping1d/struct.ProfileStruct.html | 8 +- .../ping1d/struct.RangeStruct.html | 6 +- .../ping1d/struct.SetDeviceIdStruct.html | 6 +- .../ping1d/struct.SetGainSettingStruct.html | 6 +- .../ping1d/struct.SetModeAutoStruct.html | 6 +- .../ping1d/struct.SetPingEnableStruct.html | 6 +- .../ping1d/struct.SetPingIntervalStruct.html | 6 +- .../ping1d/struct.SetRangeStruct.html | 8 +- .../ping1d/struct.SetSpeedOfSoundStruct.html | 6 +- .../ping1d/struct.SpeedOfSoundStruct.html | 6 +- .../ping1d/struct.TransmitDurationStruct.html | 6 +- .../ping1d/struct.Voltage5Struct.html | 6 +- bluerobotics_ping/ping360/enum.Messages.html | 10 +- bluerobotics_ping/ping360/index.html | 2 +- bluerobotics_ping/ping360/sidebar-items.js | 2 +- .../ping360/struct.AutoDeviceDataStruct.html | 24 +- .../ping360/struct.AutoTransmitStruct.html | 22 +- bluerobotics_ping/ping360/struct.Device.html | 80 +- .../ping360/struct.DeviceDataStruct.html | 16 +- .../ping360/struct.MotorOffStruct.html | 6 +- ...uct.html => struct.SetDeviceIdStruct.html} | 8 +- .../ping360/struct.TransducerStruct.html | 18 +- search-index.js | 2 +- .../out/bluebps.rs.html | 720 ++++----- .../out/common.rs.html | 306 ++-- .../out/mod.rs.html | 24 + .../out/ping1d.rs.html | 1282 ++++++++--------- .../out/ping360.rs.html | 412 +++--- trait.impl/core/clone/trait.Clone.js | 2 +- trait.impl/core/cmp/trait.PartialEq.js | 2 +- trait.impl/core/default/trait.Default.js | 2 +- trait.impl/core/fmt/trait.Debug.js | 2 +- trait.impl/core/marker/trait.Freeze.js | 2 +- trait.impl/core/marker/trait.Send.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- trait.impl/core/marker/trait.Sync.js | 2 +- trait.impl/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- 91 files changed, 1789 insertions(+), 1765 deletions(-) rename bluerobotics_ping/ping360/{struct.DeviceIdStruct.html => struct.SetDeviceIdStruct.html} (52%) diff --git a/bluerobotics_ping/all.html b/bluerobotics_ping/all.html index d7cc1b8f8..55895956d 100644 --- a/bluerobotics_ping/all.html +++ b/bluerobotics_ping/all.html @@ -1,2 +1,2 @@ List of all items in this crate -

List of all items

Structs

Enums

Traits

Functions

Constants

\ No newline at end of file +

List of all items

Structs

Enums

Traits

Functions

Constants

\ No newline at end of file diff --git a/bluerobotics_ping/bluebps/enum.Messages.html b/bluerobotics_ping/bluebps/enum.Messages.html index 26de4eaf6..351e2e5b3 100644 --- a/bluerobotics_ping/bluebps/enum.Messages.html +++ b/bluerobotics_ping/bluebps/enum.Messages.html @@ -1,26 +1,26 @@ Messages in bluerobotics_ping::bluebps - Rust
pub enum Messages {
-
Show 20 variants SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), - CurrentMax(CurrentMaxStruct), +
Show 20 variants SetStreamRate(SetStreamRateStruct), + EraseFlash(EraseFlashStruct), CellTimeout(CellTimeoutStruct), State(StateStruct), - SetStreamRate(SetStreamRateStruct), - TemperatureMax(TemperatureMaxStruct), - Events(EventsStruct), + TemperatureTimeout(TemperatureTimeoutStruct), SetCurrentMax(SetCurrentMaxStruct), - EraseFlash(EraseFlashStruct), - SetLpfSetting(SetLpfSettingStruct), - SetCurrentTimeout(SetCurrentTimeoutStruct), ResetDefaults(ResetDefaultsStruct), + SetCurrentTimeout(SetCurrentTimeoutStruct), + Events(EventsStruct), + SetCellVoltageMinimum(SetCellVoltageMinimumStruct), SetTemperatureMax(SetTemperatureMaxStruct), - Reboot(RebootStruct), - CellVoltageMin(CellVoltageMinStruct), - CurrentTimeout(CurrentTimeoutStruct), SetCellVoltageTimeout(SetCellVoltageTimeoutStruct), - SetCellVoltageMinimum(SetCellVoltageMinimumStruct), SetTemperatureTimeout(SetTemperatureTimeoutStruct), - TemperatureTimeout(TemperatureTimeoutStruct), -
}

Variants§

§

SetLpfSampleFrequency(SetLpfSampleFrequencyStruct)

§

CurrentMax(CurrentMaxStruct)

§

CellTimeout(CellTimeoutStruct)

§

State(StateStruct)

§

SetStreamRate(SetStreamRateStruct)

§

TemperatureMax(TemperatureMaxStruct)

§

Events(EventsStruct)

§

SetCurrentMax(SetCurrentMaxStruct)

§

EraseFlash(EraseFlashStruct)

§

SetLpfSetting(SetLpfSettingStruct)

§

SetCurrentTimeout(SetCurrentTimeoutStruct)

§

ResetDefaults(ResetDefaultsStruct)

§

SetTemperatureMax(SetTemperatureMaxStruct)

§

Reboot(RebootStruct)

§

CellVoltageMin(CellVoltageMinStruct)

§

CurrentTimeout(CurrentTimeoutStruct)

§

SetCellVoltageTimeout(SetCellVoltageTimeoutStruct)

§

SetCellVoltageMinimum(SetCellVoltageMinimumStruct)

§

SetTemperatureTimeout(SetTemperatureTimeoutStruct)

§

TemperatureTimeout(TemperatureTimeoutStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used + CellVoltageMin(CellVoltageMinStruct), + SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), + CurrentTimeout(CurrentTimeoutStruct), + CurrentMax(CurrentMaxStruct), + SetLpfSetting(SetLpfSettingStruct), + TemperatureMax(TemperatureMaxStruct), + Reboot(RebootStruct), +
}

Variants§

§

SetStreamRate(SetStreamRateStruct)

§

EraseFlash(EraseFlashStruct)

§

CellTimeout(CellTimeoutStruct)

§

State(StateStruct)

§

TemperatureTimeout(TemperatureTimeoutStruct)

§

SetCurrentMax(SetCurrentMaxStruct)

§

ResetDefaults(ResetDefaultsStruct)

§

SetCurrentTimeout(SetCurrentTimeoutStruct)

§

Events(EventsStruct)

§

SetCellVoltageMinimum(SetCellVoltageMinimumStruct)

§

SetTemperatureMax(SetTemperatureMaxStruct)

§

SetCellVoltageTimeout(SetCellVoltageTimeoutStruct)

§

SetTemperatureTimeout(SetTemperatureTimeoutStruct)

§

CellVoltageMin(CellVoltageMinStruct)

§

SetLpfSampleFrequency(SetLpfSampleFrequencyStruct)

§

CurrentTimeout(CurrentTimeoutStruct)

§

CurrentMax(CurrentMaxStruct)

§

SetLpfSetting(SetLpfSettingStruct)

§

TemperatureMax(TemperatureMaxStruct)

§

Reboot(RebootStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PingMessage for Messages

source§

impl SerializePayload for Messages

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Messages

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html index 0c42e96d4..9e45dca94 100644 --- a/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html @@ -1,11 +1,11 @@ CellTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct CellTimeoutStruct {
+    
pub struct CellTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Get the undervoltage timeout

Fields§

§timeout: u16

If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for CellTimeoutStruct

source§

fn clone(&self) -> CellTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CellTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CellTimeoutStruct

source§

fn default() -> CellTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CellTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CellTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for CellTimeoutStruct

source§

fn eq(&self, other: &CellTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for CellTimeoutStruct

source§

fn clone(&self) -> CellTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CellTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CellTimeoutStruct

source§

fn default() -> CellTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CellTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CellTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for CellTimeoutStruct

source§

fn eq(&self, other: &CellTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for CellTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CellTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for CellTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CellTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html b/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html index 7531cd744..f66d1ccb7 100644 --- a/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html +++ b/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html @@ -1,11 +1,11 @@ CellVoltageMinStruct in bluerobotics_ping::bluebps - Rust -
pub struct CellVoltageMinStruct {
+    
pub struct CellVoltageMinStruct {
     pub limit: u16,
 }
Expand description

Get the minimum allowed cell voltage

Fields§

§limit: u16

The minimum voltage allowed for any individual cell. 0~5000: 0~5V

-

Trait Implementations§

source§

impl Clone for CellVoltageMinStruct

source§

fn clone(&self) -> CellVoltageMinStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CellVoltageMinStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CellVoltageMinStruct

source§

fn default() -> CellVoltageMinStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CellVoltageMinStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CellVoltageMinStruct

source§

fn id() -> u16

source§

impl PartialEq for CellVoltageMinStruct

source§

fn eq(&self, other: &CellVoltageMinStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for CellVoltageMinStruct

source§

fn clone(&self) -> CellVoltageMinStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CellVoltageMinStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CellVoltageMinStruct

source§

fn default() -> CellVoltageMinStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CellVoltageMinStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CellVoltageMinStruct

source§

fn id() -> u16

source§

impl PartialEq for CellVoltageMinStruct

source§

fn eq(&self, other: &CellVoltageMinStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for CellVoltageMinStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CellVoltageMinStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for CellVoltageMinStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CellVoltageMinStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html b/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html index 357d84da1..0dba9fea9 100644 --- a/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html @@ -1,11 +1,11 @@ CurrentMaxStruct in bluerobotics_ping::bluebps - Rust -
pub struct CurrentMaxStruct {
+    
pub struct CurrentMaxStruct {
     pub limit: u16,
 }
Expand description

get the maximum allowed battery current

Fields§

§limit: u16

The maximum allowed battery current 0~20000 = 0~200A

-

Trait Implementations§

source§

impl Clone for CurrentMaxStruct

source§

fn clone(&self) -> CurrentMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CurrentMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CurrentMaxStruct

source§

fn default() -> CurrentMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CurrentMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CurrentMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for CurrentMaxStruct

source§

fn eq(&self, other: &CurrentMaxStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for CurrentMaxStruct

source§

fn clone(&self) -> CurrentMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CurrentMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CurrentMaxStruct

source§

fn default() -> CurrentMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CurrentMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CurrentMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for CurrentMaxStruct

source§

fn eq(&self, other: &CurrentMaxStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for CurrentMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CurrentMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for CurrentMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CurrentMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html index 00a065273..961da6100 100644 --- a/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html @@ -1,11 +1,11 @@ CurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct CurrentTimeoutStruct {
+    
pub struct CurrentTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Get the over-current timeout

Fields§

§timeout: u16

If the battery current exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for CurrentTimeoutStruct

source§

fn clone(&self) -> CurrentTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CurrentTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CurrentTimeoutStruct

source§

fn default() -> CurrentTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CurrentTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CurrentTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for CurrentTimeoutStruct

source§

fn eq(&self, other: &CurrentTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for CurrentTimeoutStruct

source§

fn clone(&self) -> CurrentTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CurrentTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CurrentTimeoutStruct

source§

fn default() -> CurrentTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for CurrentTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for CurrentTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for CurrentTimeoutStruct

source§

fn eq(&self, other: &CurrentTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for CurrentTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CurrentTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for CurrentTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for CurrentTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.Device.html b/bluerobotics_ping/bluebps/struct.Device.html index 6511d5e45..b6e3a1081 100644 --- a/bluerobotics_ping/bluebps/struct.Device.html +++ b/bluerobotics_ping/bluebps/struct.Device.html @@ -2,80 +2,80 @@
pub struct Device {
     pub common: Common,
 }

Fields§

§common: Common

Implementations§

source§

impl Device

source

pub fn new<T>(io: T) -> Self
where - T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn set_lpf_sample_frequency( - &self, - sample_frequency: u32 -) -> Result<(), PingError>

the frequency to take adc samples and run the filter.

+ T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn set_stream_rate(&self, rate: u32) -> Result<(), PingError>

Set the frequency to automatically output state messages.

§Arguments
    -
  • sample_frequency - sample frequency in Hz. 1~100000
  • -
-
source

pub async fn current_max(&self) -> Result<CurrentMaxStruct, PingError>

get the maximum allowed battery current

-
source

pub async fn cell_timeout(&self) -> Result<CellTimeoutStruct, PingError>

Get the undervoltage timeout

-
source

pub async fn state(&self) -> Result<StateStruct, PingError>

Get the current state of the device

-
source

pub async fn set_stream_rate(&self, rate: u32) -> Result<(), PingError>

Set the frequency to automatically output state messages.

-
§Arguments
-
  • rate [Hz] - Rate to stream state messages. 0~100000Hz
-
source

pub async fn temperature_max(&self) -> Result<TemperatureMaxStruct, PingError>

Get the maximum allowed battery temperature

-
source

pub async fn events(&self) -> Result<EventsStruct, PingError>

A record of events causing a power lock-out. These numbers are non-volatile and reset only with the erase_flash control message.

-
source

pub async fn set_current_max(&self, limit: u16) -> Result<(), PingError>

Set the maximum allowed battery current

+
source

pub async fn erase_flash(&self) -> Result<(), PingError>

Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!

+
§Arguments
source

pub async fn cell_timeout(&self) -> Result<CellTimeoutStruct, PingError>

Get the undervoltage timeout

+
source

pub async fn state(&self) -> Result<StateStruct, PingError>

Get the current state of the device

+
source

pub async fn temperature_timeout( + &self +) -> Result<TemperatureTimeoutStruct, PingError>

Get the over-temperature timeout

+
source

pub async fn set_current_max(&self, limit: u16) -> Result<(), PingError>

Set the maximum allowed battery current

§Arguments
  • limit [centiampere] - The maximum allowed battery current 0~20000 = 0~200A
-
source

pub async fn erase_flash(&self) -> Result<(), PingError>

Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!

-
§Arguments
source

pub async fn set_lpf_setting(&self, setting: u16) -> Result<(), PingError>

Low pass filter setting. This value represents x in the equation value = value * x + sample * (1-x). 0.0 = no filtering, 0.99 = heavy filtering.

+
source

pub async fn reset_defaults(&self) -> Result<(), PingError>

Reset parameter configuration to default values.

+
§Arguments
source

pub async fn set_current_timeout(&self, timeout: u16) -> Result<(), PingError>

Set the over-current timeout

§Arguments
    -
  • setting - 0~999: x = 0~0.999
  • +
  • timeout [millisecond] - If the battery current exceeds the configured limit for this duration of time, the power will be locked-out
-
source

pub async fn set_current_timeout(&self, timeout: u16) -> Result<(), PingError>

Set the over-current timeout

+
source

pub async fn events(&self) -> Result<EventsStruct, PingError>

A record of events causing a power lock-out. These numbers are non-volatile and reset only with the erase_flash control message.

+
source

pub async fn set_cell_voltage_minimum( + &self, + limit: u16 +) -> Result<(), PingError>

Set the minimum allowed cell voltage

§Arguments
    -
  • timeout [millisecond] - If the battery current exceeds the configured limit for this duration of time, the power will be locked-out
  • +
  • limit [millivolt] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V
-
source

pub async fn reset_defaults(&self) -> Result<(), PingError>

Reset parameter configuration to default values.

-
§Arguments
source

pub async fn set_temperature_max(&self, limit: u16) -> Result<(), PingError>

Set the maximum allowed battery temperature

-
§Arguments
+
source

pub async fn set_temperature_max(&self, limit: u16) -> Result<(), PingError>

Set the maximum allowed battery temperature

+
§Arguments
  • limit [centidegrees Centigrade] - The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V
-
source

pub async fn reboot(&self, goto_bootloader: u8) -> Result<(), PingError>

reboot the system

-
§Arguments
-
    -
  • goto_bootloader - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot
  • -
-
source

pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, PingError>

Get the minimum allowed cell voltage

-
source

pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError>

Get the over-current timeout

-
source

pub async fn set_cell_voltage_timeout( +

source

pub async fn set_cell_voltage_timeout( &self, timeout: u16 ) -> Result<(), PingError>

Set the under-voltage timeout

-
§Arguments
+
§Arguments
  • timeout [millisecond] - If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out
-
source

pub async fn set_cell_voltage_minimum( +

source

pub async fn set_temperature_timeout( &self, - limit: u16 -) -> Result<(), PingError>

Set the minimum allowed cell voltage

-
§Arguments
+ timeout: u16 +) -> Result<(), PingError>

Set the over-temperature timeout

+
§Arguments
    -
  • limit [millivolt] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V
  • +
  • timeout [millisecond] - If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out
-
source

pub async fn set_temperature_timeout( +

source

pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, PingError>

Get the minimum allowed cell voltage

+
source

pub async fn set_lpf_sample_frequency( &self, - timeout: u16 -) -> Result<(), PingError>

Set the over-temperature timeout

+ sample_frequency: u32 +) -> Result<(), PingError>

the frequency to take adc samples and run the filter.

+
§Arguments
+
    +
  • sample_frequency - sample frequency in Hz. 1~100000
  • +
+
source

pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError>

Get the over-current timeout

+
source

pub async fn current_max(&self) -> Result<CurrentMaxStruct, PingError>

get the maximum allowed battery current

+
source

pub async fn set_lpf_setting(&self, setting: u16) -> Result<(), PingError>

Low pass filter setting. This value represents x in the equation value = value * x + sample * (1-x). 0.0 = no filtering, 0.99 = heavy filtering.

+
§Arguments
+
    +
  • setting - 0~999: x = 0~0.999
  • +
+
source

pub async fn temperature_max(&self) -> Result<TemperatureMaxStruct, PingError>

Get the maximum allowed battery temperature

+
source

pub async fn reboot(&self, goto_bootloader: u8) -> Result<(), PingError>

reboot the system

§Arguments
    -
  • timeout [millisecond] - If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out
  • +
  • goto_bootloader - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot
-
source

pub async fn temperature_timeout( - &self -) -> Result<TemperatureTimeoutStruct, PingError>

Get the over-temperature timeout

Trait Implementations§

source§

impl PingDevice for Device

source§

fn get_common(&self) -> &Common

source§

fn get_mut_common(&mut self) -> &mut Common

source§

fn subscribe(&self) -> Receiver<ProtocolMessage>

source§

async fn send_general_request(&self, requested_id: u16) -> Result<(), PingError>

source§

async fn wait_for_message<T>( &self, receiver: Receiver<ProtocolMessage> diff --git a/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html b/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html index 518bcc761..0f2a7f4aa 100644 --- a/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html +++ b/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html @@ -1,8 +1,8 @@ EraseFlashStruct in bluerobotics_ping::bluebps - Rust -
pub struct EraseFlashStruct {}
Expand description

Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!

-

Trait Implementations§

source§

impl Clone for EraseFlashStruct

source§

fn clone(&self) -> EraseFlashStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EraseFlashStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EraseFlashStruct

source§

fn default() -> EraseFlashStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for EraseFlashStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for EraseFlashStruct

source§

fn id() -> u16

source§

impl PartialEq for EraseFlashStruct

source§

fn eq(&self, other: &EraseFlashStruct) -> bool

This method tests for self and other values to be equal, and is used +
pub struct EraseFlashStruct {}
Expand description

Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!

+

Trait Implementations§

source§

impl Clone for EraseFlashStruct

source§

fn clone(&self) -> EraseFlashStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EraseFlashStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EraseFlashStruct

source§

fn default() -> EraseFlashStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for EraseFlashStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for EraseFlashStruct

source§

fn id() -> u16

source§

impl PartialEq for EraseFlashStruct

source§

fn eq(&self, other: &EraseFlashStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for EraseFlashStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for EraseFlashStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for EraseFlashStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for EraseFlashStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.EventsStruct.html b/bluerobotics_ping/bluebps/struct.EventsStruct.html index 125d8761a..a8a37e984 100644 --- a/bluerobotics_ping/bluebps/struct.EventsStruct.html +++ b/bluerobotics_ping/bluebps/struct.EventsStruct.html @@ -1,5 +1,5 @@ EventsStruct in bluerobotics_ping::bluebps - Rust -
pub struct EventsStruct {
+    
pub struct EventsStruct {
     pub voltage: u16,
     pub current: u16,
     pub temperature: u16,
@@ -7,9 +7,9 @@
 

Fields§

§voltage: u16

The number of under-voltage events

§current: u16

The number of over-current events

§temperature: u16

The number of over-temperature events

-

Trait Implementations§

source§

impl Clone for EventsStruct

source§

fn clone(&self) -> EventsStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EventsStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EventsStruct

source§

fn default() -> EventsStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for EventsStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for EventsStruct

source§

fn id() -> u16

source§

impl PartialEq for EventsStruct

source§

fn eq(&self, other: &EventsStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for EventsStruct

source§

fn clone(&self) -> EventsStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EventsStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EventsStruct

source§

fn default() -> EventsStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for EventsStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for EventsStruct

source§

fn id() -> u16

source§

impl PartialEq for EventsStruct

source§

fn eq(&self, other: &EventsStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for EventsStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for EventsStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for EventsStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for EventsStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.RebootStruct.html b/bluerobotics_ping/bluebps/struct.RebootStruct.html index 0a3ca957b..a794d19dc 100644 --- a/bluerobotics_ping/bluebps/struct.RebootStruct.html +++ b/bluerobotics_ping/bluebps/struct.RebootStruct.html @@ -1,11 +1,11 @@ RebootStruct in bluerobotics_ping::bluebps - Rust -
pub struct RebootStruct {
+    
pub struct RebootStruct {
     pub goto_bootloader: u8,
 }
Expand description

reboot the system

Fields§

§goto_bootloader: u8

0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot

-

Trait Implementations§

source§

impl Clone for RebootStruct

source§

fn clone(&self) -> RebootStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RebootStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RebootStruct

source§

fn default() -> RebootStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for RebootStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for RebootStruct

source§

fn id() -> u16

source§

impl PartialEq for RebootStruct

source§

fn eq(&self, other: &RebootStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for RebootStruct

source§

fn clone(&self) -> RebootStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RebootStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RebootStruct

source§

fn default() -> RebootStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for RebootStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for RebootStruct

source§

fn id() -> u16

source§

impl PartialEq for RebootStruct

source§

fn eq(&self, other: &RebootStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for RebootStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for RebootStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for RebootStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for RebootStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html b/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html index 3dc1cbd1e..3d7e57f29 100644 --- a/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html +++ b/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html @@ -1,8 +1,8 @@ ResetDefaultsStruct in bluerobotics_ping::bluebps - Rust -
pub struct ResetDefaultsStruct {}
Expand description

Reset parameter configuration to default values.

-

Trait Implementations§

source§

impl Clone for ResetDefaultsStruct

source§

fn clone(&self) -> ResetDefaultsStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ResetDefaultsStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ResetDefaultsStruct

source§

fn default() -> ResetDefaultsStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ResetDefaultsStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ResetDefaultsStruct

source§

fn id() -> u16

source§

impl PartialEq for ResetDefaultsStruct

source§

fn eq(&self, other: &ResetDefaultsStruct) -> bool

This method tests for self and other values to be equal, and is used +
pub struct ResetDefaultsStruct {}
Expand description

Reset parameter configuration to default values.

+

Trait Implementations§

source§

impl Clone for ResetDefaultsStruct

source§

fn clone(&self) -> ResetDefaultsStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ResetDefaultsStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ResetDefaultsStruct

source§

fn default() -> ResetDefaultsStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ResetDefaultsStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ResetDefaultsStruct

source§

fn id() -> u16

source§

impl PartialEq for ResetDefaultsStruct

source§

fn eq(&self, other: &ResetDefaultsStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ResetDefaultsStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ResetDefaultsStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ResetDefaultsStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ResetDefaultsStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html b/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html index 1584b4659..5cc6ab83f 100644 --- a/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html @@ -1,11 +1,11 @@ SetCellVoltageMinimumStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetCellVoltageMinimumStruct {
+    
pub struct SetCellVoltageMinimumStruct {
     pub limit: u16,
 }
Expand description

Set the minimum allowed cell voltage

Fields§

§limit: u16

The minimum voltage allowed for any individual cell. 0~5000: 0~5V

-

Trait Implementations§

source§

impl Clone for SetCellVoltageMinimumStruct

source§

fn clone(&self) -> SetCellVoltageMinimumStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCellVoltageMinimumStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCellVoltageMinimumStruct

source§

fn default() -> SetCellVoltageMinimumStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCellVoltageMinimumStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCellVoltageMinimumStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCellVoltageMinimumStruct

source§

fn eq(&self, other: &SetCellVoltageMinimumStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetCellVoltageMinimumStruct

source§

fn clone(&self) -> SetCellVoltageMinimumStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCellVoltageMinimumStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCellVoltageMinimumStruct

source§

fn default() -> SetCellVoltageMinimumStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCellVoltageMinimumStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCellVoltageMinimumStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCellVoltageMinimumStruct

source§

fn eq(&self, other: &SetCellVoltageMinimumStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetCellVoltageMinimumStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCellVoltageMinimumStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetCellVoltageMinimumStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCellVoltageMinimumStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html index 7f8f5e827..9540c5add 100644 --- a/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html @@ -1,11 +1,11 @@ SetCellVoltageTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetCellVoltageTimeoutStruct {
+    
pub struct SetCellVoltageTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Set the under-voltage timeout

Fields§

§timeout: u16

If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for SetCellVoltageTimeoutStruct

source§

fn clone(&self) -> SetCellVoltageTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCellVoltageTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCellVoltageTimeoutStruct

source§

fn default() -> SetCellVoltageTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCellVoltageTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCellVoltageTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCellVoltageTimeoutStruct

source§

fn eq(&self, other: &SetCellVoltageTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetCellVoltageTimeoutStruct

source§

fn clone(&self) -> SetCellVoltageTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCellVoltageTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCellVoltageTimeoutStruct

source§

fn default() -> SetCellVoltageTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCellVoltageTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCellVoltageTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCellVoltageTimeoutStruct

source§

fn eq(&self, other: &SetCellVoltageTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetCellVoltageTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCellVoltageTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetCellVoltageTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCellVoltageTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html b/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html index 924c69901..2268057da 100644 --- a/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html @@ -1,11 +1,11 @@ SetCurrentMaxStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetCurrentMaxStruct {
+    
pub struct SetCurrentMaxStruct {
     pub limit: u16,
 }
Expand description

Set the maximum allowed battery current

Fields§

§limit: u16

The maximum allowed battery current 0~20000 = 0~200A

-

Trait Implementations§

source§

impl Clone for SetCurrentMaxStruct

source§

fn clone(&self) -> SetCurrentMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCurrentMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCurrentMaxStruct

source§

fn default() -> SetCurrentMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCurrentMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCurrentMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCurrentMaxStruct

source§

fn eq(&self, other: &SetCurrentMaxStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetCurrentMaxStruct

source§

fn clone(&self) -> SetCurrentMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCurrentMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCurrentMaxStruct

source§

fn default() -> SetCurrentMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCurrentMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCurrentMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCurrentMaxStruct

source§

fn eq(&self, other: &SetCurrentMaxStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetCurrentMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCurrentMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetCurrentMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCurrentMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html index 213b31f96..067eebc31 100644 --- a/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html @@ -1,11 +1,11 @@ SetCurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetCurrentTimeoutStruct {
+    
pub struct SetCurrentTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Set the over-current timeout

Fields§

§timeout: u16

If the battery current exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for SetCurrentTimeoutStruct

source§

fn clone(&self) -> SetCurrentTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCurrentTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCurrentTimeoutStruct

source§

fn default() -> SetCurrentTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCurrentTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCurrentTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCurrentTimeoutStruct

source§

fn eq(&self, other: &SetCurrentTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetCurrentTimeoutStruct

source§

fn clone(&self) -> SetCurrentTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetCurrentTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetCurrentTimeoutStruct

source§

fn default() -> SetCurrentTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetCurrentTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetCurrentTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetCurrentTimeoutStruct

source§

fn eq(&self, other: &SetCurrentTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetCurrentTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCurrentTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetCurrentTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetCurrentTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html b/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html index 109fdba99..602e86761 100644 --- a/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html @@ -1,11 +1,11 @@ SetLpfSampleFrequencyStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetLpfSampleFrequencyStruct {
+    
pub struct SetLpfSampleFrequencyStruct {
     pub sample_frequency: u32,
 }
Expand description

the frequency to take adc samples and run the filter.

Fields§

§sample_frequency: u32

sample frequency in Hz. 1~100000

-

Trait Implementations§

source§

impl Clone for SetLpfSampleFrequencyStruct

source§

fn clone(&self) -> SetLpfSampleFrequencyStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetLpfSampleFrequencyStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetLpfSampleFrequencyStruct

source§

fn default() -> SetLpfSampleFrequencyStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetLpfSampleFrequencyStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetLpfSampleFrequencyStruct

source§

fn id() -> u16

source§

impl PartialEq for SetLpfSampleFrequencyStruct

source§

fn eq(&self, other: &SetLpfSampleFrequencyStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetLpfSampleFrequencyStruct

source§

fn clone(&self) -> SetLpfSampleFrequencyStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetLpfSampleFrequencyStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetLpfSampleFrequencyStruct

source§

fn default() -> SetLpfSampleFrequencyStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetLpfSampleFrequencyStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetLpfSampleFrequencyStruct

source§

fn id() -> u16

source§

impl PartialEq for SetLpfSampleFrequencyStruct

source§

fn eq(&self, other: &SetLpfSampleFrequencyStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetLpfSampleFrequencyStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetLpfSampleFrequencyStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetLpfSampleFrequencyStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetLpfSampleFrequencyStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html b/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html index 8a7debdc7..a6eb73e79 100644 --- a/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html @@ -1,11 +1,11 @@ SetLpfSettingStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetLpfSettingStruct {
+    
pub struct SetLpfSettingStruct {
     pub setting: u16,
 }
Expand description

Low pass filter setting. This value represents x in the equation value = value * x + sample * (1-x). 0.0 = no filtering, 0.99 = heavy filtering.

Fields§

§setting: u16

0~999: x = 0~0.999

-

Trait Implementations§

source§

impl Clone for SetLpfSettingStruct

source§

fn clone(&self) -> SetLpfSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetLpfSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetLpfSettingStruct

source§

fn default() -> SetLpfSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetLpfSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetLpfSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for SetLpfSettingStruct

source§

fn eq(&self, other: &SetLpfSettingStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetLpfSettingStruct

source§

fn clone(&self) -> SetLpfSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetLpfSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetLpfSettingStruct

source§

fn default() -> SetLpfSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetLpfSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetLpfSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for SetLpfSettingStruct

source§

fn eq(&self, other: &SetLpfSettingStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetLpfSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetLpfSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetLpfSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetLpfSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html b/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html index 0d607d18e..ed6c56113 100644 --- a/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html @@ -1,11 +1,11 @@ SetStreamRateStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetStreamRateStruct {
+    
pub struct SetStreamRateStruct {
     pub rate: u32,
 }
Expand description

Set the frequency to automatically output state messages.

Fields§

§rate: u32

Rate to stream state messages. 0~100000Hz

-

Trait Implementations§

source§

impl Clone for SetStreamRateStruct

source§

fn clone(&self) -> SetStreamRateStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetStreamRateStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetStreamRateStruct

source§

fn default() -> SetStreamRateStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetStreamRateStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetStreamRateStruct

source§

fn id() -> u16

source§

impl PartialEq for SetStreamRateStruct

source§

fn eq(&self, other: &SetStreamRateStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetStreamRateStruct

source§

fn clone(&self) -> SetStreamRateStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetStreamRateStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetStreamRateStruct

source§

fn default() -> SetStreamRateStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetStreamRateStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetStreamRateStruct

source§

fn id() -> u16

source§

impl PartialEq for SetStreamRateStruct

source§

fn eq(&self, other: &SetStreamRateStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetStreamRateStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetStreamRateStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetStreamRateStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetStreamRateStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html b/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html index 2afcec2d1..1c69908cd 100644 --- a/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html @@ -1,11 +1,11 @@ SetTemperatureMaxStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetTemperatureMaxStruct {
+    
pub struct SetTemperatureMaxStruct {
     pub limit: u16,
 }
Expand description

Set the maximum allowed battery temperature

Fields§

§limit: u16

The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V

-

Trait Implementations§

source§

impl Clone for SetTemperatureMaxStruct

source§

fn clone(&self) -> SetTemperatureMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetTemperatureMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetTemperatureMaxStruct

source§

fn default() -> SetTemperatureMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetTemperatureMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetTemperatureMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for SetTemperatureMaxStruct

source§

fn eq(&self, other: &SetTemperatureMaxStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetTemperatureMaxStruct

source§

fn clone(&self) -> SetTemperatureMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetTemperatureMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetTemperatureMaxStruct

source§

fn default() -> SetTemperatureMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetTemperatureMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetTemperatureMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for SetTemperatureMaxStruct

source§

fn eq(&self, other: &SetTemperatureMaxStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetTemperatureMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetTemperatureMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetTemperatureMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetTemperatureMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html index 6f590fd53..37a40daf8 100644 --- a/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html @@ -1,11 +1,11 @@ SetTemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct SetTemperatureTimeoutStruct {
+    
pub struct SetTemperatureTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Set the over-temperature timeout

Fields§

§timeout: u16

If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for SetTemperatureTimeoutStruct

source§

fn clone(&self) -> SetTemperatureTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetTemperatureTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetTemperatureTimeoutStruct

source§

fn default() -> SetTemperatureTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetTemperatureTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetTemperatureTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetTemperatureTimeoutStruct

source§

fn eq(&self, other: &SetTemperatureTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetTemperatureTimeoutStruct

source§

fn clone(&self) -> SetTemperatureTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetTemperatureTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetTemperatureTimeoutStruct

source§

fn default() -> SetTemperatureTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetTemperatureTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetTemperatureTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for SetTemperatureTimeoutStruct

source§

fn eq(&self, other: &SetTemperatureTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetTemperatureTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetTemperatureTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetTemperatureTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetTemperatureTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.StateStruct.html b/bluerobotics_ping/bluebps/struct.StateStruct.html index 44ec9f9a2..063932b08 100644 --- a/bluerobotics_ping/bluebps/struct.StateStruct.html +++ b/bluerobotics_ping/bluebps/struct.StateStruct.html @@ -1,5 +1,5 @@ StateStruct in bluerobotics_ping::bluebps - Rust -
pub struct StateStruct {
+    
pub struct StateStruct {
     pub battery_voltage: u16,
     pub battery_current: u16,
     pub battery_temperature: u16,
@@ -14,9 +14,9 @@
 
§cpu_temperature: u16

The cpu temperature

§flags: u8

flags indicating if any of the configured limits are currently exceeded

§cell_voltages_length: u8

Array containing cell voltages

-
§cell_voltages: Vec<u16>

Trait Implementations§

source§

impl Clone for StateStruct

source§

fn clone(&self) -> StateStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for StateStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for StateStruct

source§

fn default() -> StateStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for StateStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for StateStruct

source§

fn id() -> u16

source§

impl PartialEq for StateStruct

source§

fn eq(&self, other: &StateStruct) -> bool

This method tests for self and other values to be equal, and is used +
§cell_voltages: Vec<u16>

Trait Implementations§

source§

impl Clone for StateStruct

source§

fn clone(&self) -> StateStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for StateStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for StateStruct

source§

fn default() -> StateStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for StateStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for StateStruct

source§

fn id() -> u16

source§

impl PartialEq for StateStruct

source§

fn eq(&self, other: &StateStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for StateStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for StateStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for StateStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for StateStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html b/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html index cab963775..d5b9ee5a0 100644 --- a/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html @@ -1,11 +1,11 @@ TemperatureMaxStruct in bluerobotics_ping::bluebps - Rust -
pub struct TemperatureMaxStruct {
+    
pub struct TemperatureMaxStruct {
     pub limit: u16,
 }
Expand description

Get the maximum allowed battery temperature

Fields§

§limit: u16

The minimum voltage allowed for any individual cell. 0~5000: 0~5V

-

Trait Implementations§

source§

impl Clone for TemperatureMaxStruct

source§

fn clone(&self) -> TemperatureMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TemperatureMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TemperatureMaxStruct

source§

fn default() -> TemperatureMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TemperatureMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TemperatureMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for TemperatureMaxStruct

source§

fn eq(&self, other: &TemperatureMaxStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for TemperatureMaxStruct

source§

fn clone(&self) -> TemperatureMaxStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TemperatureMaxStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TemperatureMaxStruct

source§

fn default() -> TemperatureMaxStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TemperatureMaxStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TemperatureMaxStruct

source§

fn id() -> u16

source§

impl PartialEq for TemperatureMaxStruct

source§

fn eq(&self, other: &TemperatureMaxStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for TemperatureMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TemperatureMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for TemperatureMaxStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TemperatureMaxStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html index 53248ae70..e30782326 100644 --- a/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html @@ -1,11 +1,11 @@ TemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust -
pub struct TemperatureTimeoutStruct {
+    
pub struct TemperatureTimeoutStruct {
     pub timeout: u16,
 }
Expand description

Get the over-temperature timeout

Fields§

§timeout: u16

If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out

-

Trait Implementations§

source§

impl Clone for TemperatureTimeoutStruct

source§

fn clone(&self) -> TemperatureTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TemperatureTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TemperatureTimeoutStruct

source§

fn default() -> TemperatureTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TemperatureTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TemperatureTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for TemperatureTimeoutStruct

source§

fn eq(&self, other: &TemperatureTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for TemperatureTimeoutStruct

source§

fn clone(&self) -> TemperatureTimeoutStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TemperatureTimeoutStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TemperatureTimeoutStruct

source§

fn default() -> TemperatureTimeoutStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TemperatureTimeoutStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TemperatureTimeoutStruct

source§

fn id() -> u16

source§

impl PartialEq for TemperatureTimeoutStruct

source§

fn eq(&self, other: &TemperatureTimeoutStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for TemperatureTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TemperatureTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for TemperatureTimeoutStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TemperatureTimeoutStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/enum.Messages.html b/bluerobotics_ping/common/enum.Messages.html index 8e338181b..be735f562 100644 --- a/bluerobotics_ping/common/enum.Messages.html +++ b/bluerobotics_ping/common/enum.Messages.html @@ -1,13 +1,13 @@ Messages in bluerobotics_ping::common - Rust
pub enum Messages {
-    ProtocolVersion(ProtocolVersionStruct),
-    AsciiText(AsciiTextStruct),
-    Nack(NackStruct),
-    GeneralRequest(GeneralRequestStruct),
     Ack(AckStruct),
     SetDeviceId(SetDeviceIdStruct),
     DeviceInformation(DeviceInformationStruct),
-}

Variants§

§

ProtocolVersion(ProtocolVersionStruct)

§

AsciiText(AsciiTextStruct)

§

Nack(NackStruct)

§

GeneralRequest(GeneralRequestStruct)

§

Ack(AckStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

DeviceInformation(DeviceInformationStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used + ProtocolVersion(ProtocolVersionStruct), + AsciiText(AsciiTextStruct), + GeneralRequest(GeneralRequestStruct), + Nack(NackStruct), +}

Variants§

§

Ack(AckStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

DeviceInformation(DeviceInformationStruct)

§

ProtocolVersion(ProtocolVersionStruct)

§

AsciiText(AsciiTextStruct)

§

GeneralRequest(GeneralRequestStruct)

§

Nack(NackStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PingMessage for Messages

source§

impl SerializePayload for Messages

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Messages

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/bluerobotics_ping/common/struct.AckStruct.html b/bluerobotics_ping/common/struct.AckStruct.html index b8fa6e925..d6d027311 100644 --- a/bluerobotics_ping/common/struct.AckStruct.html +++ b/bluerobotics_ping/common/struct.AckStruct.html @@ -1,11 +1,11 @@ AckStruct in bluerobotics_ping::common - Rust -
pub struct AckStruct {
+    
pub struct AckStruct {
     pub acked_id: u16,
 }
Expand description

Acknowledged.

Fields§

§acked_id: u16

The message ID that is ACKnowledged.

-

Trait Implementations§

source§

impl Clone for AckStruct

source§

fn clone(&self) -> AckStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AckStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AckStruct

source§

fn default() -> AckStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AckStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AckStruct

source§

fn id() -> u16

source§

impl PartialEq for AckStruct

source§

fn eq(&self, other: &AckStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for AckStruct

source§

fn clone(&self) -> AckStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AckStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AckStruct

source§

fn default() -> AckStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AckStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AckStruct

source§

fn id() -> u16

source§

impl PartialEq for AckStruct

source§

fn eq(&self, other: &AckStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for AckStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AckStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for AckStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AckStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.AsciiTextStruct.html b/bluerobotics_ping/common/struct.AsciiTextStruct.html index 77a2559f7..4294d292a 100644 --- a/bluerobotics_ping/common/struct.AsciiTextStruct.html +++ b/bluerobotics_ping/common/struct.AsciiTextStruct.html @@ -1,11 +1,11 @@ AsciiTextStruct in bluerobotics_ping::common - Rust -
pub struct AsciiTextStruct {
+    
pub struct AsciiTextStruct {
     pub ascii_message: String,
 }
Expand description

A message for transmitting text data.

Fields§

§ascii_message: String

ASCII text message. (not necessarily NULL terminated)

-

Trait Implementations§

source§

impl Clone for AsciiTextStruct

source§

fn clone(&self) -> AsciiTextStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AsciiTextStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AsciiTextStruct

source§

fn default() -> AsciiTextStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AsciiTextStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AsciiTextStruct

source§

fn id() -> u16

source§

impl PartialEq for AsciiTextStruct

source§

fn eq(&self, other: &AsciiTextStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for AsciiTextStruct

source§

fn clone(&self) -> AsciiTextStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AsciiTextStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AsciiTextStruct

source§

fn default() -> AsciiTextStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AsciiTextStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AsciiTextStruct

source§

fn id() -> u16

source§

impl PartialEq for AsciiTextStruct

source§

fn eq(&self, other: &AsciiTextStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for AsciiTextStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AsciiTextStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for AsciiTextStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AsciiTextStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.Device.html b/bluerobotics_ping/common/struct.Device.html index bc2b5c91d..ce498c525 100644 --- a/bluerobotics_ping/common/struct.Device.html +++ b/bluerobotics_ping/common/struct.Device.html @@ -2,15 +2,15 @@
pub struct Device {
     pub common: Common,
 }

Fields§

§common: Common

Implementations§

source§

impl Device

source

pub fn new<T>(io: T) -> Self
where - T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn protocol_version(&self) -> Result<ProtocolVersionStruct, PingError>

The protocol version

-
source

pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID.

+ T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID.

§Arguments
  • device_id - Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages.
-
source

pub async fn device_information( +

source

pub async fn device_information( &self ) -> Result<DeviceInformationStruct, PingError>

Device information

+
source

pub async fn protocol_version(&self) -> Result<ProtocolVersionStruct, PingError>

The protocol version

Trait Implementations§

source§

impl PingDevice for Device

source§

fn get_common(&self) -> &Common

source§

fn get_mut_common(&mut self) -> &mut Common

source§

fn subscribe(&self) -> Receiver<ProtocolMessage>

source§

async fn send_general_request(&self, requested_id: u16) -> Result<(), PingError>

source§

async fn wait_for_message<T>( &self, receiver: Receiver<ProtocolMessage> diff --git a/bluerobotics_ping/common/struct.DeviceInformationStruct.html b/bluerobotics_ping/common/struct.DeviceInformationStruct.html index 714372968..699b51ec5 100644 --- a/bluerobotics_ping/common/struct.DeviceInformationStruct.html +++ b/bluerobotics_ping/common/struct.DeviceInformationStruct.html @@ -1,5 +1,5 @@ DeviceInformationStruct in bluerobotics_ping::common - Rust -
pub struct DeviceInformationStruct {
+    
pub struct DeviceInformationStruct {
     pub device_type: u8,
     pub device_revision: u8,
     pub firmware_version_major: u8,
@@ -13,9 +13,9 @@
 
§firmware_version_minor: u8

Firmware version minor number.

§firmware_version_patch: u8

Firmware version patch number.

§reserved: u8

reserved

-

Trait Implementations§

source§

impl Clone for DeviceInformationStruct

source§

fn clone(&self) -> DeviceInformationStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceInformationStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceInformationStruct

source§

fn default() -> DeviceInformationStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceInformationStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceInformationStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceInformationStruct

source§

fn eq(&self, other: &DeviceInformationStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for DeviceInformationStruct

source§

fn clone(&self) -> DeviceInformationStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceInformationStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceInformationStruct

source§

fn default() -> DeviceInformationStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceInformationStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceInformationStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceInformationStruct

source§

fn eq(&self, other: &DeviceInformationStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DeviceInformationStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceInformationStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for DeviceInformationStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceInformationStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.GeneralRequestStruct.html b/bluerobotics_ping/common/struct.GeneralRequestStruct.html index eef047a6d..1ce2da952 100644 --- a/bluerobotics_ping/common/struct.GeneralRequestStruct.html +++ b/bluerobotics_ping/common/struct.GeneralRequestStruct.html @@ -1,11 +1,11 @@ GeneralRequestStruct in bluerobotics_ping::common - Rust -
pub struct GeneralRequestStruct {
+    
pub struct GeneralRequestStruct {
     pub requested_id: u16,
 }
Expand description

Requests a specific message to be sent from the sonar to the host. Command timeout should be set to 50 msec.

Fields§

§requested_id: u16

Message ID to be requested.

-

Trait Implementations§

source§

impl Clone for GeneralRequestStruct

source§

fn clone(&self) -> GeneralRequestStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GeneralRequestStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GeneralRequestStruct

source§

fn default() -> GeneralRequestStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GeneralRequestStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GeneralRequestStruct

source§

fn id() -> u16

source§

impl PartialEq for GeneralRequestStruct

source§

fn eq(&self, other: &GeneralRequestStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for GeneralRequestStruct

source§

fn clone(&self) -> GeneralRequestStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GeneralRequestStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GeneralRequestStruct

source§

fn default() -> GeneralRequestStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GeneralRequestStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GeneralRequestStruct

source§

fn id() -> u16

source§

impl PartialEq for GeneralRequestStruct

source§

fn eq(&self, other: &GeneralRequestStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for GeneralRequestStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GeneralRequestStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for GeneralRequestStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GeneralRequestStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.NackStruct.html b/bluerobotics_ping/common/struct.NackStruct.html index 5a5de79a9..97feb0a30 100644 --- a/bluerobotics_ping/common/struct.NackStruct.html +++ b/bluerobotics_ping/common/struct.NackStruct.html @@ -1,13 +1,13 @@ NackStruct in bluerobotics_ping::common - Rust -
pub struct NackStruct {
+    
pub struct NackStruct {
     pub nacked_id: u16,
     pub nack_message: String,
 }
Expand description

Not acknowledged.

Fields§

§nacked_id: u16

The message ID that is Not ACKnowledged.

§nack_message: String

ASCII text message indicating NACK condition. (not necessarily NULL terminated)

-

Trait Implementations§

source§

impl Clone for NackStruct

source§

fn clone(&self) -> NackStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for NackStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for NackStruct

source§

fn default() -> NackStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for NackStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for NackStruct

source§

fn id() -> u16

source§

impl PartialEq for NackStruct

source§

fn eq(&self, other: &NackStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for NackStruct

source§

fn clone(&self) -> NackStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for NackStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for NackStruct

source§

fn default() -> NackStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for NackStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for NackStruct

source§

fn id() -> u16

source§

impl PartialEq for NackStruct

source§

fn eq(&self, other: &NackStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for NackStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for NackStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for NackStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for NackStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.ProtocolVersionStruct.html b/bluerobotics_ping/common/struct.ProtocolVersionStruct.html index d849c946c..c7938fd99 100644 --- a/bluerobotics_ping/common/struct.ProtocolVersionStruct.html +++ b/bluerobotics_ping/common/struct.ProtocolVersionStruct.html @@ -1,5 +1,5 @@ ProtocolVersionStruct in bluerobotics_ping::common - Rust -
pub struct ProtocolVersionStruct {
+    
pub struct ProtocolVersionStruct {
     pub version_major: u8,
     pub version_minor: u8,
     pub version_patch: u8,
@@ -9,9 +9,9 @@
 
§version_minor: u8

Protocol version minor number.

§version_patch: u8

Protocol version patch number.

§reserved: u8

reserved

-

Trait Implementations§

source§

impl Clone for ProtocolVersionStruct

source§

fn clone(&self) -> ProtocolVersionStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProtocolVersionStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProtocolVersionStruct

source§

fn default() -> ProtocolVersionStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProtocolVersionStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProtocolVersionStruct

source§

fn id() -> u16

source§

impl PartialEq for ProtocolVersionStruct

source§

fn eq(&self, other: &ProtocolVersionStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ProtocolVersionStruct

source§

fn clone(&self) -> ProtocolVersionStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProtocolVersionStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProtocolVersionStruct

source§

fn default() -> ProtocolVersionStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProtocolVersionStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProtocolVersionStruct

source§

fn id() -> u16

source§

impl PartialEq for ProtocolVersionStruct

source§

fn eq(&self, other: &ProtocolVersionStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ProtocolVersionStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProtocolVersionStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ProtocolVersionStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProtocolVersionStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/common/struct.SetDeviceIdStruct.html b/bluerobotics_ping/common/struct.SetDeviceIdStruct.html index 690db054f..a123d1926 100644 --- a/bluerobotics_ping/common/struct.SetDeviceIdStruct.html +++ b/bluerobotics_ping/common/struct.SetDeviceIdStruct.html @@ -1,11 +1,11 @@ SetDeviceIdStruct in bluerobotics_ping::common - Rust -
pub struct SetDeviceIdStruct {
+    
pub struct SetDeviceIdStruct {
     pub device_id: u8,
 }
Expand description

Set the device ID.

Fields§

§device_id: u8

Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages.

-

Trait Implementations§

source§

impl Clone for SetDeviceIdStruct

source§

fn clone(&self) -> SetDeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetDeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetDeviceIdStruct

source§

fn default() -> SetDeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetDeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetDeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for SetDeviceIdStruct

source§

fn eq(&self, other: &SetDeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetDeviceIdStruct

source§

fn clone(&self) -> SetDeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetDeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetDeviceIdStruct

source§

fn default() -> SetDeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetDeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetDeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for SetDeviceIdStruct

source§

fn eq(&self, other: &SetDeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetDeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetDeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetDeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetDeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/enum.Messages.html b/bluerobotics_ping/enum.Messages.html index 7df5615fb..7eb1c3be4 100644 --- a/bluerobotics_ping/enum.Messages.html +++ b/bluerobotics_ping/enum.Messages.html @@ -4,7 +4,7 @@ Ping360(Messages), Common(Messages), Bluebps(Messages), -}

Variants§

§

Ping1D(Messages)

§

Ping360(Messages)

§

Common(Messages)

§

Bluebps(Messages)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TryFrom<&ProtocolMessage> for Messages

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(message: &ProtocolMessage) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<&Vec<u8>> for Messages

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(buffer: &Vec<u8>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Ping1D(Messages)

§

Ping360(Messages)

§

Common(Messages)

§

Bluebps(Messages)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TryFrom<&ProtocolMessage> for Messages

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(message: &ProtocolMessage) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<&Vec<u8>> for Messages

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(buffer: &Vec<u8>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/message/trait.DeserializePayload.html b/bluerobotics_ping/message/trait.DeserializePayload.html index 94714385d..2aea455cd 100644 --- a/bluerobotics_ping/message/trait.DeserializePayload.html +++ b/bluerobotics_ping/message/trait.DeserializePayload.html @@ -2,4 +2,4 @@
pub trait DeserializePayload {
     // Required method
     fn deserialize(payload: &[u8]) -> Self;
-}

Required Methods§

source

fn deserialize(payload: &[u8]) -> Self

Object Safety§

This trait is not object safe.

Implementors§

source§

impl DeserializePayload for CellTimeoutStruct

source§

impl DeserializePayload for CellVoltageMinStruct

source§

impl DeserializePayload for CurrentMaxStruct

source§

impl DeserializePayload for CurrentTimeoutStruct

source§

impl DeserializePayload for EraseFlashStruct

source§

impl DeserializePayload for EventsStruct

source§

impl DeserializePayload for RebootStruct

source§

impl DeserializePayload for ResetDefaultsStruct

source§

impl DeserializePayload for SetCellVoltageMinimumStruct

source§

impl DeserializePayload for SetCellVoltageTimeoutStruct

source§

impl DeserializePayload for SetCurrentMaxStruct

source§

impl DeserializePayload for SetCurrentTimeoutStruct

source§

impl DeserializePayload for SetLpfSampleFrequencyStruct

source§

impl DeserializePayload for SetLpfSettingStruct

source§

impl DeserializePayload for SetStreamRateStruct

source§

impl DeserializePayload for SetTemperatureMaxStruct

source§

impl DeserializePayload for SetTemperatureTimeoutStruct

source§

impl DeserializePayload for StateStruct

source§

impl DeserializePayload for TemperatureMaxStruct

source§

impl DeserializePayload for TemperatureTimeoutStruct

source§

impl DeserializePayload for AckStruct

source§

impl DeserializePayload for AsciiTextStruct

source§

impl DeserializePayload for DeviceInformationStruct

source§

impl DeserializePayload for GeneralRequestStruct

source§

impl DeserializePayload for NackStruct

source§

impl DeserializePayload for ProtocolVersionStruct

source§

impl DeserializePayload for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl DeserializePayload for ContinuousStartStruct

source§

impl DeserializePayload for ContinuousStopStruct

source§

impl DeserializePayload for bluerobotics_ping::ping1d::DeviceIdStruct

source§

impl DeserializePayload for DistanceSimpleStruct

source§

impl DeserializePayload for DistanceStruct

source§

impl DeserializePayload for FirmwareVersionStruct

source§

impl DeserializePayload for GainSettingStruct

source§

impl DeserializePayload for GeneralInfoStruct

source§

impl DeserializePayload for GotoBootloaderStruct

source§

impl DeserializePayload for ModeAutoStruct

source§

impl DeserializePayload for PcbTemperatureStruct

source§

impl DeserializePayload for PingEnableStruct

source§

impl DeserializePayload for PingIntervalStruct

source§

impl DeserializePayload for ProcessorTemperatureStruct

source§

impl DeserializePayload for ProfileStruct

source§

impl DeserializePayload for RangeStruct

source§

impl DeserializePayload for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl DeserializePayload for SetGainSettingStruct

source§

impl DeserializePayload for SetModeAutoStruct

source§

impl DeserializePayload for SetPingEnableStruct

source§

impl DeserializePayload for SetPingIntervalStruct

source§

impl DeserializePayload for SetRangeStruct

source§

impl DeserializePayload for SetSpeedOfSoundStruct

source§

impl DeserializePayload for SpeedOfSoundStruct

source§

impl DeserializePayload for TransmitDurationStruct

source§

impl DeserializePayload for Voltage5Struct

source§

impl DeserializePayload for AutoDeviceDataStruct

source§

impl DeserializePayload for AutoTransmitStruct

source§

impl DeserializePayload for DeviceDataStruct

source§

impl DeserializePayload for bluerobotics_ping::ping360::DeviceIdStruct

source§

impl DeserializePayload for MotorOffStruct

source§

impl DeserializePayload for ResetStruct

source§

impl DeserializePayload for TransducerStruct

\ No newline at end of file +}

Required Methods§

source

fn deserialize(payload: &[u8]) -> Self

Object Safety§

This trait is not object safe.

Implementors§

source§

impl DeserializePayload for CellTimeoutStruct

source§

impl DeserializePayload for CellVoltageMinStruct

source§

impl DeserializePayload for CurrentMaxStruct

source§

impl DeserializePayload for CurrentTimeoutStruct

source§

impl DeserializePayload for EraseFlashStruct

source§

impl DeserializePayload for EventsStruct

source§

impl DeserializePayload for RebootStruct

source§

impl DeserializePayload for ResetDefaultsStruct

source§

impl DeserializePayload for SetCellVoltageMinimumStruct

source§

impl DeserializePayload for SetCellVoltageTimeoutStruct

source§

impl DeserializePayload for SetCurrentMaxStruct

source§

impl DeserializePayload for SetCurrentTimeoutStruct

source§

impl DeserializePayload for SetLpfSampleFrequencyStruct

source§

impl DeserializePayload for SetLpfSettingStruct

source§

impl DeserializePayload for SetStreamRateStruct

source§

impl DeserializePayload for SetTemperatureMaxStruct

source§

impl DeserializePayload for SetTemperatureTimeoutStruct

source§

impl DeserializePayload for StateStruct

source§

impl DeserializePayload for TemperatureMaxStruct

source§

impl DeserializePayload for TemperatureTimeoutStruct

source§

impl DeserializePayload for AckStruct

source§

impl DeserializePayload for AsciiTextStruct

source§

impl DeserializePayload for DeviceInformationStruct

source§

impl DeserializePayload for GeneralRequestStruct

source§

impl DeserializePayload for NackStruct

source§

impl DeserializePayload for ProtocolVersionStruct

source§

impl DeserializePayload for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl DeserializePayload for ContinuousStartStruct

source§

impl DeserializePayload for ContinuousStopStruct

source§

impl DeserializePayload for DeviceIdStruct

source§

impl DeserializePayload for DistanceSimpleStruct

source§

impl DeserializePayload for DistanceStruct

source§

impl DeserializePayload for FirmwareVersionStruct

source§

impl DeserializePayload for GainSettingStruct

source§

impl DeserializePayload for GeneralInfoStruct

source§

impl DeserializePayload for GotoBootloaderStruct

source§

impl DeserializePayload for ModeAutoStruct

source§

impl DeserializePayload for PcbTemperatureStruct

source§

impl DeserializePayload for PingEnableStruct

source§

impl DeserializePayload for PingIntervalStruct

source§

impl DeserializePayload for ProcessorTemperatureStruct

source§

impl DeserializePayload for ProfileStruct

source§

impl DeserializePayload for RangeStruct

source§

impl DeserializePayload for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl DeserializePayload for SetGainSettingStruct

source§

impl DeserializePayload for SetModeAutoStruct

source§

impl DeserializePayload for SetPingEnableStruct

source§

impl DeserializePayload for SetPingIntervalStruct

source§

impl DeserializePayload for SetRangeStruct

source§

impl DeserializePayload for SetSpeedOfSoundStruct

source§

impl DeserializePayload for SpeedOfSoundStruct

source§

impl DeserializePayload for TransmitDurationStruct

source§

impl DeserializePayload for Voltage5Struct

source§

impl DeserializePayload for AutoDeviceDataStruct

source§

impl DeserializePayload for AutoTransmitStruct

source§

impl DeserializePayload for DeviceDataStruct

source§

impl DeserializePayload for MotorOffStruct

source§

impl DeserializePayload for ResetStruct

source§

impl DeserializePayload for bluerobotics_ping::ping360::SetDeviceIdStruct

source§

impl DeserializePayload for TransducerStruct

\ No newline at end of file diff --git a/bluerobotics_ping/message/trait.MessageInfo.html b/bluerobotics_ping/message/trait.MessageInfo.html index 7a48a0784..c96831ba9 100644 --- a/bluerobotics_ping/message/trait.MessageInfo.html +++ b/bluerobotics_ping/message/trait.MessageInfo.html @@ -2,4 +2,4 @@
pub trait MessageInfo {
     // Required method
     fn id() -> u16;
-}

Required Methods§

source

fn id() -> u16

Object Safety§

This trait is not object safe.

Implementors§

source§

impl MessageInfo for CellTimeoutStruct

source§

impl MessageInfo for CellVoltageMinStruct

source§

impl MessageInfo for CurrentMaxStruct

source§

impl MessageInfo for CurrentTimeoutStruct

source§

impl MessageInfo for EraseFlashStruct

source§

impl MessageInfo for EventsStruct

source§

impl MessageInfo for RebootStruct

source§

impl MessageInfo for ResetDefaultsStruct

source§

impl MessageInfo for SetCellVoltageMinimumStruct

source§

impl MessageInfo for SetCellVoltageTimeoutStruct

source§

impl MessageInfo for SetCurrentMaxStruct

source§

impl MessageInfo for SetCurrentTimeoutStruct

source§

impl MessageInfo for SetLpfSampleFrequencyStruct

source§

impl MessageInfo for SetLpfSettingStruct

source§

impl MessageInfo for SetStreamRateStruct

source§

impl MessageInfo for SetTemperatureMaxStruct

source§

impl MessageInfo for SetTemperatureTimeoutStruct

source§

impl MessageInfo for StateStruct

source§

impl MessageInfo for TemperatureMaxStruct

source§

impl MessageInfo for TemperatureTimeoutStruct

source§

impl MessageInfo for AckStruct

source§

impl MessageInfo for AsciiTextStruct

source§

impl MessageInfo for DeviceInformationStruct

source§

impl MessageInfo for GeneralRequestStruct

source§

impl MessageInfo for NackStruct

source§

impl MessageInfo for ProtocolVersionStruct

source§

impl MessageInfo for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl MessageInfo for ContinuousStartStruct

source§

impl MessageInfo for ContinuousStopStruct

source§

impl MessageInfo for bluerobotics_ping::ping1d::DeviceIdStruct

source§

impl MessageInfo for DistanceSimpleStruct

source§

impl MessageInfo for DistanceStruct

source§

impl MessageInfo for FirmwareVersionStruct

source§

impl MessageInfo for GainSettingStruct

source§

impl MessageInfo for GeneralInfoStruct

source§

impl MessageInfo for GotoBootloaderStruct

source§

impl MessageInfo for ModeAutoStruct

source§

impl MessageInfo for PcbTemperatureStruct

source§

impl MessageInfo for PingEnableStruct

source§

impl MessageInfo for PingIntervalStruct

source§

impl MessageInfo for ProcessorTemperatureStruct

source§

impl MessageInfo for ProfileStruct

source§

impl MessageInfo for RangeStruct

source§

impl MessageInfo for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl MessageInfo for SetGainSettingStruct

source§

impl MessageInfo for SetModeAutoStruct

source§

impl MessageInfo for SetPingEnableStruct

source§

impl MessageInfo for SetPingIntervalStruct

source§

impl MessageInfo for SetRangeStruct

source§

impl MessageInfo for SetSpeedOfSoundStruct

source§

impl MessageInfo for SpeedOfSoundStruct

source§

impl MessageInfo for TransmitDurationStruct

source§

impl MessageInfo for Voltage5Struct

source§

impl MessageInfo for AutoDeviceDataStruct

source§

impl MessageInfo for AutoTransmitStruct

source§

impl MessageInfo for DeviceDataStruct

source§

impl MessageInfo for bluerobotics_ping::ping360::DeviceIdStruct

source§

impl MessageInfo for MotorOffStruct

source§

impl MessageInfo for ResetStruct

source§

impl MessageInfo for TransducerStruct

\ No newline at end of file +}

Required Methods§

source

fn id() -> u16

Object Safety§

This trait is not object safe.

Implementors§

source§

impl MessageInfo for CellTimeoutStruct

source§

impl MessageInfo for CellVoltageMinStruct

source§

impl MessageInfo for CurrentMaxStruct

source§

impl MessageInfo for CurrentTimeoutStruct

source§

impl MessageInfo for EraseFlashStruct

source§

impl MessageInfo for EventsStruct

source§

impl MessageInfo for RebootStruct

source§

impl MessageInfo for ResetDefaultsStruct

source§

impl MessageInfo for SetCellVoltageMinimumStruct

source§

impl MessageInfo for SetCellVoltageTimeoutStruct

source§

impl MessageInfo for SetCurrentMaxStruct

source§

impl MessageInfo for SetCurrentTimeoutStruct

source§

impl MessageInfo for SetLpfSampleFrequencyStruct

source§

impl MessageInfo for SetLpfSettingStruct

source§

impl MessageInfo for SetStreamRateStruct

source§

impl MessageInfo for SetTemperatureMaxStruct

source§

impl MessageInfo for SetTemperatureTimeoutStruct

source§

impl MessageInfo for StateStruct

source§

impl MessageInfo for TemperatureMaxStruct

source§

impl MessageInfo for TemperatureTimeoutStruct

source§

impl MessageInfo for AckStruct

source§

impl MessageInfo for AsciiTextStruct

source§

impl MessageInfo for DeviceInformationStruct

source§

impl MessageInfo for GeneralRequestStruct

source§

impl MessageInfo for NackStruct

source§

impl MessageInfo for ProtocolVersionStruct

source§

impl MessageInfo for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl MessageInfo for ContinuousStartStruct

source§

impl MessageInfo for ContinuousStopStruct

source§

impl MessageInfo for DeviceIdStruct

source§

impl MessageInfo for DistanceSimpleStruct

source§

impl MessageInfo for DistanceStruct

source§

impl MessageInfo for FirmwareVersionStruct

source§

impl MessageInfo for GainSettingStruct

source§

impl MessageInfo for GeneralInfoStruct

source§

impl MessageInfo for GotoBootloaderStruct

source§

impl MessageInfo for ModeAutoStruct

source§

impl MessageInfo for PcbTemperatureStruct

source§

impl MessageInfo for PingEnableStruct

source§

impl MessageInfo for PingIntervalStruct

source§

impl MessageInfo for ProcessorTemperatureStruct

source§

impl MessageInfo for ProfileStruct

source§

impl MessageInfo for RangeStruct

source§

impl MessageInfo for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl MessageInfo for SetGainSettingStruct

source§

impl MessageInfo for SetModeAutoStruct

source§

impl MessageInfo for SetPingEnableStruct

source§

impl MessageInfo for SetPingIntervalStruct

source§

impl MessageInfo for SetRangeStruct

source§

impl MessageInfo for SetSpeedOfSoundStruct

source§

impl MessageInfo for SpeedOfSoundStruct

source§

impl MessageInfo for TransmitDurationStruct

source§

impl MessageInfo for Voltage5Struct

source§

impl MessageInfo for AutoDeviceDataStruct

source§

impl MessageInfo for AutoTransmitStruct

source§

impl MessageInfo for DeviceDataStruct

source§

impl MessageInfo for MotorOffStruct

source§

impl MessageInfo for ResetStruct

source§

impl MessageInfo for bluerobotics_ping::ping360::SetDeviceIdStruct

source§

impl MessageInfo for TransducerStruct

\ No newline at end of file diff --git a/bluerobotics_ping/message/trait.SerializePayload.html b/bluerobotics_ping/message/trait.SerializePayload.html index 0be5987e2..dde2be99f 100644 --- a/bluerobotics_ping/message/trait.SerializePayload.html +++ b/bluerobotics_ping/message/trait.SerializePayload.html @@ -2,4 +2,4 @@
pub trait SerializePayload {
     // Required method
     fn serialize(&self) -> Vec<u8>;
-}

Required Methods§

source

fn serialize(&self) -> Vec<u8>

Implementors§

source§

impl SerializePayload for bluerobotics_ping::bluebps::Messages

source§

impl SerializePayload for bluerobotics_ping::common::Messages

source§

impl SerializePayload for bluerobotics_ping::ping1d::Messages

source§

impl SerializePayload for bluerobotics_ping::ping360::Messages

source§

impl SerializePayload for CellTimeoutStruct

source§

impl SerializePayload for CellVoltageMinStruct

source§

impl SerializePayload for CurrentMaxStruct

source§

impl SerializePayload for CurrentTimeoutStruct

source§

impl SerializePayload for EraseFlashStruct

source§

impl SerializePayload for EventsStruct

source§

impl SerializePayload for RebootStruct

source§

impl SerializePayload for ResetDefaultsStruct

source§

impl SerializePayload for SetCellVoltageMinimumStruct

source§

impl SerializePayload for SetCellVoltageTimeoutStruct

source§

impl SerializePayload for SetCurrentMaxStruct

source§

impl SerializePayload for SetCurrentTimeoutStruct

source§

impl SerializePayload for SetLpfSampleFrequencyStruct

source§

impl SerializePayload for SetLpfSettingStruct

source§

impl SerializePayload for SetStreamRateStruct

source§

impl SerializePayload for SetTemperatureMaxStruct

source§

impl SerializePayload for SetTemperatureTimeoutStruct

source§

impl SerializePayload for StateStruct

source§

impl SerializePayload for TemperatureMaxStruct

source§

impl SerializePayload for TemperatureTimeoutStruct

source§

impl SerializePayload for AckStruct

source§

impl SerializePayload for AsciiTextStruct

source§

impl SerializePayload for DeviceInformationStruct

source§

impl SerializePayload for GeneralRequestStruct

source§

impl SerializePayload for NackStruct

source§

impl SerializePayload for ProtocolVersionStruct

source§

impl SerializePayload for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl SerializePayload for ContinuousStartStruct

source§

impl SerializePayload for ContinuousStopStruct

source§

impl SerializePayload for bluerobotics_ping::ping1d::DeviceIdStruct

source§

impl SerializePayload for DistanceSimpleStruct

source§

impl SerializePayload for DistanceStruct

source§

impl SerializePayload for FirmwareVersionStruct

source§

impl SerializePayload for GainSettingStruct

source§

impl SerializePayload for GeneralInfoStruct

source§

impl SerializePayload for GotoBootloaderStruct

source§

impl SerializePayload for ModeAutoStruct

source§

impl SerializePayload for PcbTemperatureStruct

source§

impl SerializePayload for PingEnableStruct

source§

impl SerializePayload for PingIntervalStruct

source§

impl SerializePayload for ProcessorTemperatureStruct

source§

impl SerializePayload for ProfileStruct

source§

impl SerializePayload for RangeStruct

source§

impl SerializePayload for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl SerializePayload for SetGainSettingStruct

source§

impl SerializePayload for SetModeAutoStruct

source§

impl SerializePayload for SetPingEnableStruct

source§

impl SerializePayload for SetPingIntervalStruct

source§

impl SerializePayload for SetRangeStruct

source§

impl SerializePayload for SetSpeedOfSoundStruct

source§

impl SerializePayload for SpeedOfSoundStruct

source§

impl SerializePayload for TransmitDurationStruct

source§

impl SerializePayload for Voltage5Struct

source§

impl SerializePayload for AutoDeviceDataStruct

source§

impl SerializePayload for AutoTransmitStruct

source§

impl SerializePayload for DeviceDataStruct

source§

impl SerializePayload for bluerobotics_ping::ping360::DeviceIdStruct

source§

impl SerializePayload for MotorOffStruct

source§

impl SerializePayload for ResetStruct

source§

impl SerializePayload for TransducerStruct

\ No newline at end of file +}

Required Methods§

source

fn serialize(&self) -> Vec<u8>

Implementors§

source§

impl SerializePayload for bluerobotics_ping::bluebps::Messages

source§

impl SerializePayload for bluerobotics_ping::common::Messages

source§

impl SerializePayload for bluerobotics_ping::ping1d::Messages

source§

impl SerializePayload for bluerobotics_ping::ping360::Messages

source§

impl SerializePayload for CellTimeoutStruct

source§

impl SerializePayload for CellVoltageMinStruct

source§

impl SerializePayload for CurrentMaxStruct

source§

impl SerializePayload for CurrentTimeoutStruct

source§

impl SerializePayload for EraseFlashStruct

source§

impl SerializePayload for EventsStruct

source§

impl SerializePayload for RebootStruct

source§

impl SerializePayload for ResetDefaultsStruct

source§

impl SerializePayload for SetCellVoltageMinimumStruct

source§

impl SerializePayload for SetCellVoltageTimeoutStruct

source§

impl SerializePayload for SetCurrentMaxStruct

source§

impl SerializePayload for SetCurrentTimeoutStruct

source§

impl SerializePayload for SetLpfSampleFrequencyStruct

source§

impl SerializePayload for SetLpfSettingStruct

source§

impl SerializePayload for SetStreamRateStruct

source§

impl SerializePayload for SetTemperatureMaxStruct

source§

impl SerializePayload for SetTemperatureTimeoutStruct

source§

impl SerializePayload for StateStruct

source§

impl SerializePayload for TemperatureMaxStruct

source§

impl SerializePayload for TemperatureTimeoutStruct

source§

impl SerializePayload for AckStruct

source§

impl SerializePayload for AsciiTextStruct

source§

impl SerializePayload for DeviceInformationStruct

source§

impl SerializePayload for GeneralRequestStruct

source§

impl SerializePayload for NackStruct

source§

impl SerializePayload for ProtocolVersionStruct

source§

impl SerializePayload for bluerobotics_ping::common::SetDeviceIdStruct

source§

impl SerializePayload for ContinuousStartStruct

source§

impl SerializePayload for ContinuousStopStruct

source§

impl SerializePayload for DeviceIdStruct

source§

impl SerializePayload for DistanceSimpleStruct

source§

impl SerializePayload for DistanceStruct

source§

impl SerializePayload for FirmwareVersionStruct

source§

impl SerializePayload for GainSettingStruct

source§

impl SerializePayload for GeneralInfoStruct

source§

impl SerializePayload for GotoBootloaderStruct

source§

impl SerializePayload for ModeAutoStruct

source§

impl SerializePayload for PcbTemperatureStruct

source§

impl SerializePayload for PingEnableStruct

source§

impl SerializePayload for PingIntervalStruct

source§

impl SerializePayload for ProcessorTemperatureStruct

source§

impl SerializePayload for ProfileStruct

source§

impl SerializePayload for RangeStruct

source§

impl SerializePayload for bluerobotics_ping::ping1d::SetDeviceIdStruct

source§

impl SerializePayload for SetGainSettingStruct

source§

impl SerializePayload for SetModeAutoStruct

source§

impl SerializePayload for SetPingEnableStruct

source§

impl SerializePayload for SetPingIntervalStruct

source§

impl SerializePayload for SetRangeStruct

source§

impl SerializePayload for SetSpeedOfSoundStruct

source§

impl SerializePayload for SpeedOfSoundStruct

source§

impl SerializePayload for TransmitDurationStruct

source§

impl SerializePayload for Voltage5Struct

source§

impl SerializePayload for AutoDeviceDataStruct

source§

impl SerializePayload for AutoTransmitStruct

source§

impl SerializePayload for DeviceDataStruct

source§

impl SerializePayload for MotorOffStruct

source§

impl SerializePayload for ResetStruct

source§

impl SerializePayload for bluerobotics_ping::ping360::SetDeviceIdStruct

source§

impl SerializePayload for TransducerStruct

\ No newline at end of file diff --git a/bluerobotics_ping/ping1d/enum.Messages.html b/bluerobotics_ping/ping1d/enum.Messages.html index a9a0d2ec5..969c80e8c 100644 --- a/bluerobotics_ping/ping1d/enum.Messages.html +++ b/bluerobotics_ping/ping1d/enum.Messages.html @@ -1,32 +1,32 @@ Messages in bluerobotics_ping::ping1d - Rust
pub enum Messages {
-
Show 26 variants PingEnable(PingEnableStruct), - GeneralInfo(GeneralInfoStruct), - SetSpeedOfSound(SetSpeedOfSoundStruct), - SetRange(SetRangeStruct), - GotoBootloader(GotoBootloaderStruct), - ContinuousStop(ContinuousStopStruct), - DeviceId(DeviceIdStruct), +
Show 26 variants SetRange(SetRangeStruct), + SetDeviceId(SetDeviceIdStruct), Voltage5(Voltage5Struct), - DistanceSimple(DistanceSimpleStruct), - GainSetting(GainSettingStruct), + PingEnable(PingEnableStruct), ProcessorTemperature(ProcessorTemperatureStruct), SpeedOfSound(SpeedOfSoundStruct), + ContinuousStop(ContinuousStopStruct), + GeneralInfo(GeneralInfoStruct), SetModeAuto(SetModeAutoStruct), - SetPingInterval(SetPingIntervalStruct), - SetPingEnable(SetPingEnableStruct), - Profile(ProfileStruct), - PingInterval(PingIntervalStruct), - FirmwareVersion(FirmwareVersionStruct), - PcbTemperature(PcbTemperatureStruct), TransmitDuration(TransmitDurationStruct), - SetDeviceId(SetDeviceIdStruct), + DistanceSimple(DistanceSimpleStruct), + DeviceId(DeviceIdStruct), + FirmwareVersion(FirmwareVersionStruct), + GainSetting(GainSettingStruct), + SetSpeedOfSound(SetSpeedOfSoundStruct), SetGainSetting(SetGainSettingStruct), - ContinuousStart(ContinuousStartStruct), Range(RangeStruct), ModeAuto(ModeAutoStruct), + GotoBootloader(GotoBootloaderStruct), + ContinuousStart(ContinuousStartStruct), Distance(DistanceStruct), -
}

Variants§

§

PingEnable(PingEnableStruct)

§

GeneralInfo(GeneralInfoStruct)

§

SetSpeedOfSound(SetSpeedOfSoundStruct)

§

SetRange(SetRangeStruct)

§

GotoBootloader(GotoBootloaderStruct)

§

ContinuousStop(ContinuousStopStruct)

§

DeviceId(DeviceIdStruct)

§

Voltage5(Voltage5Struct)

§

DistanceSimple(DistanceSimpleStruct)

§

GainSetting(GainSettingStruct)

§

ProcessorTemperature(ProcessorTemperatureStruct)

§

SpeedOfSound(SpeedOfSoundStruct)

§

SetModeAuto(SetModeAutoStruct)

§

SetPingInterval(SetPingIntervalStruct)

§

SetPingEnable(SetPingEnableStruct)

§

Profile(ProfileStruct)

§

PingInterval(PingIntervalStruct)

§

FirmwareVersion(FirmwareVersionStruct)

§

PcbTemperature(PcbTemperatureStruct)

§

TransmitDuration(TransmitDurationStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

SetGainSetting(SetGainSettingStruct)

§

ContinuousStart(ContinuousStartStruct)

§

Range(RangeStruct)

§

ModeAuto(ModeAutoStruct)

§

Distance(DistanceStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used + SetPingInterval(SetPingIntervalStruct), + PcbTemperature(PcbTemperatureStruct), + Profile(ProfileStruct), + PingInterval(PingIntervalStruct), + SetPingEnable(SetPingEnableStruct), +
}

Variants§

§

SetRange(SetRangeStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

Voltage5(Voltage5Struct)

§

PingEnable(PingEnableStruct)

§

ProcessorTemperature(ProcessorTemperatureStruct)

§

SpeedOfSound(SpeedOfSoundStruct)

§

ContinuousStop(ContinuousStopStruct)

§

GeneralInfo(GeneralInfoStruct)

§

SetModeAuto(SetModeAutoStruct)

§

TransmitDuration(TransmitDurationStruct)

§

DistanceSimple(DistanceSimpleStruct)

§

DeviceId(DeviceIdStruct)

§

FirmwareVersion(FirmwareVersionStruct)

§

GainSetting(GainSettingStruct)

§

SetSpeedOfSound(SetSpeedOfSoundStruct)

§

SetGainSetting(SetGainSettingStruct)

§

Range(RangeStruct)

§

ModeAuto(ModeAutoStruct)

§

GotoBootloader(GotoBootloaderStruct)

§

ContinuousStart(ContinuousStartStruct)

§

Distance(DistanceStruct)

§

SetPingInterval(SetPingIntervalStruct)

§

PcbTemperature(PcbTemperatureStruct)

§

Profile(ProfileStruct)

§

PingInterval(PingIntervalStruct)

§

SetPingEnable(SetPingEnableStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PingMessage for Messages

source§

impl SerializePayload for Messages

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Messages

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html b/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html index ad9f26ab3..9069d11ff 100644 --- a/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html +++ b/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html @@ -1,11 +1,11 @@ ContinuousStartStruct in bluerobotics_ping::ping1d - Rust -
pub struct ContinuousStartStruct {
+    
pub struct ContinuousStartStruct {
     pub id: u16,
 }
Expand description

Command to initiate continuous data stream of profile messages.

Fields§

§id: u16

The message id to stream. 1300: profile

-

Trait Implementations§

source§

impl Clone for ContinuousStartStruct

source§

fn clone(&self) -> ContinuousStartStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContinuousStartStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ContinuousStartStruct

source§

fn default() -> ContinuousStartStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ContinuousStartStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ContinuousStartStruct

source§

fn id() -> u16

source§

impl PartialEq for ContinuousStartStruct

source§

fn eq(&self, other: &ContinuousStartStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ContinuousStartStruct

source§

fn clone(&self) -> ContinuousStartStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContinuousStartStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ContinuousStartStruct

source§

fn default() -> ContinuousStartStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ContinuousStartStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ContinuousStartStruct

source§

fn id() -> u16

source§

impl PartialEq for ContinuousStartStruct

source§

fn eq(&self, other: &ContinuousStartStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ContinuousStartStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ContinuousStartStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ContinuousStartStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ContinuousStartStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html b/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html index 905b2a487..786ecf7f1 100644 --- a/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html +++ b/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html @@ -1,11 +1,11 @@ ContinuousStopStruct in bluerobotics_ping::ping1d - Rust -
pub struct ContinuousStopStruct {
+    
pub struct ContinuousStopStruct {
     pub id: u16,
 }
Expand description

Command to stop the continuous data stream of profile messages.

Fields§

§id: u16

The message id to stop streaming. 1300: profile

-

Trait Implementations§

source§

impl Clone for ContinuousStopStruct

source§

fn clone(&self) -> ContinuousStopStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContinuousStopStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ContinuousStopStruct

source§

fn default() -> ContinuousStopStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ContinuousStopStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ContinuousStopStruct

source§

fn id() -> u16

source§

impl PartialEq for ContinuousStopStruct

source§

fn eq(&self, other: &ContinuousStopStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ContinuousStopStruct

source§

fn clone(&self) -> ContinuousStopStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContinuousStopStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ContinuousStopStruct

source§

fn default() -> ContinuousStopStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ContinuousStopStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ContinuousStopStruct

source§

fn id() -> u16

source§

impl PartialEq for ContinuousStopStruct

source§

fn eq(&self, other: &ContinuousStopStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ContinuousStopStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ContinuousStopStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ContinuousStopStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ContinuousStopStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.Device.html b/bluerobotics_ping/ping1d/struct.Device.html index 490b58e39..46b92b061 100644 --- a/bluerobotics_ping/ping1d/struct.Device.html +++ b/bluerobotics_ping/ping1d/struct.Device.html @@ -2,83 +2,83 @@
pub struct Device {
     pub common: Common,
 }

Fields§

§common: Common

Implementations§

source§

impl Device

source

pub fn new<T>(io: T) -> Self
where - T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn ping_enable(&self) -> Result<PingEnableStruct, PingError>

Acoustic output enabled state.

-
source

pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError>

General information.

-
source

pub async fn set_speed_of_sound( - &self, - speed_of_sound: u32 -) -> Result<(), PingError>

Set the speed of sound used for distance calculations.

-
§Arguments
-
    -
  • speed_of_sound [mm/s] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water.
  • -
-
source

pub async fn set_range( + T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn set_range( &self, scan_start: u32, scan_length: u32 ) -> Result<(), PingError>

Set the scan range for acoustic measurements.

-
§Arguments
+
§Arguments
  • scan_start [mm] - Not documented
  • -
  • scan_length [mm] - The length of the scan range.
  • +
  • scan_length [mm] - The length of the scan range. Minimum 1000.
-
source

pub async fn goto_bootloader(&self) -> Result<(), PingError>

Send the device into the bootloader. This is useful for firmware updates.

-
§Arguments
source

pub async fn continuous_stop(&self, id: u16) -> Result<(), PingError>

Command to stop the continuous data stream of profile messages.

-
§Arguments
+
source

pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID.

+
§Arguments
    -
  • id - The message id to stop streaming. 1300: profile
  • +
  • device_id - Device ID (0-254). 255 is reserved for broadcast messages.
-
source

pub async fn device_id(&self) -> Result<DeviceIdStruct, PingError>

The device ID.

-
source

pub async fn voltage_5(&self) -> Result<Voltage5Struct, PingError>

The 5V rail voltage.

-
source

pub async fn distance_simple(&self) -> Result<DistanceSimpleStruct, PingError>

The distance to target with confidence estimate.

-
source

pub async fn gain_setting(&self) -> Result<GainSettingStruct, PingError>

The current gain setting.

-
source

pub async fn processor_temperature( +

source

pub async fn voltage_5(&self) -> Result<Voltage5Struct, PingError>

The 5V rail voltage.

+
source

pub async fn ping_enable(&self) -> Result<PingEnableStruct, PingError>

Acoustic output enabled state.

+
source

pub async fn processor_temperature( &self ) -> Result<ProcessorTemperatureStruct, PingError>

Temperature of the device cpu.

-
source

pub async fn speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError>

The speed of sound used for distance calculations.

-
source

pub async fn set_mode_auto(&self, mode_auto: u8) -> Result<(), PingError>

Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range.

-
§Arguments
+
source

pub async fn speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError>

The speed of sound used for distance calculations.

+
source

pub async fn continuous_stop(&self, id: u16) -> Result<(), PingError>

Command to stop the continuous data stream of profile messages.

+
§Arguments
+
    +
  • id - The message id to stop streaming. 1300: profile
  • +
+
source

pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError>

General information.

+
source

pub async fn set_mode_auto(&self, mode_auto: u8) -> Result<(), PingError>

Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range.

+
§Arguments
  • mode_auto - 0: manual mode. 1: auto mode.
-
source

pub async fn set_ping_interval( +

source

pub async fn transmit_duration( + &self +) -> Result<TransmitDurationStruct, PingError>

The duration of the acoustic activation/transmission.

+
source

pub async fn distance_simple(&self) -> Result<DistanceSimpleStruct, PingError>

The distance to target with confidence estimate.

+
source

pub async fn device_id(&self) -> Result<DeviceIdStruct, PingError>

The device ID.

+
source

pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError>

Device information

+
source

pub async fn gain_setting(&self) -> Result<GainSettingStruct, PingError>

The current gain setting.

+
source

pub async fn set_speed_of_sound( &self, - ping_interval: u16 -) -> Result<(), PingError>

The interval between acoustic measurements.

-
§Arguments
+ speed_of_sound: u32 +) -> Result<(), PingError>

Set the speed of sound used for distance calculations.

+
§Arguments
    -
  • ping_interval [ms] - The interval between acoustic measurements.
  • +
  • speed_of_sound [mm/s] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water.
-
source

pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError>

Enable or disable acoustic measurements.

-
§Arguments
+
source

pub async fn set_gain_setting(&self, gain_setting: u8) -> Result<(), PingError>

Set the current gain setting.

+
§Arguments
    -
  • ping_enabled - 0: Disable, 1: Enable.
  • +
  • gain_setting - The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144
-
source

pub async fn profile(&self) -> Result<ProfileStruct, PingError>

A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided.

-
source

pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError>

The interval between acoustic measurements.

-
source

pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError>

Device information

-
source

pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, PingError>

Temperature of the on-board thermistor.

-
source

pub async fn transmit_duration( - &self -) -> Result<TransmitDurationStruct, PingError>

The duration of the acoustic activation/transmission.

-
source

pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID.

+
source

pub async fn range(&self) -> Result<RangeStruct, PingError>

The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length).

+
source

pub async fn mode_auto(&self) -> Result<ModeAutoStruct, PingError>

The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range.

+
source

pub async fn goto_bootloader(&self) -> Result<(), PingError>

Send the device into the bootloader. This is useful for firmware updates.

+
§Arguments
source

pub async fn continuous_start(&self, id: u16) -> Result<(), PingError>

Command to initiate continuous data stream of profile messages.

§Arguments
    -
  • device_id - Device ID (0-254). 255 is reserved for broadcast messages.
  • +
  • id - The message id to stream. 1300: profile
-
source

pub async fn set_gain_setting(&self, gain_setting: u8) -> Result<(), PingError>

Set the current gain setting.

+
source

pub async fn distance(&self) -> Result<DistanceStruct, PingError>

The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided.

+
source

pub async fn set_ping_interval( + &self, + ping_interval: u16 +) -> Result<(), PingError>

The interval between acoustic measurements.

§Arguments
    -
  • gain_setting - The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144
  • +
  • ping_interval [ms] - The interval between acoustic measurements.
-
source

pub async fn continuous_start(&self, id: u16) -> Result<(), PingError>

Command to initiate continuous data stream of profile messages.

+
source

pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, PingError>

Temperature of the on-board thermistor.

+
source

pub async fn profile(&self) -> Result<ProfileStruct, PingError>

A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided.

+
source

pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError>

The interval between acoustic measurements.

+
source

pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError>

Enable or disable acoustic measurements.

§Arguments
    -
  • id - The message id to stream. 1300: profile
  • +
  • ping_enabled - 0: Disable, 1: Enable.
-
source

pub async fn range(&self) -> Result<RangeStruct, PingError>

The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length).

-
source

pub async fn mode_auto(&self) -> Result<ModeAutoStruct, PingError>

The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range.

-
source

pub async fn distance(&self) -> Result<DistanceStruct, PingError>

The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided.

Trait Implementations§

source§

impl PingDevice for Device

source§

fn get_common(&self) -> &Common

source§

fn get_mut_common(&mut self) -> &mut Common

source§

fn subscribe(&self) -> Receiver<ProtocolMessage>

source§

async fn send_general_request(&self, requested_id: u16) -> Result<(), PingError>

source§

async fn wait_for_message<T>( &self, receiver: Receiver<ProtocolMessage> diff --git a/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html b/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html index 4c1b1a395..3ff29bcd0 100644 --- a/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html +++ b/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html @@ -1,11 +1,11 @@ DeviceIdStruct in bluerobotics_ping::ping1d - Rust -
pub struct DeviceIdStruct {
+    
pub struct DeviceIdStruct {
     pub device_id: u8,
 }
Expand description

The device ID.

Fields§

§device_id: u8

The device ID (0-254). 255 is reserved for broadcast messages.

-

Trait Implementations§

source§

impl Clone for DeviceIdStruct

source§

fn clone(&self) -> DeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceIdStruct

source§

fn default() -> DeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceIdStruct

source§

fn eq(&self, other: &DeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for DeviceIdStruct

source§

fn clone(&self) -> DeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceIdStruct

source§

fn default() -> DeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceIdStruct

source§

fn eq(&self, other: &DeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for DeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html b/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html index b3a715787..efa62535e 100644 --- a/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html +++ b/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html @@ -1,13 +1,13 @@ DistanceSimpleStruct in bluerobotics_ping::ping1d - Rust -
pub struct DistanceSimpleStruct {
+    
pub struct DistanceSimpleStruct {
     pub distance: u32,
     pub confidence: u8,
 }
Expand description

The distance to target with confidence estimate.

Fields§

§distance: u32

Distance to the target.

§confidence: u8

Confidence in the distance measurement.

-

Trait Implementations§

source§

impl Clone for DistanceSimpleStruct

source§

fn clone(&self) -> DistanceSimpleStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DistanceSimpleStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DistanceSimpleStruct

source§

fn default() -> DistanceSimpleStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DistanceSimpleStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DistanceSimpleStruct

source§

fn id() -> u16

source§

impl PartialEq for DistanceSimpleStruct

source§

fn eq(&self, other: &DistanceSimpleStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for DistanceSimpleStruct

source§

fn clone(&self) -> DistanceSimpleStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DistanceSimpleStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DistanceSimpleStruct

source§

fn default() -> DistanceSimpleStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DistanceSimpleStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DistanceSimpleStruct

source§

fn id() -> u16

source§

impl PartialEq for DistanceSimpleStruct

source§

fn eq(&self, other: &DistanceSimpleStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DistanceSimpleStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DistanceSimpleStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for DistanceSimpleStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DistanceSimpleStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.DistanceStruct.html b/bluerobotics_ping/ping1d/struct.DistanceStruct.html index b8a47306a..a018c0168 100644 --- a/bluerobotics_ping/ping1d/struct.DistanceStruct.html +++ b/bluerobotics_ping/ping1d/struct.DistanceStruct.html @@ -1,5 +1,5 @@ DistanceStruct in bluerobotics_ping::ping1d - Rust -
pub struct DistanceStruct {
+    
pub struct DistanceStruct {
     pub distance: u32,
     pub confidence: u16,
     pub transmit_duration: u16,
@@ -15,9 +15,9 @@
 
§scan_start: u32

The beginning of the scan region in mm from the transducer.

§scan_length: u32

The length of the scan region.

§gain_setting: u32

The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144

-

Trait Implementations§

source§

impl Clone for DistanceStruct

source§

fn clone(&self) -> DistanceStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DistanceStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DistanceStruct

source§

fn default() -> DistanceStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DistanceStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DistanceStruct

source§

fn id() -> u16

source§

impl PartialEq for DistanceStruct

source§

fn eq(&self, other: &DistanceStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for DistanceStruct

source§

fn clone(&self) -> DistanceStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DistanceStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DistanceStruct

source§

fn default() -> DistanceStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DistanceStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DistanceStruct

source§

fn id() -> u16

source§

impl PartialEq for DistanceStruct

source§

fn eq(&self, other: &DistanceStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DistanceStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DistanceStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for DistanceStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DistanceStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html b/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html index 04754d944..e5902a237 100644 --- a/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html +++ b/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html @@ -1,5 +1,5 @@ FirmwareVersionStruct in bluerobotics_ping::ping1d - Rust -
pub struct FirmwareVersionStruct {
+    
pub struct FirmwareVersionStruct {
     pub device_type: u8,
     pub device_model: u8,
     pub firmware_version_major: u16,
@@ -9,9 +9,9 @@
 
§device_model: u8

Device model. 0: Unknown; 1: Ping1D

§firmware_version_major: u16

Firmware version major number.

§firmware_version_minor: u16

Firmware version minor number.

-

Trait Implementations§

source§

impl Clone for FirmwareVersionStruct

source§

fn clone(&self) -> FirmwareVersionStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FirmwareVersionStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for FirmwareVersionStruct

source§

fn default() -> FirmwareVersionStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for FirmwareVersionStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for FirmwareVersionStruct

source§

fn id() -> u16

source§

impl PartialEq for FirmwareVersionStruct

source§

fn eq(&self, other: &FirmwareVersionStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for FirmwareVersionStruct

source§

fn clone(&self) -> FirmwareVersionStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FirmwareVersionStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for FirmwareVersionStruct

source§

fn default() -> FirmwareVersionStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for FirmwareVersionStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for FirmwareVersionStruct

source§

fn id() -> u16

source§

impl PartialEq for FirmwareVersionStruct

source§

fn eq(&self, other: &FirmwareVersionStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for FirmwareVersionStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for FirmwareVersionStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for FirmwareVersionStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for FirmwareVersionStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.GainSettingStruct.html b/bluerobotics_ping/ping1d/struct.GainSettingStruct.html index 2cee2f392..95aec75fa 100644 --- a/bluerobotics_ping/ping1d/struct.GainSettingStruct.html +++ b/bluerobotics_ping/ping1d/struct.GainSettingStruct.html @@ -1,11 +1,11 @@ GainSettingStruct in bluerobotics_ping::ping1d - Rust -
pub struct GainSettingStruct {
+    
pub struct GainSettingStruct {
     pub gain_setting: u32,
 }
Expand description

The current gain setting.

Fields§

§gain_setting: u32

The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144

-

Trait Implementations§

source§

impl Clone for GainSettingStruct

source§

fn clone(&self) -> GainSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GainSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GainSettingStruct

source§

fn default() -> GainSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GainSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GainSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for GainSettingStruct

source§

fn eq(&self, other: &GainSettingStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for GainSettingStruct

source§

fn clone(&self) -> GainSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GainSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GainSettingStruct

source§

fn default() -> GainSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GainSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GainSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for GainSettingStruct

source§

fn eq(&self, other: &GainSettingStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for GainSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GainSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for GainSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GainSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html b/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html index 84a4756ce..036d9ea47 100644 --- a/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html +++ b/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html @@ -1,5 +1,5 @@ GeneralInfoStruct in bluerobotics_ping::ping1d - Rust -
pub struct GeneralInfoStruct {
+    
pub struct GeneralInfoStruct {
     pub firmware_version_major: u16,
     pub firmware_version_minor: u16,
     pub voltage_5: u16,
@@ -13,9 +13,9 @@
 
§ping_interval: u16

The interval between acoustic measurements.

§gain_setting: u8

The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144

§mode_auto: u8

The current operating mode of the device. 0: manual mode, 1: auto mode

-

Trait Implementations§

source§

impl Clone for GeneralInfoStruct

source§

fn clone(&self) -> GeneralInfoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GeneralInfoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GeneralInfoStruct

source§

fn default() -> GeneralInfoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GeneralInfoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GeneralInfoStruct

source§

fn id() -> u16

source§

impl PartialEq for GeneralInfoStruct

source§

fn eq(&self, other: &GeneralInfoStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for GeneralInfoStruct

source§

fn clone(&self) -> GeneralInfoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GeneralInfoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GeneralInfoStruct

source§

fn default() -> GeneralInfoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GeneralInfoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GeneralInfoStruct

source§

fn id() -> u16

source§

impl PartialEq for GeneralInfoStruct

source§

fn eq(&self, other: &GeneralInfoStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for GeneralInfoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GeneralInfoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for GeneralInfoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GeneralInfoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html b/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html index f1dd4bf13..da6380eb1 100644 --- a/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html +++ b/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html @@ -1,8 +1,8 @@ GotoBootloaderStruct in bluerobotics_ping::ping1d - Rust -
pub struct GotoBootloaderStruct {}
Expand description

Send the device into the bootloader. This is useful for firmware updates.

-

Trait Implementations§

source§

impl Clone for GotoBootloaderStruct

source§

fn clone(&self) -> GotoBootloaderStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GotoBootloaderStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GotoBootloaderStruct

source§

fn default() -> GotoBootloaderStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GotoBootloaderStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GotoBootloaderStruct

source§

fn id() -> u16

source§

impl PartialEq for GotoBootloaderStruct

source§

fn eq(&self, other: &GotoBootloaderStruct) -> bool

This method tests for self and other values to be equal, and is used +
pub struct GotoBootloaderStruct {}
Expand description

Send the device into the bootloader. This is useful for firmware updates.

+

Trait Implementations§

source§

impl Clone for GotoBootloaderStruct

source§

fn clone(&self) -> GotoBootloaderStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GotoBootloaderStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GotoBootloaderStruct

source§

fn default() -> GotoBootloaderStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for GotoBootloaderStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for GotoBootloaderStruct

source§

fn id() -> u16

source§

impl PartialEq for GotoBootloaderStruct

source§

fn eq(&self, other: &GotoBootloaderStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for GotoBootloaderStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GotoBootloaderStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for GotoBootloaderStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for GotoBootloaderStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html b/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html index 9938f903a..1905aeded 100644 --- a/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html +++ b/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html @@ -1,11 +1,11 @@ ModeAutoStruct in bluerobotics_ping::ping1d - Rust -
pub struct ModeAutoStruct {
+    
pub struct ModeAutoStruct {
     pub mode_auto: u8,
 }
Expand description

The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range.

Fields§

§mode_auto: u8

0: manual mode, 1: auto mode

-

Trait Implementations§

source§

impl Clone for ModeAutoStruct

source§

fn clone(&self) -> ModeAutoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ModeAutoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ModeAutoStruct

source§

fn default() -> ModeAutoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ModeAutoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ModeAutoStruct

source§

fn id() -> u16

source§

impl PartialEq for ModeAutoStruct

source§

fn eq(&self, other: &ModeAutoStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ModeAutoStruct

source§

fn clone(&self) -> ModeAutoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ModeAutoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ModeAutoStruct

source§

fn default() -> ModeAutoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ModeAutoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ModeAutoStruct

source§

fn id() -> u16

source§

impl PartialEq for ModeAutoStruct

source§

fn eq(&self, other: &ModeAutoStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ModeAutoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ModeAutoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ModeAutoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ModeAutoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html b/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html index 789de9eb3..3b9d15297 100644 --- a/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html +++ b/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html @@ -1,11 +1,11 @@ PcbTemperatureStruct in bluerobotics_ping::ping1d - Rust -
pub struct PcbTemperatureStruct {
+    
pub struct PcbTemperatureStruct {
     pub pcb_temperature: u16,
 }
Expand description

Temperature of the on-board thermistor.

Fields§

§pcb_temperature: u16

The temperature in centi-degrees Centigrade (100 * degrees C).

-

Trait Implementations§

source§

impl Clone for PcbTemperatureStruct

source§

fn clone(&self) -> PcbTemperatureStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PcbTemperatureStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PcbTemperatureStruct

source§

fn default() -> PcbTemperatureStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PcbTemperatureStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PcbTemperatureStruct

source§

fn id() -> u16

source§

impl PartialEq for PcbTemperatureStruct

source§

fn eq(&self, other: &PcbTemperatureStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for PcbTemperatureStruct

source§

fn clone(&self) -> PcbTemperatureStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PcbTemperatureStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PcbTemperatureStruct

source§

fn default() -> PcbTemperatureStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PcbTemperatureStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PcbTemperatureStruct

source§

fn id() -> u16

source§

impl PartialEq for PcbTemperatureStruct

source§

fn eq(&self, other: &PcbTemperatureStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for PcbTemperatureStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PcbTemperatureStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for PcbTemperatureStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PcbTemperatureStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.PingEnableStruct.html b/bluerobotics_ping/ping1d/struct.PingEnableStruct.html index 705cf096f..adffb3908 100644 --- a/bluerobotics_ping/ping1d/struct.PingEnableStruct.html +++ b/bluerobotics_ping/ping1d/struct.PingEnableStruct.html @@ -1,11 +1,11 @@ PingEnableStruct in bluerobotics_ping::ping1d - Rust -
pub struct PingEnableStruct {
+    
pub struct PingEnableStruct {
     pub ping_enabled: u8,
 }
Expand description

Acoustic output enabled state.

Fields§

§ping_enabled: u8

The state of the acoustic output. 0: disabled, 1:enabled

-

Trait Implementations§

source§

impl Clone for PingEnableStruct

source§

fn clone(&self) -> PingEnableStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PingEnableStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PingEnableStruct

source§

fn default() -> PingEnableStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PingEnableStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PingEnableStruct

source§

fn id() -> u16

source§

impl PartialEq for PingEnableStruct

source§

fn eq(&self, other: &PingEnableStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for PingEnableStruct

source§

fn clone(&self) -> PingEnableStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PingEnableStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PingEnableStruct

source§

fn default() -> PingEnableStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PingEnableStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PingEnableStruct

source§

fn id() -> u16

source§

impl PartialEq for PingEnableStruct

source§

fn eq(&self, other: &PingEnableStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for PingEnableStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PingEnableStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for PingEnableStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PingEnableStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html b/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html index 7c6d3c8bd..09761518a 100644 --- a/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html +++ b/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html @@ -1,11 +1,11 @@ PingIntervalStruct in bluerobotics_ping::ping1d - Rust -
pub struct PingIntervalStruct {
+    
pub struct PingIntervalStruct {
     pub ping_interval: u16,
 }
Expand description

The interval between acoustic measurements.

Fields§

§ping_interval: u16

The minimum interval between acoustic measurements. The actual interval may be longer.

-

Trait Implementations§

source§

impl Clone for PingIntervalStruct

source§

fn clone(&self) -> PingIntervalStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PingIntervalStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PingIntervalStruct

source§

fn default() -> PingIntervalStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PingIntervalStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PingIntervalStruct

source§

fn id() -> u16

source§

impl PartialEq for PingIntervalStruct

source§

fn eq(&self, other: &PingIntervalStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for PingIntervalStruct

source§

fn clone(&self) -> PingIntervalStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PingIntervalStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PingIntervalStruct

source§

fn default() -> PingIntervalStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for PingIntervalStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for PingIntervalStruct

source§

fn id() -> u16

source§

impl PartialEq for PingIntervalStruct

source§

fn eq(&self, other: &PingIntervalStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for PingIntervalStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PingIntervalStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for PingIntervalStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for PingIntervalStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html b/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html index 492d2d17f..80d49dfac 100644 --- a/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html +++ b/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html @@ -1,11 +1,11 @@ ProcessorTemperatureStruct in bluerobotics_ping::ping1d - Rust -
pub struct ProcessorTemperatureStruct {
+    
pub struct ProcessorTemperatureStruct {
     pub processor_temperature: u16,
 }
Expand description

Temperature of the device cpu.

Fields§

§processor_temperature: u16

The temperature in centi-degrees Centigrade (100 * degrees C).

-

Trait Implementations§

source§

impl Clone for ProcessorTemperatureStruct

source§

fn clone(&self) -> ProcessorTemperatureStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProcessorTemperatureStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProcessorTemperatureStruct

source§

fn default() -> ProcessorTemperatureStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProcessorTemperatureStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProcessorTemperatureStruct

source§

fn id() -> u16

source§

impl PartialEq for ProcessorTemperatureStruct

source§

fn eq(&self, other: &ProcessorTemperatureStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ProcessorTemperatureStruct

source§

fn clone(&self) -> ProcessorTemperatureStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProcessorTemperatureStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProcessorTemperatureStruct

source§

fn default() -> ProcessorTemperatureStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProcessorTemperatureStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProcessorTemperatureStruct

source§

fn id() -> u16

source§

impl PartialEq for ProcessorTemperatureStruct

source§

fn eq(&self, other: &ProcessorTemperatureStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ProcessorTemperatureStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProcessorTemperatureStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ProcessorTemperatureStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProcessorTemperatureStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.ProfileStruct.html b/bluerobotics_ping/ping1d/struct.ProfileStruct.html index 69d25cb48..d550e493e 100644 --- a/bluerobotics_ping/ping1d/struct.ProfileStruct.html +++ b/bluerobotics_ping/ping1d/struct.ProfileStruct.html @@ -1,5 +1,5 @@ ProfileStruct in bluerobotics_ping::ping1d - Rust -
pub struct ProfileStruct {
+    
pub struct ProfileStruct {
     pub distance: u32,
     pub confidence: u16,
     pub transmit_duration: u16,
@@ -17,10 +17,10 @@
 
§scan_start: u32

The beginning of the scan region in mm from the transducer.

§scan_length: u32

The length of the scan region.

§gain_setting: u32

The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144

-
§profile_data_length: u16

An array of return strength measurements taken at regular intervals across the scan region.

-
§profile_data: Vec<u8>

Trait Implementations§

source§

impl Clone for ProfileStruct

source§

fn clone(&self) -> ProfileStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProfileStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProfileStruct

source§

fn default() -> ProfileStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProfileStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProfileStruct

source§

fn id() -> u16

source§

impl PartialEq for ProfileStruct

source§

fn eq(&self, other: &ProfileStruct) -> bool

This method tests for self and other values to be equal, and is used +
§profile_data_length: u16

An 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.

+
§profile_data: Vec<u8>

Trait Implementations§

source§

impl Clone for ProfileStruct

source§

fn clone(&self) -> ProfileStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProfileStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ProfileStruct

source§

fn default() -> ProfileStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for ProfileStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for ProfileStruct

source§

fn id() -> u16

source§

impl PartialEq for ProfileStruct

source§

fn eq(&self, other: &ProfileStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for ProfileStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProfileStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for ProfileStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for ProfileStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.RangeStruct.html b/bluerobotics_ping/ping1d/struct.RangeStruct.html index 0c369dfaf..c941ca1db 100644 --- a/bluerobotics_ping/ping1d/struct.RangeStruct.html +++ b/bluerobotics_ping/ping1d/struct.RangeStruct.html @@ -1,13 +1,13 @@ RangeStruct in bluerobotics_ping::ping1d - Rust -
pub struct RangeStruct {
+    
pub struct RangeStruct {
     pub scan_start: u32,
     pub scan_length: u32,
 }
Expand description

The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length).

Fields§

§scan_start: u32

The beginning of the scan range in mm from the transducer.

§scan_length: u32

The length of the scan range.

-

Trait Implementations§

source§

impl Clone for RangeStruct

source§

fn clone(&self) -> RangeStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RangeStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RangeStruct

source§

fn default() -> RangeStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for RangeStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for RangeStruct

source§

fn id() -> u16

source§

impl PartialEq for RangeStruct

source§

fn eq(&self, other: &RangeStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for RangeStruct

source§

fn clone(&self) -> RangeStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RangeStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RangeStruct

source§

fn default() -> RangeStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for RangeStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for RangeStruct

source§

fn id() -> u16

source§

impl PartialEq for RangeStruct

source§

fn eq(&self, other: &RangeStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for RangeStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for RangeStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for RangeStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for RangeStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html b/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html index 9fe650249..d290ab5c7 100644 --- a/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html @@ -1,11 +1,11 @@ SetDeviceIdStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetDeviceIdStruct {
+    
pub struct SetDeviceIdStruct {
     pub device_id: u8,
 }
Expand description

Set the device ID.

Fields§

§device_id: u8

Device ID (0-254). 255 is reserved for broadcast messages.

-

Trait Implementations§

source§

impl Clone for SetDeviceIdStruct

source§

fn clone(&self) -> SetDeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetDeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetDeviceIdStruct

source§

fn default() -> SetDeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetDeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetDeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for SetDeviceIdStruct

source§

fn eq(&self, other: &SetDeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetDeviceIdStruct

source§

fn clone(&self) -> SetDeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetDeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetDeviceIdStruct

source§

fn default() -> SetDeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetDeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetDeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for SetDeviceIdStruct

source§

fn eq(&self, other: &SetDeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetDeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetDeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetDeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetDeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html b/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html index 62e3e2672..d24637d13 100644 --- a/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html @@ -1,11 +1,11 @@ SetGainSettingStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetGainSettingStruct {
+    
pub struct SetGainSettingStruct {
     pub gain_setting: u8,
 }
Expand description

Set the current gain setting.

Fields§

§gain_setting: u8

The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144

-

Trait Implementations§

source§

impl Clone for SetGainSettingStruct

source§

fn clone(&self) -> SetGainSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetGainSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetGainSettingStruct

source§

fn default() -> SetGainSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetGainSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetGainSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for SetGainSettingStruct

source§

fn eq(&self, other: &SetGainSettingStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetGainSettingStruct

source§

fn clone(&self) -> SetGainSettingStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetGainSettingStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetGainSettingStruct

source§

fn default() -> SetGainSettingStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetGainSettingStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetGainSettingStruct

source§

fn id() -> u16

source§

impl PartialEq for SetGainSettingStruct

source§

fn eq(&self, other: &SetGainSettingStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetGainSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetGainSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetGainSettingStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetGainSettingStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html b/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html index 7fbaae648..2381f82b2 100644 --- a/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html @@ -1,11 +1,11 @@ SetModeAutoStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetModeAutoStruct {
+    
pub struct SetModeAutoStruct {
     pub mode_auto: u8,
 }
Expand description

Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range.

Fields§

§mode_auto: u8

0: manual mode. 1: auto mode.

-

Trait Implementations§

source§

impl Clone for SetModeAutoStruct

source§

fn clone(&self) -> SetModeAutoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetModeAutoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetModeAutoStruct

source§

fn default() -> SetModeAutoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetModeAutoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetModeAutoStruct

source§

fn id() -> u16

source§

impl PartialEq for SetModeAutoStruct

source§

fn eq(&self, other: &SetModeAutoStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetModeAutoStruct

source§

fn clone(&self) -> SetModeAutoStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetModeAutoStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetModeAutoStruct

source§

fn default() -> SetModeAutoStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetModeAutoStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetModeAutoStruct

source§

fn id() -> u16

source§

impl PartialEq for SetModeAutoStruct

source§

fn eq(&self, other: &SetModeAutoStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetModeAutoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetModeAutoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetModeAutoStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetModeAutoStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html b/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html index 32355d5bf..084096568 100644 --- a/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html @@ -1,11 +1,11 @@ SetPingEnableStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetPingEnableStruct {
+    
pub struct SetPingEnableStruct {
     pub ping_enabled: u8,
 }
Expand description

Enable or disable acoustic measurements.

Fields§

§ping_enabled: u8

0: Disable, 1: Enable.

-

Trait Implementations§

source§

impl Clone for SetPingEnableStruct

source§

fn clone(&self) -> SetPingEnableStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetPingEnableStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetPingEnableStruct

source§

fn default() -> SetPingEnableStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetPingEnableStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetPingEnableStruct

source§

fn id() -> u16

source§

impl PartialEq for SetPingEnableStruct

source§

fn eq(&self, other: &SetPingEnableStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetPingEnableStruct

source§

fn clone(&self) -> SetPingEnableStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetPingEnableStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetPingEnableStruct

source§

fn default() -> SetPingEnableStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetPingEnableStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetPingEnableStruct

source§

fn id() -> u16

source§

impl PartialEq for SetPingEnableStruct

source§

fn eq(&self, other: &SetPingEnableStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetPingEnableStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetPingEnableStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetPingEnableStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetPingEnableStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html b/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html index 3c7c76a89..ff7066a54 100644 --- a/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html @@ -1,11 +1,11 @@ SetPingIntervalStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetPingIntervalStruct {
+    
pub struct SetPingIntervalStruct {
     pub ping_interval: u16,
 }
Expand description

The interval between acoustic measurements.

Fields§

§ping_interval: u16

The interval between acoustic measurements.

-

Trait Implementations§

source§

impl Clone for SetPingIntervalStruct

source§

fn clone(&self) -> SetPingIntervalStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetPingIntervalStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetPingIntervalStruct

source§

fn default() -> SetPingIntervalStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetPingIntervalStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetPingIntervalStruct

source§

fn id() -> u16

source§

impl PartialEq for SetPingIntervalStruct

source§

fn eq(&self, other: &SetPingIntervalStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetPingIntervalStruct

source§

fn clone(&self) -> SetPingIntervalStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetPingIntervalStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetPingIntervalStruct

source§

fn default() -> SetPingIntervalStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetPingIntervalStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetPingIntervalStruct

source§

fn id() -> u16

source§

impl PartialEq for SetPingIntervalStruct

source§

fn eq(&self, other: &SetPingIntervalStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetPingIntervalStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetPingIntervalStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetPingIntervalStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetPingIntervalStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetRangeStruct.html b/bluerobotics_ping/ping1d/struct.SetRangeStruct.html index c229a1163..ef9cf3c67 100644 --- a/bluerobotics_ping/ping1d/struct.SetRangeStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetRangeStruct.html @@ -1,13 +1,13 @@ SetRangeStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetRangeStruct {
+    
pub struct SetRangeStruct {
     pub scan_start: u32,
     pub scan_length: u32,
 }
Expand description

Set the scan range for acoustic measurements.

Fields§

§scan_start: u32

Not documented

-
§scan_length: u32

The length of the scan range.

-

Trait Implementations§

source§

impl Clone for SetRangeStruct

source§

fn clone(&self) -> SetRangeStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetRangeStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetRangeStruct

source§

fn default() -> SetRangeStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetRangeStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetRangeStruct

source§

fn id() -> u16

source§

impl PartialEq for SetRangeStruct

source§

fn eq(&self, other: &SetRangeStruct) -> bool

This method tests for self and other values to be equal, and is used +
§scan_length: u32

The length of the scan range. Minimum 1000.

+

Trait Implementations§

source§

impl Clone for SetRangeStruct

source§

fn clone(&self) -> SetRangeStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetRangeStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetRangeStruct

source§

fn default() -> SetRangeStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetRangeStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetRangeStruct

source§

fn id() -> u16

source§

impl PartialEq for SetRangeStruct

source§

fn eq(&self, other: &SetRangeStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetRangeStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetRangeStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetRangeStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetRangeStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html b/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html index 308665cb8..143fa82d3 100644 --- a/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html @@ -1,11 +1,11 @@ SetSpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust -
pub struct SetSpeedOfSoundStruct {
+    
pub struct SetSpeedOfSoundStruct {
     pub speed_of_sound: u32,
 }
Expand description

Set the speed of sound used for distance calculations.

Fields§

§speed_of_sound: u32

The speed of sound in the measurement medium. ~1,500,000 mm/s for water.

-

Trait Implementations§

source§

impl Clone for SetSpeedOfSoundStruct

source§

fn clone(&self) -> SetSpeedOfSoundStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetSpeedOfSoundStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetSpeedOfSoundStruct

source§

fn default() -> SetSpeedOfSoundStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetSpeedOfSoundStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetSpeedOfSoundStruct

source§

fn id() -> u16

source§

impl PartialEq for SetSpeedOfSoundStruct

source§

fn eq(&self, other: &SetSpeedOfSoundStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetSpeedOfSoundStruct

source§

fn clone(&self) -> SetSpeedOfSoundStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetSpeedOfSoundStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetSpeedOfSoundStruct

source§

fn default() -> SetSpeedOfSoundStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetSpeedOfSoundStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetSpeedOfSoundStruct

source§

fn id() -> u16

source§

impl PartialEq for SetSpeedOfSoundStruct

source§

fn eq(&self, other: &SetSpeedOfSoundStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SetSpeedOfSoundStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetSpeedOfSoundStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetSpeedOfSoundStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetSpeedOfSoundStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html b/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html index 8f0f047b1..497f03dd5 100644 --- a/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html +++ b/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html @@ -1,11 +1,11 @@ SpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust -
pub struct SpeedOfSoundStruct {
+    
pub struct SpeedOfSoundStruct {
     pub speed_of_sound: u32,
 }
Expand description

The speed of sound used for distance calculations.

Fields§

§speed_of_sound: u32

The speed of sound in the measurement medium. ~1,500,000 mm/s for water.

-

Trait Implementations§

source§

impl Clone for SpeedOfSoundStruct

source§

fn clone(&self) -> SpeedOfSoundStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SpeedOfSoundStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SpeedOfSoundStruct

source§

fn default() -> SpeedOfSoundStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SpeedOfSoundStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SpeedOfSoundStruct

source§

fn id() -> u16

source§

impl PartialEq for SpeedOfSoundStruct

source§

fn eq(&self, other: &SpeedOfSoundStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SpeedOfSoundStruct

source§

fn clone(&self) -> SpeedOfSoundStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SpeedOfSoundStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SpeedOfSoundStruct

source§

fn default() -> SpeedOfSoundStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SpeedOfSoundStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SpeedOfSoundStruct

source§

fn id() -> u16

source§

impl PartialEq for SpeedOfSoundStruct

source§

fn eq(&self, other: &SpeedOfSoundStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for SpeedOfSoundStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SpeedOfSoundStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SpeedOfSoundStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SpeedOfSoundStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html b/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html index 59ca7c206..da22dcb26 100644 --- a/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html +++ b/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html @@ -1,11 +1,11 @@ TransmitDurationStruct in bluerobotics_ping::ping1d - Rust -
pub struct TransmitDurationStruct {
+    
pub struct TransmitDurationStruct {
     pub transmit_duration: u16,
 }
Expand description

The duration of the acoustic activation/transmission.

Fields§

§transmit_duration: u16

Acoustic pulse duration.

-

Trait Implementations§

source§

impl Clone for TransmitDurationStruct

source§

fn clone(&self) -> TransmitDurationStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TransmitDurationStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TransmitDurationStruct

source§

fn default() -> TransmitDurationStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TransmitDurationStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TransmitDurationStruct

source§

fn id() -> u16

source§

impl PartialEq for TransmitDurationStruct

source§

fn eq(&self, other: &TransmitDurationStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for TransmitDurationStruct

source§

fn clone(&self) -> TransmitDurationStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TransmitDurationStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TransmitDurationStruct

source§

fn default() -> TransmitDurationStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TransmitDurationStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TransmitDurationStruct

source§

fn id() -> u16

source§

impl PartialEq for TransmitDurationStruct

source§

fn eq(&self, other: &TransmitDurationStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for TransmitDurationStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TransmitDurationStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for TransmitDurationStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TransmitDurationStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping1d/struct.Voltage5Struct.html b/bluerobotics_ping/ping1d/struct.Voltage5Struct.html index 8571ddb33..523683bef 100644 --- a/bluerobotics_ping/ping1d/struct.Voltage5Struct.html +++ b/bluerobotics_ping/ping1d/struct.Voltage5Struct.html @@ -1,11 +1,11 @@ Voltage5Struct in bluerobotics_ping::ping1d - Rust -
pub struct Voltage5Struct {
+    
pub struct Voltage5Struct {
     pub voltage_5: u16,
 }
Expand description

The 5V rail voltage.

Fields§

§voltage_5: u16

The 5V rail voltage.

-

Trait Implementations§

source§

impl Clone for Voltage5Struct

source§

fn clone(&self) -> Voltage5Struct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Voltage5Struct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Voltage5Struct

source§

fn default() -> Voltage5Struct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for Voltage5Struct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for Voltage5Struct

source§

fn id() -> u16

source§

impl PartialEq for Voltage5Struct

source§

fn eq(&self, other: &Voltage5Struct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for Voltage5Struct

source§

fn clone(&self) -> Voltage5Struct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Voltage5Struct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Voltage5Struct

source§

fn default() -> Voltage5Struct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for Voltage5Struct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for Voltage5Struct

source§

fn id() -> u16

source§

impl PartialEq for Voltage5Struct

source§

fn eq(&self, other: &Voltage5Struct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for Voltage5Struct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Voltage5Struct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for Voltage5Struct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Voltage5Struct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/enum.Messages.html b/bluerobotics_ping/ping360/enum.Messages.html index c0fed6480..c84620360 100644 --- a/bluerobotics_ping/ping360/enum.Messages.html +++ b/bluerobotics_ping/ping360/enum.Messages.html @@ -1,13 +1,13 @@ -Messages in bluerobotics_ping::ping360 - Rust +Messages in bluerobotics_ping::ping360 - Rust
pub enum Messages {
-    MotorOff(MotorOffStruct),
+    AutoTransmit(AutoTransmitStruct),
     DeviceData(DeviceDataStruct),
-    DeviceId(DeviceIdStruct),
     AutoDeviceData(AutoDeviceDataStruct),
     Transducer(TransducerStruct),
-    AutoTransmit(AutoTransmitStruct),
+    SetDeviceId(SetDeviceIdStruct),
+    MotorOff(MotorOffStruct),
     Reset(ResetStruct),
-}

Variants§

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used +}

Variants§

§

AutoTransmit(AutoTransmitStruct)

§

DeviceData(DeviceDataStruct)

§

AutoDeviceData(AutoDeviceDataStruct)

§

Transducer(TransducerStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

MotorOff(MotorOffStruct)

§

Reset(ResetStruct)

Implementations§

source§

impl Messages

source

pub fn inner<T: 'static>(&self) -> Option<&T>

Trait Implementations§

source§

impl Clone for Messages

source§

fn clone(&self) -> Messages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Messages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeserializeGenericMessage for Messages

source§

fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str>

source§

impl PartialEq for Messages

source§

fn eq(&self, other: &Messages) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PingMessage for Messages

source§

impl SerializePayload for Messages

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for Messages

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/bluerobotics_ping/ping360/index.html b/bluerobotics_ping/ping360/index.html index 1bb95adba..9f87daa34 100644 --- a/bluerobotics_ping/ping360/index.html +++ b/bluerobotics_ping/ping360/index.html @@ -1,2 +1,2 @@ bluerobotics_ping::ping360 - Rust -

Structs§

  • Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.
  • Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retrys might be necessary on the half-duplex RS485 interface).
  • 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.
  • Change the device id
  • The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.
  • Reset the sonar. The bootloader may run depending on the selection according to the bootloader payload field. When the bootloader runs, the external LED flashes at 5Hz. If the bootloader is not contacted within 5 seconds, it will run the current program. If there is no program, then the bootloader will wait forever for a connection. Note that if you issue a reset then you will have to close all your open comm ports and go back to issuing either a discovery message for UDP or go through the break sequence for serial comms before you can talk to the sonar again.
  • The transducer will apply the commanded settings. The sonar will reply with a ping360_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the ping360_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the ping360_data message reply. To allow for the worst case reponse time the command timeout should be set to 4000 msec.

Enums§

\ No newline at end of file +

Structs§

  • NEW (v1.1.0) Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.
  • NEW (v1.1.0) Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retries might be necessary on the half-duplex RS485 interface).
  • 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.
  • The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.
  • Reset the sonar. The bootloader may run depending on the selection according to the bootloader payload field. When the bootloader runs, the external LED flashes at 5Hz. If the bootloader is not contacted within 5 seconds, it will run the current program. If there is no program, then the bootloader will wait forever for a connection. Note that if you issue a reset then you will have to close all your open comm ports and go back to issuing either a discovery message for UDP or go through the break sequence for serial comms before you can talk to the sonar again.
  • Change the device id
  • The transducer will apply the commanded settings. The sonar will reply with a device_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the device_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the device_data message reply. To allow for the worst case response time the command timeout should be set to 4000 msec.

Enums§

\ No newline at end of file diff --git a/bluerobotics_ping/ping360/sidebar-items.js b/bluerobotics_ping/ping360/sidebar-items.js index 8a550d846..81f034e8f 100644 --- a/bluerobotics_ping/ping360/sidebar-items.js +++ b/bluerobotics_ping/ping360/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["Messages"],"struct":["AutoDeviceDataStruct","AutoTransmitStruct","Device","DeviceDataStruct","DeviceIdStruct","MotorOffStruct","PingProtocolHead","ResetStruct","TransducerStruct"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Messages"],"struct":["AutoDeviceDataStruct","AutoTransmitStruct","Device","DeviceDataStruct","MotorOffStruct","PingProtocolHead","ResetStruct","SetDeviceIdStruct","TransducerStruct"]}; \ No newline at end of file diff --git a/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html b/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html index 31024f0de..765fe15ff 100644 --- a/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html +++ b/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html @@ -1,5 +1,5 @@ -AutoDeviceDataStruct in bluerobotics_ping::ping360 - Rust -
pub struct AutoDeviceDataStruct {
Show 13 fields +AutoDeviceDataStruct in bluerobotics_ping::ping360 - Rust +
pub struct AutoDeviceDataStruct {
Show 13 fields pub mode: u8, pub gain_setting: u8, pub angle: u16, @@ -13,22 +13,22 @@ pub number_of_samples: u16, pub data_length: u16, pub data: Vec<u8>, -
}
Expand description

Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.

+
}
Expand description

NEW (v1.1.0) Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.

Fields§

§mode: u8

Operating mode (1 for Ping360)

§gain_setting: u8

Analog gain setting (0 = low, 1 = normal, 2 = high)

§angle: u16

Head angle

-
§transmit_duration: u16

Acoustic transmission duration (1~1000 microseconds)

-
§sample_period: u16

Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)

-
§transmit_frequency: u16

Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.

-
§start_angle: u16

Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees).

-
§stop_angle: u16

Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees).

+
§transmit_duration: u16

Acoustic transmission duration (1~1000 us)

+
§sample_period: u16

Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)

+
§transmit_frequency: u16

Acoustic 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.

+
§start_angle: u16

Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees).

+
§stop_angle: u16

Head angle to end scan sector for autoscan (0~399 = 0~360 degrees).

§num_steps: u8

Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)

§delay: u8

An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT.

-
§number_of_samples: u16

Number of samples per reflected signal

-
§data_length: u16

8 bit binary data array representing sonar echo strength

-
§data: Vec<u8>

Trait Implementations§

source§

impl Clone for AutoDeviceDataStruct

source§

fn clone(&self) -> AutoDeviceDataStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AutoDeviceDataStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AutoDeviceDataStruct

source§

fn default() -> AutoDeviceDataStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AutoDeviceDataStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AutoDeviceDataStruct

source§

fn id() -> u16

source§

impl PartialEq for AutoDeviceDataStruct

source§

fn eq(&self, other: &AutoDeviceDataStruct) -> bool

This method tests for self and other values to be equal, and is used +
§number_of_samples: u16

Number of samples per reflected signal (supported values: 200~1200)

+
§data_length: u16

An 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 AutoDeviceDataStruct

source§

fn clone(&self) -> AutoDeviceDataStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AutoDeviceDataStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AutoDeviceDataStruct

source§

fn default() -> AutoDeviceDataStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AutoDeviceDataStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AutoDeviceDataStruct

source§

fn id() -> u16

source§

impl PartialEq for AutoDeviceDataStruct

source§

fn eq(&self, other: &AutoDeviceDataStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for AutoDeviceDataStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AutoDeviceDataStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for AutoDeviceDataStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AutoDeviceDataStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html b/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html index 5802a889e..e997008d4 100644 --- a/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html +++ b/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html @@ -1,5 +1,5 @@ -AutoTransmitStruct in bluerobotics_ping::ping360 - Rust -
pub struct AutoTransmitStruct {
+AutoTransmitStruct in bluerobotics_ping::ping360 - Rust
+    
pub struct AutoTransmitStruct {
     pub mode: u8,
     pub gain_setting: u8,
     pub transmit_duration: u16,
@@ -10,20 +10,20 @@
     pub stop_angle: u16,
     pub num_steps: u8,
     pub delay: u8,
-}
Expand description

Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retrys might be necessary on the half-duplex RS485 interface).

+}
Expand description

NEW (v1.1.0) Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retries might be necessary on the half-duplex RS485 interface).

Fields§

§mode: u8

Operating mode (1 for Ping360)

§gain_setting: u8

Analog gain setting (0 = low, 1 = normal, 2 = high)

-
§transmit_duration: u16

Acoustic transmission duration (1~1000 microseconds)

-
§sample_period: u16

Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)

-
§transmit_frequency: u16

Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.

-
§number_of_samples: u16

Number of samples per reflected signal

-
§start_angle: u16

Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees).

-
§stop_angle: u16

Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees).

+
§transmit_duration: u16

Acoustic transmission duration (1~1000 us)

+
§sample_period: u16

Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)

+
§transmit_frequency: u16

Acoustic 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: u16

Number of samples per reflected signal (supported values: 200~1200)

+
§start_angle: u16

Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees).

+
§stop_angle: u16

Head angle to end scan sector for autoscan (0~399 = 0~360 degrees).

§num_steps: u8

Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)

§delay: u8

An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT.

-

Trait Implementations§

source§

impl Clone for AutoTransmitStruct

source§

fn clone(&self) -> AutoTransmitStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AutoTransmitStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AutoTransmitStruct

source§

fn default() -> AutoTransmitStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AutoTransmitStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AutoTransmitStruct

source§

fn id() -> u16

source§

impl PartialEq for AutoTransmitStruct

source§

fn eq(&self, other: &AutoTransmitStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for AutoTransmitStruct

source§

fn clone(&self) -> AutoTransmitStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AutoTransmitStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AutoTransmitStruct

source§

fn default() -> AutoTransmitStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for AutoTransmitStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for AutoTransmitStruct

source§

fn id() -> u16

source§

impl PartialEq for AutoTransmitStruct

source§

fn eq(&self, other: &AutoTransmitStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for AutoTransmitStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AutoTransmitStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for AutoTransmitStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for AutoTransmitStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.Device.html b/bluerobotics_ping/ping360/struct.Device.html index ebfcb6560..f68e23eaf 100644 --- a/bluerobotics_ping/ping360/struct.Device.html +++ b/bluerobotics_ping/ping360/struct.Device.html @@ -1,67 +1,67 @@ -Device in bluerobotics_ping::ping360 - Rust +Device in bluerobotics_ping::ping360 - Rust
pub struct Device {
     pub common: Common,
 }

Fields§

§common: Common

Implementations§

source§

impl Device

source

pub fn new<T>(io: T) -> Self
where - T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn motor_off(&self) -> Result<(), PingError>

The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.

-
§Arguments
source

pub async fn device_data(&self) -> Result<DeviceDataStruct, PingError>

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.

-
source

pub async fn device_id(&self, id: u8, reserved: u8) -> Result<(), PingError>

Change the device id

-
§Arguments
-
    -
  • id - Device ID (1-254). 0 and 255 are reserved.
  • -
  • reserved - reserved
  • -
-
source

pub async fn auto_device_data(&self) -> Result<AutoDeviceDataStruct, PingError>

Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.

-
source

pub async fn transducer( + T: AsyncRead + AsyncWrite + Unpin + Send + 'static,

source

pub async fn auto_transmit( &self, mode: u8, gain_setting: u8, - angle: u16, transmit_duration: u16, sample_period: u16, transmit_frequency: u16, number_of_samples: u16, - transmit: u8, - reserved: u8 -) -> Result<(), PingError>

The transducer will apply the commanded settings. The sonar will reply with a ping360_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the ping360_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the ping360_data message reply. To allow for the worst case reponse time the command timeout should be set to 4000 msec.

-
§Arguments
+ start_angle: u16, + stop_angle: u16, + num_steps: u8, + delay: u8 +) -> Result<(), PingError>

NEW (v1.1.0) Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retries might be necessary on the half-duplex RS485 interface).

+
§Arguments
  • mode - Operating mode (1 for Ping360)
  • gain_setting - Analog gain setting (0 = low, 1 = normal, 2 = high)
  • -
  • angle [gradian] - Head angle
  • -
  • transmit_duration [microsecond] - Acoustic transmission duration (1~1000 microseconds)
  • -
  • sample_period - Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)
  • -
  • transmit_frequency [kHz] - Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.
  • -
  • number_of_samples - Number of samples per reflected signal
  • -
  • transmit - 0 = do not transmit; 1 = transmit after the transducer has reached the specified angle
  • -
  • reserved - reserved
  • +
  • transmit_duration [microseconds] - Acoustic transmission duration (1~1000 us)
  • +
  • sample_period [eicosapenta-nanoseconds] - Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)
  • +
  • transmit_frequency [kilohertz] - Acoustic 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 [samples] - Number of samples per reflected signal (supported values: 200~1200)
  • +
  • start_angle [gradians] - Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees).
  • +
  • stop_angle [gradians] - Head angle to end scan sector for autoscan (0~399 = 0~360 degrees).
  • +
  • num_steps [gradians] - Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)
  • +
  • delay [milliseconds] - An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT.
-
source

pub async fn auto_transmit( +

source

pub async fn device_data(&self) -> Result<DeviceDataStruct, PingError>

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.

+
source

pub async fn auto_device_data(&self) -> Result<AutoDeviceDataStruct, PingError>

NEW (v1.1.0) Extended version of device_data with auto_transmit information. The sensor emits this message when in auto_transmit mode.

+
source

pub async fn transducer( &self, mode: u8, gain_setting: u8, + angle: u16, transmit_duration: u16, sample_period: u16, transmit_frequency: u16, number_of_samples: u16, - start_angle: u16, - stop_angle: u16, - num_steps: u8, - delay: u8 -) -> Result<(), PingError>

Extended transducer message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retrys might be necessary on the half-duplex RS485 interface).

-
§Arguments
+ transmit: u8, + reserved: u8 +) -> Result<(), PingError>

The transducer will apply the commanded settings. The sonar will reply with a device_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the device_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the device_data message reply. To allow for the worst case response time the command timeout should be set to 4000 msec.

+
§Arguments
  • mode - Operating mode (1 for Ping360)
  • gain_setting - Analog gain setting (0 = low, 1 = normal, 2 = high)
  • -
  • transmit_duration [microsecond] - Acoustic transmission duration (1~1000 microseconds)
  • -
  • sample_period - Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)
  • -
  • transmit_frequency [kHz] - Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.
  • -
  • number_of_samples - Number of samples per reflected signal
  • -
  • start_angle [gradian] - Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees).
  • -
  • stop_angle [gradian] - Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees).
  • -
  • num_steps [gradian] - Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)
  • -
  • delay [millisecond] - An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT.
  • +
  • angle [gradians] - Head angle
  • +
  • transmit_duration [microseconds] - Acoustic transmission duration (1~1000 us)
  • +
  • sample_period [eicosapenta-nanoseconds] - Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)
  • +
  • transmit_frequency [kilohertz] - Acoustic 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 [samples] - Number of samples per reflected signal (supported values: 200~1200)
  • +
  • transmit - 0 = do not transmit; 1 = transmit after the transducer has reached the specified angle
  • +
  • reserved - reserved
  • +
+
source

pub async fn set_device_id(&self, id: u8, reserved: u8) -> Result<(), PingError>

Change the device id

+
§Arguments
+
    +
  • id - Device ID (1-254). 0 and 255 are reserved.
  • +
  • reserved - reserved
-
source

pub async fn reset(&self, bootloader: u8, reserved: u8) -> Result<(), PingError>

Reset the sonar. The bootloader may run depending on the selection according to the bootloader payload field. When the bootloader runs, the external LED flashes at 5Hz. If the bootloader is not contacted within 5 seconds, it will run the current program. If there is no program, then the bootloader will wait forever for a connection. Note that if you issue a reset then you will have to close all your open comm ports and go back to issuing either a discovery message for UDP or go through the break sequence for serial comms before you can talk to the sonar again.

+
source

pub async fn motor_off(&self) -> Result<(), PingError>

The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.

+
§Arguments
source

pub async fn reset(&self, bootloader: u8, reserved: u8) -> Result<(), PingError>

Reset the sonar. The bootloader may run depending on the selection according to the bootloader payload field. When the bootloader runs, the external LED flashes at 5Hz. If the bootloader is not contacted within 5 seconds, it will run the current program. If there is no program, then the bootloader will wait forever for a connection. Note that if you issue a reset then you will have to close all your open comm ports and go back to issuing either a discovery message for UDP or go through the break sequence for serial comms before you can talk to the sonar again.

§Arguments

Auto Trait Implementations§

§

impl Freeze for Device

§

impl !RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl !UnwindSafe for Device

Blanket Implementations§

source§

impl<T> Any for T
where + T: MessageInfo + Sync + Clone + Send + 'static,

source§

async fn device_information(&self) -> Result<DeviceInformationStruct, PingError>

Device information
source§

async fn protocol_version(&self) -> Result<ProtocolVersionStruct, PingError>

The protocol version
source§

async fn set_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID. Read more

Auto Trait Implementations§

§

impl Freeze for Device

§

impl !RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl !UnwindSafe for Device

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.DeviceDataStruct.html b/bluerobotics_ping/ping360/struct.DeviceDataStruct.html index d003a80d8..3e11fb04a 100644 --- a/bluerobotics_ping/ping360/struct.DeviceDataStruct.html +++ b/bluerobotics_ping/ping360/struct.DeviceDataStruct.html @@ -1,5 +1,5 @@ DeviceDataStruct in bluerobotics_ping::ping360 - Rust -
pub struct DeviceDataStruct {
+    
pub struct DeviceDataStruct {
     pub mode: u8,
     pub gain_setting: u8,
     pub angle: u16,
@@ -13,14 +13,14 @@
 

Fields§

§mode: u8

Operating mode (1 for Ping360)

§gain_setting: u8

Analog gain setting (0 = low, 1 = normal, 2 = high)

§angle: u16

Head angle

-
§transmit_duration: u16

Acoustic transmission duration (1~1000 microseconds)

-
§sample_period: u16

Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)

-
§transmit_frequency: u16

Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.

-
§number_of_samples: u16

Number of samples per reflected signal

-
§data_length: u16

8 bit binary data array representing sonar echo strength

-
§data: Vec<u8>

Trait Implementations§

source§

impl Clone for DeviceDataStruct

source§

fn clone(&self) -> DeviceDataStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceDataStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceDataStruct

source§

fn default() -> DeviceDataStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceDataStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceDataStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceDataStruct

source§

fn eq(&self, other: &DeviceDataStruct) -> bool

This method tests for self and other values to be equal, and is used +
§transmit_duration: u16

Acoustic transmission duration (1~1000 us)

+
§sample_period: u16

Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)

+
§transmit_frequency: u16

Acoustic 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: u16

Number of samples per reflected signal (supported values: 200~1200)

+
§data_length: u16

An 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

source§

fn clone(&self) -> DeviceDataStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceDataStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceDataStruct

source§

fn default() -> DeviceDataStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceDataStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceDataStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceDataStruct

source§

fn eq(&self, other: &DeviceDataStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DeviceDataStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceDataStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for DeviceDataStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceDataStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.MotorOffStruct.html b/bluerobotics_ping/ping360/struct.MotorOffStruct.html index 188dc8d4a..35262ba6e 100644 --- a/bluerobotics_ping/ping360/struct.MotorOffStruct.html +++ b/bluerobotics_ping/ping360/struct.MotorOffStruct.html @@ -1,8 +1,8 @@ MotorOffStruct in bluerobotics_ping::ping360 - Rust -
pub struct MotorOffStruct {}
Expand description

The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.

-

Trait Implementations§

source§

impl Clone for MotorOffStruct

source§

fn clone(&self) -> MotorOffStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MotorOffStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MotorOffStruct

source§

fn default() -> MotorOffStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for MotorOffStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for MotorOffStruct

source§

fn id() -> u16

source§

impl PartialEq for MotorOffStruct

source§

fn eq(&self, other: &MotorOffStruct) -> bool

This method tests for self and other values to be equal, and is used +
pub struct MotorOffStruct {}
Expand description

The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled.

+

Trait Implementations§

source§

impl Clone for MotorOffStruct

source§

fn clone(&self) -> MotorOffStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MotorOffStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MotorOffStruct

source§

fn default() -> MotorOffStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for MotorOffStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for MotorOffStruct

source§

fn id() -> u16

source§

impl PartialEq for MotorOffStruct

source§

fn eq(&self, other: &MotorOffStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for MotorOffStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for MotorOffStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for MotorOffStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for MotorOffStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.DeviceIdStruct.html b/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html similarity index 52% rename from bluerobotics_ping/ping360/struct.DeviceIdStruct.html rename to bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html index 703a851ee..6de8be837 100644 --- a/bluerobotics_ping/ping360/struct.DeviceIdStruct.html +++ b/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html @@ -1,13 +1,13 @@ -DeviceIdStruct in bluerobotics_ping::ping360 - Rust -
pub struct DeviceIdStruct {
+SetDeviceIdStruct in bluerobotics_ping::ping360 - Rust
+    
pub struct SetDeviceIdStruct {
     pub id: u8,
     pub reserved: u8,
 }
Expand description

Change the device id

Fields§

§id: u8

Device ID (1-254). 0 and 255 are reserved.

§reserved: u8

reserved

-

Trait Implementations§

source§

impl Clone for DeviceIdStruct

source§

fn clone(&self) -> DeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceIdStruct

source§

fn default() -> DeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for DeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for DeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for DeviceIdStruct

source§

fn eq(&self, other: &DeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for SetDeviceIdStruct

source§

fn clone(&self) -> SetDeviceIdStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetDeviceIdStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SetDeviceIdStruct

source§

fn default() -> SetDeviceIdStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for SetDeviceIdStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for SetDeviceIdStruct

source§

fn id() -> u16

source§

impl PartialEq for SetDeviceIdStruct

source§

fn eq(&self, other: &SetDeviceIdStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for DeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for DeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for SetDeviceIdStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for SetDeviceIdStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/bluerobotics_ping/ping360/struct.TransducerStruct.html b/bluerobotics_ping/ping360/struct.TransducerStruct.html index 6018c20a1..517dbd208 100644 --- a/bluerobotics_ping/ping360/struct.TransducerStruct.html +++ b/bluerobotics_ping/ping360/struct.TransducerStruct.html @@ -1,5 +1,5 @@ -TransducerStruct in bluerobotics_ping::ping360 - Rust -
pub struct TransducerStruct {
+TransducerStruct in bluerobotics_ping::ping360 - Rust
+    
pub struct TransducerStruct {
     pub mode: u8,
     pub gain_setting: u8,
     pub angle: u16,
@@ -9,19 +9,19 @@
     pub number_of_samples: u16,
     pub transmit: u8,
     pub reserved: u8,
-}
Expand description

The transducer will apply the commanded settings. The sonar will reply with a ping360_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the ping360_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the ping360_data message reply. To allow for the worst case reponse time the command timeout should be set to 4000 msec.

+}
Expand description

The transducer will apply the commanded settings. The sonar will reply with a device_data message. If the transmit field is 0, the sonar will not transmit after locating the transducer, and the data field in the device_data message reply will be empty. If the transmit field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the data field of the device_data message reply. To allow for the worst case response time the command timeout should be set to 4000 msec.

Fields§

§mode: u8

Operating mode (1 for Ping360)

§gain_setting: u8

Analog gain setting (0 = low, 1 = normal, 2 = high)

§angle: u16

Head angle

-
§transmit_duration: u16

Acoustic transmission duration (1~1000 microseconds)

-
§sample_period: u16

Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)

-
§transmit_frequency: u16

Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver.

-
§number_of_samples: u16

Number of samples per reflected signal

+
§transmit_duration: u16

Acoustic transmission duration (1~1000 us)

+
§sample_period: u16

Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)

+
§transmit_frequency: u16

Acoustic 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: u16

Number of samples per reflected signal (supported values: 200~1200)

§transmit: u8

0 = do not transmit; 1 = transmit after the transducer has reached the specified angle

§reserved: u8

reserved

-

Trait Implementations§

source§

impl Clone for TransducerStruct

source§

fn clone(&self) -> TransducerStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TransducerStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TransducerStruct

source§

fn default() -> TransducerStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TransducerStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TransducerStruct

source§

fn id() -> u16

source§

impl PartialEq for TransducerStruct

source§

fn eq(&self, other: &TransducerStruct) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for TransducerStruct

source§

fn clone(&self) -> TransducerStruct

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TransducerStruct

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TransducerStruct

source§

fn default() -> TransducerStruct

Returns the “default value” for a type. Read more
source§

impl DeserializePayload for TransducerStruct

source§

fn deserialize(payload: &[u8]) -> Self

source§

impl MessageInfo for TransducerStruct

source§

fn id() -> u16

source§

impl PartialEq for TransducerStruct

source§

fn eq(&self, other: &TransducerStruct) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl SerializePayload for TransducerStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TransducerStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl SerializePayload for TransducerStruct

source§

fn serialize(&self) -> Vec<u8>

source§

impl StructuralPartialEq for TransducerStruct

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/search-index.js b/search-index.js index 8068d65dc..8c99855fd 100644 --- a/search-index.js +++ b/search-index.js @@ -4,7 +4,7 @@ var searchIndex = new Map(JSON.parse('[\ ["anstyle_parse",{"doc":"Parser for implementing virtual terminal emulators","t":"FKIFFFKFMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPNNNNNNNNNNNNNNNNNNHNNNNNNNNNN","n":["AsciiParser","CharAccumulator","DefaultCharAccumulator","Params","ParamsIter","Parser","Perform","Utf8Parser","add","add","add","advance","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","csi_dispatch","default","default","default","default","eq","eq","eq","eq","esc_dispatch","execute","fmt","fmt","fmt","fmt","from","from","from","from","from","hook","into","into","into","into","into","into_iter","into_iter","is_empty","iter","len","new","next","osc_dispatch","print","put","size_hint","state","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unhook","Action","Anywhere","BeginUtf8","Clear","Collect","CsiDispatch","CsiEntry","CsiIgnore","CsiIntermediate","CsiParam","DcsEntry","DcsIgnore","DcsIntermediate","DcsParam","DcsPassthrough","EscDispatch","Escape","EscapeIntermediate","Execute","Ground","Hook","Ignore","Nop","OscEnd","OscPut","OscStart","OscString","Param","Print","Put","SosPmApcString","State","Unhook","Utf8","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","default","eq","eq","fmt","fmt","from","from","into","into","state_change","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"anstyle_parse"],[88,"anstyle_parse::state"],[151,"core::option"],[152,"core::clone"],[153,"core::default"],[154,"core::cmp"],[155,"core::fmt"],[156,"core::fmt"],[157,"core::any"]],"d":["Only allow parsing 7-bit ASCII","Build a char out of bytes","Most flexible CharAccumulator for Parser based on active …","","Immutable subparameter iterator.","Parser for raw VTE protocol which delegates actions to a …","Performs actions requested by the Parser","Allow parsing UTF-8","Build a char out of bytes","","","Advance the parser state","","","","","","","","","","","","","","","","","","","A final character has arrived for a CSI sequence","","","","","","","","","The final character of an escape sequence has arrived.","Execute a C0 or C1 control function.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Invoked when a final character arrives in first part of …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns true if there are no parameters present.","Returns an iterator over all parameters and subparameters.","Returns the number of parameters.","Create a new Parser","","Dispatch an operating system command.","Draw a character to the screen and update states.","Pass bytes as part of a device control string to the …","","ANSI escape code parsing state machine","","","","","","","","","","","","","","","","","","","","Called when a device control string is terminated.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Transition to next State","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,1,5,6,7,19,10,7,5,6,19,10,7,5,6,10,7,5,6,10,7,5,6,9,10,7,5,6,10,7,5,6,9,9,10,7,5,6,19,10,7,5,6,9,19,10,7,5,6,19,10,10,10,10,7,19,9,9,9,19,0,10,7,5,6,19,10,7,5,6,19,10,7,5,6,19,10,7,5,6,9,0,24,25,25,25,25,24,24,24,24,24,24,24,24,24,25,24,24,25,24,25,25,25,25,25,25,24,25,25,25,24,0,25,24,24,25,24,25,24,25,24,25,24,25,24,25,24,25,24,25,24,25,0,24,25,24,24,25,25,24,25,24,25],"f":"````````{{bd}{{h{f}}}}{{jd}{{h{f}}}}{{ld}{{h{f}}}}{{{n{c}}ed}A`bAb}{ce{}{}}000000000{AdAd}{{{n{c}}}{{n{c}}}Af}{jj}{ll}{{ce}A`{}{}}000{{AbAd{Ah{d}}Ajd}A`}{{}Ad}{{}{{n{c}}}Al}{{}j}{{}l}{{AdAd}Aj}{{{n{c}}{n{c}}}AjAn}{{jj}Aj}{{ll}Aj}{{Ab{Ah{d}}Ajd}A`}{{Abd}A`}{{AdB`}Bb}{{{n{c}}B`}BbBd}{{jB`}Bb}{{lB`}Bb}{cc{}}0000?{ce{}{}}00000{Adc{}}{AdAj}{AdBf}{AdBh}{{}n}{Bf{{h{c}}}{}}{{Ab{Ah{{Ah{d}}}}Aj}A`}{{Abf}A`}>{Bf{{Bj{Bh{h{Bh}}}}}}`9999{c{{Bl{e}}}{}{}}000000000{cBn{}}0000{AbA`}``````````````````````````````````<<<<{C`C`}{CbCb}{{ce}A`{}{}}0{{}C`}{{}Cb}{{C`C`}Aj}{{CbCb}Aj}{{C`B`}Bb}{{CbB`}Bb}{cc{}}0{ce{}{}}0{{C`d}{{Bj{C`Cb}}}}11>{d{{Bl{C`c}}}{}}{d{{Bl{Cbc}}}{}}{c{{Bl{e}}}{}{}}00{cBn{}}0","c":[],"p":[[10,"CharAccumulator",0],[1,"u8"],[1,"char"],[6,"Option",151],[5,"AsciiParser",0],[5,"Utf8Parser",0],[5,"Parser",0],[1,"unit"],[10,"Perform",0],[5,"Params",0],[10,"Clone",152],[1,"slice"],[1,"bool"],[10,"Default",153],[10,"PartialEq",154],[5,"Formatter",155],[8,"Result",155],[10,"Debug",155],[5,"ParamsIter",0],[1,"usize"],[1,"tuple"],[6,"Result",156],[5,"TypeId",157],[6,"State",88],[6,"Action",88]],"b":[]}],\ ["anstyle_query",{"doc":"Low level terminal capability lookups","t":"HHHHHHHCH","n":["clicolor","clicolor_force","is_ci","no_color","term_supports_ansi_color","term_supports_color","truecolor","windows","enable_ansi_colors"],"q":[[0,"anstyle_query"],[8,"anstyle_query::windows"],[9,"core::option"]],"d":["Check CLICOLOR status","Check CLICOLOR_FORCE status","Report whether this is running in CI","Check NO_COLOR status","Check TERM for ANSI color support","Check TERM for color support","Check COLORTERM for truecolor support","Windows-specific style queries","Enable ANSI escape codes (…"],"i":[0,0,0,0,0,0,0,0,0],"f":"{{}{{d{b}}}}{{}b}00000`1","c":[],"p":[[1,"bool"],[6,"Option",9]],"b":[]}],\ ["bitflags",{"doc":"Generate types for C-style flags with ergonomic APIs.","t":"TEKRTTFKNNQMNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNCNNNNNNCNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNFKKNNNNNNHHHNNNMHHHNNNM","n":["ALL","BitFlags","Bits","Bits","EMPTY","FLAGS","Flag","Flags","all","all","bitflags","bits","borrow","borrow_mut","complement","complement","contains","contains","difference","difference","empty","empty","fmt","from","from_bits","from_bits","from_bits_retain","from_bits_truncate","from_bits_truncate","from_name","from_name","insert","insert","intersection","intersection","intersects","intersects","into","is_all","is_all","is_empty","is_empty","is_named","is_unnamed","iter","iter","iter","iter_names","iter_names","name","new","parser","remove","remove","set","set","symmetric_difference","symmetric_difference","toggle","toggle","try_from","try_into","type_id","union","union","value","Iter","IterNames","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","into_iter","into_iter","next","next","remaining","try_from","try_from","try_into","try_into","type_id","type_id","ParseError","ParseHex","WriteHex","borrow","borrow_mut","empty_flag","fmt","fmt","from","from_str","from_str_strict","from_str_truncate","into","invalid_hex_flag","invalid_named_flag","parse_hex","to_writer","to_writer_strict","to_writer_truncate","try_from","try_into","type_id","write_hex"],"q":[[0,"bitflags"],[66,"bitflags::iter"],[87,"bitflags::parser"],[110,"core::fmt"],[111,"core::fmt"],[112,"core::result"],[113,"core::any"],[114,"core::fmt"]],"d":["A value with all bits set.","","A bits type that can be used as storage for a flags type.","The underlying bits type.","A value with all bits unset.","The set of defined flags.","A defined flags value that may be named or unnamed.","A set of defined flags using a bits type as storage.","Get a flags value with all known bits set.","Get a flags value with all known bits set.","Generate a flags type.","Get the underlying bits value.","","","The bitwise negation (!) of the bits in a flags value, …","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","Whether all set bits in a source flags value are also set …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Get a flags value with all bits unset.","Get a flags value with all bits unset.","","Returns the argument unchanged.","Convert from a bits value.","Convert from a bits value.","Convert from a bits value exactly.","Convert from a bits value, unsetting any unknown bits.","Convert from a bits value, unsetting any unknown bits.","Get a flags value with the bits of a flag with the given …","Get a flags value with the bits of a flag with the given …","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","Whether any set bits in a source flags value are also set …","Calls U::from(self).","Whether all known bits in this flags value are set.","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","Whether all bits in this flags value are unset.","Whether the flag is named.","Whether the flag is unnamed.","Yield the bits of a source flags value in a set of …","Yield a set of contained flags values.","Yield a set of contained flags values.","Yield a set of contained named flags values.","Yield a set of contained named flags values.","Get the name of this flag.","Define a flag.","Parsing flags from text.","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Call Flags::insert when value is true or Flags::remove …","Call Flags::insert when value is true or Flags::remove …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","Get the flags value of this flag.","An iterator over flags values.","An iterator over flags values.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","Get a flags value of any remaining bits that haven’t …","","","","","","","An error encountered while parsing flags from text.","Parse a value from a hex string.","Encode a value as a hex string.","","","A hex or named flag wasn’t found between separators.","","","Returns the argument unchanged.","Parse a flags value from text.","Parse a flags value from text.","Parse a flags value from text.","Calls U::from(self).","An invalid hex flag was encountered.","A named flag that doesn’t correspond to any on the flags …","Parse the value from hex.","Write a flags value as text.","Write only the contained, defined, named flags in a flags …","Write a flags value as text, ignoring any unknown bits.","","","","Write the value as hex."],"i":[3,0,0,2,3,2,0,0,2,2,0,2,5,5,2,2,2,2,2,2,2,2,5,5,2,2,2,2,2,2,2,2,2,2,2,2,2,5,2,2,2,2,5,5,0,2,2,2,2,5,5,0,2,2,2,2,2,2,2,2,5,5,5,2,2,5,0,0,12,13,12,13,12,13,12,13,12,13,12,13,13,12,13,12,13,12,13,0,0,0,16,16,16,16,16,16,0,0,0,16,16,16,18,0,0,0,16,16,16,21],"f":"````````{{}{{d{}{{b{c}}}}}f}0`{{{d{}{{b{c}}}}}cf}{ce{}{}}0{{{d{}{{b{c}}}}}{{d{}{{b{c}}}}}f}0{{{d{}{{b{c}}}}{d{}{{b{c}}}}}hf}0{{{d{}{{b{c}}}}{d{}{{b{c}}}}}{{d{}{{b{c}}}}}f}055{{{j{c}}l}nA`}{cc{}}{c{{Ab{{d{}{{b{c}}}}}}}f}0{c{{d{}{{b{c}}}}}f}00{Ad{{Ab{{d{}{{b{c}}}}}}}f}0{{{d{}{{b{c}}}}{d{}{{b{c}}}}}Aff}066779{{{d{}{{b{c}}}}}hf}000{{{j{c}}}h{}}0`{{{d{}{{b{c}}}}}{{Ah{{d{}{{b{c}}}}}}}f}0{{{d{}{{b{c}}}}}{{Aj{{d{}{{b{c}}}}}}}f}0{{{j{c}}}Ad{}}{{Adc}{{j{c}}}{}}`66{{{d{}{{b{c}}}}{d{}{{b{c}}}}h}Aff}0==77{c{{Al{e}}}{}{}}0{cAn{}}??{{{j{c}}}c{}}``{ce{}{}}000??0000{{{Ah{c}}}{{Ab{e}}}d{}}{{{Aj{c}}}{{Ab{e}}}d{}}{{{Aj{c}}}c{}}666655```33{{}B`}{{B`l}n}0{cc{}}{Ad{{Al{cB`}}}d}007{cB`Bb}0{Ad{{Al{BdB`}}}}{{ce}{{Al{AfBf}}}dBh}00==<{{Bjc}nBh}","c":[],"p":[[17,"Bits"],[10,"Flags",0],[10,"Bits",0],[1,"bool"],[5,"Flag",0],[5,"Formatter",110],[8,"Result",110],[10,"Debug",110],[6,"Option",111],[1,"str"],[1,"unit"],[5,"Iter",66],[5,"IterNames",66],[6,"Result",112],[5,"TypeId",113],[5,"ParseError",87],[10,"Display",110],[10,"ParseHex",87],[5,"Error",110],[10,"Write",110],[10,"WriteHex",87]],"b":[[93,"impl-Debug-for-ParseError"],[94,"impl-Display-for-ParseError"]]}],\ -["bluerobotics_ping",{"doc":"🦀 Ping Library 🔊","t":"PPGPPCNNHCCCCCNNNNCCCNNNNNPFPFPFPFFPFPFGFPFPFPFPFPFPFPFPFPFPFPFPFPFPFOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNPFPFFPFPFGPFFPFPFOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNOONOONNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOPPPFGGPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNFEEKNNNNMMNNNNNNNNNNNNNPPPPGPPPPNNNNNNNNNNKKSKKFKNNNNONNNMMNONNNNMNNMOMMNNOOMNNNNONNNNNNPFPFFPFPPFFPFPFPFPFGPFPFPFPFFPFPFPFPFPFPFPFPFPFPFPFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNONOONOOOOONONOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOPFPFFPFPFGPFFPFPFOOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNOONNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNONNNNNNNNNNNNNNOOOONNOOOOOOOOONOOOONNNNNNNNOOOOONNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bluebps","Common","Messages","Ping1D","Ping360","bluebps","borrow","borrow_mut","calculate_crc","codec","common","decoder","device","error","fmt","from","inner","into","message","ping1d","ping360","try_from","try_from","try_from","try_into","type_id","CellTimeout","CellTimeoutStruct","CellVoltageMin","CellVoltageMinStruct","CurrentMax","CurrentMaxStruct","CurrentTimeout","CurrentTimeoutStruct","Device","EraseFlash","EraseFlashStruct","Events","EventsStruct","Messages","PingProtocolHead","Reboot","RebootStruct","ResetDefaults","ResetDefaultsStruct","SetCellVoltageMinimum","SetCellVoltageMinimumStruct","SetCellVoltageTimeout","SetCellVoltageTimeoutStruct","SetCurrentMax","SetCurrentMaxStruct","SetCurrentTimeout","SetCurrentTimeoutStruct","SetLpfSampleFrequency","SetLpfSampleFrequencyStruct","SetLpfSetting","SetLpfSettingStruct","SetStreamRate","SetStreamRateStruct","SetTemperatureMax","SetTemperatureMaxStruct","SetTemperatureTimeout","SetTemperatureTimeoutStruct","State","StateStruct","TemperatureMax","TemperatureMaxStruct","TemperatureTimeout","TemperatureTimeoutStruct","battery_current","battery_temperature","battery_voltage","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cell_timeout","cell_voltage_min","cell_voltages","cell_voltages_length","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","cpu_temperature","current","current_max","current_timeout","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","erase_flash","events","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_common","get_mut_common","goto_bootloader","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","limit","limit","limit","limit","limit","limit","message_id","message_id_from_name","message_name","new","rate","reboot","reset_defaults","sample_frequency","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_cell_voltage_minimum","set_cell_voltage_timeout","set_current_max","set_current_timeout","set_lpf_sample_frequency","set_lpf_setting","set_stream_rate","set_temperature_max","set_temperature_timeout","setting","source_device_id","state","temperature","temperature_max","temperature_timeout","timeout","timeout","timeout","timeout","timeout","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","voltage","PingCodec","borrow","borrow_mut","decode","encode","from","into","new","try_from","try_into","type_id","Ack","AckStruct","AsciiText","AsciiTextStruct","Device","DeviceInformation","DeviceInformationStruct","GeneralRequest","GeneralRequestStruct","Messages","Nack","NackStruct","PingProtocolHead","ProtocolVersion","ProtocolVersionStruct","SetDeviceId","SetDeviceIdStruct","acked_id","ascii_message","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_id","device_information","device_revision","device_type","eq","eq","eq","eq","eq","eq","eq","eq","eq","firmware_version_major","firmware_version_minor","firmware_version_patch","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","get_common","get_mut_common","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","nack_message","nacked_id","new","protocol_version","requested_id","reserved","reserved","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_device_id","source_device_id","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version_major","version_minor","version_patch","AwaitingStart1","AwaitingStart2","ChecksumError","Decoder","DecoderResult","DecoderState","Error","InProgress","IncompleteData","InvalidStartByte","ParseError","ReadingChecksum","ReadingHeader","ReadingPayload","Success","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","eq","fmt","fmt","fmt","from","from","from","from","into","into","into","into","new","parse_byte","state","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","Common","Ping1D","Ping360","PingDevice","borrow","borrow_mut","device_information","from","get_common","get_mut_common","into","new","protocol_version","request","send_general_request","send_message","set_device_id","subscribe","try_from","try_into","type_id","wait_for_ack","wait_for_message","Io","JoinError","NackError","ParseError","PingError","TimeoutError","TokioBroadcastError","TokioMpscError","TryFromError","borrow","borrow_mut","fmt","from","from","from","into","try_from","try_into","type_id","DeserializeGenericMessage","DeserializePayload","HEADER","MessageInfo","PingMessage","ProtocolMessage","SerializePayload","borrow","borrow_mut","calculate_crc","checksum","checksum","clone","clone_into","default","deserialize","deserialize","dst_device_id","dst_device_id","eq","fmt","from","has_valid_crc","id","into","length","message_id","message_id","message_id_from_name","message_name","new","payload","payload","payload_length","serialize","serialized","set_dst_device_id","set_message","set_src_device_id","src_device_id","to_owned","try_from","try_into","type_id","update_checksum","write","ContinuousStart","ContinuousStartStruct","ContinuousStop","ContinuousStopStruct","Device","DeviceId","DeviceIdStruct","Distance","DistanceSimple","DistanceSimpleStruct","DistanceStruct","FirmwareVersion","FirmwareVersionStruct","GainSetting","GainSettingStruct","GeneralInfo","GeneralInfoStruct","GotoBootloader","GotoBootloaderStruct","Messages","ModeAuto","ModeAutoStruct","PcbTemperature","PcbTemperatureStruct","PingEnable","PingEnableStruct","PingInterval","PingIntervalStruct","PingProtocolHead","ProcessorTemperature","ProcessorTemperatureStruct","Profile","ProfileStruct","Range","RangeStruct","SetDeviceId","SetDeviceIdStruct","SetGainSetting","SetGainSettingStruct","SetModeAuto","SetModeAutoStruct","SetPingEnable","SetPingEnableStruct","SetPingInterval","SetPingIntervalStruct","SetRange","SetRangeStruct","SetSpeedOfSound","SetSpeedOfSoundStruct","SpeedOfSound","SpeedOfSoundStruct","TransmitDuration","TransmitDurationStruct","Voltage5","Voltage5Struct","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","confidence","confidence","confidence","continuous_start","continuous_stop","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_id","device_id","device_id","device_model","device_type","distance","distance","distance","distance","distance_simple","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","firmware_version","firmware_version_major","firmware_version_major","firmware_version_minor","firmware_version_minor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","gain_setting","gain_setting","gain_setting","gain_setting","gain_setting","gain_setting","general_info","get_common","get_mut_common","goto_bootloader","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","mode_auto","mode_auto","mode_auto","mode_auto","new","pcb_temperature","pcb_temperature","ping_enable","ping_enabled","ping_enabled","ping_interval","ping_interval","ping_interval","ping_interval","ping_number","ping_number","processor_temperature","processor_temperature","profile","profile_data","profile_data_length","range","scan_length","scan_length","scan_length","scan_length","scan_start","scan_start","scan_start","scan_start","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_device_id","set_gain_setting","set_mode_auto","set_ping_enable","set_ping_interval","set_range","set_speed_of_sound","source_device_id","speed_of_sound","speed_of_sound","speed_of_sound","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","transmit_duration","transmit_duration","transmit_duration","transmit_duration","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","voltage_5","voltage_5","voltage_5","AutoDeviceData","AutoDeviceDataStruct","AutoTransmit","AutoTransmitStruct","Device","DeviceData","DeviceDataStruct","DeviceId","DeviceIdStruct","Messages","MotorOff","MotorOffStruct","PingProtocolHead","Reset","ResetStruct","Transducer","TransducerStruct","angle","angle","angle","auto_device_data","auto_transmit","bootloader","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","data","data","data_length","data_length","default","default","default","default","default","default","default","default","delay","delay","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_data","device_id","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","gain_setting","gain_setting","gain_setting","gain_setting","get_common","get_mut_common","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","mode","mode","mode","mode","motor_off","new","num_steps","num_steps","number_of_samples","number_of_samples","number_of_samples","number_of_samples","reserved","reserved","reserved","reset","sample_period","sample_period","sample_period","sample_period","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","source_device_id","start_angle","start_angle","stop_angle","stop_angle","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","transducer","transmit","transmit_duration","transmit_duration","transmit_duration","transmit_duration","transmit_frequency","transmit_frequency","transmit_frequency","transmit_frequency","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"bluerobotics_ping"],[26,"bluerobotics_ping::bluebps"],[479,"bluerobotics_ping::codec"],[490,"bluerobotics_ping::common"],[682,"bluerobotics_ping::decoder"],[732,"bluerobotics_ping::device"],[755,"bluerobotics_ping::error"],[774,"bluerobotics_ping::message"],[820,"bluerobotics_ping::ping1d"],[1411,"bluerobotics_ping::ping360"],[1636,"core::fmt"],[1637,"core::fmt"],[1638,"core::result"],[1639,"alloc::vec"],[1640,"core::any"],[1641,"alloc::string"],[1642,"tokio::io::async_read"],[1643,"tokio::io::async_write"],[1644,"core::marker"],[1645,"core::marker"],[1646,"core::marker"],[1647,"tokio::sync::broadcast"],[1648,"std::io::error"],[1649,"serialport"],[1650,"std::io"],[1651,"std::io::error"]],"d":["","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","Get the undervoltage timeout","","Get the minimum allowed cell voltage","","get the maximum allowed battery current","","Get the over-current timeout","","","Erase flash, including parameter configuration and event …","","A record of events causing a power lock-out. These numbers …","","","","reboot the system","","Reset parameter configuration to default values.","","Set the minimum allowed cell voltage","","Set the under-voltage timeout","","Set the maximum allowed battery current","","Set the over-current timeout","","the frequency to take adc samples and run the filter.","","Low pass filter setting. This value represents x in the …","","Set the frequency to automatically output state messages.","","Set the maximum allowed battery temperature","","Set the over-temperature timeout","","Get the current state of the device","","Get the maximum allowed battery temperature","","Get the over-temperature timeout","The current measurement","The battery temperature","The main battery voltage","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the undervoltage timeout","Get the minimum allowed cell voltage","","Array containing cell voltages","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The cpu temperature","The number of over-current events","get the maximum allowed battery current","Get the over-current timeout","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Erase flash, including parameter configuration and event …","A record of events causing a power lock-out. These numbers …","flags indicating if any of the configured limits are …","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","0 = normal reboot, run main application after reboot 1 = …","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The maximum allowed battery current 0~20000 = 0~200A","The minimum voltage allowed for any individual cell. …","The maximum allowed battery current 0~20000 = 0~200A","The maximum temperature allowed at the thermistor probe …","The minimum voltage allowed for any individual cell. …","The minimum voltage allowed for any individual cell. …","","","","","Rate to stream state messages. 0~100000Hz","reboot the system","Reset parameter configuration to default values.","sample frequency in Hz. 1~100000","","","","","","","","","","","","","","","","","","","","","","Set the minimum allowed cell voltage","Set the under-voltage timeout","Set the maximum allowed battery current","Set the over-current timeout","the frequency to take adc samples and run the filter.","Low pass filter setting. This value represents x in the …","Set the frequency to automatically output state messages.","Set the maximum allowed battery temperature","Set the over-temperature timeout","0~999: x = 0~0.999","","Get the current state of the device","The number of over-temperature events","Get the maximum allowed battery temperature","Get the over-temperature timeout","If an individual cell exceeds the configured limit for …","If the battery current exceeds the configured limit for …","If the battery current exceeds the configured limit for …","If an individual cell exceeds the configured limit for …","If the battery temperature exceeds the configured limit …","If the battery temperature exceeds the configured limit …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of under-voltage events","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","Acknowledged.","","A message for transmitting text data.","","","Device information","","Requests a specific message to be sent from the sonar to …","","","Not acknowledged.","","","The protocol version","","Set the device ID.","The message ID that is ACKnowledged.","ASCII text message. (not necessarily NULL terminated)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Device ID (1-254). 0 is unknown and 255 is reserved for …","Device information","device-specific hardware revision","Device type. 0: Unknown; 1: Ping Echosounder; 2: Ping360","","","","","","","","","","Firmware version major number.","Firmware version minor number.","Firmware version patch number.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","ASCII text message indicating NACK condition. (not …","The message ID that is Not ACKnowledged.","","The protocol version","Message ID to be requested.","reserved","reserved","","","","","","","","","Set the device ID.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Protocol version major number.","Protocol version minor number.","Protocol version patch number.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Device information","Returns the argument unchanged.","","","Calls U::from(self).","","The protocol version","","","","Set the device ID.","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","Message Format","","","","","","","","","","","","","","","","","Command to initiate continuous data stream of profile …","","Command to stop the continuous data stream of profile …","","","The device ID.","","","The distance to target with confidence estimate.","The distance to target with confidence estimate. Relevant …","","Device information","","The current gain setting.","","General information.","","Send the device into the bootloader. This is useful for …","","","The current operating mode of the device. Manual mode …","","Temperature of the on-board thermistor.","","Acoustic output enabled state.","","The interval between acoustic measurements.","","","Temperature of the device cpu.","","A profile produced from a single acoustic measurement. The …","","The scan range for acoustic measurements. Measurements …","","Set the device ID.","","Set the current gain setting.","","Set automatic or manual mode. Manual mode allows for …","","Enable or disable acoustic measurements.","","The interval between acoustic measurements.","","Set the scan range for acoustic measurements.","","Set the speed of sound used for distance calculations.","","The speed of sound used for distance calculations.","","The duration of the acoustic activation/transmission.","","The 5V rail voltage.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Confidence in the distance measurement.","Confidence in the most recent range measurement.","Confidence in the most recent range measurement.","Command to initiate continuous data stream of profile …","Command to stop the continuous data stream of profile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The device ID.","The device ID (0-254). 255 is reserved for broadcast …","Device ID (0-254). 255 is reserved for broadcast messages.","Device model. 0: Unknown; 1: Ping1D","Device type. 0: Unknown; 1: Echosounder","The distance to target with confidence estimate. Relevant …","Distance to the target.","The current return distance determined for the most recent …","The current return distance determined for the most recent …","The distance to target with confidence estimate.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Device information","Firmware major version.","Firmware version major number.","Firmware minor version.","Firmware version minor number.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","The current gain setting.","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","General information.","","","Send the device into the bootloader. This is useful for …","","","","","","","","","","","","","","","","","","","","","","","","","","","The message id to stop streaming. 1300: profile","The message id to stream. 1300: profile","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","The current operating mode of the device. Manual mode …","The current operating mode of the device. 0: manual mode, …","0: manual mode. 1: auto mode.","0: manual mode, 1: auto mode","","Temperature of the on-board thermistor.","The temperature in centi-degrees Centigrade (100 * degrees …","Acoustic output enabled state.","The state of the acoustic output. 0: disabled, 1:enabled","0: Disable, 1: Enable.","The interval between acoustic measurements.","The interval between acoustic measurements.","The interval between acoustic measurements.","The minimum interval between acoustic measurements. The …","The pulse/measurement count since boot.","The pulse/measurement count since boot.","Temperature of the device cpu.","The temperature in centi-degrees Centigrade (100 * degrees …","A profile produced from a single acoustic measurement. The …","","An array of return strength measurements taken at regular …","The scan range for acoustic measurements. Measurements …","The length of the scan range.","The length of the scan region.","The length of the scan range.","The length of the scan region.","Not documented","The beginning of the scan region in mm from the transducer.","The beginning of the scan range in mm from the transducer.","The beginning of the scan region in mm from the transducer.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set the device ID.","Set the current gain setting.","Set automatic or manual mode. Manual mode allows for …","Enable or disable acoustic measurements.","The interval between acoustic measurements.","Set the scan range for acoustic measurements.","Set the speed of sound used for distance calculations.","","The speed of sound used for distance calculations.","The speed of sound in the measurement medium. ~1,500,000 …","The speed of sound in the measurement medium. ~1,500,000 …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The duration of the acoustic activation/transmission.","The acoustic pulse length during acoustic …","Acoustic pulse duration.","The acoustic pulse length during acoustic …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The 5V rail voltage.","Device supply voltage.","The 5V rail voltage.","","Extended version of device_data with auto_transmit …","","Extended transducer message with auto-scan function. The …","","","This message is used to communicate the current sonar …","","Change the device id","","","The sonar switches the current through the stepper motor …","","","Reset the sonar. The bootloader may run depending on the …","","The transducer will apply the commanded settings. The …","Head angle","Head angle","Head angle","Extended version of device_data with auto_transmit …","Extended transducer message with auto-scan function. The …","0 = skip bootloader; 1 = run bootloader","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","8 bit binary data array representing sonar echo strength","8 bit binary data array representing sonar echo strength","","","","","","","","","An additional delay between successive transmit pulses …","An additional delay between successive transmit pulses …","","","","","","","","","","This message is used to communicate the current sonar …","Change the device id","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","","","","","","","","","","Device ID (1-254). 0 and 255 are reserved.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","The sonar switches the current through the stepper motor …","","Number of 0.9 degree motor steps between pings for auto …","Number of 0.9 degree motor steps between pings for auto …","Number of samples per reflected signal","Number of samples per reflected signal","Number of samples per reflected signal","Number of samples per reflected signal","reserved","reserved","reserved","Reset the sonar. The bootloader may run depending on the …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","","","","","","","","","","Head angle to begin scan sector for autoscan in gradians …","Head angle to begin scan sector for autoscan in gradians …","Head angle to end scan sector for autoscan in gradians …","Head angle to end scan sector for autoscan in gradians …","","","","","","","","","","The transducer will apply the commanded settings. The …","0 = do not transmit; 1 = transmit after the transducer has …","Acoustic transmission duration (1~1000 microseconds)","Acoustic transmission duration (1~1000 microseconds)","Acoustic transmission duration (1~1000 microseconds)","Acoustic transmission duration (1~1000 microseconds)","Acoustic operating frequency. Frequency range is 500kHz to …","Acoustic operating frequency. Frequency range is 500kHz to …","Acoustic operating frequency. Frequency range is 500kHz to …","Acoustic operating frequency. Frequency range is 500kHz to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[4,4,0,4,4,0,4,4,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,4,17,0,17,0,17,0,17,0,0,17,0,17,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,20,20,20,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,12,20,20,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,20,23,12,12,16,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,16,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,12,20,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,12,30,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,17,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,19,22,24,29,15,33,17,17,17,12,21,12,12,18,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,12,12,12,12,12,12,12,12,26,16,12,23,12,12,13,27,31,32,34,35,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,30,15,31,32,33,34,35,23,0,46,46,46,46,46,46,46,46,46,46,49,0,49,0,0,49,0,49,0,0,49,0,0,49,0,49,0,54,51,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,48,49,50,51,52,53,54,55,56,48,49,50,51,52,53,54,55,56,57,48,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,48,55,57,56,56,48,49,50,51,52,53,54,55,56,56,56,56,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,57,50,51,52,53,54,55,56,49,57,48,49,50,51,52,53,54,55,56,49,49,49,52,52,57,57,53,50,56,49,50,51,52,53,54,55,56,57,48,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,50,50,50,60,60,58,0,0,0,59,59,58,58,0,60,60,60,59,61,58,59,60,61,58,59,60,58,58,59,60,61,58,59,60,61,58,59,60,61,61,61,61,58,59,60,61,58,59,60,61,58,59,60,0,0,0,0,39,39,62,39,62,62,39,39,62,62,62,39,62,62,39,39,39,62,62,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8,69,70,8,8,8,8,8,8,63,8,8,72,8,72,72,8,8,8,8,73,8,8,8,8,8,8,8,8,8,8,8,77,0,77,0,0,77,0,77,77,0,0,77,0,77,0,77,0,77,0,0,77,0,77,0,77,0,77,0,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,86,93,103,104,104,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,104,84,98,95,95,104,86,93,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,79,95,79,95,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,79,87,93,99,103,104,104,104,104,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,83,100,77,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,77,77,77,104,79,90,102,104,104,96,104,78,92,104,79,91,94,93,103,104,88,104,93,93,104,81,93,101,103,81,93,101,103,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,104,104,104,104,104,104,76,104,80,89,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,93,97,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,79,85,108,0,108,0,0,108,0,108,0,0,108,0,0,108,0,108,0,110,106,112,105,105,114,105,107,108,109,110,111,106,112,113,114,105,107,108,109,110,111,106,112,113,114,107,108,109,110,111,106,112,113,114,107,108,109,110,111,106,112,113,114,105,110,106,110,106,107,109,110,111,106,112,113,114,106,113,108,109,110,111,106,112,113,114,107,105,105,107,108,109,110,111,106,112,113,114,107,108,109,110,111,106,112,113,114,105,107,108,109,110,111,106,112,113,114,110,106,112,113,105,105,109,110,111,106,112,113,114,111,108,105,107,108,109,110,111,106,112,113,114,108,108,108,110,106,112,113,105,105,106,113,110,106,112,113,111,112,114,105,110,106,112,113,108,109,110,111,106,112,113,114,107,106,113,106,113,107,108,109,110,111,106,112,113,114,105,112,110,106,112,113,110,106,112,113,105,107,108,109,110,111,106,112,113,114,105,107,108,109,110,111,106,112,113,114,105,107,108,109,110,111,106,112,113,114],"f":"``````{ce{}{}}0{{{d{b}}}f}`````{{hj}l}{cc{}}{h{{n{c}}}{}}4```{A`{{Ab{hc}}}{}}{c{{Ab{e}}}{}{}}{{{Ad{b}}}{{Ab{hc}}}{}}1{cAf{}}``````````````````````````````````````````````8888888888888888888888888888888888888888888888{Ah{{Ab{AjAl}}}}{Ah{{Ab{AnAl}}}}``{B`B`}{BbBb}{BdBd}{BfBf}{AjAj}{BhBh}{BjBj}{BlBl}{BnBn}{C`C`}{CbCb}{CdCd}{CfCf}{ChCh}{CjCj}{ClCl}{AnAn}{CnCn}{D`D`}{DbDb}{DdDd}{DfDf}{{ce}Dh{}{}}000000000000000000000```{Ah{{Ab{BfAl}}}}{Ah{{Ab{CnAl}}}}{{}B`}{{}Bd}{{}Bf}{{}Aj}{{}Bh}{{}Bj}{{}Bl}{{}Bn}{{}C`}{{}Cb}{{}Cd}{{}Cf}{{}Ch}{{}Cj}{{}Cl}{{}An}{{}Cn}{{}D`}{{}Db}{{}Dd}{{}Df}{{f{d{b}}}{{Ab{BbDj}}}}{{{d{b}}}Bd}{{{d{b}}}Bf}{{{d{b}}}Aj}{{{d{b}}}Bh}{{{d{b}}}Bj}{{{d{b}}}Bl}{{{d{b}}}Bn}{{{d{b}}}C`}{{{d{b}}}Cb}{{{d{b}}}Cd}{{{d{b}}}Cf}{{{d{b}}}Ch}{{{d{b}}}Cj}{{{d{b}}}Cl}{{{d{b}}}An}{{{d{b}}}Cn}{{{d{b}}}D`}{{{d{b}}}Db}{{{d{b}}}Dd}{{{d{b}}}Df}`{{B`B`}Dl}{{BbBb}Dl}{{BdBd}Dl}{{BfBf}Dl}{{AjAj}Dl}{{BhBh}Dl}{{BjBj}Dl}{{BlBl}Dl}{{BnBn}Dl}{{C`C`}Dl}{{CbCb}Dl}{{CdCd}Dl}{{CfCf}Dl}{{ChCh}Dl}{{CjCj}Dl}{{ClCl}Dl}{{AnAn}Dl}{{CnCn}Dl}{{D`D`}Dl}{{DbDb}Dl}{{DdDd}Dl}{{DfDf}Dl}{Ah{{Ab{DhAl}}}}{Ah{{Ab{BnAl}}}}`{{B`j}l}{{Bbj}l}{{Bdj}l}{{Bfj}l}{{Ajj}l}{{Bhj}l}{{Bjj}l}{{Blj}l}{{Bnj}l}{{C`j}l}{{Cbj}l}{{Cdj}l}{{Cfj}l}{{Chj}l}{{Cjj}l}{{Clj}l}{{Anj}l}{{Cnj}l}{{D`j}l}{{Dbj}l}{{Ddj}l}{{Dfj}l}{cc{}}0000000000000000000000{AhDn}0`{{}f}0000000000000000000{Bb{{n{c}}}{}}{ce{}{}}0000000000000000000000``````{Bbf}{Dj{{Ab{fE`}}}}{BbDj}{cAh{EbEdEfEh}}`{{Ahb}{{Ab{DhAl}}}}{Ah{{Ab{DhAl}}}}`{Bb{{Ad{b}}}}{Bd{{Ad{b}}}}{Bf{{Ad{b}}}}{Aj{{Ad{b}}}}{Bh{{Ad{b}}}}{Bj{{Ad{b}}}}{Bl{{Ad{b}}}}{Bn{{Ad{b}}}}{C`{{Ad{b}}}}{Cb{{Ad{b}}}}{Cd{{Ad{b}}}}{Cf{{Ad{b}}}}{Ch{{Ad{b}}}}{Cj{{Ad{b}}}}{Cl{{Ad{b}}}}{An{{Ad{b}}}}{Cn{{Ad{b}}}}{D`{{Ad{b}}}}{Db{{Ad{b}}}}{Dd{{Ad{b}}}}{Df{{Ad{b}}}}{{Ahf}{{Ab{DhAl}}}}000{{AhEj}{{Ab{DhAl}}}}1011``{Ah{{Ab{BhAl}}}}`{Ah{{Ab{BlAl}}}}{Ah{{Ab{DfAl}}}}``````{ce{}{}}000000000000000000000{c{{Ab{e}}}{}{}}000000000000000000000000000000000000000000000{cAf{}}0000000000000000000000``22{{ElEn}{{Ab{{n{c}}e}}}{}{}}{{ElA`En}{{Ab{Dhc}}}{}}{cc{}}5{{}El}554```````````````````66666666666666666666{F`F`}{FbFb}{FdFd}{FfFf}{FhFh}{FjFj}{FlFl}{FnFn}{G`G`}{{ce}Dh{}{}}00000000`{{}F`}{{}Fd}{{}Ff}{{}Fh}{{}Fj}{{}Fl}{{}Fn}{{}G`}{{f{d{b}}}{{Ab{FbDj}}}}{{{d{b}}}Fd}{{{d{b}}}Ff}{{{d{b}}}Fh}{{{d{b}}}Fj}{{{d{b}}}Fl}{{{d{b}}}Fn}{{{d{b}}}G`}``{Gb{{Ab{G`Al}}}}``{{F`F`}Dl}{{FbFb}Dl}{{FdFd}Dl}{{FfFf}Dl}{{FhFh}Dl}{{FjFj}Dl}{{FlFl}Dl}{{FnFn}Dl}{{G`G`}Dl}```{{F`j}l}{{Fbj}l}{{Fdj}l}{{Ffj}l}{{Fhj}l}{{Fjj}l}{{Flj}l}{{Fnj}l}{{G`j}l}{cc{}}000000000{GbDn}0{{}f}000000{Fb{{n{c}}}{}}{ce{}{}}000000000{Fbf}{Dj{{Ab{fE`}}}}{FbDj}``{cGb{EbEdEfEh}}{Gb{{Ab{FdAl}}}}```{Fb{{Ad{b}}}}{Fd{{Ad{b}}}}{Ff{{Ad{b}}}}{Fh{{Ad{b}}}}{Fj{{Ad{b}}}}{Fl{{Ad{b}}}}{Fn{{Ad{b}}}}{G`{{Ad{b}}}}{{Gbb}{{Ab{DhAl}}}}`>>>>>>>>>{c{{Ab{e}}}{}{}}0000000000000000000{cAf{}}000000000``````````````````{ce{}{}}0000000{{GdGd}Dl}{{Gdj}l}{{Gfj}l}{{Ghj}l}{cc{}}0005555{{}Gj}{{Gjb}Gf}`999999998888````77{Gl{{Ab{G`Al}}}}3{GlDn}09{cDn{EbEdEfEh}}{Gl{{Ab{FdAl}}}}{Gl{{Ab{cAl}}}{GnH`HbEh}}{{Glf}{{Ab{DhAl}}}}{{DnA`}{{Ab{DhAl}}}}{{Glb}{{Ab{DhAl}}}}{Gl{{Hd{A`}}}}{c{{Ab{e}}}{}{}}0{cAf{}}{{Gl{Hd{A`}}f}{{Ab{DhAl}}}}{{Gl{Hd{A`}}}{{Ab{cAl}}}{GnH`HbEh}}`````````{ce{}{}}0{{Alj}l}{HfAl}{cc{}}{HhAl}4887```````44{A`f}0`{A`A`}{{ce}Dh{}{}}{{}A`}{{{d{b}}}Hj}{{f{d{b}}}{{Ab{HlDj}}}}{A`b}`{{A`A`}Dl}{{A`j}l}:{A`Dl}{{}f}?{A`Hn}{I`f}`{Dj{{Ab{fE`}}}}{I`Dj};{A`{{d{b}}}}``{Ib{{Ad{b}}}}{A`{{Ad{b}}}}{{A`b}Dh}{{A`c}DhI`}1`{ce{}{}}{c{{Ab{e}}}{}{}}0{cAf{}}{A`Dh}{{A`Id}{{If{Hn}}}}```````````````````````````````````````````````````````4444444444444444444444444444444444444444444444444444444444{IhIh}{IjIj}{IlIl}{InIn}{J`J`}{JbJb}{JdJd}{JfJf}{JhJh}{JjJj}{JlJl}{JnJn}{K`K`}{KbKb}{KdKd}{KfKf}{KhKh}{KjKj}{KlKl}{KnKn}{L`L`}{LbLb}{LdLd}{LfLf}{LhLh}{LjLj}{LlLl}{LnLn}{{ce}Dh{}{}}000000000000000000000000000````{{M`f}{{Ab{DhAl}}}}0{{}Ih}{{}Il}{{}In}{{}J`}{{}Jb}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}Jl}{{}Jn}{{}K`}{{}Kb}{{}Kd}{{}Kf}{{}Kh}{{}Kj}{{}Kl}{{}Kn}{{}L`}{{}Lb}{{}Ld}{{}Lf}{{}Lh}{{}Lj}{{}Ll}{{}Ln}{{f{d{b}}}{{Ab{IjDj}}}}{{{d{b}}}Il}{{{d{b}}}In}{{{d{b}}}J`}{{{d{b}}}Jb}{{{d{b}}}Jd}{{{d{b}}}Jf}{{{d{b}}}Jh}{{{d{b}}}Jj}{{{d{b}}}Jl}{{{d{b}}}Jn}{{{d{b}}}K`}{{{d{b}}}Kb}{{{d{b}}}Kd}{{{d{b}}}Kf}{{{d{b}}}Kh}{{{d{b}}}Kj}{{{d{b}}}Kl}{{{d{b}}}Kn}{{{d{b}}}L`}{{{d{b}}}Lb}{{{d{b}}}Ld}{{{d{b}}}Lf}{{{d{b}}}Lh}{{{d{b}}}Lj}{{{d{b}}}Ll}{{{d{b}}}Ln}`{M`{{Ab{JhAl}}}}````{M`{{Ab{LnAl}}}}```{M`{{Ab{JlAl}}}}{{IhIh}Dl}{{IjIj}Dl}{{IlIl}Dl}{{InIn}Dl}{{J`J`}Dl}{{JbJb}Dl}{{JdJd}Dl}{{JfJf}Dl}{{JhJh}Dl}{{JjJj}Dl}{{JlJl}Dl}{{JnJn}Dl}{{K`K`}Dl}{{KbKb}Dl}{{KdKd}Dl}{{KfKf}Dl}{{KhKh}Dl}{{KjKj}Dl}{{KlKl}Dl}{{KnKn}Dl}{{L`L`}Dl}{{LbLb}Dl}{{LdLd}Dl}{{LfLf}Dl}{{LhLh}Dl}{{LjLj}Dl}{{LlLl}Dl}{{LnLn}Dl}{M`{{Ab{KnAl}}}}````{{Ihj}l}{{Ijj}l}{{Ilj}l}{{Inj}l}{{J`j}l}{{Jbj}l}{{Jdj}l}{{Jfj}l}{{Jhj}l}{{Jjj}l}{{Jlj}l}{{Jnj}l}{{K`j}l}{{Kbj}l}{{Kdj}l}{{Kfj}l}{{Khj}l}{{Kjj}l}{{Klj}l}{{Knj}l}{{L`j}l}{{Lbj}l}{{Ldj}l}{{Lfj}l}{{Lhj}l}{{Ljj}l}{{Llj}l}{{Lnj}l}{cc{}}0000000000000000000000000000{M`{{Ab{JnAl}}}}`````{M`{{Ab{InAl}}}}{M`Dn}0{M`{{Ab{DhAl}}}}{{}f}0000000000000000000000000``{Ij{{n{c}}}{}}{ce{}{}}0000000000000000000000000000{Ijf}{Dj{{Ab{fE`}}}}{IjDj}{M`{{Ab{LlAl}}}}```{cM`{EbEdEfEh}}{M`{{Ab{L`Al}}}}`{M`{{Ab{IlAl}}}}``{M`{{Ab{KlAl}}}}`````{M`{{Ab{K`Al}}}}`{M`{{Ab{KjAl}}}}``{M`{{Ab{LjAl}}}}````````{Ij{{Ad{b}}}}{Il{{Ad{b}}}}{In{{Ad{b}}}}{J`{{Ad{b}}}}{Jb{{Ad{b}}}}{Jd{{Ad{b}}}}{Jf{{Ad{b}}}}{Jh{{Ad{b}}}}{Jj{{Ad{b}}}}{Jl{{Ad{b}}}}{Jn{{Ad{b}}}}{K`{{Ad{b}}}}{Kb{{Ad{b}}}}{Kd{{Ad{b}}}}{Kf{{Ad{b}}}}{Kh{{Ad{b}}}}{Kj{{Ad{b}}}}{Kl{{Ad{b}}}}{Kn{{Ad{b}}}}{L`{{Ad{b}}}}{Lb{{Ad{b}}}}{Ld{{Ad{b}}}}{Lf{{Ad{b}}}}{Lh{{Ad{b}}}}{Lj{{Ad{b}}}}{Ll{{Ad{b}}}}{Ln{{Ad{b}}}}{{M`b}{{Ab{DhAl}}}}000{{M`f}{{Ab{DhAl}}}}{{M`EjEj}{{Ab{DhAl}}}}{{M`Ej}{{Ab{DhAl}}}}`{M`{{Ab{KbAl}}}}``{ce{}{}}000000000000000000000000000{M`{{Ab{LbAl}}}}```{c{{Ab{e}}}{}{}}000000000000000000000000000000000000000000000000000000000{cAf{}}0000000000000000000000000000{M`{{Ab{JjAl}}}}``````````````````````{Mb{{Ab{MdAl}}}}{{Mbbbffffffbb}{{Ab{DhAl}}}}`66666666666666666666{MfMf}{MhMh}{MjMj}{MlMl}{MnMn}{MdMd}{N`N`}{NbNb}{NdNd}{{ce}Dh{}{}}00000000`````{{}Mf}{{}Mj}{{}Ml}{{}Mn}{{}Md}{{}N`}{{}Nb}{{}Nd}``{{f{d{b}}}{{Ab{MhDj}}}}{{{d{b}}}Mj}{{{d{b}}}Ml}{{{d{b}}}Mn}{{{d{b}}}Md}{{{d{b}}}N`}{{{d{b}}}Nb}{{{d{b}}}Nd}`{Mb{{Ab{MlAl}}}}{{Mbbb}{{Ab{DhAl}}}}{{MfMf}Dl}{{MhMh}Dl}{{MjMj}Dl}{{MlMl}Dl}{{MnMn}Dl}{{MdMd}Dl}{{N`N`}Dl}{{NbNb}Dl}{{NdNd}Dl}{{Mfj}l}{{Mhj}l}{{Mjj}l}{{Mlj}l}{{Mnj}l}{{Mdj}l}{{N`j}l}{{Nbj}l}{{Ndj}l}{cc{}}000000000````{MbDn}0{{}f}000000`{Mh{{n{c}}}{}}{ce{}{}}000000000{Mhf}{Dj{{Ab{fE`}}}}{MhDj}````{Mb{{Ab{DhAl}}}}{cMb{EbEdEfEh}}`````````{{Mbbb}{{Ab{DhAl}}}}````{Mh{{Ad{b}}}}{Mj{{Ad{b}}}}{Ml{{Ad{b}}}}{Mn{{Ad{b}}}}{Md{{Ad{b}}}}{N`{{Ad{b}}}}{Nb{{Ad{b}}}}{Nd{{Ad{b}}}}`````>>>>>>>>>{{Mbbbfffffbb}{{Ab{DhAl}}}}`````````{c{{Ab{e}}}{}{}}0000000000000000000{cAf{}}000000000","c":[],"p":[[1,"u8"],[1,"slice"],[1,"u16"],[6,"Messages",0],[5,"Formatter",1636],[8,"Result",1636],[6,"Option",1637],[5,"ProtocolMessage",774],[6,"Result",1638],[5,"Vec",1639],[5,"TypeId",1640],[5,"Device",26],[5,"CellTimeoutStruct",26],[6,"PingError",755],[5,"CellVoltageMinStruct",26],[5,"PingProtocolHead",26],[6,"Messages",26],[5,"SetLpfSampleFrequencyStruct",26],[5,"CurrentMaxStruct",26],[5,"StateStruct",26],[5,"SetStreamRateStruct",26],[5,"TemperatureMaxStruct",26],[5,"EventsStruct",26],[5,"SetCurrentMaxStruct",26],[5,"EraseFlashStruct",26],[5,"SetLpfSettingStruct",26],[5,"SetCurrentTimeoutStruct",26],[5,"ResetDefaultsStruct",26],[5,"SetTemperatureMaxStruct",26],[5,"RebootStruct",26],[5,"CurrentTimeoutStruct",26],[5,"SetCellVoltageTimeoutStruct",26],[5,"SetCellVoltageMinimumStruct",26],[5,"SetTemperatureTimeoutStruct",26],[5,"TemperatureTimeoutStruct",26],[1,"unit"],[1,"str"],[1,"bool"],[5,"Common",732],[5,"String",1641],[10,"AsyncRead",1642],[10,"AsyncWrite",1643],[10,"Unpin",1644],[10,"Send",1644],[1,"u32"],[5,"PingCodec",479],[5,"BytesMut",1645],[5,"PingProtocolHead",490],[6,"Messages",490],[5,"ProtocolVersionStruct",490],[5,"AsciiTextStruct",490],[5,"NackStruct",490],[5,"GeneralRequestStruct",490],[5,"AckStruct",490],[5,"SetDeviceIdStruct",490],[5,"DeviceInformationStruct",490],[5,"Device",490],[6,"ParseError",682],[6,"DecoderResult",682],[6,"DecoderState",682],[5,"Decoder",682],[10,"PingDevice",732],[10,"MessageInfo",774],[10,"Sync",1644],[10,"Clone",1646],[5,"Receiver",1647],[5,"Error",1648],[5,"Error",1649],[10,"DeserializePayload",774],[10,"DeserializeGenericMessage",774],[1,"usize"],[10,"PingMessage",774],[10,"SerializePayload",774],[10,"Write",1650],[8,"Result",1648],[5,"PingProtocolHead",820],[6,"Messages",820],[5,"PingEnableStruct",820],[5,"GeneralInfoStruct",820],[5,"SetSpeedOfSoundStruct",820],[5,"SetRangeStruct",820],[5,"GotoBootloaderStruct",820],[5,"ContinuousStopStruct",820],[5,"DeviceIdStruct",820],[5,"Voltage5Struct",820],[5,"DistanceSimpleStruct",820],[5,"GainSettingStruct",820],[5,"ProcessorTemperatureStruct",820],[5,"SpeedOfSoundStruct",820],[5,"SetModeAutoStruct",820],[5,"SetPingIntervalStruct",820],[5,"SetPingEnableStruct",820],[5,"ProfileStruct",820],[5,"PingIntervalStruct",820],[5,"FirmwareVersionStruct",820],[5,"PcbTemperatureStruct",820],[5,"TransmitDurationStruct",820],[5,"SetDeviceIdStruct",820],[5,"SetGainSettingStruct",820],[5,"ContinuousStartStruct",820],[5,"RangeStruct",820],[5,"ModeAutoStruct",820],[5,"DistanceStruct",820],[5,"Device",820],[5,"Device",1411],[5,"AutoDeviceDataStruct",1411],[5,"PingProtocolHead",1411],[6,"Messages",1411],[5,"MotorOffStruct",1411],[5,"DeviceDataStruct",1411],[5,"DeviceIdStruct",1411],[5,"TransducerStruct",1411],[5,"AutoTransmitStruct",1411],[5,"ResetStruct",1411]],"b":[[21,"impl-TryFrom%3C%26ProtocolMessage%3E-for-Messages"],[23,"impl-TryFrom%3C%26Vec%3Cu8%3E%3E-for-Messages"],[767,"impl-From%3CError%3E-for-PingError"],[769,"impl-From%3CError%3E-for-PingError"]]}],\ +["bluerobotics_ping",{"doc":"🦀 Ping Library 🔊","t":"PPGPPCNNHCCCCCNNNNCCCNNNNNPFPFPFPFFPFPFGFPFPFPFPFPFPFPFPFPFPFPFPFPFPFOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNPFPFFPFPFGPFFPFPFOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNOONOONNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOPPPFGGPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNFEEKNNNNMMNNNNNNNNNNNNNPPPPGPPPPNNNNNNNNNNKKSKKFKNNNNONNNMMNONNNNMNNMOMMNNOOMNNNNONNNNNNPFPFFPFPPFFPFPFPFPFGPFPFPFPFFPFPFPFPFPFPFPFPFPFPFPFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNONOONOOOOONONOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOPFPFFPFGPFFPFPFPFOOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNOONNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNONNNNNNNNNNNNNNOOOONNOOOOOOOOONOOOONNNNNNNNNOOOOONNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bluebps","Common","Messages","Ping1D","Ping360","bluebps","borrow","borrow_mut","calculate_crc","codec","common","decoder","device","error","fmt","from","inner","into","message","ping1d","ping360","try_from","try_from","try_from","try_into","type_id","CellTimeout","CellTimeoutStruct","CellVoltageMin","CellVoltageMinStruct","CurrentMax","CurrentMaxStruct","CurrentTimeout","CurrentTimeoutStruct","Device","EraseFlash","EraseFlashStruct","Events","EventsStruct","Messages","PingProtocolHead","Reboot","RebootStruct","ResetDefaults","ResetDefaultsStruct","SetCellVoltageMinimum","SetCellVoltageMinimumStruct","SetCellVoltageTimeout","SetCellVoltageTimeoutStruct","SetCurrentMax","SetCurrentMaxStruct","SetCurrentTimeout","SetCurrentTimeoutStruct","SetLpfSampleFrequency","SetLpfSampleFrequencyStruct","SetLpfSetting","SetLpfSettingStruct","SetStreamRate","SetStreamRateStruct","SetTemperatureMax","SetTemperatureMaxStruct","SetTemperatureTimeout","SetTemperatureTimeoutStruct","State","StateStruct","TemperatureMax","TemperatureMaxStruct","TemperatureTimeout","TemperatureTimeoutStruct","battery_current","battery_temperature","battery_voltage","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cell_timeout","cell_voltage_min","cell_voltages","cell_voltages_length","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","cpu_temperature","current","current_max","current_timeout","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","erase_flash","events","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_common","get_mut_common","goto_bootloader","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","limit","limit","limit","limit","limit","limit","message_id","message_id_from_name","message_name","new","rate","reboot","reset_defaults","sample_frequency","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_cell_voltage_minimum","set_cell_voltage_timeout","set_current_max","set_current_timeout","set_lpf_sample_frequency","set_lpf_setting","set_stream_rate","set_temperature_max","set_temperature_timeout","setting","source_device_id","state","temperature","temperature_max","temperature_timeout","timeout","timeout","timeout","timeout","timeout","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","voltage","PingCodec","borrow","borrow_mut","decode","encode","from","into","new","try_from","try_into","type_id","Ack","AckStruct","AsciiText","AsciiTextStruct","Device","DeviceInformation","DeviceInformationStruct","GeneralRequest","GeneralRequestStruct","Messages","Nack","NackStruct","PingProtocolHead","ProtocolVersion","ProtocolVersionStruct","SetDeviceId","SetDeviceIdStruct","acked_id","ascii_message","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_id","device_information","device_revision","device_type","eq","eq","eq","eq","eq","eq","eq","eq","eq","firmware_version_major","firmware_version_minor","firmware_version_patch","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","get_common","get_mut_common","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","nack_message","nacked_id","new","protocol_version","requested_id","reserved","reserved","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_device_id","source_device_id","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version_major","version_minor","version_patch","AwaitingStart1","AwaitingStart2","ChecksumError","Decoder","DecoderResult","DecoderState","Error","InProgress","IncompleteData","InvalidStartByte","ParseError","ReadingChecksum","ReadingHeader","ReadingPayload","Success","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","eq","fmt","fmt","fmt","from","from","from","from","into","into","into","into","new","parse_byte","state","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","Common","Ping1D","Ping360","PingDevice","borrow","borrow_mut","device_information","from","get_common","get_mut_common","into","new","protocol_version","request","send_general_request","send_message","set_device_id","subscribe","try_from","try_into","type_id","wait_for_ack","wait_for_message","Io","JoinError","NackError","ParseError","PingError","TimeoutError","TokioBroadcastError","TokioMpscError","TryFromError","borrow","borrow_mut","fmt","from","from","from","into","try_from","try_into","type_id","DeserializeGenericMessage","DeserializePayload","HEADER","MessageInfo","PingMessage","ProtocolMessage","SerializePayload","borrow","borrow_mut","calculate_crc","checksum","checksum","clone","clone_into","default","deserialize","deserialize","dst_device_id","dst_device_id","eq","fmt","from","has_valid_crc","id","into","length","message_id","message_id","message_id_from_name","message_name","new","payload","payload","payload_length","serialize","serialized","set_dst_device_id","set_message","set_src_device_id","src_device_id","to_owned","try_from","try_into","type_id","update_checksum","write","ContinuousStart","ContinuousStartStruct","ContinuousStop","ContinuousStopStruct","Device","DeviceId","DeviceIdStruct","Distance","DistanceSimple","DistanceSimpleStruct","DistanceStruct","FirmwareVersion","FirmwareVersionStruct","GainSetting","GainSettingStruct","GeneralInfo","GeneralInfoStruct","GotoBootloader","GotoBootloaderStruct","Messages","ModeAuto","ModeAutoStruct","PcbTemperature","PcbTemperatureStruct","PingEnable","PingEnableStruct","PingInterval","PingIntervalStruct","PingProtocolHead","ProcessorTemperature","ProcessorTemperatureStruct","Profile","ProfileStruct","Range","RangeStruct","SetDeviceId","SetDeviceIdStruct","SetGainSetting","SetGainSettingStruct","SetModeAuto","SetModeAutoStruct","SetPingEnable","SetPingEnableStruct","SetPingInterval","SetPingIntervalStruct","SetRange","SetRangeStruct","SetSpeedOfSound","SetSpeedOfSoundStruct","SpeedOfSound","SpeedOfSoundStruct","TransmitDuration","TransmitDurationStruct","Voltage5","Voltage5Struct","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","confidence","confidence","confidence","continuous_start","continuous_stop","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_id","device_id","device_id","device_model","device_type","distance","distance","distance","distance","distance_simple","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","firmware_version","firmware_version_major","firmware_version_major","firmware_version_minor","firmware_version_minor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","gain_setting","gain_setting","gain_setting","gain_setting","gain_setting","gain_setting","general_info","get_common","get_mut_common","goto_bootloader","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","mode_auto","mode_auto","mode_auto","mode_auto","new","pcb_temperature","pcb_temperature","ping_enable","ping_enabled","ping_enabled","ping_interval","ping_interval","ping_interval","ping_interval","ping_number","ping_number","processor_temperature","processor_temperature","profile","profile_data","profile_data_length","range","scan_length","scan_length","scan_length","scan_length","scan_start","scan_start","scan_start","scan_start","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_device_id","set_gain_setting","set_mode_auto","set_ping_enable","set_ping_interval","set_range","set_speed_of_sound","source_device_id","speed_of_sound","speed_of_sound","speed_of_sound","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","transmit_duration","transmit_duration","transmit_duration","transmit_duration","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","voltage_5","voltage_5","voltage_5","AutoDeviceData","AutoDeviceDataStruct","AutoTransmit","AutoTransmitStruct","Device","DeviceData","DeviceDataStruct","Messages","MotorOff","MotorOffStruct","PingProtocolHead","Reset","ResetStruct","SetDeviceId","SetDeviceIdStruct","Transducer","TransducerStruct","angle","angle","angle","auto_device_data","auto_transmit","bootloader","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","common","data","data","data_length","data_length","default","default","default","default","default","default","default","default","delay","delay","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","device_data","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","gain_setting","gain_setting","gain_setting","gain_setting","get_common","get_mut_common","id","id","id","id","id","id","id","id","inner","into","into","into","into","into","into","into","into","into","into","message_id","message_id_from_name","message_name","mode","mode","mode","mode","motor_off","new","num_steps","num_steps","number_of_samples","number_of_samples","number_of_samples","number_of_samples","reserved","reserved","reserved","reset","sample_period","sample_period","sample_period","sample_period","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_device_id","source_device_id","start_angle","start_angle","stop_angle","stop_angle","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","transducer","transmit","transmit_duration","transmit_duration","transmit_duration","transmit_duration","transmit_frequency","transmit_frequency","transmit_frequency","transmit_frequency","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"bluerobotics_ping"],[26,"bluerobotics_ping::bluebps"],[479,"bluerobotics_ping::codec"],[490,"bluerobotics_ping::common"],[682,"bluerobotics_ping::decoder"],[732,"bluerobotics_ping::device"],[755,"bluerobotics_ping::error"],[774,"bluerobotics_ping::message"],[820,"bluerobotics_ping::ping1d"],[1411,"bluerobotics_ping::ping360"],[1636,"core::fmt"],[1637,"core::fmt"],[1638,"alloc::vec"],[1639,"core::result"],[1640,"core::any"],[1641,"alloc::string"],[1642,"tokio::io::async_read"],[1643,"tokio::io::async_write"],[1644,"core::marker"],[1645,"core::marker"],[1646,"core::marker"],[1647,"tokio::sync::broadcast"],[1648,"std::io::error"],[1649,"serialport"],[1650,"std::io"],[1651,"std::io::error"]],"d":["","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","Get the undervoltage timeout","","Get the minimum allowed cell voltage","","get the maximum allowed battery current","","Get the over-current timeout","","","Erase flash, including parameter configuration and event …","","A record of events causing a power lock-out. These numbers …","","","","reboot the system","","Reset parameter configuration to default values.","","Set the minimum allowed cell voltage","","Set the under-voltage timeout","","Set the maximum allowed battery current","","Set the over-current timeout","","the frequency to take adc samples and run the filter.","","Low pass filter setting. This value represents x in the …","","Set the frequency to automatically output state messages.","","Set the maximum allowed battery temperature","","Set the over-temperature timeout","","Get the current state of the device","","Get the maximum allowed battery temperature","","Get the over-temperature timeout","The current measurement","The battery temperature","The main battery voltage","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the undervoltage timeout","Get the minimum allowed cell voltage","","Array containing cell voltages","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The cpu temperature","The number of over-current events","get the maximum allowed battery current","Get the over-current timeout","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Erase flash, including parameter configuration and event …","A record of events causing a power lock-out. These numbers …","flags indicating if any of the configured limits are …","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","0 = normal reboot, run main application after reboot 1 = …","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The maximum allowed battery current 0~20000 = 0~200A","The minimum voltage allowed for any individual cell. …","The maximum temperature allowed at the thermistor probe …","The minimum voltage allowed for any individual cell. …","The maximum allowed battery current 0~20000 = 0~200A","The minimum voltage allowed for any individual cell. …","","","","","Rate to stream state messages. 0~100000Hz","reboot the system","Reset parameter configuration to default values.","sample frequency in Hz. 1~100000","","","","","","","","","","","","","","","","","","","","","","Set the minimum allowed cell voltage","Set the under-voltage timeout","Set the maximum allowed battery current","Set the over-current timeout","the frequency to take adc samples and run the filter.","Low pass filter setting. This value represents x in the …","Set the frequency to automatically output state messages.","Set the maximum allowed battery temperature","Set the over-temperature timeout","0~999: x = 0~0.999","","Get the current state of the device","The number of over-temperature events","Get the maximum allowed battery temperature","Get the over-temperature timeout","If an individual cell exceeds the configured limit for …","If the battery temperature exceeds the configured limit …","If the battery current exceeds the configured limit for …","If an individual cell exceeds the configured limit for …","If the battery temperature exceeds the configured limit …","If the battery current exceeds the configured limit for …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of under-voltage events","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","Acknowledged.","","A message for transmitting text data.","","","Device information","","Requests a specific message to be sent from the sonar to …","","","Not acknowledged.","","","The protocol version","","Set the device ID.","The message ID that is ACKnowledged.","ASCII text message. (not necessarily NULL terminated)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Device ID (1-254). 0 is unknown and 255 is reserved for …","Device information","device-specific hardware revision","Device type. 0: Unknown; 1: Ping Echosounder; 2: Ping360","","","","","","","","","","Firmware version major number.","Firmware version minor number.","Firmware version patch number.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","ASCII text message indicating NACK condition. (not …","The message ID that is Not ACKnowledged.","","The protocol version","Message ID to be requested.","reserved","reserved","","","","","","","","","Set the device ID.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Protocol version major number.","Protocol version minor number.","Protocol version patch number.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Device information","Returns the argument unchanged.","","","Calls U::from(self).","","The protocol version","","","","Set the device ID.","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","Message Format","","","","","","","","","","","","","","","","","Command to initiate continuous data stream of profile …","","Command to stop the continuous data stream of profile …","","","The device ID.","","","The distance to target with confidence estimate.","The distance to target with confidence estimate. Relevant …","","Device information","","The current gain setting.","","General information.","","Send the device into the bootloader. This is useful for …","","","The current operating mode of the device. Manual mode …","","Temperature of the on-board thermistor.","","Acoustic output enabled state.","","The interval between acoustic measurements.","","","Temperature of the device cpu.","","A profile produced from a single acoustic measurement. The …","","The scan range for acoustic measurements. Measurements …","","Set the device ID.","","Set the current gain setting.","","Set automatic or manual mode. Manual mode allows for …","","Enable or disable acoustic measurements.","","The interval between acoustic measurements.","","Set the scan range for acoustic measurements.","","Set the speed of sound used for distance calculations.","","The speed of sound used for distance calculations.","","The duration of the acoustic activation/transmission.","","The 5V rail voltage.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Confidence in the distance measurement.","Confidence in the most recent range measurement.","Confidence in the most recent range measurement.","Command to initiate continuous data stream of profile …","Command to stop the continuous data stream of profile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The device ID.","Device ID (0-254). 255 is reserved for broadcast messages.","The device ID (0-254). 255 is reserved for broadcast …","Device model. 0: Unknown; 1: Ping1D","Device type. 0: Unknown; 1: Echosounder","The distance to target with confidence estimate. Relevant …","Distance to the target.","The current return distance determined for the most recent …","The current return distance determined for the most recent …","The distance to target with confidence estimate.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Device information","Firmware major version.","Firmware version major number.","Firmware minor version.","Firmware version minor number.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","The current gain setting.","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …","General information.","","","Send the device into the bootloader. This is useful for …","","","","","","","","","","","","","","","","","","","","","","","","","","","The message id to stop streaming. 1300: profile","The message id to stream. 1300: profile","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","The current operating mode of the device. Manual mode …","The current operating mode of the device. 0: manual mode, …","0: manual mode. 1: auto mode.","0: manual mode, 1: auto mode","","Temperature of the on-board thermistor.","The temperature in centi-degrees Centigrade (100 * degrees …","Acoustic output enabled state.","The state of the acoustic output. 0: disabled, 1:enabled","0: Disable, 1: Enable.","The interval between acoustic measurements.","The interval between acoustic measurements.","The interval between acoustic measurements.","The minimum interval between acoustic measurements. The …","The pulse/measurement count since boot.","The pulse/measurement count since boot.","Temperature of the device cpu.","The temperature in centi-degrees Centigrade (100 * degrees …","A profile produced from a single acoustic measurement. The …","","An array of return strength measurements taken at regular …","The scan range for acoustic measurements. Measurements …","The length of the scan range. Minimum 1000.","The length of the scan range.","The length of the scan region.","The length of the scan region.","Not documented","The beginning of the scan range in mm from the transducer.","The beginning of the scan region in mm from the transducer.","The beginning of the scan region in mm from the transducer.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set the device ID.","Set the current gain setting.","Set automatic or manual mode. Manual mode allows for …","Enable or disable acoustic measurements.","The interval between acoustic measurements.","Set the scan range for acoustic measurements.","Set the speed of sound used for distance calculations.","","The speed of sound used for distance calculations.","The speed of sound in the measurement medium. ~1,500,000 …","The speed of sound in the measurement medium. ~1,500,000 …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The duration of the acoustic activation/transmission.","Acoustic pulse duration.","The acoustic pulse length during acoustic …","The acoustic pulse length during acoustic …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The 5V rail voltage.","The 5V rail voltage.","Device supply voltage.","","NEW (v1.1.0) Extended version of device_data with …","","NEW (v1.1.0) Extended transducer message with auto-scan …","","","This message is used to communicate the current sonar …","","","The sonar switches the current through the stepper motor …","","","Reset the sonar. The bootloader may run depending on the …","","Change the device id","","The transducer will apply the commanded settings. The …","Head angle","Head angle","Head angle","NEW (v1.1.0) Extended version of device_data with …","NEW (v1.1.0) Extended transducer message with auto-scan …","0 = skip bootloader; 1 = run bootloader","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An array of return strength measurements taken at regular …","An array of return strength measurements taken at regular …","","","","","","","","","An additional delay between successive transmit pulses …","An additional delay between successive transmit pulses …","","","","","","","","","","This message is used to communicate the current sonar …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","Analog gain setting (0 = low, 1 = normal, 2 = high)","","","","","","","","","","Device ID (1-254). 0 and 255 are reserved.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","Operating mode (1 for Ping360)","The sonar switches the current through the stepper motor …","","Number of 0.9 degree motor steps between pings for auto …","Number of 0.9 degree motor steps between pings for auto …","Number of samples per reflected signal (supported values: …","Number of samples per reflected signal (supported values: …","Number of samples per reflected signal (supported values: …","Number of samples per reflected signal (supported values: …","reserved","reserved","reserved","Reset the sonar. The bootloader may run depending on the …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","Time interval between individual signal intensity samples …","","","","","","","","","Change the device id","","Head angle to begin scan sector for autoscan (0~399 = …","Head angle to begin scan sector for autoscan (0~399 = …","Head angle to end scan sector for autoscan (0~399 = 0~360 …","Head angle to end scan sector for autoscan (0~399 = 0~360 …","","","","","","","","","","The transducer will apply the commanded settings. The …","0 = do not transmit; 1 = transmit after the transducer has …","Acoustic transmission duration (1~1000 us)","Acoustic transmission duration (1~1000 us)","Acoustic transmission duration (1~1000 us)","Acoustic transmission duration (1~1000 us)","Acoustic operating frequency (500~1000 kHz). It is only …","Acoustic operating frequency (500~1000 kHz). It is only …","Acoustic operating frequency (500~1000 kHz). It is only …","Acoustic operating frequency (500~1000 kHz). It is only …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[4,4,0,4,4,0,4,4,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,4,17,0,17,0,17,0,17,0,0,17,0,17,0,0,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,17,0,20,20,20,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,12,20,20,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,20,25,12,12,16,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,16,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,12,20,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,12,35,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,17,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,22,26,27,15,32,34,17,17,17,12,18,12,12,30,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,12,12,12,12,12,12,12,12,33,16,12,25,12,12,13,21,24,28,29,31,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,12,16,17,18,19,13,20,21,22,23,24,25,26,27,28,29,15,30,31,32,33,34,35,25,0,46,46,46,46,46,46,46,46,46,46,49,0,49,0,0,49,0,49,0,0,49,0,0,49,0,49,0,50,54,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,48,49,50,51,52,53,54,55,56,48,49,50,51,52,53,54,55,56,57,48,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,48,51,57,52,52,48,49,50,51,52,53,54,55,56,52,52,52,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,57,50,51,52,53,54,55,56,49,57,48,49,50,51,52,53,54,55,56,49,49,49,56,56,57,57,55,52,53,49,50,51,52,53,54,55,56,57,48,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,53,53,53,60,60,58,0,0,0,59,59,58,58,0,60,60,60,59,61,58,59,60,61,58,59,60,58,58,59,60,61,58,59,60,61,58,59,60,61,61,61,61,58,59,60,61,58,59,60,61,58,59,60,0,0,0,0,39,39,62,39,62,62,39,39,62,62,62,39,62,62,39,39,39,62,62,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,69,70,10,10,10,10,10,10,63,10,10,72,10,72,72,10,10,10,10,73,10,10,10,10,10,10,10,10,10,10,10,77,0,77,0,0,77,0,77,77,0,0,77,0,77,0,77,0,77,0,0,77,0,77,0,77,0,77,0,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,77,0,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,88,98,101,104,104,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,76,104,79,89,90,90,104,88,98,101,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,85,90,85,90,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,85,91,93,98,101,104,104,104,104,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,84,97,77,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,77,77,77,104,85,86,95,104,104,100,104,81,103,104,85,99,102,98,101,104,82,104,101,101,104,78,94,98,101,78,94,98,101,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,104,104,104,104,104,104,76,104,83,92,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,87,98,101,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,80,85,108,0,108,0,0,108,0,0,108,0,0,108,0,108,0,108,0,110,106,111,105,105,114,105,107,108,109,110,106,111,112,113,114,105,107,108,109,110,106,111,112,113,114,107,108,109,110,106,111,112,113,114,107,108,109,110,106,111,112,113,114,105,110,106,110,106,107,109,110,106,111,112,113,114,109,106,108,109,110,106,111,112,113,114,107,105,107,108,109,110,106,111,112,113,114,107,108,109,110,106,111,112,113,114,105,107,108,109,110,106,111,112,113,114,109,110,106,111,105,105,109,110,106,111,112,113,114,112,108,105,107,108,109,110,106,111,112,113,114,108,108,108,109,110,106,111,105,105,109,106,109,110,106,111,111,112,114,105,109,110,106,111,108,109,110,106,111,112,113,114,105,107,109,106,109,106,107,108,109,110,106,111,112,113,114,105,111,109,110,106,111,109,110,106,111,105,107,108,109,110,106,111,112,113,114,105,107,108,109,110,106,111,112,113,114,105,107,108,109,110,106,111,112,113,114],"f":"``````{ce{}{}}0{{{d{b}}}f}`````{{hj}l}{cc{}}{h{{n{c}}}{}}4```{{{A`{b}}}{{Ab{hc}}}{}}{Ad{{Ab{hc}}}{}}{c{{Ab{e}}}{}{}}0{cAf{}}``````````````````````````````````````````````8888888888888888888888888888888888888888888888{Ah{{Ab{AjAl}}}}{Ah{{Ab{AnAl}}}}``{B`B`}{BbBb}{BdBd}{BfBf}{AjAj}{BhBh}{BjBj}{BlBl}{BnBn}{C`C`}{CbCb}{CdCd}{CfCf}{ChCh}{CjCj}{AnAn}{ClCl}{CnCn}{D`D`}{DbDb}{DdDd}{DfDf}{{ce}Dh{}{}}000000000000000000000```{Ah{{Ab{D`Al}}}}{Ah{{Ab{CnAl}}}}{{}B`}{{}Bd}{{}Bf}{{}Aj}{{}Bh}{{}Bj}{{}Bl}{{}Bn}{{}C`}{{}Cb}{{}Cd}{{}Cf}{{}Ch}{{}Cj}{{}An}{{}Cl}{{}Cn}{{}D`}{{}Db}{{}Dd}{{}Df}{{f{d{b}}}{{Ab{BbDj}}}}{{{d{b}}}Bd}{{{d{b}}}Bf}{{{d{b}}}Aj}{{{d{b}}}Bh}{{{d{b}}}Bj}{{{d{b}}}Bl}{{{d{b}}}Bn}{{{d{b}}}C`}{{{d{b}}}Cb}{{{d{b}}}Cd}{{{d{b}}}Cf}{{{d{b}}}Ch}{{{d{b}}}Cj}{{{d{b}}}An}{{{d{b}}}Cl}{{{d{b}}}Cn}{{{d{b}}}D`}{{{d{b}}}Db}{{{d{b}}}Dd}{{{d{b}}}Df}`{{B`B`}Dl}{{BbBb}Dl}{{BdBd}Dl}{{BfBf}Dl}{{AjAj}Dl}{{BhBh}Dl}{{BjBj}Dl}{{BlBl}Dl}{{BnBn}Dl}{{C`C`}Dl}{{CbCb}Dl}{{CdCd}Dl}{{CfCf}Dl}{{ChCh}Dl}{{CjCj}Dl}{{AnAn}Dl}{{ClCl}Dl}{{CnCn}Dl}{{D`D`}Dl}{{DbDb}Dl}{{DdDd}Dl}{{DfDf}Dl}{Ah{{Ab{DhAl}}}}{Ah{{Ab{CbAl}}}}`{{B`j}l}{{Bbj}l}{{Bdj}l}{{Bfj}l}{{Ajj}l}{{Bhj}l}{{Bjj}l}{{Blj}l}{{Bnj}l}{{C`j}l}{{Cbj}l}{{Cdj}l}{{Cfj}l}{{Chj}l}{{Cjj}l}{{Anj}l}{{Clj}l}{{Cnj}l}{{D`j}l}{{Dbj}l}{{Ddj}l}{{Dfj}l}{cc{}}0000000000000000000000{AhDn}0`{{}f}0000000000000000000{Bb{{n{c}}}{}}{ce{}{}}0000000000000000000000``````{Bbf}{Dj{{Ab{fE`}}}}{BbDj}{cAh{EbEdEfEh}}`{{Ahb}{{Ab{DhAl}}}}{Ah{{Ab{DhAl}}}}`{Bb{{A`{b}}}}{Bd{{A`{b}}}}{Bf{{A`{b}}}}{Aj{{A`{b}}}}{Bh{{A`{b}}}}{Bj{{A`{b}}}}{Bl{{A`{b}}}}{Bn{{A`{b}}}}{C`{{A`{b}}}}{Cb{{A`{b}}}}{Cd{{A`{b}}}}{Cf{{A`{b}}}}{Ch{{A`{b}}}}{Cj{{A`{b}}}}{An{{A`{b}}}}{Cl{{A`{b}}}}{Cn{{A`{b}}}}{D`{{A`{b}}}}{Db{{A`{b}}}}{Dd{{A`{b}}}}{Df{{A`{b}}}}{{Ahf}{{Ab{DhAl}}}}000{{AhEj}{{Ab{DhAl}}}}1011``{Ah{{Ab{BhAl}}}}`{Ah{{Ab{DdAl}}}}{Ah{{Ab{BjAl}}}}``````{ce{}{}}000000000000000000000{c{{Ab{e}}}{}{}}000000000000000000000000000000000000000000000{cAf{}}0000000000000000000000``22{{ElEn}{{Ab{{n{c}}e}}}{}{}}{{ElAdEn}{{Ab{Dhc}}}{}}{cc{}}5{{}El}554```````````````````66666666666666666666{F`F`}{FbFb}{FdFd}{FfFf}{FhFh}{FjFj}{FlFl}{FnFn}{G`G`}{{ce}Dh{}{}}00000000`{{}F`}{{}Fd}{{}Ff}{{}Fh}{{}Fj}{{}Fl}{{}Fn}{{}G`}{{f{d{b}}}{{Ab{FbDj}}}}{{{d{b}}}Fd}{{{d{b}}}Ff}{{{d{b}}}Fh}{{{d{b}}}Fj}{{{d{b}}}Fl}{{{d{b}}}Fn}{{{d{b}}}G`}``{Gb{{Ab{FhAl}}}}``{{F`F`}Dl}{{FbFb}Dl}{{FdFd}Dl}{{FfFf}Dl}{{FhFh}Dl}{{FjFj}Dl}{{FlFl}Dl}{{FnFn}Dl}{{G`G`}Dl}```{{F`j}l}{{Fbj}l}{{Fdj}l}{{Ffj}l}{{Fhj}l}{{Fjj}l}{{Flj}l}{{Fnj}l}{{G`j}l}{cc{}}000000000{GbDn}0{{}f}000000{Fb{{n{c}}}{}}{ce{}{}}000000000{Fbf}{Dj{{Ab{fE`}}}}{FbDj}``{cGb{EbEdEfEh}}{Gb{{Ab{FjAl}}}}```{Fb{{A`{b}}}}{Fd{{A`{b}}}}{Ff{{A`{b}}}}{Fh{{A`{b}}}}{Fj{{A`{b}}}}{Fl{{A`{b}}}}{Fn{{A`{b}}}}{G`{{A`{b}}}}{{Gbb}{{Ab{DhAl}}}}`>>>>>>>>>{c{{Ab{e}}}{}{}}0000000000000000000{cAf{}}000000000``````````````````{ce{}{}}0000000{{GdGd}Dl}{{Gdj}l}{{Gfj}l}{{Ghj}l}{cc{}}0005555{{}Gj}{{Gjb}Gf}`999999998888````77{Gl{{Ab{FhAl}}}}3{GlDn}09{cDn{EbEdEfEh}}{Gl{{Ab{FjAl}}}}{Gl{{Ab{cAl}}}{GnH`HbEh}}{{Glf}{{Ab{DhAl}}}}{{DnAd}{{Ab{DhAl}}}}{{Glb}{{Ab{DhAl}}}}{Gl{{Hd{Ad}}}}{c{{Ab{e}}}{}{}}0{cAf{}}{{Gl{Hd{Ad}}f}{{Ab{DhAl}}}}{{Gl{Hd{Ad}}}{{Ab{cAl}}}{GnH`HbEh}}`````````{ce{}{}}0{{Alj}l}{HfAl}{cc{}}{HhAl}4887```````44{Adf}0`{AdAd}{{ce}Dh{}{}}{{}Ad}{{{d{b}}}Hj}{{f{d{b}}}{{Ab{HlDj}}}}{Adb}`{{AdAd}Dl}{{Adj}l}:{AdDl}{{}f}?{AdHn}{I`f}`{Dj{{Ab{fE`}}}}{I`Dj};{Ad{{d{b}}}}``{Ib{{A`{b}}}}{Ad{{A`{b}}}}{{Adb}Dh}{{Adc}DhI`}1`{ce{}{}}{c{{Ab{e}}}{}{}}0{cAf{}}{AdDh}{{AdId}{{If{Hn}}}}```````````````````````````````````````````````````````4444444444444444444444444444444444444444444444444444444444{IhIh}{IjIj}{IlIl}{InIn}{J`J`}{JbJb}{JdJd}{JfJf}{JhJh}{JjJj}{JlJl}{JnJn}{K`K`}{KbKb}{KdKd}{KfKf}{KhKh}{KjKj}{KlKl}{KnKn}{L`L`}{LbLb}{LdLd}{LfLf}{LhLh}{LjLj}{LlLl}{LnLn}{{ce}Dh{}{}}000000000000000000000000000````{{M`f}{{Ab{DhAl}}}}0{{}Ih}{{}Il}{{}In}{{}J`}{{}Jb}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}Jl}{{}Jn}{{}K`}{{}Kb}{{}Kd}{{}Kf}{{}Kh}{{}Kj}{{}Kl}{{}Kn}{{}L`}{{}Lb}{{}Ld}{{}Lf}{{}Lh}{{}Lj}{{}Ll}{{}Ln}{{f{d{b}}}{{Ab{IjDj}}}}{{{d{b}}}Il}{{{d{b}}}In}{{{d{b}}}J`}{{{d{b}}}Jb}{{{d{b}}}Jd}{{{d{b}}}Jf}{{{d{b}}}Jh}{{{d{b}}}Jj}{{{d{b}}}Jl}{{{d{b}}}Jn}{{{d{b}}}K`}{{{d{b}}}Kb}{{{d{b}}}Kd}{{{d{b}}}Kf}{{{d{b}}}Kh}{{{d{b}}}Kj}{{{d{b}}}Kl}{{{d{b}}}Kn}{{{d{b}}}L`}{{{d{b}}}Lb}{{{d{b}}}Ld}{{{d{b}}}Lf}{{{d{b}}}Lh}{{{d{b}}}Lj}{{{d{b}}}Ll}{{{d{b}}}Ln}`{M`{{Ab{KbAl}}}}````{M`{{Ab{LdAl}}}}```{M`{{Ab{K`Al}}}}{{IhIh}Dl}{{IjIj}Dl}{{IlIl}Dl}{{InIn}Dl}{{J`J`}Dl}{{JbJb}Dl}{{JdJd}Dl}{{JfJf}Dl}{{JhJh}Dl}{{JjJj}Dl}{{JlJl}Dl}{{JnJn}Dl}{{K`K`}Dl}{{KbKb}Dl}{{KdKd}Dl}{{KfKf}Dl}{{KhKh}Dl}{{KjKj}Dl}{{KlKl}Dl}{{KnKn}Dl}{{L`L`}Dl}{{LbLb}Dl}{{LdLd}Dl}{{LfLf}Dl}{{LhLh}Dl}{{LjLj}Dl}{{LlLl}Dl}{{LnLn}Dl}{M`{{Ab{KdAl}}}}````{{Ihj}l}{{Ijj}l}{{Ilj}l}{{Inj}l}{{J`j}l}{{Jbj}l}{{Jdj}l}{{Jfj}l}{{Jhj}l}{{Jjj}l}{{Jlj}l}{{Jnj}l}{{K`j}l}{{Kbj}l}{{Kdj}l}{{Kfj}l}{{Khj}l}{{Kjj}l}{{Klj}l}{{Knj}l}{{L`j}l}{{Lbj}l}{{Ldj}l}{{Lfj}l}{{Lhj}l}{{Ljj}l}{{Llj}l}{{Lnj}l}{cc{}}0000000000000000000000000000{M`{{Ab{KfAl}}}}`````{M`{{Ab{JjAl}}}}{M`Dn}0{M`{{Ab{DhAl}}}}{{}f}0000000000000000000000000``{Ij{{n{c}}}{}}{ce{}{}}0000000000000000000000000000{Ijf}{Dj{{Ab{fE`}}}}{IjDj}{M`{{Ab{KnAl}}}}```{cM`{EbEdEfEh}}{M`{{Ab{LhAl}}}}`{M`{{Ab{JbAl}}}}``{M`{{Ab{LlAl}}}}`````{M`{{Ab{JdAl}}}}`{M`{{Ab{LjAl}}}}``{M`{{Ab{KlAl}}}}````````{Ij{{A`{b}}}}{Il{{A`{b}}}}{In{{A`{b}}}}{J`{{A`{b}}}}{Jb{{A`{b}}}}{Jd{{A`{b}}}}{Jf{{A`{b}}}}{Jh{{A`{b}}}}{Jj{{A`{b}}}}{Jl{{A`{b}}}}{Jn{{A`{b}}}}{K`{{A`{b}}}}{Kb{{A`{b}}}}{Kd{{A`{b}}}}{Kf{{A`{b}}}}{Kh{{A`{b}}}}{Kj{{A`{b}}}}{Kl{{A`{b}}}}{Kn{{A`{b}}}}{L`{{A`{b}}}}{Lb{{A`{b}}}}{Ld{{A`{b}}}}{Lf{{A`{b}}}}{Lh{{A`{b}}}}{Lj{{A`{b}}}}{Ll{{A`{b}}}}{Ln{{A`{b}}}}{{M`b}{{Ab{DhAl}}}}000{{M`f}{{Ab{DhAl}}}}{{M`EjEj}{{Ab{DhAl}}}}{{M`Ej}{{Ab{DhAl}}}}`{M`{{Ab{JfAl}}}}``{ce{}{}}000000000000000000000000000{M`{{Ab{JnAl}}}}```{c{{Ab{e}}}{}{}}000000000000000000000000000000000000000000000000000000000{cAf{}}0000000000000000000000000000{M`{{Ab{J`Al}}}}``````````````````````{Mb{{Ab{MdAl}}}}{{Mbbbffffffbb}{{Ab{DhAl}}}}`66666666666666666666{MfMf}{MhMh}{MjMj}{MlMl}{MdMd}{MnMn}{N`N`}{NbNb}{NdNd}{{ce}Dh{}{}}00000000`````{{}Mf}{{}Mj}{{}Ml}{{}Md}{{}Mn}{{}N`}{{}Nb}{{}Nd}``{{f{d{b}}}{{Ab{MhDj}}}}{{{d{b}}}Mj}{{{d{b}}}Ml}{{{d{b}}}Md}{{{d{b}}}Mn}{{{d{b}}}N`}{{{d{b}}}Nb}{{{d{b}}}Nd}`{Mb{{Ab{MlAl}}}}{{MfMf}Dl}{{MhMh}Dl}{{MjMj}Dl}{{MlMl}Dl}{{MdMd}Dl}{{MnMn}Dl}{{N`N`}Dl}{{NbNb}Dl}{{NdNd}Dl}{{Mfj}l}{{Mhj}l}{{Mjj}l}{{Mlj}l}{{Mdj}l}{{Mnj}l}{{N`j}l}{{Nbj}l}{{Ndj}l}{cc{}}000000000````{MbDn}0{{}f}000000`{Mh{{n{c}}}{}}{ce{}{}}000000000{Mhf}{Dj{{Ab{fE`}}}}{MhDj}````{Mb{{Ab{DhAl}}}}{cMb{EbEdEfEh}}`````````{{Mbbb}{{Ab{DhAl}}}}````{Mh{{A`{b}}}}{Mj{{A`{b}}}}{Ml{{A`{b}}}}{Md{{A`{b}}}}{Mn{{A`{b}}}}{N`{{A`{b}}}}{Nb{{A`{b}}}}{Nd{{A`{b}}}}8`````>>>>>>>>>{{Mbbbfffffbb}{{Ab{DhAl}}}}`````````{c{{Ab{e}}}{}{}}0000000000000000000{cAf{}}000000000","c":[],"p":[[1,"u8"],[1,"slice"],[1,"u16"],[6,"Messages",0],[5,"Formatter",1636],[8,"Result",1636],[6,"Option",1637],[5,"Vec",1638],[6,"Result",1639],[5,"ProtocolMessage",774],[5,"TypeId",1640],[5,"Device",26],[5,"CellTimeoutStruct",26],[6,"PingError",755],[5,"CellVoltageMinStruct",26],[5,"PingProtocolHead",26],[6,"Messages",26],[5,"SetStreamRateStruct",26],[5,"EraseFlashStruct",26],[5,"StateStruct",26],[5,"TemperatureTimeoutStruct",26],[5,"SetCurrentMaxStruct",26],[5,"ResetDefaultsStruct",26],[5,"SetCurrentTimeoutStruct",26],[5,"EventsStruct",26],[5,"SetCellVoltageMinimumStruct",26],[5,"SetTemperatureMaxStruct",26],[5,"SetCellVoltageTimeoutStruct",26],[5,"SetTemperatureTimeoutStruct",26],[5,"SetLpfSampleFrequencyStruct",26],[5,"CurrentTimeoutStruct",26],[5,"CurrentMaxStruct",26],[5,"SetLpfSettingStruct",26],[5,"TemperatureMaxStruct",26],[5,"RebootStruct",26],[1,"unit"],[1,"str"],[1,"bool"],[5,"Common",732],[5,"String",1641],[10,"AsyncRead",1642],[10,"AsyncWrite",1643],[10,"Unpin",1644],[10,"Send",1644],[1,"u32"],[5,"PingCodec",479],[5,"BytesMut",1645],[5,"PingProtocolHead",490],[6,"Messages",490],[5,"AckStruct",490],[5,"SetDeviceIdStruct",490],[5,"DeviceInformationStruct",490],[5,"ProtocolVersionStruct",490],[5,"AsciiTextStruct",490],[5,"GeneralRequestStruct",490],[5,"NackStruct",490],[5,"Device",490],[6,"ParseError",682],[6,"DecoderResult",682],[6,"DecoderState",682],[5,"Decoder",682],[10,"PingDevice",732],[10,"MessageInfo",774],[10,"Sync",1644],[10,"Clone",1646],[5,"Receiver",1647],[5,"Error",1648],[5,"Error",1649],[10,"DeserializePayload",774],[10,"DeserializeGenericMessage",774],[1,"usize"],[10,"PingMessage",774],[10,"SerializePayload",774],[10,"Write",1650],[8,"Result",1648],[5,"PingProtocolHead",820],[6,"Messages",820],[5,"SetRangeStruct",820],[5,"SetDeviceIdStruct",820],[5,"Voltage5Struct",820],[5,"PingEnableStruct",820],[5,"ProcessorTemperatureStruct",820],[5,"SpeedOfSoundStruct",820],[5,"ContinuousStopStruct",820],[5,"GeneralInfoStruct",820],[5,"SetModeAutoStruct",820],[5,"TransmitDurationStruct",820],[5,"DistanceSimpleStruct",820],[5,"DeviceIdStruct",820],[5,"FirmwareVersionStruct",820],[5,"GainSettingStruct",820],[5,"SetSpeedOfSoundStruct",820],[5,"SetGainSettingStruct",820],[5,"RangeStruct",820],[5,"ModeAutoStruct",820],[5,"GotoBootloaderStruct",820],[5,"ContinuousStartStruct",820],[5,"DistanceStruct",820],[5,"SetPingIntervalStruct",820],[5,"PcbTemperatureStruct",820],[5,"ProfileStruct",820],[5,"PingIntervalStruct",820],[5,"SetPingEnableStruct",820],[5,"Device",820],[5,"Device",1411],[5,"AutoDeviceDataStruct",1411],[5,"PingProtocolHead",1411],[6,"Messages",1411],[5,"AutoTransmitStruct",1411],[5,"DeviceDataStruct",1411],[5,"TransducerStruct",1411],[5,"SetDeviceIdStruct",1411],[5,"MotorOffStruct",1411],[5,"ResetStruct",1411]],"b":[[21,"impl-TryFrom%3C%26Vec%3Cu8%3E%3E-for-Messages"],[22,"impl-TryFrom%3C%26ProtocolMessage%3E-for-Messages"],[767,"impl-From%3CError%3E-for-PingError"],[769,"impl-From%3CError%3E-for-PingError"]]}],\ ["bytes",{"doc":"Provides abstractions for working with bytes.","t":"EEFFNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKFFFFFFFMNNMNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Buf","BufMut","Bytes","BytesMut","advance","advance","advance_mut","as_mut","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buf","capacity","chunk","chunk","chunk_mut","clear","clear","clone","clone","clone_into","clone_into","cmp","cmp","copy_from_slice","copy_to_bytes","copy_to_bytes","default","default","deref","deref","deref_mut","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","extend","extend","extend","extend_from_slice","fmt","fmt","fmt","fmt","fmt","fmt","freeze","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_iter","from_static","hash","hash","into","into","into_iter","into_iter","into_iter","into_iter","is_empty","is_empty","is_unique","len","len","new","new","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","put","put_bytes","put_slice","remaining","remaining","remaining_mut","reserve","resize","set_len","slice","slice_ref","spare_capacity_mut","split","split_off","split_off","split_to","split_to","to_owned","to_owned","truncate","truncate","try_from","try_from","try_into","try_into","type_id","type_id","unsplit","with_capacity","write_fmt","write_str","zeroed","Buf","BufMut","Chain","IntoIter","Limit","Reader","Take","UninitSlice","Writer","advance","advance","advance","advance_mut","advance_mut","advance_mut","as_mut_ptr","as_uninit_slice_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","chain_mut","chain_mut","chunk","chunk","chunk","chunk_mut","chunk_mut","chunk_mut","chunks_vectored","chunks_vectored","chunks_vectored","consume","copy_from_slice","copy_to_bytes","copy_to_bytes","copy_to_bytes","copy_to_bytes","copy_to_slice","copy_to_slice","fill_buf","first_mut","first_ref","flush","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_raw_parts_mut","get_f32","get_f32","get_f32_le","get_f32_le","get_f32_ne","get_f32_ne","get_f64","get_f64","get_f64_le","get_f64_le","get_f64_ne","get_f64_ne","get_i128","get_i128","get_i128_le","get_i128_le","get_i128_ne","get_i128_ne","get_i16","get_i16","get_i16_le","get_i16_le","get_i16_ne","get_i16_ne","get_i32","get_i32","get_i32_le","get_i32_le","get_i32_ne","get_i32_ne","get_i64","get_i64","get_i64_le","get_i64_le","get_i64_ne","get_i64_ne","get_i8","get_i8","get_int","get_int","get_int_le","get_int_le","get_int_ne","get_int_ne","get_mut","get_mut","get_mut","get_mut","get_mut","get_ref","get_ref","get_ref","get_ref","get_ref","get_u128","get_u128","get_u128_le","get_u128_le","get_u128_ne","get_u128_ne","get_u16","get_u16","get_u16_le","get_u16_le","get_u16_ne","get_u16_ne","get_u32","get_u32","get_u32_le","get_u32_le","get_u32_ne","get_u32_ne","get_u64","get_u64","get_u64_le","get_u64_le","get_u64_ne","get_u64_ne","get_u8","get_u8","get_uint","get_uint","get_uint_le","get_uint_le","get_uint_ne","get_uint_ne","has_remaining","has_remaining","has_remaining_mut","has_remaining_mut","index","index","index","index","index","index","index_mut","index_mut","index_mut","index_mut","index_mut","index_mut","into","into","into","into","into","into","into_inner","into_inner","into_inner","into_inner","into_inner","into_inner","into_iter","into_iter","last_mut","last_ref","len","limit","limit","limit","limit","new","new","next","put","put","put_bytes","put_bytes","put_f32","put_f32","put_f32_le","put_f32_le","put_f32_ne","put_f32_ne","put_f64","put_f64","put_f64_le","put_f64_le","put_f64_ne","put_f64_ne","put_i128","put_i128","put_i128_le","put_i128_le","put_i128_ne","put_i128_ne","put_i16","put_i16","put_i16_le","put_i16_le","put_i16_ne","put_i16_ne","put_i32","put_i32","put_i32_le","put_i32_le","put_i32_ne","put_i32_ne","put_i64","put_i64","put_i64_le","put_i64_le","put_i64_ne","put_i64_ne","put_i8","put_i8","put_int","put_int","put_int_le","put_int_le","put_int_ne","put_int_ne","put_slice","put_slice","put_u128","put_u128","put_u128_le","put_u128_le","put_u128_ne","put_u128_ne","put_u16","put_u16","put_u16_le","put_u16_le","put_u16_ne","put_u16_ne","put_u32","put_u32","put_u32_le","put_u32_le","put_u32_ne","put_u32_ne","put_u64","put_u64","put_u64_le","put_u64_le","put_u64_ne","put_u64_ne","put_u8","put_u8","put_uint","put_uint","put_uint_le","put_uint_le","put_uint_ne","put_uint_ne","read","reader","reader","remaining","remaining","remaining","remaining_mut","remaining_mut","remaining_mut","set_limit","set_limit","size_hint","take","take","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uninit","write","write_byte","writer","writer"],"q":[[0,"bytes"],[138,"bytes::buf"],[456,"core::cmp"],[457,"core::marker"],[458,"alloc::string"],[459,"alloc::vec"],[460,"core::iter::traits::collect"],[461,"core::fmt"],[462,"core::fmt"],[463,"core::hash"],[464,"core::option"],[465,"core::ops::range"],[466,"core::mem::maybe_uninit"],[467,"core::result"],[468,"core::any"],[469,"core::fmt"],[470,"std::io::error"],[471,"core::fmt"]],"d":["","","A cheaply cloneable and sliceable chunk of contiguous …","A unique reference to a contiguous slice of memory.","","","","","","","","","","","","","","Utilities for working with buffers.","Returns the number of bytes the BytesMut can hold without …","","","","Clears the buffer, removing all data.","Clears the buffer, removing all data. Existing capacity is …","","","","","","","Creates Bytes instance from slice, by copying it.","","","","","","","","","","","","","","","","","","","","","","","","","","","Appends given bytes to this BytesMut.","","","","","","","Converts self into an immutable Bytes.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Creates a new Bytes from a static slice.","","","Calls U::from(self).","Calls U::from(self).","","","","","Returns true if the Bytes has a length of 0.","Returns true if the BytesMut has a length of 0.","Returns true if this is the only reference to the data.","Returns the number of bytes contained in this Bytes.","Returns the number of bytes contained in this BytesMut.","Creates a new empty Bytes.","Creates a new BytesMut with default capacity.","","","","","","","","","","","","","","","","","","","Reserves capacity for at least additional more bytes to be …","Resizes the buffer so that len is equal to new_len.","Sets the length of the buffer.","Returns a slice of self for the provided range.","Returns a slice of self that is equivalent to the given …","Returns the remaining spare capacity of the buffer as a …","Removes the bytes from the current view, returning them in …","Splits the bytes into two at the given index.","Splits the bytes into two at the given index.","Splits the bytes into two at the given index.","Splits the buffer into two at the given index.","","","Shortens the buffer, keeping the first len bytes and …","Shortens the buffer, keeping the first len bytes and …","","","","","","","Absorbs a BytesMut that was previously split off.","Creates a new BytesMut with the specified capacity.","","","Creates a new BytesMut, which is initialized with zero.","Read bytes from a buffer.","A trait for values that provide sequential write access to …","A Chain sequences two buffers.","Iterator over the bytes contained by the buffer.","A BufMut adapter which limits the amount of bytes that can …","A Buf adapter which implements io::Read for the inner …","A Buf adapter which limits the bytes read from an …","Uninitialized byte slice.","A BufMut adapter which implements io::Write for the inner …","Advance the internal cursor of the Buf","","","Advance the internal cursor of the BufMut","","","Return a raw pointer to the slice’s buffer.","Return a &mut [MaybeUninit<u8>] to this slice’s buffer.","","","","","","","","","","","","","","","Creates an adaptor which will chain this buffer with …","Creates an adaptor which will chain this buffer with …","Creates an adapter which will chain this buffer with …","Creates an adapter which will chain this buffer with …","Returns a slice starting at the current position and of …","","","Returns a mutable slice starting at the current BufMut …","","","Fills dst with potentially multiple slices starting at self…","Fills dst with potentially multiple slices starting at self…","","","Copies bytes from src into self.","Consumes len bytes inside self and returns new instance of …","Consumes len bytes inside self and returns new instance of …","","","Copies bytes from self into dst.","Copies bytes from self into dst.","","Gets a mutable reference to the first underlying Buf.","Gets a reference to the first underlying Buf.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create a &mut UninitSlice from a pointer and a length.","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 single-precision (4 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets an IEEE754 double-precision (8 bytes) floating point …","Gets a signed 128 bit integer from self in big-endian byte …","Gets a signed 128 bit integer from self in big-endian byte …","Gets a signed 128 bit integer from self in little-endian …","Gets a signed 128 bit integer from self in little-endian …","Gets a signed 128 bit integer from self in native-endian …","Gets a signed 128 bit integer from self in native-endian …","Gets a signed 16 bit integer from self in big-endian byte …","Gets a signed 16 bit integer from self in big-endian byte …","Gets a signed 16 bit integer from self in little-endian …","Gets a signed 16 bit integer from self in little-endian …","Gets a signed 16 bit integer from self in native-endian …","Gets a signed 16 bit integer from self in native-endian …","Gets a signed 32 bit integer from self in big-endian byte …","Gets a signed 32 bit integer from self in big-endian byte …","Gets a signed 32 bit integer from self in little-endian …","Gets a signed 32 bit integer from self in little-endian …","Gets a signed 32 bit integer from self in native-endian …","Gets a signed 32 bit integer from self in native-endian …","Gets a signed 64 bit integer from self in big-endian byte …","Gets a signed 64 bit integer from self in big-endian byte …","Gets a signed 64 bit integer from self in little-endian …","Gets a signed 64 bit integer from self in little-endian …","Gets a signed 64 bit integer from self in native-endian …","Gets a signed 64 bit integer from self in native-endian …","Gets a signed 8 bit integer from self.","Gets a signed 8 bit integer from self.","Gets a signed n-byte integer from self in big-endian byte …","Gets a signed n-byte integer from self in big-endian byte …","Gets a signed n-byte integer from self in little-endian …","Gets a signed n-byte integer from self in little-endian …","Gets a signed n-byte integer from self in native-endian …","Gets a signed n-byte integer from self in native-endian …","Gets a mutable reference to the underlying Buf.","Gets a mutable reference to the underlying BufMut.","Gets a mutable reference to the underlying Buf.","Gets a mutable reference to the underlying Buf.","Gets a mutable reference to the underlying BufMut.","Gets a reference to the underlying Buf.","Gets a reference to the underlying BufMut.","Gets a reference to the underlying Buf.","Gets a reference to the underlying Buf.","Gets a reference to the underlying BufMut.","Gets an unsigned 128 bit integer from self in big-endian …","Gets an unsigned 128 bit integer from self in big-endian …","Gets an unsigned 128 bit integer from self in …","Gets an unsigned 128 bit integer from self in …","Gets an unsigned 128 bit integer from self in …","Gets an unsigned 128 bit integer from self in …","Gets an unsigned 16 bit integer from self in big-endian …","Gets an unsigned 16 bit integer from self in big-endian …","Gets an unsigned 16 bit integer from self in little-endian …","Gets an unsigned 16 bit integer from self in little-endian …","Gets an unsigned 16 bit integer from self in native-endian …","Gets an unsigned 16 bit integer from self in native-endian …","Gets an unsigned 32 bit integer from self in the …","Gets an unsigned 32 bit integer from self in the …","Gets an unsigned 32 bit integer from self in the …","Gets an unsigned 32 bit integer from self in the …","Gets an unsigned 32 bit integer from self in native-endian …","Gets an unsigned 32 bit integer from self in native-endian …","Gets an unsigned 64 bit integer from self in big-endian …","Gets an unsigned 64 bit integer from self in big-endian …","Gets an unsigned 64 bit integer from self in little-endian …","Gets an unsigned 64 bit integer from self in little-endian …","Gets an unsigned 64 bit integer from self in native-endian …","Gets an unsigned 64 bit integer from self in native-endian …","Gets an unsigned 8 bit integer from self.","Gets an unsigned 8 bit integer from self.","Gets an unsigned n-byte integer from self in big-endian …","Gets an unsigned n-byte integer from self in big-endian …","Gets an unsigned n-byte integer from self in little-endian …","Gets an unsigned n-byte integer from self in little-endian …","Gets an unsigned n-byte integer from self in native-endian …","Gets an unsigned n-byte integer from self in native-endian …","Returns true if there are any more bytes to consume","Returns true if there are any more bytes to consume","Returns true if there is space in self for more bytes.","Returns true if there is space in self for more bytes.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Consumes this Chain, returning the underlying values.","Consumes this IntoIter, returning the underlying value.","Consumes this Limit, returning the underlying value.","Consumes this Reader, returning the underlying value.","Consumes this Take, returning the underlying value.","Consumes this Writer, returning the underlying value.","","","Gets a mutable reference to the last underlying Buf.","Gets a reference to the last underlying Buf.","Returns the number of bytes in the slice.","Creates an adaptor which can write at most limit bytes to …","Creates an adaptor which can write at most limit bytes to …","Returns the maximum number of bytes that can be written","Returns the maximum number of bytes that can be read.","Creates a &mut UninitSlice wrapping a slice of initialised …","Creates an iterator over the bytes contained by the buffer.","","Transfer bytes into self from src and advance the cursor …","Transfer bytes into self from src and advance the cursor …","Put cnt bytes val into self.","Put cnt bytes val into self.","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 single-precision (4 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes an IEEE754 double-precision (8 bytes) floating …","Writes a signed 128 bit integer to self in the big-endian …","Writes a signed 128 bit integer to self in the big-endian …","Writes a signed 128 bit integer to self in little-endian …","Writes a signed 128 bit integer to self in little-endian …","Writes a signed 128 bit integer to self in native-endian …","Writes a signed 128 bit integer to self in native-endian …","Writes a signed 16 bit integer to self in big-endian byte …","Writes a signed 16 bit integer to self in big-endian byte …","Writes a signed 16 bit integer to self in little-endian …","Writes a signed 16 bit integer to self in little-endian …","Writes a signed 16 bit integer to self in native-endian …","Writes a signed 16 bit integer to self in native-endian …","Writes a signed 32 bit integer to self in big-endian byte …","Writes a signed 32 bit integer to self in big-endian byte …","Writes a signed 32 bit integer to self in little-endian …","Writes a signed 32 bit integer to self in little-endian …","Writes a signed 32 bit integer to self in native-endian …","Writes a signed 32 bit integer to self in native-endian …","Writes a signed 64 bit integer to self in the big-endian …","Writes a signed 64 bit integer to self in the big-endian …","Writes a signed 64 bit integer to self in little-endian …","Writes a signed 64 bit integer to self in little-endian …","Writes a signed 64 bit integer to self in native-endian …","Writes a signed 64 bit integer to self in native-endian …","Writes a signed 8 bit integer to self.","Writes a signed 8 bit integer to self.","Writes low nbytes of a signed integer to self in …","Writes low nbytes of a signed integer to self in …","Writes low nbytes of a signed integer to self in …","Writes low nbytes of a signed integer to self in …","Writes low nbytes of a signed integer to self in …","Writes low nbytes of a signed integer to self in …","Transfer bytes into self from src and advance the cursor …","Transfer bytes into self from src and advance the cursor …","Writes an unsigned 128 bit integer to self in the …","Writes an unsigned 128 bit integer to self in the …","Writes an unsigned 128 bit integer to self in …","Writes an unsigned 128 bit integer to self in …","Writes an unsigned 128 bit integer to self in …","Writes an unsigned 128 bit integer to self in …","Writes an unsigned 16 bit integer to self in big-endian …","Writes an unsigned 16 bit integer to self in big-endian …","Writes an unsigned 16 bit integer to self in little-endian …","Writes an unsigned 16 bit integer to self in little-endian …","Writes an unsigned 16 bit integer to self in native-endian …","Writes an unsigned 16 bit integer to self in native-endian …","Writes an unsigned 32 bit integer to self in big-endian …","Writes an unsigned 32 bit integer to self in big-endian …","Writes an unsigned 32 bit integer to self in little-endian …","Writes an unsigned 32 bit integer to self in little-endian …","Writes an unsigned 32 bit integer to self in native-endian …","Writes an unsigned 32 bit integer to self in native-endian …","Writes an unsigned 64 bit integer to self in the …","Writes an unsigned 64 bit integer to self in the …","Writes an unsigned 64 bit integer to self in little-endian …","Writes an unsigned 64 bit integer to self in little-endian …","Writes an unsigned 64 bit integer to self in native-endian …","Writes an unsigned 64 bit integer to self in native-endian …","Writes an unsigned 8 bit integer to self.","Writes an unsigned 8 bit integer to self.","Writes an unsigned n-byte integer to self in big-endian …","Writes an unsigned n-byte integer to self in big-endian …","Writes an unsigned n-byte integer to self in the …","Writes an unsigned n-byte integer to self in the …","Writes an unsigned n-byte integer to self in the …","Writes an unsigned n-byte integer to self in the …","","Creates an adaptor which implements the Read trait for self…","Creates an adaptor which implements the Read trait for self…","Returns the number of bytes between the current position …","","","Returns the number of bytes that can be written from the …","","","Sets the maximum number of bytes that can be written.","Sets the maximum number of bytes that can be read.","","Creates an adaptor which will read at most limit bytes …","Creates an adaptor which will read at most limit bytes …","","","","","","","","","","","","","","","","","","","","Creates a &mut UninitSlice wrapping a slice of …","","Write a single byte at the specified offset.","Creates an adaptor which implements the Write trait for …","Creates an adaptor which implements the Write trait for …"],"i":[0,0,0,0,1,4,4,4,1,4,1,1,4,4,1,4,4,0,4,1,4,4,1,4,1,4,1,4,1,4,1,1,4,1,4,1,4,4,1,4,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,1,1,1,4,4,4,4,1,1,1,1,1,1,1,4,4,4,1,4,4,1,1,4,1,4,1,1,4,4,1,4,1,1,4,1,4,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,1,4,4,4,4,4,1,1,4,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,21,27,28,29,27,30,7,7,7,27,36,30,32,28,34,7,27,36,30,32,28,34,21,21,29,29,21,27,28,29,27,30,21,21,27,32,7,21,21,27,28,21,21,32,27,27,34,7,27,36,30,32,28,34,7,7,27,36,30,32,28,34,7,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,36,30,32,28,34,36,30,32,28,34,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,29,29,7,7,7,7,7,7,7,7,7,7,7,7,27,36,30,32,28,34,27,36,30,32,28,34,27,36,27,27,7,29,29,30,28,7,36,36,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,32,21,21,21,27,28,29,27,30,30,28,36,21,21,27,36,30,32,28,34,27,36,30,32,28,34,7,27,36,30,32,28,34,7,34,7,29,29],"f":"````{{bd}f}{{hd}f}0{h{{l{j}}}}{b{{l{j}}}}10{ce{}{}}20020`{hd}23{hn}{bf}{hf}{bb}{hh}{{ce}f{}{}}0{{bb}A`}{{hh}A`}{{{l{j}}}b}{{bd}b}{{hd}b}{{}b}{{}h}?{h{{l{j}}}}0<;{{bc}AbAd}{{bAf}Ab}{{b{Ah{j}}}Ab}{{bb}Ab}{{bAj}Ab}{{b{l{j}}}Ab}{{bh}Ab}{{hAf}Ab}{{hAj}Ab}{{hc}AbAd}{{hh}Ab}{{h{Ah{j}}}Ab}{{h{l{j}}}Ab}{{hb}Ab}{{hc}f{{An{}{{Al{j}}}}}}0{{hc}f{{An{}{{Al{b}}}}}}{{h{l{j}}}f}{{bB`}Bb}00{{hB`}Bb}00{hb}{{{Bd{{l{j}}}}}b}{{{Ah{j}}}b}{Ajb}{{{l{j}}}b}4{Afb}{cc{}}0{Ajh}{{{l{j}}}h}{cb{{An{}{{Al{j}}}}}}{ch{{An{}{{Al{j}}}}}}06{{bc}fBf}{{hc}fBf}{ce{}{}}0{bc{}}0{hc{}}0{bAb}{hAb}1{bd}{hd}{{}b}{{}h}{{bAf}{{Bh{A`}}}}{{b{l{j}}}{{Bh{A`}}}}{{bAj}{{Bh{A`}}}}{{bc}{{Bh{A`}}}Ad}{{bb}{{Bh{A`}}}}{{b{Ah{j}}}{{Bh{A`}}}}{{hAj}{{Bh{A`}}}}{{hh}{{Bh{A`}}}}{{hAf}{{Bh{A`}}}}{{hc}{{Bh{A`}}}Ad}{{h{l{j}}}{{Bh{A`}}}}{{h{Ah{j}}}{{Bh{A`}}}}{{hc}fBj}{{hjd}f}{{h{l{j}}}f}{bd}{hd}0{{hd}f}{{hdj}f}1{{bc}b{{Bl{d}}}}{{b{l{j}}}b}{h{{l{{Bn{j}}}}}}{hh}{{bd}b}{{hd}h}10{ce{}{}}0{{bd}f}9{c{{C`{e}}}{}{}}000{cCb{}}0{{hh}f}{dh}{{hCd}Bb}{{hAj}Bb}2`````````{{Bjd}f}{{{Cf{ce}}d}fBjBj}{{{Ch{c}}d}fBj}{{Cjd}f}{{{Cf{ce}}d}fCjCj}{{{Cl{c}}d}fCj}{nj}{n{{l{{Bn{j}}}}}}??????????????{{Bjc}{{Cf{Bjc}}}Bj}0{{Cjc}{{Cf{Cjc}}}Cj}0{Bj{{l{j}}}}{{{Cf{ce}}}{{l{j}}}BjBj}{{{Ch{c}}}{{l{j}}}Bj}{Cjn}{{{Cf{ce}}}nCjCj}{{{Cl{c}}}nCj}{{Bj{l{Cn}}}d}0{{{Cf{ce}}{l{Cn}}}dBjBj}{{{D`{c}}d}f{BjAd}}{{n{l{j}}}f}{{Bjd}b}0{{{Cf{ce}}d}bBjBj}{{{Ch{c}}d}bBj}{{Bj{l{j}}}f}0{{{D`{c}}}{{Db{{l{j}}}}}{BjAd}}{{{Cf{ce}}}c{}{}}0{{{Dd{c}}}{{Db{f}}}{CjAd}}{{nB`}Bb}{{{Cf{ce}}B`}BbDfDf}{{{Dh{c}}B`}BbDf}{{{Cl{c}}B`}BbDf}{{{D`{c}}B`}BbDf}{{{Ch{c}}B`}BbDf}{{{Dd{c}}B`}BbDf}{{{l{j}}}n}{{{l{{Bn{j}}}}}n}{cc{}}00000{{jd}n}{BjDj}00000{BjDl}00000{BjDn}00000{BjE`}00000{BjEb}00000{BjEd}00000{BjEf}0{{Bjd}Ed}00000{{{Dh{c}}}c{}}{{{Cl{c}}}c{}}{{{D`{c}}}cBj}{{{Ch{c}}}c{}}{{{Dd{c}}}cCj}43210{BjEh}00000{BjEj}00000{BjEl}00000{BjEn}00000{Bjj}0{{Bjd}En}00000{BjAb}0{CjAb}0{{nF`}n}{{n{Fb{d}}}n}{{n{Fd{d}}}n}{{n{Ff{d}}}n}{{n{Fh{d}}}n}{{n{Fj{d}}}n}324051{ce{}{}}00000{{{Cf{ce}}}{{Fl{ce}}}{}{}}{{{Dh{c}}}c{}}{{{Cl{c}}}c{}}{{{D`{c}}}cBj}{{{Ch{c}}}c{}}{{{Dd{c}}}cCj}{{{Cf{ce}}}gBjBj{}}7{{{Cf{ce}}}e{}{}}0{nd}{{Cjd}{{Cl{Cj}}}}0{{{Cl{c}}}d{}}{{{Ch{c}}}d{}}{{{l{j}}}n}{c{{Dh{c}}}{}}{{{Dh{c}}}{{Bh{j}}}Bj}{{Cjc}fBj}0{{Cjjd}f}0{{CjDj}f}00000{{CjDl}f}00000{{CjDn}f}00000{{CjE`}f}00000{{CjEb}f}00000{{CjEd}f}00000{{CjEf}f}0{{CjEdd}f}00000{{Cj{l{j}}}f}0{{CjEh}f}00000{{CjEj}f}00000{{CjEl}f}00000{{CjEn}f}00000{{Cjj}f}0{{CjEnd}f}00000{{{D`{c}}{l{j}}}{{Db{d}}}{BjAd}}{Bj{{D`{Bj}}}}0{Bjd}{{{Cf{ce}}}dBjBj}{{{Ch{c}}}dBj}{Cjd}{{{Cf{ce}}}dCjCj}{{{Cl{c}}}dCj}{{{Cl{c}}d}f{}}{{{Ch{c}}d}f{}}{{{Dh{c}}}{{Fl{d{Bh{d}}}}}Bj}{{Bjd}{{Ch{Bj}}}}0{c{{C`{e}}}{}{}}00000000000{cCb{}}000000{{{l{{Bn{j}}}}}n}{{{Dd{c}}{l{j}}}{{Db{d}}}{CjAd}}{{ndj}f}{Cj{{Dd{Cj}}}}0","c":[],"p":[[5,"Bytes",0],[1,"usize"],[1,"unit"],[5,"BytesMut",0],[1,"u8"],[1,"slice"],[5,"UninitSlice",138],[6,"Ordering",456],[1,"bool"],[10,"Sized",457],[5,"String",458],[5,"Vec",459],[1,"str"],[17,"Item"],[10,"IntoIterator",460],[5,"Formatter",461],[8,"Result",461],[5,"Box",462],[10,"Hasher",463],[6,"Option",464],[10,"Buf",138],[10,"RangeBounds",465],[20,"MaybeUninit",466],[6,"Result",467],[5,"TypeId",468],[5,"Arguments",461],[5,"Chain",138],[5,"Take",138],[10,"BufMut",138],[5,"Limit",138],[5,"IoSlice",469],[5,"Reader",138],[8,"Result",470],[5,"Writer",138],[10,"Debug",461],[5,"IntoIter",138],[1,"f32"],[1,"f64"],[1,"i128"],[1,"i16"],[1,"i32"],[1,"i64"],[1,"i8"],[1,"u128"],[1,"u16"],[1,"u32"],[1,"u64"],[5,"RangeFull",465],[5,"RangeInclusive",465],[5,"Range",465],[5,"RangeToInclusive",465],[5,"RangeFrom",465],[5,"RangeTo",465],[1,"tuple"]],"b":[[40,"impl-PartialEq%3C%26T%3E-for-Bytes"],[41,"impl-PartialEq%3CString%3E-for-Bytes"],[42,"impl-PartialEq%3CVec%3Cu8%3E%3E-for-Bytes"],[43,"impl-PartialEq-for-Bytes"],[44,"impl-PartialEq%3Cstr%3E-for-Bytes"],[45,"impl-PartialEq%3C%5Bu8%5D%3E-for-Bytes"],[46,"impl-PartialEq%3CBytesMut%3E-for-Bytes"],[47,"impl-PartialEq%3CString%3E-for-BytesMut"],[48,"impl-PartialEq%3Cstr%3E-for-BytesMut"],[49,"impl-PartialEq%3C%26T%3E-for-BytesMut"],[50,"impl-PartialEq-for-BytesMut"],[51,"impl-PartialEq%3CVec%3Cu8%3E%3E-for-BytesMut"],[52,"impl-PartialEq%3C%5Bu8%5D%3E-for-BytesMut"],[53,"impl-PartialEq%3CBytes%3E-for-BytesMut"],[54,"impl-Extend%3Cu8%3E-for-BytesMut"],[55,"impl-Extend%3C%26u8%3E-for-BytesMut"],[56,"impl-Extend%3CBytes%3E-for-BytesMut"],[58,"impl-Debug-for-Bytes"],[59,"impl-LowerHex-for-Bytes"],[60,"impl-UpperHex-for-Bytes"],[61,"impl-LowerHex-for-BytesMut"],[62,"impl-UpperHex-for-BytesMut"],[63,"impl-Debug-for-BytesMut"],[65,"impl-From%3CBox%3C%5Bu8%5D%3E%3E-for-Bytes"],[66,"impl-From%3CVec%3Cu8%3E%3E-for-Bytes"],[67,"impl-From%3C%26str%3E-for-Bytes"],[68,"impl-From%3C%26%5Bu8%5D%3E-for-Bytes"],[69,"impl-From%3CBytesMut%3E-for-Bytes"],[70,"impl-From%3CString%3E-for-Bytes"],[73,"impl-From%3C%26str%3E-for-BytesMut"],[74,"impl-From%3C%26%5Bu8%5D%3E-for-BytesMut"],[76,"impl-FromIterator%3Cu8%3E-for-BytesMut"],[77,"impl-FromIterator%3C%26u8%3E-for-BytesMut"],[83,"impl-IntoIterator-for-%26Bytes"],[84,"impl-IntoIterator-for-Bytes"],[85,"impl-IntoIterator-for-%26BytesMut"],[86,"impl-IntoIterator-for-BytesMut"],[94,"impl-PartialOrd%3CString%3E-for-Bytes"],[95,"impl-PartialOrd%3C%5Bu8%5D%3E-for-Bytes"],[96,"impl-PartialOrd%3Cstr%3E-for-Bytes"],[97,"impl-PartialOrd%3C%26T%3E-for-Bytes"],[98,"impl-PartialOrd-for-Bytes"],[99,"impl-PartialOrd%3CVec%3Cu8%3E%3E-for-Bytes"],[100,"impl-PartialOrd%3Cstr%3E-for-BytesMut"],[101,"impl-PartialOrd-for-BytesMut"],[102,"impl-PartialOrd%3CString%3E-for-BytesMut"],[103,"impl-PartialOrd%3C%26T%3E-for-BytesMut"],[104,"impl-PartialOrd%3C%5Bu8%5D%3E-for-BytesMut"],[105,"impl-PartialOrd%3CVec%3Cu8%3E%3E-for-BytesMut"],[201,"impl-From%3C%26mut+%5Bu8%5D%3E-for-%26mut+UninitSlice"],[202,"impl-From%3C%26mut+%5BMaybeUninit%3Cu8%3E%5D%3E-for-%26mut+UninitSlice"],[300,"impl-Index%3CRangeFull%3E-for-UninitSlice"],[301,"impl-Index%3CRangeInclusive%3Cusize%3E%3E-for-UninitSlice"],[302,"impl-Index%3CRange%3Cusize%3E%3E-for-UninitSlice"],[303,"impl-Index%3CRangeToInclusive%3Cusize%3E%3E-for-UninitSlice"],[304,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-UninitSlice"],[305,"impl-Index%3CRangeTo%3Cusize%3E%3E-for-UninitSlice"],[306,"impl-IndexMut%3CRange%3Cusize%3E%3E-for-UninitSlice"],[307,"impl-IndexMut%3CRangeToInclusive%3Cusize%3E%3E-for-UninitSlice"],[308,"impl-IndexMut%3CRangeInclusive%3Cusize%3E%3E-for-UninitSlice"],[309,"impl-IndexMut%3CRangeTo%3Cusize%3E%3E-for-UninitSlice"],[310,"impl-IndexMut%3CRangeFull%3E-for-UninitSlice"],[311,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-UninitSlice"]]}],\ ["cfg_if",{"doc":"A macro for defining #[cfg] if-else statements.","t":"Q","n":["cfg_if"],"q":[[0,"cfg_if"]],"d":["The main macro provided by this crate. See crate …"],"i":[0],"f":"`","c":[],"p":[],"b":[]}],\ ["clap",{"doc":"Command Line Argument Parser for Rust","t":"PPPFGFFKPGFKPPPPPPIPPKPPPPFPPKPPPKPPPKGPNNNNNNNNNNNNNNQNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNMQMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNQNNMNNNNNNNNNNNNPPFGFGFFFPPPPPTPFPPFPPPPPKPFFFFPRFFFFFPGTPPPFFFFFKPFPPPRGFKFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNPPFGTTPPPPPPPPPPTGPTTTTFFPTTTPPFPFTFFTPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGGPFPPPPFKGPPPPPPPPPFPPPPPPPPIFPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPPPFFGFPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["Always","AnyPath","Append","Arg","ArgAction","ArgGroup","ArgMatches","Args","Auto","ColorChoice","Command","CommandFactory","CommandName","CommandString","CommandWithArguments","Count","DirPath","EmailAddress","Error","ExecutablePath","FilePath","FromArgMatches","Help","HelpLong","HelpShort","Hostname","Id","Never","Other","Parser","Set","SetFalse","SetTrue","Subcommand","Unknown","Url","Username","ValueEnum","ValueHint","Version","about","action","after_help","after_long_help","alias","alias","aliases","aliases","allow_external_subcommands","allow_hyphen_values","allow_missing_positional","allow_negative_numbers","arg","arg","arg","arg_required_else_help","args","args","args_conflicts_with_subcommands","args_override_self","args_present","as_ref","as_str","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","author","before_help","before_long_help","bin_name","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","color","command","command","command_for_update","conflicts_with","conflicts_with","conflicts_with_all","conflicts_with_all","contains_id","debug_assert","default","default","default","default","default","default","default","default_missing_value","default_missing_value_os","default_missing_values","default_missing_values_os","default_value","default_value_if","default_value_ifs","default_values","defer","disable_colored_help","disable_help_flag","disable_help_subcommand","disable_version_flag","display_name","display_order","display_order","dont_delimit_trailing_values","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error","exclusive","external_subcommand_value_parser","find_subcommand","find_subcommand_mut","flatten_help","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","from_str","from_str","from_str","get_about","get_action","get_after_help","get_after_long_help","get_all_aliases","get_all_aliases","get_all_long_flag_aliases","get_all_short_aliases","get_all_short_flag_aliases","get_arg_conflicts_with","get_args","get_arguments","get_author","get_before_help","get_before_long_help","get_bin_name","get_color","get_count","get_default_values","get_display_name","get_external_subcommand_value_parser","get_flag","get_groups","get_help","get_help_heading","get_id","get_id","get_index","get_long","get_long_about","get_long_and_visible_aliases","get_long_flag","get_long_help","get_long_version","get_many","get_matches","get_matches_from","get_matches_mut","get_name","get_next_help_heading","get_num_args","get_occurrences","get_one","get_opts","get_positionals","get_possible_values","get_raw","get_raw_occurrences","get_short","get_short_and_visible_aliases","get_short_flag","get_styles","get_subcommand_help_heading","get_subcommand_value_name","get_subcommands","get_subcommands_mut","get_value_delimiter","get_value_hint","get_value_names","get_value_parser","get_value_terminator","get_version","get_visible_aliases","get_visible_aliases","get_visible_long_flag_aliases","get_visible_short_aliases","get_visible_short_flag_aliases","global","group","group","group_id","groups","groups","has_subcommand","has_subcommands","hash","hash","help","help_expected","help_heading","help_template","hide","hide","hide_default_value","hide_long_help","hide_possible_values","hide_possible_values","hide_short_help","id","id","ids","ignore_case","ignore_errors","index","index","index_of","indices_of","infer_long_args","infer_subcommands","into","into","into","into","into","into","into","into","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","is_allow_external_subcommands_set","is_allow_hyphen_values_set","is_allow_missing_positional_set","is_allow_negative_numbers_set","is_arg_required_else_help_set","is_args_conflicts_with_subcommands_set","is_disable_colored_help_set","is_disable_help_flag_set","is_disable_help_subcommand_set","is_disable_version_flag_set","is_dont_delimit_trailing_values_set","is_exclusive_set","is_flatten_help_set","is_global_set","is_hide_default_value_set","is_hide_long_help_set","is_hide_possible_values_set","is_hide_set","is_hide_set","is_hide_short_help_set","is_ignore_case_set","is_last_set","is_multicall_set","is_multiple","is_next_line_help_set","is_next_line_help_set","is_no_binary_name_set","is_positional","is_propagate_version_set","is_require_equals_set","is_required_set","is_required_set","is_subcommand_negates_reqs_set","is_subcommand_precedence_over_arg_set","is_subcommand_required_set","is_trailing_var_arg_set","last","long","long_about","long_flag","long_flag_alias","long_flag_aliases","long_help","long_version","max_term_width","multicall","multiple","mut_arg","mut_args","mut_group","mut_subcommand","name","new","new","new","next_display_order","next_help_heading","next_line_help","next_line_help","no_binary_name","num_args","override_help","override_usage","overrides_with","overrides_with_all","parse","parse_from","parser","partial_cmp","partial_cmp","possible_values","print_help","print_long_help","propagate_version","raw","remove_many","remove_occurrences","remove_one","remove_subcommand","render_help","render_long_help","render_long_version","render_usage","render_version","require_equals","required","required","required_if_eq","required_if_eq_all","required_if_eq_any","required_unless_present","required_unless_present_all","required_unless_present_any","requires","requires","requires_all","requires_if","requires_ifs","set_bin_name","short","short_alias","short_aliases","short_flag","short_flag_alias","short_flag_aliases","styles","subcommand","subcommand","subcommand_help_heading","subcommand_matches","subcommand_name","subcommand_negates_reqs","subcommand_precedence_over_arg","subcommand_required","subcommand_value_name","subcommands","takes_values","term_width","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_possible_value","to_possible_value","to_string","to_string","to_string","to_string","trailing_var_arg","try_contains_id","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_many","try_get_matches","try_get_matches_from","try_get_matches_from_mut","try_get_occurrences","try_get_one","try_get_raw","try_get_raw_occurrences","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_parse","try_parse_from","try_remove_many","try_remove_occurrences","try_remove_one","try_update_from","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from","update_from_arg_matches","update_from_arg_matches_mut","value_delimiter","value_hint","value_name","value_names","value_parser","value_parser","value_source","value_terminator","value_variants","value_variants","version","visible_alias","visible_alias","visible_aliases","visible_aliases","visible_long_flag_alias","visible_long_flag_aliases","visible_short_alias","visible_short_aliases","visible_short_flag_alias","visible_short_flag_aliases","AnyPath","Append","Arg","ArgAction","ArgGroup","ArgPredicate","BoolValueParser","BoolishValueParser","Command","CommandName","CommandString","CommandWithArguments","Count","DirPath","EMPTY","EmailAddress","EnumValueParser","Equals","ExecutablePath","FalseyValueParser","FilePath","Help","HelpLong","HelpShort","Hostname","IntoResettable","IsPresent","MapValueParser","NonEmptyStringValueParser","OsStr","OsStringValueParser","Other","Parser","PathBufValueParser","PossibleValue","PossibleValuesParser","RangedI64ValueParser","RangedU64ValueParser","Reset","Resettable","SINGLE","Set","SetFalse","SetTrue","Str","StringValueParser","StyledStr","Styles","TryMapValueParser","TypedValueParser","Unknown","UnknownArgumentValueParser","Url","Username","Value","Value","ValueHint","ValueParser","ValueParserFactory","ValueRange","Version","alias","aliases","and_suggest","ansi","as_os_str","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_str","bool","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","deref","end_bound","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_error","get_header","get_help","get_invalid","get_literal","get_name","get_name_and_aliases","get_placeholder","get_usage","get_valid","hash","hash","hash","hash","header","help","hide","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","into_resettable","invalid","is_hide_set","literal","map","matches","max_values","min_values","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","os_string","parse","parse","parse","parse","parse","parse","parse_","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref","parse_ref_","parse_ref_","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_buf","placeholder","plain","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","range","range","start_bound","string","styled","styling","suggest","suggest_arg","takes_values","to_os_string","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_map","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","usage","valid","value_parser","write_char","write_str","Ansi","Ansi256","Ansi256Color","AnsiColor","BLINK","BOLD","Black","Blue","BrightBlack","BrightBlue","BrightCyan","BrightGreen","BrightMagenta","BrightRed","BrightWhite","BrightYellow","CURLY_UNDERLINE","Color","Cyan","DASHED_UNDERLINE","DIMMED","DOTTED_UNDERLINE","DOUBLE_UNDERLINE","EffectIter","Effects","Green","HIDDEN","INVERT","ITALIC","Magenta","Red","Reset","Rgb","RgbColor","STRIKETHROUGH","Style","Styles","UNDERLINE","White","Yellow","b","bg_color","bitor","bitor","bitor_assign","bitor_assign","blink","bold","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bright","clear","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","contains","default","default","default","dimmed","effects","eq","eq","eq","eq","eq","eq","eq","eq","eq","fg_color","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ansi","g","get_bg_color","get_effects","get_fg_color","get_underline_color","hash","hash","hash","hash","hash","hash","hash","hidden","index","insert","into","into","into","into","into","into","into","into","into_ansi","into_iter","invert","is_bright","is_plain","is_plain","italic","iter","new","new","next","on","on","on","on","on_default","on_default","on_default","on_default","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","remove","render","render","render","render_bg","render_bg","render_bg","render_bg","render_fg","render_fg","render_fg","render_fg","render_reset","set","strikethrough","sub","sub","sub_assign","sub_assign","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","underline","underline_color","write_reset_to","write_to","ActualNumValues","ArgumentConflict","Bool","ContextKind","ContextValue","Custom","DefaultFormatter","DisplayHelp","DisplayHelpOnMissingArgumentOrSubcommand","DisplayVersion","Err","Error","ErrorFormatter","ErrorKind","ExpectedNumValues","Format","InvalidArg","InvalidSubcommand","InvalidSubcommand","InvalidUtf8","InvalidValue","InvalidValue","Io","KindFormatter","MinValues","MissingRequiredArgument","MissingSubcommand","NoEquals","None","Number","Ok","PriorArg","Result","RichFormatter","String","Strings","StyledStr","StyledStrs","Suggested","SuggestedArg","SuggestedCommand","SuggestedSubcommand","SuggestedValue","TooFewValues","TooManyValues","TrailingArg","UnknownArgument","Usage","ValidSubcommand","ValidValue","ValueValidation","WrongNumberOfValues","apply","as_str","as_str","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","context","eq","eq","eq","exit","exit_code","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","format","format_error","format_error","format_error","from","from","from","from","from","from","from","from","get","hash","hash","insert","into","into","into","into","into","into","kind","new","print","raw","render","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","use_stderr","with_cmd","ArgMatches","CommandLine","DefaultValue","Downcast","EnvVariable","IdsRef","Indices","MatchesError","RawValues","UnknownArgument","ValueSource","Values","ValuesRef","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","default","default","default","default","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","next","next","next","next","next","next_back","next_back","next_back","next_back","next_back","partial_cmp","size_hint","size_hint","size_hint","size_hint","size_hint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","actual","expected"],"q":[[0,"clap"],[500,"clap::builder"],[1039,"clap::builder::styling"],[1279,"clap::error"],[1421,"clap::parser"],[1540,"clap::parser::MatchesError"],[1542,"core::convert"],[1543,"core::iter::traits::collect"],[1544,"alloc::string"],[1545,"core::cmp"],[1546,"core::fmt"],[1547,"core::option"],[1548,"std::ffi::os_str"],[1549,"core::convert"],[1550,"alloc::vec"],[1551,"core::iter::traits::iterator"],[1552,"core::any"],[1553,"core::clone"],[1554,"core::marker"],[1555,"core::marker"],[1556,"clap_builder::parser::matches::arg_matches"],[1557,"core::ops::function"],[1558,"core::ops::function"],[1559,"clap_builder::parser::matches::arg_matches"],[1560,"core::convert"],[1561,"core::cmp"],[1562,"alloc::boxed"],[1563,"core::cmp"],[1564,"core::marker"]],"d":["Enables colored output regardless of whether or not the …","Any existing path.","When encountered, store the associated value(s) in …","The abstract representation of a command line argument. …","Behavior of arguments when they are encountered while …","Family of related arguments.","Container for parse results.","Parse a set of arguments into a user-defined container.","Enables colored output only when the output is going to a …","Represents the color preferences for program output","Build a command-line interface.","Create a Command relevant for a user-defined container.","Name of a command, without arguments. May be relative to …","A single string containing a command and its arguments.","Capture the remaining arguments as a command name and …","When encountered, increment a u8 counter","Path to a directory.","Email address.","Command Line Argument Parser Error","Path to an executable file.","Path to a file.","Converts an instance of ArgMatches to a user-defined …","When encountered, display Command::print_help","When encountered, display Command::print_long_help","When encountered, display Command::print_help","Host name of a computer. Shells usually parse /etc/hosts …","Arg or ArgGroup identifier","Disables colored output no matter if the output is going …","None of the hints below apply. Disables shell completion …","Parse command-line arguments into Self.","When encountered, store the associated value(s) in …","When encountered, act as if "false" was encountered on the …","When encountered, act as if "true" was encountered on the …","Parse a sub-command into a user-defined enum.","Default value if hint is not specified. Follows shell …","Complete web address.","Name of a local operating system user.","Parse arguments into enums.","Provide shell with hint on how to complete an argument.","When encountered, display Command::version","Sets the program’s description for the short help (-h).","Specify how to react to an argument when parsing it.","Free-form help text for after auto-generated short help (-h…","Free-form help text for after auto-generated long help (…","Add an alias, which functions as a hidden long flag.","Sets a hidden alias to this subcommand.","Add aliases, which function as hidden long flags.","Sets multiple hidden aliases to this subcommand.","Assume unexpected positional arguments are a subcommand.","Allows values which start with a leading hyphen (-)","Allows one to implement two styles of CLIs where …","Allows negative numbers to pass as values.","Adds an argument to this group by name","Adds an argument to the list of valid possibilities.","Create an Arg from a usage string.","Exit gracefully if no arguments are present (e.g. $ myprog…","Adds multiple arguments to this group by name","Adds multiple arguments to the list of valid possibilities.","Specifies that use of an argument prevents the use of …","Replace prior occurrences of arguments rather than error","Check if any args were present on the command line","","Get the raw string of the Id","Append to Command so it can instantiate Self.","Append to Command so it can update self.","Append to Command so it can instantiate Self.","Append to Command so it can update self.","Sets the author(s) for the help message.","Free-form help text for before auto-generated short help (…","Free-form help text for before auto-generated long help (…","Overrides the runtime-determined name of the binary for …","","","","","","","","","","","","","","","","","","Prepare for introspecting on all included Commands","Define Command line arguments","","","","","","","","","","","","","","","","","","","Sets when to color output.","Build a Command that can instantiate Self.","Requires cargo feature flag to be enabled.","Build a Command that can update self.","This argument is mutually exclusive with the specified …","Specify an argument or group that must not be present when …","This argument is mutually exclusive with the specified …","Specify arguments or groups that must not be present when …","Check if values are present for the argument or group id","Catch problems earlier in the development cycle.","","","","","","","","Value for the argument when the flag is present but no …","Value for the argument when the flag is present but no …","Value for the argument when the flag is present but no …","Value for the argument when the flag is present but no …","Value for the argument when not present.","Specifies the value of the argument if arg has been used …","Specifies multiple values and conditions in the same …","Value for the argument when not present.","Delay initialization for parts of the Command","Disables colorized help messages.","Disables -h and --help flag.","Disables the help subcommand.","Disables -V and --version flag.","Overrides the runtime-determined display name of the …","Allows custom ordering of args within the help message.","Set the placement of this subcommand within the help.","Disables the automatic delimiting of values after -- or …","","","","","","","","","","","Error reporting","Custom error message for post-parsing validation","This argument must be passed alone; it conflicts with all …","Specifies how to parse external subcommand arguments.","Find subcommand such that its name or one of aliases …","Find subcommand such that its name or one of aliases …","Flatten subcommand help into the current command’s help","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Instantiate Self from ArgMatches, parsing the arguments as …","Instantiate Self from ArgMatches, parsing the arguments as …","Parse an argument into Self.","","","Get the help message specified via Command::about.","Behavior when parsing the argument","Returns the help heading for listing subcommands.","Returns the help heading for listing subcommands.","Get all aliases for this argument, if any, both visible …","Iterate through the set of all the aliases for this …","Iterate through the set of all the long aliases for this …","Get all short aliases for this argument, if any, both …","Iterate through the set of all the short aliases for this …","Get a list of all arguments the given argument conflicts …","Getters for all args. It will return a vector of Id","Iterate through the set of arguments.","Get the authors of the cmd.","Returns the help heading for listing subcommands.","Returns the help heading for listing subcommands.","Get the name of the binary.","Should we color the output?","Gets the value of a specific ArgAction::Count flag","Get the default values specified for this argument, if any","Get the name of the binary.","Configured parser for values passed to an external …","Gets the value of a specific ArgAction::SetTrue or …","Iterate through the set of groups.","Get the help specified for this argument, if any","Get the help heading specified for this argument, if any","Get the name of the argument","Get the name of the group","Get the index of this argument, if any","Get the long option name for this argument, if any","Get the help message specified via Command::long_about.","Get the long option name and its visible aliases, if any","Get the long flag of the subcommand.","Get the long help specified for this argument, if any","Get the long version of the cmd.","Iterate over values of a specific option or positional …","Parse env::args_os, exiting on failure.","Parse the specified arguments, exiting on failure.","Parse env::args_os, exiting on failure.","Get the name of the cmd.","Get the custom section heading specified via …","Get the number of values for this argument.","Iterate over the values passed to each occurrence of an …","Gets the value of a specific option or positional argument.","Iterate through the options.","Iterate through the positionals arguments.","Get the names of possible values for this argument. Only …","Iterate over the original argument values.","Iterate over the original values for each occurrence of an …","Get the short option name for this argument, if any","Get the short option name and its visible aliases, if any","Get the short flag of the subcommand.","Return the current Styles for the Command","Returns the help heading for listing subcommands.","Returns the subcommand value name.","Iterate through the set of subcommands, getting a …","Iterate through the set of subcommands, getting a mutable …","Get the delimiter between multiple values","Get the value hint of this argument","Get the names of values for this argument.","Configured parser for argument values","Get the value terminator for this argument. The …","Get the version of the cmd.","Get visible aliases for this argument, if any","Iterate through the visible aliases for this subcommand.","Iterate through the visible long aliases for this …","Get visible short aliases for this argument, if any","Iterate through the visible short aliases for this …","Specifies that an argument can be matched to all child …","The name of the ArgGroup the argument belongs to.","Adds an ArgGroup to the application.","Report the ArgGroup::id for this set of arguments","The names of ArgGroup’s the argument belongs to.","Adds multiple ArgGroups to the Command at once.","Test whether Self can parse a specific subcommand","Returns true if this Command has subcommands.","","","Sets the description of the argument for short help (-h).","Panic if help descriptions are omitted.","Override the current help section.","Sets the help template to be used, overriding the default …","Do not display the argument in help message.","Specifies that this subcommand should be hidden from help …","Do not display the default value of the argument in the …","Hides an argument from long help (--help).","Do not display the possible values in the help message.","Tells clap not to print possible values when displaying …","Hides an argument from short help (-h).","Set the identifier used for referencing this argument in …","Sets the group name.","Iterate over Arg and ArgGroup Ids via ArgMatches::ids.","Match values against PossibleValuesParser without matching …","Try not to fail on parse errors, like missing option …","Specifies the index of a positional argument starting at 1.","","The first index of that an argument showed up.","All indices an argument appeared at when parsing.","Allow partial matches of long arguments or their aliases.","Allow partial matches of subcommand names and their aliases…","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","Report whether Command::allow_external_subcommands is set","Report whether Arg::allow_hyphen_values is set","Report whether Command::allow_missing_positional is set","Report whether Arg::allow_negative_numbers is set","Report whether Command::arg_required_else_help is set","Report whether Command::args_conflicts_with_subcommands is …","Report whether Command::disable_colored_help is set","Report whether Command::disable_help_flag is set","Report whether Command::disable_help_subcommand is set","Report whether Command::disable_version_flag is set","Report whether Command::dont_delimit_trailing_values is set","Reports whether Arg::exclusive is set","Get the custom section heading specified via …","Report whether Arg::global is set","Report whether Arg::hide_default_value is set","Report whether Arg::hide_long_help is set","Report whether Arg::hide_possible_values is set","Report whether Arg::hide is set","Report whether Command::hide is set","Report whether Arg::hide_short_help is set","Reports whether Arg::ignore_case is set","Reports whether Arg::last is set","Report whether Command::multicall is set","Return true if the group allows more than one of the …","Report whether Arg::next_line_help is set","Report whether Command::next_line_help is set","Report whether Command::no_binary_name is set","Checks whether this argument is a positional or not.","Report whether Command::propagate_version is set","Report whether Arg::require_equals is set","Reports whether Arg::required is set","Reports whether ArgGroup::required is set","Report whether Command::subcommand_negates_reqs is set","Report whether Command::subcommand_precedence_over_arg is …","Report whether Command::subcommand_required is set","Report whether Arg::trailing_var_arg is set","This arg is the last, or final, positional argument (i.e. …","Sets the long version of the argument without the …","Sets the program’s description for the long help (--help…","Sets the long version of the subcommand flag without the …","Add an alias, which functions as a “hidden” long flag …","Add aliases, which function as “hidden” long flag …","Sets the description of the argument for long help (--help…","Sets the version for the long version (--version) and help …","Limit the line length for wrapping help when using the …","Multiple-personality program dispatched on the binary name …","Allows more than one of the Args in this group to be used. …","Allows one to mutate an Arg after it’s been added to a …","Allows one to mutate all Args after they’ve been added …","Allows one to mutate an ArgGroup after it’s been added …","Allows one to mutate a Command after it’s been added as …","(Re)Sets the program’s name.","Create a new Arg with a unique name.","Create a ArgGroup using a unique name.","Creates a new instance of an Command.","Change the starting value for assigning future display …","Set the default section heading for future args.","Render the help on the line after the argument.","Places the help string for all arguments and subcommands …","Specifies that the parser should not assume the first …","Specifies the number of arguments parsed per occurrence","Overrides the clap generated help message (both -h and …","Overrides the clap generated usage string for help and …","Sets an overridable argument.","Sets multiple mutually overridable arguments by name.","Parse from std::env::args_os(), exit on error.","Parse from iterator, exit on error.","Command line argument parser","","","Report all possible_values","Prints the short help message (-h) to io::stdout().","Prints the long help message (--help) to io::stdout().","Specifies to use the version of the current command for …","Consume all following arguments.","Return values of a specific option or positional argument.","Return values for each occurrence of an option.","Returns the value of a specific option or positional …","Return the name and ArgMatches of the current subcommand.","Render the short help message (-h) to a StyledStr","Render the long help message (--help) to a StyledStr.","Version message rendered as if the user ran --version.","Usage statement","Version message rendered as if the user ran -V.","Requires that options use the --option=val syntax","Specifies that the argument must be present.","Require an argument from the group to be present when …","This argument is required only if the specified arg is …","Specify this argument is required based on multiple …","Specify this argument is required based on multiple …","Set this arg as required as long as the specified argument …","Sets this arg as required unless all of the specified …","Sets this arg as required unless any of the specified …","Sets an argument that is required when this one is present","Specify an argument or group that must be present when …","Specify arguments or groups that must be present when this …","Require another argument if this arg matches the …","Allows multiple conditional requirements.","Set binary name. Uses &mut self instead of self.","Sets the short version of the argument without the …","Add an alias, which functions as a hidden short flag.","Add aliases, which functions as a hidden short flag.","Sets the short version of the subcommand flag without the …","Add an alias, which functions as “hidden” short flag …","Add aliases, which function as “hidden” short flag …","Sets the Styles for terminal output","Adds a subcommand to the list of valid possibilities.","The name and ArgMatches of the current subcommand.","Sets the help heading used for subcommands when printing …","The ArgMatches for the current subcommand.","The name of the current subcommand.","Allows subcommands to override all requirements of the …","Prevent subcommands from being consumed as an arguments …","If no subcommand is present at runtime, error and exit …","Sets the value name used for subcommands when printing …","Adds multiple subcommands to the list of valid …","Returns whether this action accepts values on the …","Sets the terminal width at which to wrap help messages.","","","","","","","","","The canonical argument value.","","","","","","This is a “VarArg” and everything that follows should …","Non-panicking version of ArgMatches::contains_id","","","","","","","","","Non-panicking version of ArgMatches::get_many","Parse env::args_os, returning a clap::Result on failure.","Parse the specified arguments, returning a clap::Result on …","Parse the specified arguments, returning a clap::Result on …","Non-panicking version of ArgMatches::get_occurrences","Non-panicking version of ArgMatches::get_one","Non-panicking version of ArgMatches::get_raw","Non-panicking version of ArgMatches::get_raw_occurrences","","","","","","","","","Parse from std::env::args_os(), return Err on error.","Parse from iterator, return Err on error.","Non-panicking version of ArgMatches::remove_many","Non-panicking version of ArgMatches::remove_occurrences","Non-panicking version of ArgMatches::remove_one","Update from iterator, return Err on error.","","","","","","","","","Update from iterator, exit on error.","Assign values from ArgMatches to self.","Assign values from ArgMatches to self.","Allow grouping of multiple values via a delimiter.","Provide the shell a hint about how to complete this …","Placeholder for the argument’s value in the help message …","Placeholders for the argument’s values in the help …","Specify the typed behavior of the argument.","Select a ValueParser implementation from the intended type","Report where argument value came from","Sentinel to stop parsing multiple values of a given …","All possible argument values, in display order.","","Sets the version for the short version (-V) and help …","Add an alias, which functions as a visible long flag.","Sets a visible alias to this subcommand.","Add aliases, which function as visible long flags.","Sets multiple visible aliases to this subcommand.","Add an alias, which functions as a “visible” long flag …","Add aliases, which function as visible long flag …","Add an alias, which functions as a visible short flag.","Add aliases, which function as visible short flags.","Add an alias, which functions as “visible” short flag …","Add aliases, which function as visible short flag …","Any existing path.","When encountered, store the associated value(s) in …","The abstract representation of a command line argument. …","Behavior of arguments when they are encountered while …","Family of related arguments.","Operations to perform on argument values","Implementation for ValueParser::bool","Parse bool-like string values, everything else is true","Build a command-line interface.","Name of a command, without arguments. May be relative to …","A single string containing a command and its arguments.","Capture the remaining arguments as a command name and …","When encountered, increment a u8 counter","Path to a directory.","Nor argument values, or a flag","Email address.","Parse an ValueEnum value.","Does the argument match the specified value?","Path to an executable file.","Parse false-like string values, everything else is true","Path to a file.","When encountered, display Command::print_help","When encountered, display Command::print_long_help","When encountered, display Command::print_help","Host name of a computer. Shells usually parse /etc/hosts …","Convert to the intended resettable type","Is the argument present?","Adapt a TypedValueParser from one value to another","Parse non-empty string values","A UTF-8-encoded fixed string","Implementation for ValueParser::os_string","None of the hints below apply. Disables shell completion …","Generated parser, usually ValueParser.","Implementation for ValueParser::path_buf","A possible value of an argument.","Verify the value is from an enumerated set of PossibleValue…","Parse number that fall within a range of values","Parse number that fall within a range of values","Reset builder value","Clearable builder value","A single argument value, the most common case for options","When encountered, store the associated value(s) in …","When encountered, act as if "false" was encountered on the …","When encountered, act as if "true" was encountered on the …","A UTF-8-encoded fixed string","Implementation for ValueParser::string","Terminal-styling container","Terminal styling definitions","Adapt a TypedValueParser from one value to another","Parse/validate argument values","Default value if hint is not specified. Follows shell …","When encountered, report ErrorKind::UnknownArgument","Complete web address.","Name of a local operating system user.","Overwrite builder value","Argument’s value type","Provide shell with hint on how to complete an argument.","Parse/validate argument values","Register a type with value_parser!","Values per occurrence for an argument","When encountered, display Command::version","Sets a hidden alias for this argument value.","Sets multiple hidden aliases for this argument value.","Extend the suggestions","Display using ANSI Escape Code styling","Get the raw string as an std::ffi::OsStr","","","","","","","Get the raw string of the Str","bool parser for argument values","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Error heading","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Error heading","General Heading style, e.g. help_heading","Get the help specified for this argument, if any","Highlight invalid usage","Literal command-line syntax, e.g. --help","Get the name of the argument value","Returns all valid values of the argument value.","Descriptions within command-line syntax, e.g. value_name","Usage heading","Highlight suggested usage","","","","","General Heading style, e.g. help_heading","Sets the help description of the value.","Hides this value from help and shell completions.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Convert to the intended resettable type","","","","","","","","","","","","","","","","","","","","","","","","Highlight invalid usage","Report if PossibleValue::hide is set","Literal command-line syntax, e.g. --help","Adapt a TypedValueParser from one value to another","Tests if the value is valid for this argument value","Most number of values the argument accepts","Fewest number of values the argument accepts","Custom parser for argument values","Create a PossibleValue with its name.","Create a range","Create an empty buffer","Implementation for ValueParser::string","Implementation for ValueParser::os_string","Implementation for ValueParser::path_buf","Parse an ValueEnum","Verify the value is from an enumerated set of PossibleValue…","Select full range of i64","Select full range of u64","Implementation for ValueParser::bool","Parse false-like string values, everything else is true","Parse bool-like string values, everything else is true","Parse non-empty string values","OsString parser for argument values","Parse the argument value","","","","","","Parse the argument value","Parse the argument value","","","","","","","","","","","","","","","Parse the argument value","","","","","","PathBuf parser for argument values","Descriptions within command-line syntax, e.g. value_name","No terminal styling","Reflect on enumerated value properties","Reflect on enumerated value properties","","","","","","","","Narrow the supported range","Narrow the supported range","","String parser for argument values","Default terminal styling","Terminal Styles for help and error output","Provide a general suggestion","Suggest an alternative argument","Report whether the argument takes any values (ie is a flag)","Get the raw string as an OsString","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Adapt a TypedValueParser from one value to another","Describes the content of AnyValue","","","","","","","","","","","","","","","","","","","","","","","","Usage heading","Highlight suggested usage","Create the specified Self::Parser","","","Available 4-bit ANSI color palette codes","256 (8-bit) color support","256 (8-bit) color support","Available 4-bit ANSI color palette codes","","","Black: #0 (foreground code 30, background code 40).","Blue: #4 (foreground code 34, background code 44).","Bright black: #0 (foreground code 90, background code 100).","Bright blue: #4 (foreground code 94, background code 104).","Bright cyan: #6 (foreground code 96, background code 106).","Bright green: #2 (foreground code 92, background code 102).","Bright magenta: #5 (foreground code 95, background code 105…","Bright red: #1 (foreground code 91, background code 101).","Bright white: #7 (foreground code 97, background code 107).","Bright yellow: #3 (foreground code 93, background code 103…","","Any ANSI color code scheme","Cyan: #6 (foreground code 36, background code 46).","","","","","Enumerate each enabled value in Effects","A set of text effects","Green: #2 (foreground code 32, background code 42).","","Swap foreground and background colors; inconsistent …","Not widely supported. Sometimes treated as inverse or blink","Magenta: #5 (foreground code 35, background code 45).","Red: #1 (foreground code 31, background code 41).","Reset terminal formatting","24-bit ANSI RGB color codes","24-bit ANSI RGB color codes","Characters legible but marked as if for deletion. Not …","ANSI Text styling","Terminal styling definitions","Style extensions exist for Kitty, VTE, mintty and iTerm2.","White: #7 (foreground code 37, background code 47).","Yellow: #3 (foreground code 33, background code 43).","Blue","Set background color","","","","","Apply blink effect","Apply bold effect","","","","","","","","","","","","","","","","","Change the color to/from bright","Reset all effects in-place","","","","","","","","","","","","","","","","","","","","","","","","Returns true if all of the effects in other are contained …","","","","Apply dimmed effect","Set text effects","","","","","","","","","","Set foreground color","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Losslessly convert from AnsiColor","Green","Get the background color","","Get the foreground color","","","","","","","","","Apply hidden effect","Get the raw value","Inserts the specified effects in-place.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Convert to AnsiColor when there is a 1:1 mapping","","Apply invert effect","Report whether the color is bright","Check if no effects are enabled","Check if no styling is enabled","Apply italic effect","Iterate over enabled effects","No effects enabled","No effects enabled","","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","Create a Style with this as the foreground","","","","","","","","Red","Removes the specified effects in-place.","Render the ANSI code","Render the ANSI code","Render the ANSI code","Render the ANSI code for a background color","Render the ANSI code for a background color","Render the ANSI code for a background color","Render the ANSI code for a background color","Render the ANSI code for a foreground color","Render the ANSI code for a foreground color","Render the ANSI code for a foreground color","Render the ANSI code for a foreground color","Renders the relevant Reset code","Enable or disable the specified effects depending on the …","Apply strikethrough effect","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Apply underline effect","Set underline color","Write the relevant Reset code","Write the ANSI code","Number of values present","Occurs when the user provides two values which conflict …","A single value","Semantics for a piece of error information","A piece of error information","An opaque message to the user","Richly formatted error context","Not a true “error” as it means --help or similar was …","Occurs when either an argument or a Subcommand is …","Not a true “error” as it means --version or similar …","Contains the error value","Command Line Argument Parser Error","Defines how to format an error for displaying to the user","Command line argument parser kind of error","Number of allowed values","Represents a Format error (which is a part of Display). …","The cause of the error","The cause of the error","Occurs when the user provides an unrecognized Subcommand …","Occurs when the user provides a value containing invalid …","Rejected values","Occurs when an Arg has a set of possible values, and the …","Represents an I/O error. Can occur when writing to stderr …","Report ErrorKind","Minimum number of allowed values","Occurs when the user does not provide one or more required …","Occurs when a subcommand is required (as defined by …","Occurs when the user doesn’t use equals for an option …","ContextKind is self-sufficient, no additional information …","A single value","Contains the success value","Existing arguments","Short hand for Result type","Richly formatted error context","A single value","Many values","A single value","many value","Potential fix for the user","Potential fix for the user","Potential fix for the user","Potential fix for the user","Potential fix for the user","Occurs when the user provides fewer values for an argument …","Occurs when a user provides more values for an argument …","Trailing argument","Occurs when a user provides a flag, option, argument or …","A usage string","Accepted subcommands","Accepted values","Occurs when the user provides a value for an argument with …","Occurs when the user provides a different number of values …","Apply an alternative formatter to the error","End-user description of the error case, where relevant","End-user description of the error case, where relevant","","","","","","","","","","","","","","","","","","","Additional information to further qualify the error","","","","Prints the error and exits.","Returns the exit code that .exit will exit the process …","","","","","","","","","Format the existing message with the Command’s context","Stylize the error for the terminal","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Lookup a piece of context","","","Insert a piece of context","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Type of error for programmatic processing","Create an error with a pre-defined message","Prints formatted and colored error to stdout or stderr …","Create an unformatted error","Render the error message to a StyledStr.","","","","","","","","","","","","","","","","","","","","","","","","","","","Should the message be written to stdout or not?","Apply Command’s formatting to the error","Container for parse results.","Value was passed in on the command-line","Value came Arg::default_value","Failed to downcast AnyValue to the specified type","Value came [Arg::env][crate::Arg::env]","Iterate over Arg and ArgGroup Ids via ArgMatches::ids.","Iterate over indices for where an argument appeared when …","Violation of ArgMatches assumptions","Iterate over raw argument values via ArgMatches::get_raw.","Argument not defined in Command","Origin of the argument’s value","Iterate over multiple values for an argument via …","Iterate over multiple values for an argument via …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type for value stored in ArgMatches","The target type to downcast to"],"i":[18,17,5,0,0,0,0,0,18,0,0,0,17,17,17,5,17,17,0,17,17,0,5,5,5,17,0,18,17,0,5,5,5,0,17,17,17,0,0,5,1,4,1,1,4,1,4,1,1,4,1,4,11,1,0,1,11,1,1,1,13,12,12,122,122,123,123,1,1,1,1,5,4,11,1,17,13,12,12,18,5,4,11,1,17,13,12,18,1,0,5,4,11,1,17,13,12,18,5,4,11,1,17,13,12,18,4,12,1,124,0,124,4,11,4,11,13,1,4,11,1,17,13,12,18,4,4,4,4,4,4,4,4,1,1,1,1,1,1,4,1,1,4,11,17,13,12,12,12,12,12,18,0,1,4,1,1,1,1,5,4,4,11,1,1,17,13,12,12,18,18,5,4,4,11,11,1,1,17,13,12,12,12,12,12,12,18,36,36,37,17,18,1,4,1,1,4,1,1,4,1,1,11,1,1,1,1,1,1,13,4,1,1,13,1,4,4,4,11,4,4,1,4,1,4,1,13,1,1,1,1,1,4,13,13,1,1,4,13,13,4,4,1,1,1,1,1,1,4,4,4,4,4,1,4,1,1,4,1,4,4,1,122,4,1,123,1,17,12,4,1,4,1,4,1,4,4,4,1,4,4,11,13,4,1,4,1,13,13,1,1,5,4,11,1,17,13,12,18,5,17,12,12,12,1,4,1,4,1,1,1,1,1,1,1,4,1,4,4,4,4,4,1,4,4,4,1,11,4,1,1,4,1,4,4,11,1,1,1,4,4,4,1,1,1,1,4,1,1,1,11,1,1,1,1,1,4,11,1,1,1,4,1,1,4,1,1,4,4,61,61,0,4,12,18,1,1,1,4,13,13,13,13,1,1,1,1,1,4,4,11,4,4,4,4,4,4,4,11,11,4,4,1,4,4,4,1,1,1,1,1,13,1,13,13,1,1,1,1,1,5,1,5,4,11,1,17,13,12,18,37,18,4,1,12,18,4,13,5,4,11,1,17,13,12,18,13,1,1,1,13,13,13,13,5,4,11,1,17,13,12,18,61,61,13,13,13,61,5,4,11,1,17,13,12,18,61,36,36,4,4,4,4,4,0,13,4,37,18,1,4,1,4,1,1,1,4,4,1,1,17,5,0,0,0,0,0,0,0,17,17,17,5,17,49,17,0,21,17,0,17,5,5,5,17,0,21,0,0,0,0,17,125,0,0,0,0,0,58,0,49,5,5,5,0,0,0,0,0,0,17,0,17,17,58,93,0,0,0,0,5,51,51,68,2,20,20,20,6,6,6,6,6,29,29,21,20,20,51,49,58,6,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,20,58,6,2,20,51,49,6,2,2,70,71,72,73,75,78,80,81,82,83,54,54,20,6,49,21,20,20,20,20,20,20,51,49,58,6,6,6,6,6,6,6,2,54,29,21,20,51,49,49,58,6,6,2,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,29,29,29,29,29,29,29,29,29,29,21,21,20,20,20,20,20,20,20,20,51,51,49,49,49,49,49,49,49,49,58,58,58,58,6,6,6,6,6,2,2,2,2,2,70,71,72,73,74,74,75,75,78,78,80,81,82,83,84,85,68,54,54,54,51,54,54,51,51,54,54,54,20,49,58,6,54,51,51,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,3,29,20,49,58,6,6,6,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,51,54,93,51,49,49,29,51,49,2,70,71,72,73,74,75,78,80,81,82,83,29,93,70,71,72,74,84,93,93,70,71,72,73,74,75,78,80,81,82,83,84,85,68,93,68,20,58,6,2,29,54,54,29,93,73,74,80,81,82,84,85,75,78,49,29,54,0,68,68,49,20,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,49,6,2,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,93,29,29,21,20,51,49,58,6,2,70,71,72,73,74,75,78,80,81,82,83,84,85,68,54,54,54,125,2,2,109,109,0,0,110,110,111,111,111,111,111,111,111,111,111,111,110,0,111,110,110,110,110,0,0,111,110,110,110,111,111,0,109,0,110,0,0,110,111,111,108,89,110,89,110,89,89,89,109,111,112,108,110,113,114,89,109,111,112,108,110,113,114,89,111,110,109,111,112,108,110,113,114,89,109,111,112,108,110,113,114,89,109,111,112,108,110,114,89,110,110,114,89,89,89,109,111,112,108,110,113,114,89,89,89,109,111,112,108,110,113,114,114,89,89,109,109,109,109,109,109,111,112,112,112,108,108,110,113,114,89,89,112,108,89,89,89,89,109,111,112,108,110,114,89,89,112,110,109,111,112,108,110,113,114,89,112,113,89,111,110,89,89,110,110,89,113,109,111,112,108,109,111,112,108,109,111,112,108,110,114,89,108,110,110,114,89,109,111,112,108,109,111,112,108,89,110,89,110,89,110,89,109,111,112,108,110,113,114,89,114,89,109,111,112,108,110,113,114,89,109,111,112,108,110,113,114,89,109,111,112,108,110,113,114,89,89,89,89,89,118,26,119,0,0,118,0,26,26,26,126,0,0,0,118,26,118,118,26,26,118,26,26,0,118,26,26,26,119,119,126,118,0,0,119,119,119,119,118,118,118,118,118,26,26,118,26,118,118,118,26,26,27,118,26,121,127,27,118,119,26,121,127,27,118,119,26,118,119,26,118,119,26,27,118,119,26,27,27,27,27,118,118,119,119,26,26,27,117,121,127,121,127,27,27,27,118,119,26,27,118,26,27,121,127,27,118,119,26,27,27,27,27,27,27,118,119,26,27,118,119,26,121,127,27,118,119,26,121,127,27,118,119,26,121,127,27,118,119,26,27,27,0,67,67,65,67,0,0,0,0,65,0,0,0,65,56,63,43,52,57,67,65,56,63,43,52,57,67,65,56,63,43,52,57,67,65,56,63,43,52,57,67,67,63,43,52,57,67,65,65,56,63,43,52,57,67,65,56,63,43,52,57,67,65,56,63,43,52,57,67,56,63,43,52,57,56,63,43,52,57,56,63,43,52,57,67,56,63,43,52,57,65,56,63,43,52,57,67,65,65,56,63,43,52,57,67,65,56,63,43,52,57,67,65,56,63,43,52,57,67,128,128],"f":"````````````````````````````````````````{{bc}b{{f{d}}}}{{hc}h{{f{j}}}}11{{hc}h{{f{l}}}}{{bc}b{{f{l}}}}{{he}h{{n{l}}}{{Ab{}{{A`{c}}}}}}{{be}b{{n{l}}}{{Ab{}{{A`{c}}}}}}{{bAd}b}{{hAd}h}10{{Afc}Af{{f{Ah}}}}{{bc}b{{n{h}}}}`3{{Afe}Af{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{be}b{{n{h}}}{{Ab{}{{A`{c}}}}}}55{AjAd}{AhAl}0{bb}000;>>{{bc}b{{f{An}}}}{ce{}{}}0000030000000000{bB`}`{jj}{hh}{AfAf}6{BbBb}{AjAj}{AhAh}{BdBd}{{ce}B`{}{}}0000000{{hh}Bf}{{AhAh}Bf}{{bBd}b}{{}b}`0{{hc}h{{f{Ah}}}}{{Afc}Af{{f{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{Afe}Af{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{AjAl}Ad}{bB`}{{}h}{{}Af}8{{}Bb}{{}Aj}{{}Ah}{{}Bd}{{hc}h{{f{Bh}}}}{{hc}h{{n{Bh}}}}{{he}h{{n{Bh}}}{{Ab{}{{A`{c}}}}}}02{{hceg}h{{n{Ah}}}{{n{Bj}}}{{f{Bh}}}}{{hi}h{{n{Ah}}}{{n{Bj}}}{{f{Bh}}}{{Ab{}{{A`{{Bl{ceg}}}}}}}}2{{b{C`{b}{{Bn{b}}}}}b}{{bAd}b}000{{bc}b{{f{An}}}}{{hc}h{{f{Cb}}}}{{bc}b{{f{Cb}}}}3{{hh}Ad}{{AfAf}Ad}{{BbBb}Ad}{{AjAj}Ad}{{AhAh}Ad}{{AhAl}Ad}{{Ahl}Ad}1{{AhAn}Ad}{{BdBd}Ad}`{{bCdc}CfCh}{{hAd}h}{{bc}b{{f{Cj}}}}{{bc}{{Cl{b}}}{{D`{Cn}}}}0{{bAd}b}{{jDb}{{Df{B`Dd}}}}{{hDb}{{Df{B`Dd}}}}0{{AfDb}{{Df{B`Dd}}}}{{bDb}{{Df{B`Dd}}}}0{{BbDb}{{Df{B`Dd}}}}{{AjDb}{{Df{B`Dd}}}}{{AhDb}{{Df{B`Dd}}}}0{{BdDb}{{Df{B`Dd}}}}0{cc{}}{hh}11{AfAf}{bb}333{AhAh}{lAh}{AlAh}6106{Aj{{Df{DhCf}}}}0{{AlAd}{{Df{DjAn}}}}{Al{{Df{Bb}}}}{Al{{Df{Bd}}}}{b{{Cl{d}}}}{hj}11{h{{Cl{{Dl{Al}}}}}}{b{{`{{Dn{}{{A`{Al}}}}}}}}0{h{{Cl{{Dl{E`}}}}}}{b{{`{{Dn{}{{A`{E`}}}}}}}}{{bh}{{Dl{h}}}}{Af{{`{{Dn{}{{A`{Ah}}}}}}}}{b{{`{{Dn{}{{A`{h}}}}}}}}{b{{Cl{Al}}}}990{bBd}{{AjAl}Eb}{h{{Ed{Bh}}}}3{b{{Cl{Cj}}}}{{AjAl}Ad}{b{{`{{Dn{}{{A`{Af}}}}}}}}{h{{Cl{d}}}}{h{{Cl{Al}}}}{hAh}{AfAh}{h{{Cl{Cb}}}}3{b{{Cl{d}}}}{h{{Cl{{Dl{Al}}}}}}=6={{AjAl}{{Cl{{Ef{c}}}}}{EhEjElEn}}{bAj}{{be}Aj{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}1{bAl}{b{{Cl{Al}}}}{h{{Cl{Fb}}}}{{AjAl}{{Cl{{Fd{c}}}}}{EhEjElEn}}{{AjAl}{{Cl{c}}}{EhEjElEn}}{b{{`{{Dn{}{{A`{h}}}}}}}}0{h{{Dl{Ff}}}}{{AjAl}{{Cl{Fh}}}}{{AjAl}{{Cl{Fj}}}}{h{{Cl{E`}}}}{h{{Cl{{Dl{E`}}}}}}{b{{Cl{E`}}}}{bFl};;{b{{`{{Dn{}{{A`{b}}}}}}}}04{hBb}{h{{Cl{{Ed{l}}}}}}{hCj}{h{{Cl{l}}}}{b{{Cl{Al}}}}{h{{Cl{{Dl{Al}}}}}}{b{{`{{Dn{}{{A`{Al}}}}}}}}0:{b{{`{{Dn{}{{A`{E`}}}}}}}}{{hAd}h}{{hc}h{{f{Ah}}}}{{bc}b{{n{Af}}}}{{}{{Cl{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{be}b{{n{Af}}}{{Ab{}{{A`{c}}}}}}{AlAd}{bAd}{{Bbc}B`Fn}{{Ahc}B`Fn}{{hc}h{{f{d}}}}{{bAd}b}{{hc}h{{f{l}}}}{{bc}b{{f{d}}}}=2===2={{hc}h{{n{Ah}}}}{{Afc}Af{{n{Ah}}}}{AjG`}{{hAd}h}6{{hc}h{{f{Cb}}}}{{bAh}}{{AjAl}{{Cl{Cb}}}}{{AjAl}{{Cl{Gb}}}}::{ce{}{}}0000000{j{{Gd{j}}}}{Bb{{Gd{Bb}}}}{c{{Gd{Ah}}}{}}{c{{Gd{l}}}{}}{c{{Gd{An}}}{}}{bAd}{hAd}101111111010000010001{AfAd}122121102221={{hc}h{{f{l}}}}{{bc}b{{f{d}}}}{{bc}b{{n{l}}}}{{bc}b{{f{l}}}}{{be}b{{n{l}}}{{Ab{}{{A`{c}}}}}}{{hc}h{{f{d}}}}2{{bCb}b}{{bAd}b}{{AfAd}Af}{{bce}b{{D`{Al}}}{{Gf{h}{{Bn{h}}}}}}{{bc}b{{Gh{h}{{Bn{h}}}}}}{{bce}b{{D`{Al}}}{{Gf{Af}{{Bn{Af}}}}}}{{bce}b{{D`{Al}}}{{Gf{b}{{Bn{b}}}}}}:{ch{{n{Ah}}}}{cAf{{n{Ah}}}}{cb{{n{l}}}}{{bc}b{{f{Cb}}}}={{hAd}h}::{{hc}h{{f{Fb}}}}{{bc}b{{f{d}}}}0{{hc}h{{f{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{}Gj}{eGj{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}`{{hh}{{Cl{Bf}}}}{{AhAh}{{Cl{Bf}}}}{{}{{`{{Dn{}{{A`{Ff}}}}}}}}{b{{Df{B`Gl}}}}0{{bAd}b};{{AjAl}{{Cl{{Gn{c}}}}}{EhEjElEn}}{{AjAl}{{Cl{{H`{c}}}}}{EhEjElEn}}{{AjAl}{{Cl{c}}}{EhEjElEn}}{Aj{{Cl{{Bl{AnAj}}}}}}{bd}0{bAn}10{{hAd}h}0{{AfAd}Af}{{hce}h{{n{Ah}}}{{n{Bh}}}}{{hg}h{{n{Ah}}}{{n{Bh}}}{{Ab{}{{A`{{Bl{ce}}}}}}}}0{{hc}h{{f{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}01{{Afc}Af{{f{Ah}}}}{{Afe}Af{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{hce}h{{n{Bj}}}{{n{Ah}}}}{{hg}h{{n{Bj}}}{{n{Ah}}}{{Ab{}{{A`{{Bl{ce}}}}}}}}{{bc}B`{{n{An}}}}{{hc}h{{f{E`}}}}0{{hc}h{{Ab{}{{A`{E`}}}}}}{{bc}b{{f{E`}}}}0{{bc}b{{Ab{}{{A`{E`}}}}}}{{bFl}b}{{bc}b{{n{b}}}}{Aj{{Cl{{Bl{AlAj}}}}}}{{bc}b{{f{l}}}}{{AjAl}{{Cl{Aj}}}}{Aj{{Cl{Al}}}}{{bAd}b}003{{be}b{{n{b}}}{{Ab{}{{A`{c}}}}}}{jAd}{{bCb}b}{ce{}{}}0000000{Dj{{Cl{Ff}}}}{Bd{{Cl{Ff}}}}{cAn{}}000{{hAd}h}{{AjAl}{{Df{AdHb}}}}{c{{Df{e}}}{}{}}0000000{{AjAl}{{Df{{Cl{{Ef{c}}}}Hb}}}{EhEjElEn}}{b{{Df{AjCf}}}}{{be}{{Df{AjCf}}}{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}0{{AjAl}{{Df{{Cl{{Fd{c}}}}Hb}}}{EhEjElEn}}{{AjAl}{{Df{{Cl{c}}Hb}}}{EhEjElEn}}{{AjAl}{{Df{{Cl{Fh}}Hb}}}}{{AjAl}{{Df{{Cl{Fj}}Hb}}}}77777777{{}{{Df{GjCf}}}}{e{{Df{GjCf}}}{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}{{AjAl}{{Df{{Cl{{Gn{c}}}}Hb}}}{EhEjElEn}}{{AjAl}{{Df{{Cl{{H`{c}}}}Hb}}}{EhEjElEn}}6{{Gje}{{Df{B`Cf}}}{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}{cHd{}}0000000{{Gje}B`{{n{F`}}Ej}{{Ab{}{{A`{c}}}}}}{{DhAj}{{Df{B`Cf}}}}0{{hc}h{{f{E`}}}}{{hc}h{{f{Bb}}}}{{hc}h{{f{l}}}}{{he}h{{n{l}}}{{Ab{}{{A`{c}}}}}}{{hc}h{{f{Cj}}}}`{{AjAl}{{Cl{Hf}}}}3{{}{{Ed{Dj}}}}{{}{{Ed{Bd}}}}{{bc}b{{f{l}}}}605{{be}b{{n{l}}}{{Ab{}{{A`{c}}}}}}109{{hc}h{{Ab{}{{A`{E`}}}}}}{{bc}b{{f{E`}}}}{{bc}b{{Ab{}{{A`{E`}}}}}}`````````````````````````````````````````````````````````````{{Ffc}Ff{{f{l}}}}{{Ffe}Ff{{n{l}}}{{Ab{}{{A`{c}}}}}}{{Hhc}Hh{{n{d}}}}{d{{`{Ch}}}}{BhCn}0{BhHj}{lCn}{l{{Ed{Eb}}}}{lAl}{lHj}1{{}Cj}{ce{}{}}00700003000000000000000000000000000000000000000{CjCj}{BjBj}{BhBh}{FfFf}{FbFb}{{{Gd{c}}}{{Gd{c}}}Ej}{ll}{dd}{HlHl}{HnHn}{I`I`}{{{Ib{c}}}{{Ib{c}}}{EjDjEjElEn}}{IdId}{{{If{c}}}{{If{c}}}{Ej{Ij{Ih}}EjElEn}}{{{Il{c}}}{{Il{c}}}{Ej{Ij{In}}}}{J`J`}{JbJb}{JdJd}{JfJf}{{{Jh{ce}}}{{Jh{ce}}}EjEj}{{{Jj{ce}}}{{Jj{ce}}}EjEj}{HhHh}{FlFl}{{ce}B`{}{}}0000000000000000000000{{BhBh}Bf}{{{Gd{c}}{Gd{c}}}BfJl}{{ll}Bf}{{dd}Bf}{{}Bh}{{}Ff}{{}Fb}{{}l}{{}d}0{{}Hl}{{}Hn}{{}I`}{{}{{Ib{c}}}{DjEjElEn}}{{}{{If{c}}}{{Ij{Ih}}EjElEn}}{{}{{Il{c}}}{{Ij{In}}}}{{}J`}{{}Jb}{{}Jd}{{}Jf}{{}Fl}0{BhCn}{lAl}{Fb{{Jn{Cb}}}}{{BjBj}Ad}{{BhBh}Ad}{{BhF`}Ad}{{BhAn}Ad}{{BhCn}Ad}{{BhAl}Ad}0{{FfFf}Ad}{{FbFb}Ad}{{{Gd{c}}{Gd{c}}}AdK`}{{lAh}Ad}{{ll}Ad}{{lCn}Ad}{{lAl}Ad}0{{lAn}Ad}2{{dd}Ad}{{FlKb}Fl}{{CjDb}{{Df{B`Dd}}}}{{BjDb}{{Df{B`Dd}}}}{{BhDb}{{Df{B`Dd}}}}{{FfDb}{{Df{B`Dd}}}}{{FbDb}{{Df{B`Dd}}}}0{{{Gd{c}}Db}{{Df{B`Dd}}}Kd}{{lDb}{{Df{B`Dd}}}}0{{dDb}{{Df{B`Dd}}}}0{{HlDb}{{Df{B`Dd}}}}{{HnDb}{{Df{B`Dd}}}}{{I`Db}{{Df{B`Dd}}}}{{{Ib{c}}Db}{{Df{B`Dd}}}{KdDjEjElEn}}{{IdDb}{{Df{B`Dd}}}}{{{If{c}}Db}{{Df{B`Dd}}}{Kd{Ij{Ih}}EjElEn}}{{{Il{c}}Db}{{Df{B`Dd}}}{Kd{Ij{In}}}}{{J`Db}{{Df{B`Dd}}}}{{JbDb}{{Df{B`Dd}}}}{{JdDb}{{Df{B`Dd}}}}{{JfDb}{{Df{B`Dd}}}}{{{Jh{ce}}Db}{{Df{B`Dd}}}KdKd}{{{Jj{ce}}Db}{{Df{B`Dd}}}KdKd}{{HhDb}{{Df{B`Dd}}}}{{FlDb}{{Df{B`Dd}}}}{{{Kf{Ih}}}Cj}{{{Dl{c}}}Cj{{n{Ff}}}}{{{Kh{Ih}}}Cj}{cc{}}{cCj{KjElEn}}{{{Kl{Ih}}}Cj}{{{Kn{Ih}}}Cj}{{{L`{Ih}}}Cj}{LbCj}{{{Ld{c}}}Cj{{n{Ff}}}}6{cBj{{n{Bh}}}}{lBh}{BhBh}{AlBh}2{CnBh}0;1;{cFf{{n{l}}}}{{{Kn{Cb}}}Fb}={{{L`{Cb}}}Fb}{LbFb}{{{Kl{Cb}}}Fb}{{{Kf{Cb}}}Fb}{CbFb}{{{Kh{Cb}}}Fb}{{{Cl{c}}}{{Gd{c}}}{}}{cc{}}{c{{Gd{c}}}{}}{Lfc{}}{Ahl}3{ll}{All}0{And}{Ald}70177777{eId{{n{Ff}}}{{Ab{}{{A`{c}}}}}}8{c{{If{e}}}{{Lh{Ih}}}{{Ij{Ih}}EjElEn}}9{c{{Il{e}}}{{Lh{In}}}{{Ij{In}}}}::::::::{FlKb}0{Ff{{Cl{d}}}}11{FfAl}{Ff{{`{{Dn{}{{A`{Al}}}}}}}}333{{Bhc}B`Fn}{{Fbc}B`Fn}{{{Gd{c}}e}B`LjFn}{{lc}B`Fn}{{FlKb}Fl}{{Ffc}Ff{{f{d}}}}{{FfAd}Ff}{ce{}{}}0000000000000000000000{f{{Gd{c}}}{}}{c{{Gd{Cj}}}{}}{c{{Gd{Bh}}}{}}{c{{Gd{Fb}}}{}}{{{Gd{c}}}{{Gd{c}}}{}}{c{{Gd{l}}}{}}3{c{{Gd{An}}}{}}{c{{Gd{Ah}}}{}}{c{{Gd{d}}}{}}77777777777777<{FfAd}={{{Kj{}{{Ll{c}}}}g}{{Jh{{Kj{}{{Ll{c}}}}g}}}{ElEnEj}{ElEnEj}{{Ln{c}{{Bn{e}}}}Ej}}{{FfAlAd}Ad}{FbCb}0{cCjKj}{cFf{{n{l}}}}{cFb{{n{Fb}}}}{{}d}{{}Hl}{{}Hn}{{}I`}{{}{{Ib{c}}}{DjEjElEn}}{cId{{n{Id}}}}{{}{{If{c}}}{{Ij{Ih}}EjElEn}}{{}{{Il{c}}}{{Ij{In}}}}{{}J`}{{}Jb}{{}Jd}{{}Jf}{{}Cj}{{{Kj{}{{Ll{c}}}}b{Cl{h}}F`}{{Df{cCf}}}{ElEnEj}}{{Hlb{Cl{h}}F`}{{Df{Cf}}}}{{Hnb{Cl{h}}F`}{{Df{Cf}}}}{{I`b{Cl{h}}F`}{{Df{Cf}}}}{{Idb{Cl{h}}F`}{{Df{AnCf}}}}{{{Jh{cg}}b{Cl{h}}F`}{{Df{Cf}}}Kj{ElEnEj}{{Ln{}{{Bn{e}}}}EjElEn}}{{{Kj{}{{Ll{c}}}}b{Cl{h}}F`Hf}{{Df{cCf}}}{ElEnEj}}{{{Kj{}{{Ll{c}}}}b{Cl{h}}Cn}{{Df{cCf}}}{ElEnEj}}{{Hlb{Cl{h}}Cn}{{Df{Cf}}}}{{Hnb{Cl{h}}Cn}{{Df{Cf}}}}{{I`b{Cl{h}}Cn}{{Df{Cf}}}}{{{Ib{c}}b{Cl{h}}Cn}{{Df{Cf}}}{DjEjElEn}}{{Idb{Cl{h}}Cn}{{Df{Cf}}}}{{{If{c}}b{Cl{h}}Cn}{{Df{Cf}}}{{Ij{Ih}}EjElEn}}{{{Il{c}}b{Cl{h}}Cn}{{Df{Cf}}}{{Ij{In}}EjElEn}}{{J`b{Cl{h}}Cn}{{Df{Cf}}}}{{Jbb{Cl{h}}Cn}{{Df{Cf}}}}{{Jdb{Cl{h}}Cn}{{Df{Cf}}}}{{Jfb{Cl{h}}Cn}{{Df{Cf}}}}{{{Jh{cg}}b{Cl{h}}Cn}{{Df{Cf}}}Kj{ElEnEj}{{Ln{}{{Bn{e}}}}EjElEn}}{{{Jj{ci}}b{Cl{h}}Cn}{{Df{Cf}}}Kj{ElEnEj}{{n{{Mb{M`}}}}}{{Ln{}{{Bn{{Df{eg}}}}}}EjElEn}}{{Hhb{Cl{h}}Cn}{{Df{Cf}}}}{{{Kj{}{{Ll{c}}}}b{Cl{h}}CnHf}{{Df{cCf}}}{ElEnEj}}{{Hhb{Cl{h}}CnHf}{{Df{Cf}}}}{{BhBh}{{Cl{Bf}}}}{{{Gd{c}}{Gd{c}}}{{Cl{Bf}}}Md}{{ll}{{Cl{Bf}}}}{{dd}{{Cl{Bf}}}}{{}Cj}{{FlKb}Fl}{{}Fl}{Cj{{Cl{{Mb{Dn}}}}}}{{{Kj{}{{Ll{c}}}}}{{Cl{{Mb{Dn}}}}}{ElEnEj}}{{{Ib{c}}}{{Cl{{Mb{Dn}}}}}{DjEjElEn}}{Id{{Cl{{Mb{Dn}}}}}}{J`{{Cl{{Mb{Dn}}}}}}{Jb{{Cl{{Mb{Dn}}}}}}{Jd{{Cl{{Mb{Dn}}}}}}{{{Jh{cg}}}{{Cl{{Mb{Dn}}}}}Kj{ElEnEj}{{Ln{}{{Bn{e}}}}EjElEn}}{{{Jj{ci}}}{{Cl{{Mb{Dn}}}}}Kj{ElEnEj}{{n{{Mb{M`}}}}}{{Ln{}{{Bn{{Df{eg}}}}}}EjElEn}}{{{If{c}}e}{{If{c}}}{{Ij{Ih}}EjElEn}{{Lh{Ih}}}}{{{Il{c}}e}{{Il{c}}}{{Ij{In}}}{{Lh{In}}}}{Fb{{Jn{Cb}}}}><`{cHh{{n{d}}}}{cHh{{n{l}}}}{FbAd}{BhF`}{ce{}{}}0000000000000000000000{cAn{}}00{c{{Df{e}}}{}{}}000000000000000000000000000000000000000000000{{{Kj{}{{Ll{c}}}}i}{{Jj{{Kj{}{{Ll{c}}}}i}}}{ElEnEj}{ElEnEj}{{n{{Mb{M`}}}}}{{Ln{c}{{Bn{{Df{eg}}}}}}EjElEn}}{CjMf}{cHd{}}0000000000000000000000{{FlKb}Fl}0{{}c{}}{{dE`}{{Df{B`Dd}}}}{{dAl}{{Df{B`Dd}}}}````````````````````````````````````````{MhEb}{{Kb{Cl{Mj}}}Kb}{{MlMl}Ml}{{KbMl}Kb}{{MlMl}B`}{{KbMl}B`}{KbKb}0{ce{}{}}000000000000000{{MnAd}Mn}{MlMl}{MjMj}{MnMn}{N`N`}{MhMh}4{NbNb}{NdNd}9{{ce}B`{}{}}0000000{{MjMj}Bf}{{MnMn}Bf}{{N`N`}Bf}{{MhMh}Bf}{{MlMl}Bf}{{NdNd}Bf}{{KbKb}Bf}{{MlMl}Ad}{{}Ml}{{}Nd}{{}Kb}{KbKb}{{KbMl}Kb}{{MjMj}Ad}{{MnMn}Ad}{{N`N`}Ad}{{MhMh}Ad}9{{NbNb}Ad}{{NdNd}Ad}{{KbMl}Ad}{{KbKb}Ad}{{Kb{Cl{Mj}}}Kb}{{MjDb}{{Df{B`Dd}}}}{{MnDb}{{Df{B`Dd}}}}{{N`Db}{{Df{B`Dd}}}}{{MhDb}{{Df{B`Dd}}}}{{MlDb}{{Df{B`Dd}}}}{{NbDb}{{Df{B`Dd}}}}{{NdDb}{{Df{B`Dd}}}}0{{KbDb}{{Df{B`Dd}}}}0{MnMj}{cc{}}{N`Mj}{EbMj}{{{Bl{EbEbEb}}}Mj}{MhMj}4{EbN`}{MnN`}6{{{Bl{EbEbEb}}}Mh}7777{MlKb}82{MhEb}{Kb{{Cl{Mj}}}}{KbMl}11{{Mjc}B`Fn}{{Mnc}B`Fn}{{N`c}B`Fn}{{Mhc}B`Fn}{{Mlc}B`Fn}{{Ndc}B`Fn}{{Kbc}B`Fn}{KbKb}{N`Eb}{{MlMl}Ml}{ce{}{}}0000000{N`{{Cl{Mn}}}}14{MnAd}{MlAd}{KbAd}7{MlNb}{{}Ml}{{}Kb}{NbCl}{{Mjc}Kb{{n{Mj}}}}{{Mnc}Kb{{n{Mj}}}}{{N`c}Kb{{n{Mj}}}}{{Mhc}Kb{{n{Mj}}}}{MjKb}{MnKb}{N`Kb}{MhKb}{{MjMj}{{Cl{Bf}}}}{{MnMn}{{Cl{Bf}}}}{{N`N`}{{Cl{Bf}}}}{{MhMh}{{Cl{Bf}}}}{{MlMl}{{Cl{Bf}}}}{{NdNd}{{Cl{Bf}}}}{{KbKb}{{Cl{Bf}}}}{MhEb}{{MlMl}Ml}{Ml{{`{ChNf}}}}{Nd{{`{ChNf}}}}{Kb{{`{ChNf}}}}{Mj{{`{ChNf}}}}{Mn{{`{ChNf}}}}{N`{{`{ChNf}}}}{Mh{{`{ChNf}}}}32104{{MlMlAd}Ml}{KbKb}9{{KbMl}Kb}{{MlMl}B`}{{KbMl}B`}{ce{}{}}0000000{cAn{}}0{c{{Df{e}}}{}{}}000000000000000{cHd{}}00000007{{Kb{Cl{Mj}}}Kb}{{KbNh}{{Df{B`Gl}}}}0````````````````````````````````````````````````````{{{Cf{c}}}{{Cf{e}}}NjNj}{Nl{{Cl{Al}}}}{Cd{{Cl{Al}}}}888888888888{NlNl}{NnNn}{CdCd}{{ce}B`{}{}}00{{{Cf{c}}}{{`{{Dn{}{{A`{{Bl{NlNn}}}}}}}}}Nj}{{NlNl}Ad}{{NnNn}Ad}{{CdCd}Ad}{{{Cf{c}}}LfNj}{{{Cf{c}}}O`Nj}{{{Cf{c}}Db}{{Df{B`Dd}}}Nj}0{{NlDb}{{Df{B`Dd}}}}0{{NnDb}{{Df{B`Dd}}}}0{{CdDb}{{Df{B`Dd}}}}0{{{Cf{c}}b}{{Cf{c}}}Nj}{{{Cf{Nj}}}d}{{{Cf{Ob}}}d}{Cfd}{cc{}}00{Dd{{Cf{c}}}Nj}{Gl{{Cf{c}}}Nj}222{{{Cf{c}}Nl}{{Cl{Nn}}}Nj}{{Nlc}B`Fn}{{Cdc}B`Fn}{{{Cf{c}}NlNn}{{Cl{Nn}}}Nj}{ce{}{}}00000{{{Cf{c}}}CdNj}{Cd{{Cf{c}}}Nj}{{{Cf{c}}}{{Df{B`Gl}}}Nj}{{Cdc}{{Cf{e}}}ChNj}{{{Cf{c}}}dNj}{{{Cf{c}}}{{Cl{M`}}}Nj}666{cAn{}}000{c{{Df{e}}}{}{}}00000000000{cHd{}}00000{{{Cf{c}}}AdNj}{{{Cf{c}}b}{{Cf{c}}}Nj}`````````````;;;;;;;;;;;;;;{HbHb}{G`G`}{{{Gn{c}}}{{Gn{c}}}Ej}{{{Ef{c}}}{{Ef{c}}}Ej}{FhFh}{GbGb}{HfHf}{{ce}B`{}{}}000000{{HfHf}Bf}{{}{{Gn{c}}}{}}{{}{{Ef{c}}}{}}{{}Fh}{{}Gb}{{HfHf}Ad}{{HbDb}{{Df{B`Dd}}}}0{{G`Db}{{Df{B`Dd}}}}{{{Gn{c}}Db}{{Df{B`Dd}}}Kd}{{{Ef{c}}Db}{{Df{B`Dd}}}Kd}{{FhDb}{{Df{B`Dd}}}}{{GbDb}{{Df{B`Dd}}}}{{HfDb}{{Df{B`Dd}}}}{cc{}}000000{ce{}{}}00000000000{G`{{Cl{Ah}}}}{{{Gn{c}}}Cl{}}{{{Ef{c}}}Cl{}}{Fh{{Cl{Cn}}}}{Gb{{Cl{Cb}}}}43210{{HfHf}{{Cl{Bf}}}}{G`{{Bl{Cb{Cl{Cb}}}}}}{{{Gn{c}}}{{Bl{Cb{Cl{Cb}}}}}{}}{{{Ef{c}}}{{Bl{Cb{Cl{Cb}}}}}{}}{Fh{{Bl{Cb{Cl{Cb}}}}}}{Gb{{Bl{Cb{Cl{Cb}}}}}};;;;;;;{cAn{}}{c{{Df{e}}}{}{}}0000000000000{cHd{}}000000``","c":[],"p":[[5,"Command",0],[5,"StyledStr",500],[10,"IntoResettable",500],[5,"Arg",0],[6,"ArgAction",0],[5,"Str",500],[10,"Into",1542],[17,"Item"],[10,"IntoIterator",1543],[1,"bool"],[5,"ArgGroup",0],[5,"Id",0],[5,"ArgMatches",0],[1,"str"],[5,"String",1544],[1,"unit"],[6,"ValueHint",0],[6,"ColorChoice",0],[6,"Ordering",1545],[5,"OsStr",500],[6,"ArgPredicate",500],[1,"tuple"],[17,"Output"],[1,"fn"],[1,"usize"],[6,"ErrorKind",1279],[5,"Error",1279],[10,"Display",1546],[5,"ValueParser",500],[6,"Option",1547],[5,"OsStr",1548],[10,"AsRef",1542],[5,"Formatter",1546],[5,"Error",1546],[6,"Result",1549],[10,"FromArgMatches",0],[10,"ValueEnum",0],[5,"Vec",1550],[10,"Iterator",1551],[1,"char"],[1,"u8"],[1,"slice"],[5,"ValuesRef",1421],[10,"Any",1552],[10,"Clone",1553],[10,"Send",1554],[10,"Sync",1554],[5,"OsString",1548],[5,"ValueRange",500],[5,"OccurrencesRef",1555],[5,"PossibleValue",500],[5,"RawValues",1421],[5,"RawOccurrences",1555],[5,"Styles",500],[10,"Hasher",1556],[5,"IdsRef",1421],[5,"Indices",1421],[6,"Resettable",500],[10,"FnOnce",1557],[10,"FnMut",1557],[10,"Parser",0],[5,"Error",1558],[5,"Values",1421],[5,"Occurrences",1555],[6,"MatchesError",1421],[5,"TypeId",1552],[6,"ValueSource",1421],[5,"UnknownArgumentValueParser",500],[5,"Path",1559],[5,"StringValueParser",500],[5,"OsStringValueParser",500],[5,"PathBufValueParser",500],[5,"EnumValueParser",500],[5,"PossibleValuesParser",500],[5,"RangedI64ValueParser",500],[1,"i64"],[10,"TryFrom",1542],[5,"RangedU64ValueParser",500],[1,"u64"],[5,"BoolValueParser",500],[5,"FalseyValueParser",500],[5,"BoolishValueParser",500],[5,"NonEmptyStringValueParser",500],[5,"MapValueParser",500],[5,"TryMapValueParser",500],[10,"Ord",1545],[6,"Bound",1560],[10,"PartialEq",1545],[5,"Style",1039],[10,"Debug",1546],[5,"RangeToInclusive",1560],[5,"Range",1560],[10,"TypedValueParser",500],[5,"RangeFrom",1560],[5,"RangeInclusive",1560],[5,"RangeTo",1560],[5,"RangeFull",1560],[1,"array"],[1,"never"],[10,"RangeBounds",1560],[10,"Hash",1556],[17,"Value"],[10,"Fn",1557],[10,"Error",1561],[5,"Box",1562],[10,"PartialOrd",1545],[5,"AnyValueId",1563],[5,"RgbColor",1039],[6,"Color",1039],[5,"Effects",1039],[6,"AnsiColor",1039],[5,"Ansi256Color",1039],[5,"EffectIter",1039],[5,"Reset",1039],[10,"Copy",1554],[10,"Write",1564],[10,"ErrorFormatter",1279],[6,"ContextKind",1279],[6,"ContextValue",1279],[1,"i32"],[5,"KindFormatter",1279],[10,"Args",0],[10,"Subcommand",0],[10,"CommandFactory",0],[10,"ValueParserFactory",500],[8,"Result",1279],[5,"DefaultFormatter",1279],[15,"Downcast",1540]],"b":[[146,"impl-PartialEq-for-Id"],[147,"impl-PartialEq%3C%26str%3E-for-Id"],[148,"impl-PartialEq%3CStr%3E-for-Id"],[149,"impl-PartialEq%3Cstr%3E-for-Id"],[150,"impl-PartialEq%3CString%3E-for-Id"],[160,"impl-Debug-for-Arg"],[161,"impl-Display-for-Arg"],[163,"impl-Display-for-Command"],[164,"impl-Debug-for-Command"],[167,"impl-Debug-for-Id"],[168,"impl-Display-for-Id"],[169,"impl-Debug-for-ColorChoice"],[170,"impl-Display-for-ColorChoice"],[180,"impl-From%3C%26Id%3E-for-Id"],[181,"impl-From%3C%26Str%3E-for-Id"],[182,"impl-From%3C%26str%3E-for-Id"],[184,"impl-From%3CStr%3E-for-Id"],[185,"impl-From%3C%26%26str%3E-for-Id"],[566,"impl-AsRef%3COsStr%3E-for-OsStr"],[567,"impl-AsRef%3CPath%3E-for-OsStr"],[568,"impl-AsRef%3COsStr%3E-for-Str"],[569,"impl-AsRef%3C%5Bu8%5D%3E-for-Str"],[570,"impl-AsRef%3Cstr%3E-for-Str"],[571,"impl-AsRef%3CPath%3E-for-Str"],[676,"impl-Default-for-StyledStr"],[677,"impl-Default-for-%26StyledStr"],[688,"impl-Default-for-Styles"],[689,"impl-Default-for-%26Styles"],[694,"impl-PartialEq-for-OsStr"],[695,"impl-PartialEq%3COsString%3E-for-OsStr"],[696,"impl-PartialEq%3CString%3E-for-OsStr"],[697,"impl-PartialEq%3C%26OsStr%3E-for-OsStr"],[698,"impl-PartialEq%3C%26str%3E-for-OsStr"],[699,"impl-PartialEq%3Cstr%3E-for-OsStr"],[703,"impl-PartialEq%3CId%3E-for-Str"],[704,"impl-PartialEq-for-Str"],[705,"impl-PartialEq%3COsStr%3E-for-Str"],[706,"impl-PartialEq%3Cstr%3E-for-Str"],[707,"impl-PartialEq%3C%26str%3E-for-Str"],[708,"impl-PartialEq%3CString%3E-for-Str"],[709,"impl-PartialEq%3C%26OsStr%3E-for-Str"],[716,"impl-Debug-for-ValueRange"],[717,"impl-Display-for-ValueRange"],[719,"impl-Display-for-Str"],[720,"impl-Debug-for-Str"],[721,"impl-Display-for-StyledStr"],[722,"impl-Debug-for-StyledStr"],[738,"impl-From%3CRangeToInclusive%3Ci64%3E%3E-for-ValueParser"],[739,"impl-From%3CVec%3CP%3E%3E-for-ValueParser"],[740,"impl-From%3CRange%3Ci64%3E%3E-for-ValueParser"],[742,"impl-From%3CP%3E-for-ValueParser"],[743,"impl-From%3CRangeFrom%3Ci64%3E%3E-for-ValueParser"],[744,"impl-From%3CRangeInclusive%3Ci64%3E%3E-for-ValueParser"],[745,"impl-From%3CRangeTo%3Ci64%3E%3E-for-ValueParser"],[746,"impl-From%3CRangeFull%3E-for-ValueParser"],[747,"impl-From%3C%5BP;+C%5D%3E-for-ValueParser"],[750,"impl-From%3CStr%3E-for-OsStr"],[751,"impl-From%3C%26OsStr%3E-for-OsStr"],[752,"impl-From%3C%26%26str%3E-for-OsStr"],[753,"impl-From%3C%26Str%3E-for-OsStr"],[754,"impl-From%3C%26OsStr%3E-for-OsStr"],[755,"impl-From%3C%26%26OsStr%3E-for-OsStr"],[757,"impl-From%3C%26str%3E-for-OsStr"],[760,"impl-From%3CRangeInclusive%3Cusize%3E%3E-for-ValueRange"],[762,"impl-From%3CRangeTo%3Cusize%3E%3E-for-ValueRange"],[763,"impl-From%3CRangeFull%3E-for-ValueRange"],[764,"impl-From%3CRangeFrom%3Cusize%3E%3E-for-ValueRange"],[765,"impl-From%3CRangeToInclusive%3Cusize%3E%3E-for-ValueRange"],[766,"impl-From%3Cusize%3E-for-ValueRange"],[767,"impl-From%3CRange%3Cusize%3E%3E-for-ValueRange"],[768,"impl-From%3COption%3CT%3E%3E-for-Resettable%3CT%3E"],[770,"impl-From%3CT%3E-for-Resettable%3CT%3E"],[772,"impl-From%3CId%3E-for-Str"],[774,"impl-From%3C%26Str%3E-for-Str"],[775,"impl-From%3C%26str%3E-for-Str"],[776,"impl-From%3C%26%26str%3E-for-Str"],[777,"impl-From%3CString%3E-for-StyledStr"],[778,"impl-From%3C%26%26str%3E-for-StyledStr"],[780,"impl-From%3C%26str%3E-for-StyledStr"],[781,"impl-From%3C%26String%3E-for-StyledStr"],[1141,"impl-PartialEq%3CEffects%3E-for-Style"],[1142,"impl-PartialEq-for-Style"],[1150,"impl-Display-for-Reset"],[1151,"impl-Debug-for-Reset"],[1152,"impl-Display-for-Style"],[1153,"impl-Debug-for-Style"],[1154,"impl-From%3CAnsiColor%3E-for-Color"],[1156,"impl-From%3CAnsi256Color%3E-for-Color"],[1157,"impl-From%3Cu8%3E-for-Color"],[1158,"impl-From%3C(u8,+u8,+u8)%3E-for-Color"],[1159,"impl-From%3CRgbColor%3E-for-Color"],[1161,"impl-From%3Cu8%3E-for-Ansi256Color"],[1162,"impl-From%3CAnsiColor%3E-for-Ansi256Color"],[1358,"impl-Debug-for-Error%3CF%3E"],[1359,"impl-Display-for-Error%3CF%3E"],[1360,"impl-Display-for-ContextKind"],[1361,"impl-Debug-for-ContextKind"],[1362,"impl-Debug-for-ContextValue"],[1363,"impl-Display-for-ContextValue"],[1364,"impl-Debug-for-ErrorKind"],[1365,"impl-Display-for-ErrorKind"],[1373,"impl-From%3CError%3E-for-Error%3CF%3E"],[1374,"impl-From%3CError%3E-for-Error%3CF%3E"],[1468,"impl-Display-for-MatchesError"],[1469,"impl-Debug-for-MatchesError"]]}],\ diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/bluebps.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/bluebps.rs.html index 2d5591a96..3f62cbfe7 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/bluebps.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/bluebps.rs.html @@ -1094,105 +1094,105 @@

Files

#[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum Messages { - SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), - CurrentMax(CurrentMaxStruct), + SetStreamRate(SetStreamRateStruct), + EraseFlash(EraseFlashStruct), CellTimeout(CellTimeoutStruct), State(StateStruct), - SetStreamRate(SetStreamRateStruct), - TemperatureMax(TemperatureMaxStruct), - Events(EventsStruct), + TemperatureTimeout(TemperatureTimeoutStruct), SetCurrentMax(SetCurrentMaxStruct), - EraseFlash(EraseFlashStruct), - SetLpfSetting(SetLpfSettingStruct), - SetCurrentTimeout(SetCurrentTimeoutStruct), ResetDefaults(ResetDefaultsStruct), + SetCurrentTimeout(SetCurrentTimeoutStruct), + Events(EventsStruct), + SetCellVoltageMinimum(SetCellVoltageMinimumStruct), SetTemperatureMax(SetTemperatureMaxStruct), - Reboot(RebootStruct), - CellVoltageMin(CellVoltageMinStruct), - CurrentTimeout(CurrentTimeoutStruct), SetCellVoltageTimeout(SetCellVoltageTimeoutStruct), - SetCellVoltageMinimum(SetCellVoltageMinimumStruct), SetTemperatureTimeout(SetTemperatureTimeoutStruct), - TemperatureTimeout(TemperatureTimeoutStruct), + CellVoltageMin(CellVoltageMinStruct), + SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), + CurrentTimeout(CurrentTimeoutStruct), + CurrentMax(CurrentMaxStruct), + SetLpfSetting(SetLpfSettingStruct), + TemperatureMax(TemperatureMaxStruct), + Reboot(RebootStruct), } impl Messages { pub fn inner<T: 'static>(&self) -> Option<&T> { match self { - Self::SetLpfSampleFrequency(inner_struct) => { + Self::SetStreamRate(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::CurrentMax(inner_struct) => { + Self::EraseFlash(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } Self::CellTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } Self::State(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::SetStreamRate(inner_struct) => { + Self::TemperatureTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::TemperatureMax(inner_struct) => { + Self::SetCurrentMax(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Events(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::SetCurrentMax(inner_struct) => { + Self::ResetDefaults(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::EraseFlash(inner_struct) => { + Self::SetCurrentTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetLpfSetting(inner_struct) => { + Self::Events(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), + Self::SetCellVoltageMinimum(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetCurrentTimeout(inner_struct) => { + Self::SetTemperatureMax(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::ResetDefaults(inner_struct) => { + Self::SetCellVoltageTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetTemperatureMax(inner_struct) => { + Self::SetTemperatureTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Reboot(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), Self::CellVoltageMin(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::CurrentTimeout(inner_struct) => { + Self::SetLpfSampleFrequency(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetCellVoltageTimeout(inner_struct) => { + Self::CurrentTimeout(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetCellVoltageMinimum(inner_struct) => { + Self::CurrentMax(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetTemperatureTimeout(inner_struct) => { + Self::SetLpfSetting(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::TemperatureTimeout(inner_struct) => { + Self::TemperatureMax(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } + Self::Reboot(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), } } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "the frequency to take adc samples and run the filter."] -pub struct SetLpfSampleFrequencyStruct { - #[doc = "sample frequency in Hz. 1~100000"] - pub sample_frequency: u32, +#[doc = "Set the frequency to automatically output state messages."] +pub struct SetStreamRateStruct { + #[doc = "Rate to stream `state` messages. 0~100000Hz"] + pub rate: u32, } -impl SerializePayload for SetLpfSampleFrequencyStruct { +impl SerializePayload for SetStreamRateStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.sample_frequency.to_le_bytes()); + buffer.extend_from_slice(&self.rate.to_le_bytes()); buffer } } -impl DeserializePayload for SetLpfSampleFrequencyStruct { +impl DeserializePayload for SetStreamRateStruct { fn deserialize(payload: &[u8]) -> Self { Self { - sample_frequency: u32::from_le_bytes( + rate: u32::from_le_bytes( payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), @@ -1200,39 +1200,29 @@

Files

} } } -impl MessageInfo for SetLpfSampleFrequencyStruct { +impl MessageInfo for SetStreamRateStruct { fn id() -> u16 { - 9007u16 + 9006u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "get the maximum allowed battery current"] -pub struct CurrentMaxStruct { - #[doc = "The maximum allowed battery current 0~20000 = 0~200A"] - pub limit: u16, -} -impl SerializePayload for CurrentMaxStruct { +#[doc = "Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!"] +pub struct EraseFlashStruct {} +impl SerializePayload for EraseFlashStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for CurrentMaxStruct { +impl DeserializePayload for EraseFlashStruct { fn deserialize(payload: &[u8]) -> Self { - Self { - limit: u16::from_le_bytes( - payload[0usize..0usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - } + Self {} } } -impl MessageInfo for CurrentMaxStruct { +impl MessageInfo for EraseFlashStruct { fn id() -> u16 { - 9102u16 + 9201u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -1338,49 +1328,49 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the frequency to automatically output state messages."] -pub struct SetStreamRateStruct { - #[doc = "Rate to stream `state` messages. 0~100000Hz"] - pub rate: u32, +#[doc = "Get the over-temperature timeout"] +pub struct TemperatureTimeoutStruct { + #[doc = "If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] + pub timeout: u16, } -impl SerializePayload for SetStreamRateStruct { +impl SerializePayload for TemperatureTimeoutStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.rate.to_le_bytes()); + buffer.extend_from_slice(&self.timeout.to_le_bytes()); buffer } } -impl DeserializePayload for SetStreamRateStruct { +impl DeserializePayload for TemperatureTimeoutStruct { fn deserialize(payload: &[u8]) -> Self { Self { - rate: u32::from_le_bytes( - payload[0usize..0usize + 4usize] + timeout: u16::from_le_bytes( + payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for SetStreamRateStruct { +impl MessageInfo for TemperatureTimeoutStruct { fn id() -> u16 { - 9006u16 + 9105u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Get the maximum allowed battery temperature"] -pub struct TemperatureMaxStruct { - #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] +#[doc = "Set the maximum allowed battery current"] +pub struct SetCurrentMaxStruct { + #[doc = "The maximum allowed battery current 0~20000 = 0~200A"] pub limit: u16, } -impl SerializePayload for TemperatureMaxStruct { +impl SerializePayload for SetCurrentMaxStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for TemperatureMaxStruct { +impl DeserializePayload for SetCurrentMaxStruct { fn deserialize(payload: &[u8]) -> Self { Self { limit: u16::from_le_bytes( @@ -1391,9 +1381,59 @@

Files

} } } -impl MessageInfo for TemperatureMaxStruct { +impl MessageInfo for SetCurrentMaxStruct { fn id() -> u16 { - 9104u16 + 9002u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Reset parameter configuration to default values."] +pub struct ResetDefaultsStruct {} +impl SerializePayload for ResetDefaultsStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer + } +} +impl DeserializePayload for ResetDefaultsStruct { + fn deserialize(payload: &[u8]) -> Self { + Self {} + } +} +impl MessageInfo for ResetDefaultsStruct { + fn id() -> u16 { + 9202u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Set the over-current timeout"] +pub struct SetCurrentTimeoutStruct { + #[doc = "If the battery current exceeds the configured limit for this duration of time, the power will be locked-out"] + pub timeout: u16, +} +impl SerializePayload for SetCurrentTimeoutStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.timeout.to_le_bytes()); + buffer + } +} +impl DeserializePayload for SetCurrentTimeoutStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + timeout: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + } + } +} +impl MessageInfo for SetCurrentTimeoutStruct { + fn id() -> u16 { + 9003u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -1444,19 +1484,19 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the maximum allowed battery current"] -pub struct SetCurrentMaxStruct { - #[doc = "The maximum allowed battery current 0~20000 = 0~200A"] +#[doc = "Set the minimum allowed cell voltage"] +pub struct SetCellVoltageMinimumStruct { + #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] pub limit: u16, } -impl SerializePayload for SetCurrentMaxStruct { +impl SerializePayload for SetCellVoltageMinimumStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for SetCurrentMaxStruct { +impl DeserializePayload for SetCellVoltageMinimumStruct { fn deserialize(payload: &[u8]) -> Self { Self { limit: u16::from_le_bytes( @@ -1467,49 +1507,59 @@

Files

} } } -impl MessageInfo for SetCurrentMaxStruct { +impl MessageInfo for SetCellVoltageMinimumStruct { fn id() -> u16 { - 9002u16 + 9000u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!"] -pub struct EraseFlashStruct {} -impl SerializePayload for EraseFlashStruct { +#[doc = "Set the maximum allowed battery temperature"] +pub struct SetTemperatureMaxStruct { + #[doc = "The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V"] + pub limit: u16, +} +impl SerializePayload for SetTemperatureMaxStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for EraseFlashStruct { +impl DeserializePayload for SetTemperatureMaxStruct { fn deserialize(payload: &[u8]) -> Self { - Self {} + Self { + limit: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + } } } -impl MessageInfo for EraseFlashStruct { +impl MessageInfo for SetTemperatureMaxStruct { fn id() -> u16 { - 9201u16 + 9004u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Low pass filter setting. This value represents x in the equation `value = value * x + sample * (1-x)`. 0.0 = no filtering, 0.99 = heavy filtering."] -pub struct SetLpfSettingStruct { - #[doc = "0~999: x = 0~0.999"] - pub setting: u16, +#[doc = "Set the under-voltage timeout"] +pub struct SetCellVoltageTimeoutStruct { + #[doc = "If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out"] + pub timeout: u16, } -impl SerializePayload for SetLpfSettingStruct { +impl SerializePayload for SetCellVoltageTimeoutStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.setting.to_le_bytes()); + buffer.extend_from_slice(&self.timeout.to_le_bytes()); buffer } } -impl DeserializePayload for SetLpfSettingStruct { +impl DeserializePayload for SetCellVoltageTimeoutStruct { fn deserialize(payload: &[u8]) -> Self { Self { - setting: u16::from_le_bytes( + timeout: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1517,26 +1567,26 @@

Files

} } } -impl MessageInfo for SetLpfSettingStruct { +impl MessageInfo for SetCellVoltageTimeoutStruct { fn id() -> u16 { - 9008u16 + 9001u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the over-current timeout"] -pub struct SetCurrentTimeoutStruct { - #[doc = "If the battery current exceeds the configured limit for this duration of time, the power will be locked-out"] +#[doc = "Set the over-temperature timeout"] +pub struct SetTemperatureTimeoutStruct { + #[doc = "If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] pub timeout: u16, } -impl SerializePayload for SetCurrentTimeoutStruct { +impl SerializePayload for SetTemperatureTimeoutStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); buffer.extend_from_slice(&self.timeout.to_le_bytes()); buffer } } -impl DeserializePayload for SetCurrentTimeoutStruct { +impl DeserializePayload for SetTemperatureTimeoutStruct { fn deserialize(payload: &[u8]) -> Self { Self { timeout: u16::from_le_bytes( @@ -1547,46 +1597,26 @@

Files

} } } -impl MessageInfo for SetCurrentTimeoutStruct { - fn id() -> u16 { - 9003u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Reset parameter configuration to default values."] -pub struct ResetDefaultsStruct {} -impl SerializePayload for ResetDefaultsStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer - } -} -impl DeserializePayload for ResetDefaultsStruct { - fn deserialize(payload: &[u8]) -> Self { - Self {} - } -} -impl MessageInfo for ResetDefaultsStruct { +impl MessageInfo for SetTemperatureTimeoutStruct { fn id() -> u16 { - 9202u16 + 9005u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the maximum allowed battery temperature"] -pub struct SetTemperatureMaxStruct { - #[doc = "The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V"] +#[doc = "Get the minimum allowed cell voltage"] +pub struct CellVoltageMinStruct { + #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] pub limit: u16, } -impl SerializePayload for SetTemperatureMaxStruct { +impl SerializePayload for CellVoltageMinStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for SetTemperatureMaxStruct { +impl DeserializePayload for CellVoltageMinStruct { fn deserialize(payload: &[u8]) -> Self { Self { limit: u16::from_le_bytes( @@ -1597,65 +1627,39 @@

Files

} } } -impl MessageInfo for SetTemperatureMaxStruct { - fn id() -> u16 { - 9004u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "reboot the system"] -pub struct RebootStruct { - #[doc = "0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot"] - pub goto_bootloader: u8, -} -impl SerializePayload for RebootStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.goto_bootloader.to_le_bytes()); - buffer - } -} -impl DeserializePayload for RebootStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - goto_bootloader: payload[0usize].into(), - } - } -} -impl MessageInfo for RebootStruct { +impl MessageInfo for CellVoltageMinStruct { fn id() -> u16 { - 9200u16 + 9100u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Get the minimum allowed cell voltage"] -pub struct CellVoltageMinStruct { - #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] - pub limit: u16, +#[doc = "the frequency to take adc samples and run the filter."] +pub struct SetLpfSampleFrequencyStruct { + #[doc = "sample frequency in Hz. 1~100000"] + pub sample_frequency: u32, } -impl SerializePayload for CellVoltageMinStruct { +impl SerializePayload for SetLpfSampleFrequencyStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.limit.to_le_bytes()); + buffer.extend_from_slice(&self.sample_frequency.to_le_bytes()); buffer } } -impl DeserializePayload for CellVoltageMinStruct { +impl DeserializePayload for SetLpfSampleFrequencyStruct { fn deserialize(payload: &[u8]) -> Self { Self { - limit: u16::from_le_bytes( - payload[0usize..0usize + 2usize] + sample_frequency: u32::from_le_bytes( + payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for CellVoltageMinStruct { +impl MessageInfo for SetLpfSampleFrequencyStruct { fn id() -> u16 { - 9100u16 + 9007u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -1690,22 +1694,22 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the under-voltage timeout"] -pub struct SetCellVoltageTimeoutStruct { - #[doc = "If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out"] - pub timeout: u16, +#[doc = "get the maximum allowed battery current"] +pub struct CurrentMaxStruct { + #[doc = "The maximum allowed battery current 0~20000 = 0~200A"] + pub limit: u16, } -impl SerializePayload for SetCellVoltageTimeoutStruct { +impl SerializePayload for CurrentMaxStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.timeout.to_le_bytes()); + buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for SetCellVoltageTimeoutStruct { +impl DeserializePayload for CurrentMaxStruct { fn deserialize(payload: &[u8]) -> Self { Self { - timeout: u16::from_le_bytes( + limit: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1713,29 +1717,29 @@

Files

} } } -impl MessageInfo for SetCellVoltageTimeoutStruct { +impl MessageInfo for CurrentMaxStruct { fn id() -> u16 { - 9001u16 + 9102u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the minimum allowed cell voltage"] -pub struct SetCellVoltageMinimumStruct { - #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] - pub limit: u16, +#[doc = "Low pass filter setting. This value represents x in the equation `value = value * x + sample * (1-x)`. 0.0 = no filtering, 0.99 = heavy filtering."] +pub struct SetLpfSettingStruct { + #[doc = "0~999: x = 0~0.999"] + pub setting: u16, } -impl SerializePayload for SetCellVoltageMinimumStruct { +impl SerializePayload for SetLpfSettingStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.limit.to_le_bytes()); + buffer.extend_from_slice(&self.setting.to_le_bytes()); buffer } } -impl DeserializePayload for SetCellVoltageMinimumStruct { +impl DeserializePayload for SetLpfSettingStruct { fn deserialize(payload: &[u8]) -> Self { Self { - limit: u16::from_le_bytes( + setting: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1743,29 +1747,29 @@

Files

} } } -impl MessageInfo for SetCellVoltageMinimumStruct { +impl MessageInfo for SetLpfSettingStruct { fn id() -> u16 { - 9000u16 + 9008u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the over-temperature timeout"] -pub struct SetTemperatureTimeoutStruct { - #[doc = "If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] - pub timeout: u16, +#[doc = "Get the maximum allowed battery temperature"] +pub struct TemperatureMaxStruct { + #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] + pub limit: u16, } -impl SerializePayload for SetTemperatureTimeoutStruct { +impl SerializePayload for TemperatureMaxStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.timeout.to_le_bytes()); + buffer.extend_from_slice(&self.limit.to_le_bytes()); buffer } } -impl DeserializePayload for SetTemperatureTimeoutStruct { +impl DeserializePayload for TemperatureMaxStruct { fn deserialize(payload: &[u8]) -> Self { Self { - timeout: u16::from_le_bytes( + limit: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1773,39 +1777,35 @@

Files

} } } -impl MessageInfo for SetTemperatureTimeoutStruct { +impl MessageInfo for TemperatureMaxStruct { fn id() -> u16 { - 9005u16 + 9104u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Get the over-temperature timeout"] -pub struct TemperatureTimeoutStruct { - #[doc = "If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] - pub timeout: u16, +#[doc = "reboot the system"] +pub struct RebootStruct { + #[doc = "0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot"] + pub goto_bootloader: u8, } -impl SerializePayload for TemperatureTimeoutStruct { +impl SerializePayload for RebootStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.timeout.to_le_bytes()); + buffer.extend_from_slice(&self.goto_bootloader.to_le_bytes()); buffer } } -impl DeserializePayload for TemperatureTimeoutStruct { +impl DeserializePayload for RebootStruct { fn deserialize(payload: &[u8]) -> Self { Self { - timeout: u16::from_le_bytes( - payload[0usize..0usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), + goto_bootloader: payload[0usize].into(), } } } -impl MessageInfo for TemperatureTimeoutStruct { +impl MessageInfo for RebootStruct { fn id() -> u16 { - 9105u16 + 9200u16 } } impl Device { @@ -1817,23 +1817,26 @@

Files

common: Common::new(io), } } - #[doc = "the frequency to take adc samples and run the filter."] + #[doc = "Set the frequency to automatically output state messages."] #[doc = "# Arguments"] - #[doc = "* `sample_frequency` - sample frequency in Hz. 1~100000"] - pub async fn set_lpf_sample_frequency(&self, sample_frequency: u32) -> Result<(), PingError> { - let request = - Messages::SetLpfSampleFrequency(SetLpfSampleFrequencyStruct { sample_frequency }); + #[doc = "* `rate` \\[Hz\\] - Rate to stream `state` messages. 0~100000Hz"] + pub async fn set_stream_rate(&self, rate: u32) -> Result<(), PingError> { + let request = Messages::SetStreamRate(SetStreamRateStruct { rate }); let mut package = ProtocolMessage::new(); package.set_message(&request); let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetLpfSampleFrequencyStruct::id()) - .await - } - #[doc = "get the maximum allowed battery current"] - pub async fn current_max(&self) -> Result<CurrentMaxStruct, PingError> { - self.request().await + self.wait_for_ack(receiver, SetStreamRateStruct::id()).await } + #[doc = "Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!"] + #[doc = "# Arguments"] + pub async fn erase_flash(&self) -> Result<(), PingError> { + let request = Messages::EraseFlash(EraseFlashStruct {}); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + self.get_common().send_message(package).await?; + Ok(()) + } #[doc = "Get the undervoltage timeout"] pub async fn cell_timeout(&self) -> Result<CellTimeoutStruct, PingError> { self.request().await @@ -1842,23 +1845,8 @@

Files

pub async fn state(&self) -> Result<StateStruct, PingError> { self.request().await } - #[doc = "Set the frequency to automatically output state messages."] - #[doc = "# Arguments"] - #[doc = "* `rate` \\[Hz\\] - Rate to stream `state` messages. 0~100000Hz"] - pub async fn set_stream_rate(&self, rate: u32) -> Result<(), PingError> { - let request = Messages::SetStreamRate(SetStreamRateStruct { rate }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - let receiver = self.subscribe(); - self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetStreamRateStruct::id()).await - } - #[doc = "Get the maximum allowed battery temperature"] - pub async fn temperature_max(&self) -> Result<TemperatureMaxStruct, PingError> { - self.request().await - } - #[doc = "A record of events causing a power lock-out. These numbers are non-volatile and reset only with the erase_flash control message."] - pub async fn events(&self) -> Result<EventsStruct, PingError> { + #[doc = "Get the over-temperature timeout"] + pub async fn temperature_timeout(&self) -> Result<TemperatureTimeoutStruct, PingError> { self.request().await } #[doc = "Set the maximum allowed battery current"] @@ -1872,26 +1860,15 @@

Files

self.get_common().send_message(package).await?; self.wait_for_ack(receiver, SetCurrentMaxStruct::id()).await } - #[doc = "Erase flash, including parameter configuration and event counters. The mcu has a limited number of write/erase cycles (1k)!"] + #[doc = "Reset parameter configuration to default values."] #[doc = "# Arguments"] - pub async fn erase_flash(&self) -> Result<(), PingError> { - let request = Messages::EraseFlash(EraseFlashStruct {}); + pub async fn reset_defaults(&self) -> Result<(), PingError> { + let request = Messages::ResetDefaults(ResetDefaultsStruct {}); let mut package = ProtocolMessage::new(); package.set_message(&request); self.get_common().send_message(package).await?; Ok(()) } - #[doc = "Low pass filter setting. This value represents x in the equation `value = value * x + sample * (1-x)`. 0.0 = no filtering, 0.99 = heavy filtering."] - #[doc = "# Arguments"] - #[doc = "* `setting` - 0~999: x = 0~0.999"] - pub async fn set_lpf_setting(&self, setting: u16) -> Result<(), PingError> { - let request = Messages::SetLpfSetting(SetLpfSettingStruct { setting }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - let receiver = self.subscribe(); - self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetLpfSettingStruct::id()).await - } #[doc = "Set the over-current timeout"] #[doc = "# Arguments"] #[doc = "* `timeout` \\[millisecond\\] - If the battery current exceeds the configured limit for this duration of time, the power will be locked-out"] @@ -1904,15 +1881,22 @@

Files

self.wait_for_ack(receiver, SetCurrentTimeoutStruct::id()) .await } - #[doc = "Reset parameter configuration to default values."] + #[doc = "A record of events causing a power lock-out. These numbers are non-volatile and reset only with the erase_flash control message."] + pub async fn events(&self) -> Result<EventsStruct, PingError> { + self.request().await + } + #[doc = "Set the minimum allowed cell voltage"] #[doc = "# Arguments"] - pub async fn reset_defaults(&self) -> Result<(), PingError> { - let request = Messages::ResetDefaults(ResetDefaultsStruct {}); + #[doc = "* `limit` \\[millivolt\\] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] + pub async fn set_cell_voltage_minimum(&self, limit: u16) -> Result<(), PingError> { + let request = Messages::SetCellVoltageMinimum(SetCellVoltageMinimumStruct { limit }); let mut package = ProtocolMessage::new(); package.set_message(&request); + let receiver = self.subscribe(); self.get_common().send_message(package).await?; - Ok(()) - } + self.wait_for_ack(receiver, SetCellVoltageMinimumStruct::id()) + .await + } #[doc = "Set the maximum allowed battery temperature"] #[doc = "# Arguments"] #[doc = "* `limit` \\[centidegrees Centigrade\\] - The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V"] @@ -1925,24 +1909,6 @@

Files

self.wait_for_ack(receiver, SetTemperatureMaxStruct::id()) .await } - #[doc = "reboot the system"] - #[doc = "# Arguments"] - #[doc = "* `goto_bootloader` - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot"] - pub async fn reboot(&self, goto_bootloader: u8) -> Result<(), PingError> { - let request = Messages::Reboot(RebootStruct { goto_bootloader }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - self.get_common().send_message(package).await?; - Ok(()) - } - #[doc = "Get the minimum allowed cell voltage"] - pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, PingError> { - self.request().await - } - #[doc = "Get the over-current timeout"] - pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError> { - self.request().await - } #[doc = "Set the under-voltage timeout"] #[doc = "# Arguments"] #[doc = "* `timeout` \\[millisecond\\] - If an individual cell exceeds the configured limit for this duration of time, the power will be locked-out"] @@ -1955,106 +1921,140 @@

Files

self.wait_for_ack(receiver, SetCellVoltageTimeoutStruct::id()) .await } - #[doc = "Set the minimum allowed cell voltage"] + #[doc = "Set the over-temperature timeout"] #[doc = "# Arguments"] - #[doc = "* `limit` \\[millivolt\\] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V"] - pub async fn set_cell_voltage_minimum(&self, limit: u16) -> Result<(), PingError> { - let request = Messages::SetCellVoltageMinimum(SetCellVoltageMinimumStruct { limit }); + #[doc = "* `timeout` \\[millisecond\\] - If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] + pub async fn set_temperature_timeout(&self, timeout: u16) -> Result<(), PingError> { + let request = Messages::SetTemperatureTimeout(SetTemperatureTimeoutStruct { timeout }); let mut package = ProtocolMessage::new(); package.set_message(&request); let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetCellVoltageMinimumStruct::id()) + self.wait_for_ack(receiver, SetTemperatureTimeoutStruct::id()) .await } - #[doc = "Set the over-temperature timeout"] + #[doc = "Get the minimum allowed cell voltage"] + pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, PingError> { + self.request().await + } + #[doc = "the frequency to take adc samples and run the filter."] #[doc = "# Arguments"] - #[doc = "* `timeout` \\[millisecond\\] - If the battery temperature exceeds the configured limit for this duration of time, the power will be locked-out"] - pub async fn set_temperature_timeout(&self, timeout: u16) -> Result<(), PingError> { - let request = Messages::SetTemperatureTimeout(SetTemperatureTimeoutStruct { timeout }); + #[doc = "* `sample_frequency` - sample frequency in Hz. 1~100000"] + pub async fn set_lpf_sample_frequency(&self, sample_frequency: u32) -> Result<(), PingError> { + let request = + Messages::SetLpfSampleFrequency(SetLpfSampleFrequencyStruct { sample_frequency }); let mut package = ProtocolMessage::new(); package.set_message(&request); let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetTemperatureTimeoutStruct::id()) + self.wait_for_ack(receiver, SetLpfSampleFrequencyStruct::id()) .await } - #[doc = "Get the over-temperature timeout"] - pub async fn temperature_timeout(&self) -> Result<TemperatureTimeoutStruct, PingError> { + #[doc = "Get the over-current timeout"] + pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError> { self.request().await } + #[doc = "get the maximum allowed battery current"] + pub async fn current_max(&self) -> Result<CurrentMaxStruct, PingError> { + self.request().await + } + #[doc = "Low pass filter setting. This value represents x in the equation `value = value * x + sample * (1-x)`. 0.0 = no filtering, 0.99 = heavy filtering."] + #[doc = "# Arguments"] + #[doc = "* `setting` - 0~999: x = 0~0.999"] + pub async fn set_lpf_setting(&self, setting: u16) -> Result<(), PingError> { + let request = Messages::SetLpfSetting(SetLpfSettingStruct { setting }); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + let receiver = self.subscribe(); + self.get_common().send_message(package).await?; + self.wait_for_ack(receiver, SetLpfSettingStruct::id()).await + } + #[doc = "Get the maximum allowed battery temperature"] + pub async fn temperature_max(&self) -> Result<TemperatureMaxStruct, PingError> { + self.request().await + } + #[doc = "reboot the system"] + #[doc = "# Arguments"] + #[doc = "* `goto_bootloader` - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot"] + pub async fn reboot(&self, goto_bootloader: u8) -> Result<(), PingError> { + let request = Messages::Reboot(RebootStruct { goto_bootloader }); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + self.get_common().send_message(package).await?; + Ok(()) + } } impl PingMessage for Messages { fn message_name(&self) -> &'static str { match self { - Messages::SetLpfSampleFrequency(..) => "set_lpf_sample_frequency", - Messages::CurrentMax(..) => "current_max", + Messages::SetStreamRate(..) => "set_stream_rate", + Messages::EraseFlash(..) => "erase_flash", Messages::CellTimeout(..) => "cell_timeout", Messages::State(..) => "state", - Messages::SetStreamRate(..) => "set_stream_rate", - Messages::TemperatureMax(..) => "temperature_max", - Messages::Events(..) => "events", + Messages::TemperatureTimeout(..) => "temperature_timeout", Messages::SetCurrentMax(..) => "set_current_max", - Messages::EraseFlash(..) => "erase_flash", - Messages::SetLpfSetting(..) => "set_lpf_setting", - Messages::SetCurrentTimeout(..) => "set_current_timeout", Messages::ResetDefaults(..) => "reset_defaults", + Messages::SetCurrentTimeout(..) => "set_current_timeout", + Messages::Events(..) => "events", + Messages::SetCellVoltageMinimum(..) => "set_cell_voltage_minimum", Messages::SetTemperatureMax(..) => "set_temperature_max", - Messages::Reboot(..) => "reboot", - Messages::CellVoltageMin(..) => "cell_voltage_min", - Messages::CurrentTimeout(..) => "current_timeout", Messages::SetCellVoltageTimeout(..) => "set_cell_voltage_timeout", - Messages::SetCellVoltageMinimum(..) => "set_cell_voltage_minimum", Messages::SetTemperatureTimeout(..) => "set_temperature_timeout", - Messages::TemperatureTimeout(..) => "temperature_timeout", + Messages::CellVoltageMin(..) => "cell_voltage_min", + Messages::SetLpfSampleFrequency(..) => "set_lpf_sample_frequency", + Messages::CurrentTimeout(..) => "current_timeout", + Messages::CurrentMax(..) => "current_max", + Messages::SetLpfSetting(..) => "set_lpf_setting", + Messages::TemperatureMax(..) => "temperature_max", + Messages::Reboot(..) => "reboot", } } fn message_id(&self) -> u16 { match self { - Messages::SetLpfSampleFrequency(..) => 9007u16, - Messages::CurrentMax(..) => 9102u16, + Messages::SetStreamRate(..) => 9006u16, + Messages::EraseFlash(..) => 9201u16, Messages::CellTimeout(..) => 9101u16, Messages::State(..) => 9106u16, - Messages::SetStreamRate(..) => 9006u16, - Messages::TemperatureMax(..) => 9104u16, - Messages::Events(..) => 9107u16, + Messages::TemperatureTimeout(..) => 9105u16, Messages::SetCurrentMax(..) => 9002u16, - Messages::EraseFlash(..) => 9201u16, - Messages::SetLpfSetting(..) => 9008u16, - Messages::SetCurrentTimeout(..) => 9003u16, Messages::ResetDefaults(..) => 9202u16, + Messages::SetCurrentTimeout(..) => 9003u16, + Messages::Events(..) => 9107u16, + Messages::SetCellVoltageMinimum(..) => 9000u16, Messages::SetTemperatureMax(..) => 9004u16, - Messages::Reboot(..) => 9200u16, - Messages::CellVoltageMin(..) => 9100u16, - Messages::CurrentTimeout(..) => 9103u16, Messages::SetCellVoltageTimeout(..) => 9001u16, - Messages::SetCellVoltageMinimum(..) => 9000u16, Messages::SetTemperatureTimeout(..) => 9005u16, - Messages::TemperatureTimeout(..) => 9105u16, + Messages::CellVoltageMin(..) => 9100u16, + Messages::SetLpfSampleFrequency(..) => 9007u16, + Messages::CurrentTimeout(..) => 9103u16, + Messages::CurrentMax(..) => 9102u16, + Messages::SetLpfSetting(..) => 9008u16, + Messages::TemperatureMax(..) => 9104u16, + Messages::Reboot(..) => 9200u16, } } fn message_id_from_name(name: &str) -> Result<u16, String> { match name { - "set_lpf_sample_frequency" => Ok(9007u16), - "current_max" => Ok(9102u16), + "set_stream_rate" => Ok(9006u16), + "erase_flash" => Ok(9201u16), "cell_timeout" => Ok(9101u16), "state" => Ok(9106u16), - "set_stream_rate" => Ok(9006u16), - "temperature_max" => Ok(9104u16), - "events" => Ok(9107u16), + "temperature_timeout" => Ok(9105u16), "set_current_max" => Ok(9002u16), - "erase_flash" => Ok(9201u16), - "set_lpf_setting" => Ok(9008u16), - "set_current_timeout" => Ok(9003u16), "reset_defaults" => Ok(9202u16), + "set_current_timeout" => Ok(9003u16), + "events" => Ok(9107u16), + "set_cell_voltage_minimum" => Ok(9000u16), "set_temperature_max" => Ok(9004u16), - "reboot" => Ok(9200u16), - "cell_voltage_min" => Ok(9100u16), - "current_timeout" => Ok(9103u16), "set_cell_voltage_timeout" => Ok(9001u16), - "set_cell_voltage_minimum" => Ok(9000u16), "set_temperature_timeout" => Ok(9005u16), - "temperature_timeout" => Ok(9105u16), + "cell_voltage_min" => Ok(9100u16), + "set_lpf_sample_frequency" => Ok(9007u16), + "current_timeout" => Ok(9103u16), + "current_max" => Ok(9102u16), + "set_lpf_setting" => Ok(9008u16), + "temperature_max" => Ok(9104u16), + "reboot" => Ok(9200u16), _ => Err(format!("Failed to find message ID from name: {name}.")), } } @@ -2062,60 +2062,60 @@

Files

impl SerializePayload for Messages { fn serialize(&self) -> Vec<u8> { match self { - Messages::SetLpfSampleFrequency(content) => content.serialize(), - Messages::CurrentMax(content) => content.serialize(), + Messages::SetStreamRate(content) => content.serialize(), + Messages::EraseFlash(content) => content.serialize(), Messages::CellTimeout(content) => content.serialize(), Messages::State(content) => content.serialize(), - Messages::SetStreamRate(content) => content.serialize(), - Messages::TemperatureMax(content) => content.serialize(), - Messages::Events(content) => content.serialize(), + Messages::TemperatureTimeout(content) => content.serialize(), Messages::SetCurrentMax(content) => content.serialize(), - Messages::EraseFlash(content) => content.serialize(), - Messages::SetLpfSetting(content) => content.serialize(), - Messages::SetCurrentTimeout(content) => content.serialize(), Messages::ResetDefaults(content) => content.serialize(), + Messages::SetCurrentTimeout(content) => content.serialize(), + Messages::Events(content) => content.serialize(), + Messages::SetCellVoltageMinimum(content) => content.serialize(), Messages::SetTemperatureMax(content) => content.serialize(), - Messages::Reboot(content) => content.serialize(), - Messages::CellVoltageMin(content) => content.serialize(), - Messages::CurrentTimeout(content) => content.serialize(), Messages::SetCellVoltageTimeout(content) => content.serialize(), - Messages::SetCellVoltageMinimum(content) => content.serialize(), Messages::SetTemperatureTimeout(content) => content.serialize(), - Messages::TemperatureTimeout(content) => content.serialize(), + Messages::CellVoltageMin(content) => content.serialize(), + Messages::SetLpfSampleFrequency(content) => content.serialize(), + Messages::CurrentTimeout(content) => content.serialize(), + Messages::CurrentMax(content) => content.serialize(), + Messages::SetLpfSetting(content) => content.serialize(), + Messages::TemperatureMax(content) => content.serialize(), + Messages::Reboot(content) => content.serialize(), } } } impl DeserializeGenericMessage for Messages { fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> { Ok(match message_id { - 9007u16 => { - Messages::SetLpfSampleFrequency(SetLpfSampleFrequencyStruct::deserialize(payload)) - } - 9102u16 => Messages::CurrentMax(CurrentMaxStruct::deserialize(payload)), + 9006u16 => Messages::SetStreamRate(SetStreamRateStruct::deserialize(payload)), + 9201u16 => Messages::EraseFlash(EraseFlashStruct::deserialize(payload)), 9101u16 => Messages::CellTimeout(CellTimeoutStruct::deserialize(payload)), 9106u16 => Messages::State(StateStruct::deserialize(payload)), - 9006u16 => Messages::SetStreamRate(SetStreamRateStruct::deserialize(payload)), - 9104u16 => Messages::TemperatureMax(TemperatureMaxStruct::deserialize(payload)), - 9107u16 => Messages::Events(EventsStruct::deserialize(payload)), + 9105u16 => Messages::TemperatureTimeout(TemperatureTimeoutStruct::deserialize(payload)), 9002u16 => Messages::SetCurrentMax(SetCurrentMaxStruct::deserialize(payload)), - 9201u16 => Messages::EraseFlash(EraseFlashStruct::deserialize(payload)), - 9008u16 => Messages::SetLpfSetting(SetLpfSettingStruct::deserialize(payload)), - 9003u16 => Messages::SetCurrentTimeout(SetCurrentTimeoutStruct::deserialize(payload)), 9202u16 => Messages::ResetDefaults(ResetDefaultsStruct::deserialize(payload)), + 9003u16 => Messages::SetCurrentTimeout(SetCurrentTimeoutStruct::deserialize(payload)), + 9107u16 => Messages::Events(EventsStruct::deserialize(payload)), + 9000u16 => { + Messages::SetCellVoltageMinimum(SetCellVoltageMinimumStruct::deserialize(payload)) + } 9004u16 => Messages::SetTemperatureMax(SetTemperatureMaxStruct::deserialize(payload)), - 9200u16 => Messages::Reboot(RebootStruct::deserialize(payload)), - 9100u16 => Messages::CellVoltageMin(CellVoltageMinStruct::deserialize(payload)), - 9103u16 => Messages::CurrentTimeout(CurrentTimeoutStruct::deserialize(payload)), 9001u16 => { Messages::SetCellVoltageTimeout(SetCellVoltageTimeoutStruct::deserialize(payload)) } - 9000u16 => { - Messages::SetCellVoltageMinimum(SetCellVoltageMinimumStruct::deserialize(payload)) - } 9005u16 => { Messages::SetTemperatureTimeout(SetTemperatureTimeoutStruct::deserialize(payload)) } - 9105u16 => Messages::TemperatureTimeout(TemperatureTimeoutStruct::deserialize(payload)), + 9100u16 => Messages::CellVoltageMin(CellVoltageMinStruct::deserialize(payload)), + 9007u16 => { + Messages::SetLpfSampleFrequency(SetLpfSampleFrequencyStruct::deserialize(payload)) + } + 9103u16 => Messages::CurrentTimeout(CurrentTimeoutStruct::deserialize(payload)), + 9102u16 => Messages::CurrentMax(CurrentMaxStruct::deserialize(payload)), + 9008u16 => Messages::SetLpfSetting(SetLpfSettingStruct::deserialize(payload)), + 9104u16 => Messages::TemperatureMax(TemperatureMaxStruct::deserialize(payload)), + 9200u16 => Messages::Reboot(RebootStruct::deserialize(payload)), _ => { return Err(&"Unknown message id"); } diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/common.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/common.rs.html index 91eaf642d..760d37644 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/common.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/common.rs.html @@ -425,39 +425,141 @@

Files

#[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum Messages { - ProtocolVersion(ProtocolVersionStruct), - AsciiText(AsciiTextStruct), - Nack(NackStruct), - GeneralRequest(GeneralRequestStruct), Ack(AckStruct), SetDeviceId(SetDeviceIdStruct), DeviceInformation(DeviceInformationStruct), + ProtocolVersion(ProtocolVersionStruct), + AsciiText(AsciiTextStruct), + GeneralRequest(GeneralRequestStruct), + Nack(NackStruct), } impl Messages { pub fn inner<T: 'static>(&self) -> Option<&T> { match self { - Self::ProtocolVersion(inner_struct) => { + Self::Ack(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), + Self::SetDeviceId(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::AsciiText(inner_struct) => { + Self::DeviceInformation(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Nack(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::GeneralRequest(inner_struct) => { + Self::ProtocolVersion(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Ack(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::SetDeviceId(inner_struct) => { + Self::AsciiText(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::DeviceInformation(inner_struct) => { + Self::GeneralRequest(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } + Self::Nack(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), } } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Acknowledged."] +pub struct AckStruct { + #[doc = "The message ID that is ACKnowledged."] + pub acked_id: u16, +} +impl SerializePayload for AckStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.acked_id.to_le_bytes()); + buffer + } +} +impl DeserializePayload for AckStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + acked_id: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + } + } +} +impl MessageInfo for AckStruct { + fn id() -> u16 { + 1u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Set the device ID."] +pub struct SetDeviceIdStruct { + #[doc = "Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages."] + pub device_id: u8, +} +impl SerializePayload for SetDeviceIdStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.device_id.to_le_bytes()); + buffer + } +} +impl DeserializePayload for SetDeviceIdStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + device_id: payload[0usize].into(), + } + } +} +impl MessageInfo for SetDeviceIdStruct { + fn id() -> u16 { + 100u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Device information"] +pub struct DeviceInformationStruct { + #[doc = "Device type. 0: Unknown; 1: Ping Echosounder; 2: Ping360"] + pub device_type: u8, + #[doc = "device-specific hardware revision"] + pub device_revision: u8, + #[doc = "Firmware version major number."] + pub firmware_version_major: u8, + #[doc = "Firmware version minor number."] + pub firmware_version_minor: u8, + #[doc = "Firmware version patch number."] + pub firmware_version_patch: u8, + #[doc = "reserved"] + pub reserved: u8, +} +impl SerializePayload for DeviceInformationStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.device_type.to_le_bytes()); + buffer.extend_from_slice(&self.device_revision.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_patch.to_le_bytes()); + buffer.extend_from_slice(&self.reserved.to_le_bytes()); + buffer + } +} +impl DeserializePayload for DeviceInformationStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + device_type: payload[0usize].into(), + device_revision: payload[1usize].into(), + firmware_version_major: payload[2usize].into(), + firmware_version_minor: payload[3usize].into(), + firmware_version_patch: payload[4usize].into(), + reserved: payload[5usize].into(), + } + } +} +impl MessageInfo for DeviceInformationStruct { + fn id() -> u16 { + 4u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[doc = "The protocol version"] pub struct ProtocolVersionStruct { #[doc = "Protocol version major number."] @@ -524,42 +626,6 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Not acknowledged."] -pub struct NackStruct { - #[doc = "The message ID that is Not ACKnowledged."] - pub nacked_id: u16, - #[doc = "ASCII text message indicating NACK condition. (not necessarily NULL terminated)"] - pub nack_message: String, -} -impl SerializePayload for NackStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.nacked_id.to_le_bytes()); - buffer.extend_from_slice(self.nack_message.as_bytes()); - buffer.push(0); - buffer - } -} -impl DeserializePayload for NackStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - nacked_id: u16::from_le_bytes( - payload[0usize..0usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - nack_message: String::from_utf8(payload[2usize..2usize + payload.len()].to_vec()) - .unwrap(), - } - } -} -impl MessageInfo for NackStruct { - fn id() -> u16 { - 2u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[doc = "Requests a specific message to be sent from the sonar to the host. Command timeout should be set to 50 msec."] pub struct GeneralRequestStruct { #[doc = "Message ID to be requested."] @@ -590,104 +656,38 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Acknowledged."] -pub struct AckStruct { - #[doc = "The message ID that is ACKnowledged."] - pub acked_id: u16, +#[doc = "Not acknowledged."] +
pub struct NackStruct { + #[doc = "The message ID that is Not ACKnowledged."] + pub nacked_id: u16, + #[doc = "ASCII text message indicating NACK condition. (not necessarily NULL terminated)"] + pub nack_message: String, } -impl SerializePayload for AckStruct { +impl SerializePayload for NackStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.acked_id.to_le_bytes()); + buffer.extend_from_slice(&self.nacked_id.to_le_bytes()); + buffer.extend_from_slice(self.nack_message.as_bytes()); + buffer.push(0); buffer } } -impl DeserializePayload for AckStruct { +impl DeserializePayload for NackStruct { fn deserialize(payload: &[u8]) -> Self { Self { - acked_id: u16::from_le_bytes( + nacked_id: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), ), + nack_message: String::from_utf8(payload[2usize..2usize + payload.len()].to_vec()) + .unwrap(), } } } -impl MessageInfo for AckStruct { - fn id() -> u16 { - 1u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the device ID."] -pub struct SetDeviceIdStruct { - #[doc = "Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages."] - pub device_id: u8, -} -impl SerializePayload for SetDeviceIdStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.device_id.to_le_bytes()); - buffer - } -} -impl DeserializePayload for SetDeviceIdStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - device_id: payload[0usize].into(), - } - } -} -impl MessageInfo for SetDeviceIdStruct { - fn id() -> u16 { - 100u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Device information"] -pub struct DeviceInformationStruct { - #[doc = "Device type. 0: Unknown; 1: Ping Echosounder; 2: Ping360"] - pub device_type: u8, - #[doc = "device-specific hardware revision"] - pub device_revision: u8, - #[doc = "Firmware version major number."] - pub firmware_version_major: u8, - #[doc = "Firmware version minor number."] - pub firmware_version_minor: u8, - #[doc = "Firmware version patch number."] - pub firmware_version_patch: u8, - #[doc = "reserved"] - pub reserved: u8, -} -impl SerializePayload for DeviceInformationStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.device_type.to_le_bytes()); - buffer.extend_from_slice(&self.device_revision.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_patch.to_le_bytes()); - buffer.extend_from_slice(&self.reserved.to_le_bytes()); - buffer - } -} -impl DeserializePayload for DeviceInformationStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - device_type: payload[0usize].into(), - device_revision: payload[1usize].into(), - firmware_version_major: payload[2usize].into(), - firmware_version_minor: payload[3usize].into(), - firmware_version_patch: payload[4usize].into(), - reserved: payload[5usize].into(), - } - } -} -impl MessageInfo for DeviceInformationStruct { +impl MessageInfo for NackStruct { fn id() -> u16 { - 4u16 + 2u16 } } impl Device { @@ -699,10 +699,6 @@

Files

common: Common::new(io), } } - #[doc = "The protocol version"] - pub async fn protocol_version(&self) -> Result<ProtocolVersionStruct, PingError> { - self.request().await - } #[doc = "Set the device ID."] #[doc = "# Arguments"] #[doc = "* `device_id` - Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages."] @@ -718,39 +714,43 @@

Files

pub async fn device_information(&self) -> Result<DeviceInformationStruct, PingError> { self.request().await } + #[doc = "The protocol version"] + pub async fn protocol_version(&self) -> Result<ProtocolVersionStruct, PingError> { + self.request().await + } } impl PingMessage for Messages { fn message_name(&self) -> &'static str { match self { - Messages::ProtocolVersion(..) => "protocol_version", - Messages::AsciiText(..) => "ascii_text", - Messages::Nack(..) => "nack", - Messages::GeneralRequest(..) => "general_request", Messages::Ack(..) => "ack", Messages::SetDeviceId(..) => "set_device_id", Messages::DeviceInformation(..) => "device_information", + Messages::ProtocolVersion(..) => "protocol_version", + Messages::AsciiText(..) => "ascii_text", + Messages::GeneralRequest(..) => "general_request", + Messages::Nack(..) => "nack", } } fn message_id(&self) -> u16 { match self { - Messages::ProtocolVersion(..) => 5u16, - Messages::AsciiText(..) => 3u16, - Messages::Nack(..) => 2u16, - Messages::GeneralRequest(..) => 6u16, Messages::Ack(..) => 1u16, Messages::SetDeviceId(..) => 100u16, Messages::DeviceInformation(..) => 4u16, + Messages::ProtocolVersion(..) => 5u16, + Messages::AsciiText(..) => 3u16, + Messages::GeneralRequest(..) => 6u16, + Messages::Nack(..) => 2u16, } } fn message_id_from_name(name: &str) -> Result<u16, String> { match name { - "protocol_version" => Ok(5u16), - "ascii_text" => Ok(3u16), - "nack" => Ok(2u16), - "general_request" => Ok(6u16), "ack" => Ok(1u16), "set_device_id" => Ok(100u16), "device_information" => Ok(4u16), + "protocol_version" => Ok(5u16), + "ascii_text" => Ok(3u16), + "general_request" => Ok(6u16), + "nack" => Ok(2u16), _ => Err(format!("Failed to find message ID from name: {name}.")), } } @@ -758,26 +758,26 @@

Files

impl SerializePayload for Messages { fn serialize(&self) -> Vec<u8> { match self { - Messages::ProtocolVersion(content) => content.serialize(), - Messages::AsciiText(content) => content.serialize(), - Messages::Nack(content) => content.serialize(), - Messages::GeneralRequest(content) => content.serialize(), Messages::Ack(content) => content.serialize(), Messages::SetDeviceId(content) => content.serialize(), Messages::DeviceInformation(content) => content.serialize(), + Messages::ProtocolVersion(content) => content.serialize(), + Messages::AsciiText(content) => content.serialize(), + Messages::GeneralRequest(content) => content.serialize(), + Messages::Nack(content) => content.serialize(), } } } impl DeserializeGenericMessage for Messages { fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> { Ok(match message_id { - 5u16 => Messages::ProtocolVersion(ProtocolVersionStruct::deserialize(payload)), - 3u16 => Messages::AsciiText(AsciiTextStruct::deserialize(payload)), - 2u16 => Messages::Nack(NackStruct::deserialize(payload)), - 6u16 => Messages::GeneralRequest(GeneralRequestStruct::deserialize(payload)), 1u16 => Messages::Ack(AckStruct::deserialize(payload)), 100u16 => Messages::SetDeviceId(SetDeviceIdStruct::deserialize(payload)), 4u16 => Messages::DeviceInformation(DeviceInformationStruct::deserialize(payload)), + 5u16 => Messages::ProtocolVersion(ProtocolVersionStruct::deserialize(payload)), + 3u16 => Messages::AsciiText(AsciiTextStruct::deserialize(payload)), + 6u16 => Messages::GeneralRequest(GeneralRequestStruct::deserialize(payload)), + 2u16 => Messages::Nack(NackStruct::deserialize(payload)), _ => { return Err(&"Unknown message id"); } diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/mod.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/mod.rs.html index 14a8282ec..124e817ab 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/mod.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/mod.rs.html @@ -102,6 +102,18 @@

Files

100 101 102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114
pub mod ping1d {
     include!("ping1d.rs");
 }
@@ -159,10 +171,22 @@ 

Files

impl TryFrom<&Vec<u8>> for Messages { type Error = String; fn try_from(buffer: &Vec<u8>) -> Result<Self, Self::Error> { + const MIN_MSG_SIZE: usize = 10; if !((buffer[0] == HEADER[0]) && (buffer[1] == HEADER[1])) { return Err (format ! ("Message should start with \"BR\" ASCII sequence, received: [{0}({:0x}), {1}({:0x})]" , buffer [0] , buffer [1])) ; } + if buffer.len() < MIN_MSG_SIZE { + return Err( + format!("Message is too short, should be at least {MIN_MSG_SIZE} bytes").into(), + ); + } let payload_length = u16::from_le_bytes([buffer[2], buffer[3]]); + if payload_length as usize + MIN_MSG_SIZE != buffer.len() { + return Err(format!( + "Payload length does not match, expected: {payload_length}, received: {}", + buffer.len() - MIN_MSG_SIZE + )); + } let protocol_message = ProtocolMessage { payload_length, message_id: u16::from_le_bytes([buffer[4], buffer[5]]), diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping1d.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping1d.rs.html index 95b94e06b..e4b4058c1 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping1d.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping1d.rs.html @@ -1437,108 +1437,108 @@

Files

#[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum Messages { - PingEnable(PingEnableStruct), - GeneralInfo(GeneralInfoStruct), - SetSpeedOfSound(SetSpeedOfSoundStruct), SetRange(SetRangeStruct), - GotoBootloader(GotoBootloaderStruct), - ContinuousStop(ContinuousStopStruct), - DeviceId(DeviceIdStruct), + SetDeviceId(SetDeviceIdStruct), Voltage5(Voltage5Struct), - DistanceSimple(DistanceSimpleStruct), - GainSetting(GainSettingStruct), + PingEnable(PingEnableStruct), ProcessorTemperature(ProcessorTemperatureStruct), SpeedOfSound(SpeedOfSoundStruct), + ContinuousStop(ContinuousStopStruct), + GeneralInfo(GeneralInfoStruct), SetModeAuto(SetModeAutoStruct), - SetPingInterval(SetPingIntervalStruct), - SetPingEnable(SetPingEnableStruct), - Profile(ProfileStruct), - PingInterval(PingIntervalStruct), - FirmwareVersion(FirmwareVersionStruct), - PcbTemperature(PcbTemperatureStruct), TransmitDuration(TransmitDurationStruct), - SetDeviceId(SetDeviceIdStruct), + DistanceSimple(DistanceSimpleStruct), + DeviceId(DeviceIdStruct), + FirmwareVersion(FirmwareVersionStruct), + GainSetting(GainSettingStruct), + SetSpeedOfSound(SetSpeedOfSoundStruct), SetGainSetting(SetGainSettingStruct), - ContinuousStart(ContinuousStartStruct), Range(RangeStruct), ModeAuto(ModeAutoStruct), + GotoBootloader(GotoBootloaderStruct), + ContinuousStart(ContinuousStartStruct), Distance(DistanceStruct), + SetPingInterval(SetPingIntervalStruct), + PcbTemperature(PcbTemperatureStruct), + Profile(ProfileStruct), + PingInterval(PingIntervalStruct), + SetPingEnable(SetPingEnableStruct), } impl Messages { pub fn inner<T: 'static>(&self) -> Option<&T> { match self { - Self::PingEnable(inner_struct) => { + Self::SetRange(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::GeneralInfo(inner_struct) => { + Self::SetDeviceId(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetSpeedOfSound(inner_struct) => { + Self::Voltage5(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetRange(inner_struct) => { + Self::PingEnable(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::GotoBootloader(inner_struct) => { + Self::ProcessorTemperature(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::ContinuousStop(inner_struct) => { + Self::SpeedOfSound(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::DeviceId(inner_struct) => { + Self::ContinuousStop(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Voltage5(inner_struct) => { + Self::GeneralInfo(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::DistanceSimple(inner_struct) => { + Self::SetModeAuto(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::GainSetting(inner_struct) => { + Self::TransmitDuration(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::ProcessorTemperature(inner_struct) => { + Self::DistanceSimple(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SpeedOfSound(inner_struct) => { + Self::DeviceId(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetModeAuto(inner_struct) => { + Self::FirmwareVersion(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetPingInterval(inner_struct) => { + Self::GainSetting(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetPingEnable(inner_struct) => { + Self::SetSpeedOfSound(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Profile(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::PingInterval(inner_struct) => { + Self::SetGainSetting(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::FirmwareVersion(inner_struct) => { + Self::Range(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), + Self::ModeAuto(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::PcbTemperature(inner_struct) => { + Self::GotoBootloader(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::TransmitDuration(inner_struct) => { + Self::ContinuousStart(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetDeviceId(inner_struct) => { + Self::Distance(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::SetGainSetting(inner_struct) => { + Self::SetPingInterval(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::ContinuousStart(inner_struct) => { + Self::PcbTemperature(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Range(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), - Self::ModeAuto(inner_struct) => { + Self::Profile(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), + Self::PingInterval(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::Distance(inner_struct) => { + Self::SetPingEnable(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } } @@ -1546,198 +1546,142 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Acoustic output enabled state."] -pub struct PingEnableStruct { - #[doc = "The state of the acoustic output. 0: disabled, 1:enabled"] - pub ping_enabled: u8, -} -impl SerializePayload for PingEnableStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.ping_enabled.to_le_bytes()); - buffer - } -} -impl DeserializePayload for PingEnableStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - ping_enabled: payload[0usize].into(), - } - } -} -impl MessageInfo for PingEnableStruct { - fn id() -> u16 { - 1215u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "General information."] -pub struct GeneralInfoStruct { - #[doc = "Firmware major version."] - pub firmware_version_major: u16, - #[doc = "Firmware minor version."] - pub firmware_version_minor: u16, - #[doc = "Device supply voltage."] - pub voltage_5: u16, - #[doc = "The interval between acoustic measurements."] - pub ping_interval: u16, - #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] - pub gain_setting: u8, - #[doc = "The current operating mode of the device. 0: manual mode, 1: auto mode"] - pub mode_auto: u8, +#[doc = "Set the scan range for acoustic measurements."] +pub struct SetRangeStruct { + #[doc = "Not documented"] + pub scan_start: u32, + #[doc = "The length of the scan range. Minimum 1000."] + pub scan_length: u32, } -impl SerializePayload for GeneralInfoStruct { +impl SerializePayload for SetRangeStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); - buffer.extend_from_slice(&self.voltage_5.to_le_bytes()); - buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); - buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); - buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); + buffer.extend_from_slice(&self.scan_start.to_le_bytes()); + buffer.extend_from_slice(&self.scan_length.to_le_bytes()); buffer } } -impl DeserializePayload for GeneralInfoStruct { +impl DeserializePayload for SetRangeStruct { fn deserialize(payload: &[u8]) -> Self { Self { - firmware_version_major: u16::from_le_bytes( - payload[0usize..0usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - firmware_version_minor: u16::from_le_bytes( - payload[2usize..2usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - voltage_5: u16::from_le_bytes( - payload[4usize..4usize + 2usize] + scan_start: u32::from_le_bytes( + payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), - ping_interval: u16::from_le_bytes( - payload[6usize..6usize + 2usize] + scan_length: u32::from_le_bytes( + payload[4usize..4usize + 4usize] .try_into() .expect("Wrong slice length"), ), - gain_setting: payload[8usize].into(), - mode_auto: payload[9usize].into(), } } } -impl MessageInfo for GeneralInfoStruct { +impl MessageInfo for SetRangeStruct { fn id() -> u16 { - 1210u16 + 1001u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the speed of sound used for distance calculations."] -pub struct SetSpeedOfSoundStruct { - #[doc = "The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] - pub speed_of_sound: u32, +#[doc = "Set the device ID."] +pub struct SetDeviceIdStruct { + #[doc = "Device ID (0-254). 255 is reserved for broadcast messages."] + pub device_id: u8, } -impl SerializePayload for SetSpeedOfSoundStruct { +impl SerializePayload for SetDeviceIdStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.speed_of_sound.to_le_bytes()); + buffer.extend_from_slice(&self.device_id.to_le_bytes()); buffer } } -impl DeserializePayload for SetSpeedOfSoundStruct { +impl DeserializePayload for SetDeviceIdStruct { fn deserialize(payload: &[u8]) -> Self { Self { - speed_of_sound: u32::from_le_bytes( - payload[0usize..0usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), + device_id: payload[0usize].into(), } } } -impl MessageInfo for SetSpeedOfSoundStruct { +impl MessageInfo for SetDeviceIdStruct { fn id() -> u16 { - 1002u16 + 1000u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the scan range for acoustic measurements."] -pub struct SetRangeStruct { - #[doc = "Not documented"] - pub scan_start: u32, - #[doc = "The length of the scan range."] - pub scan_length: u32, +#[doc = "The 5V rail voltage."] +pub struct Voltage5Struct { + #[doc = "The 5V rail voltage."] + pub voltage_5: u16, } -impl SerializePayload for SetRangeStruct { +impl SerializePayload for Voltage5Struct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.scan_start.to_le_bytes()); - buffer.extend_from_slice(&self.scan_length.to_le_bytes()); + buffer.extend_from_slice(&self.voltage_5.to_le_bytes()); buffer } } -impl DeserializePayload for SetRangeStruct { +impl DeserializePayload for Voltage5Struct { fn deserialize(payload: &[u8]) -> Self { Self { - scan_start: u32::from_le_bytes( - payload[0usize..0usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), - scan_length: u32::from_le_bytes( - payload[4usize..4usize + 4usize] + voltage_5: u16::from_le_bytes( + payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for SetRangeStruct { +impl MessageInfo for Voltage5Struct { fn id() -> u16 { - 1001u16 + 1202u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Send the device into the bootloader. This is useful for firmware updates."] -pub struct GotoBootloaderStruct {} -impl SerializePayload for GotoBootloaderStruct { +#[doc = "Acoustic output enabled state."] +pub struct PingEnableStruct { + #[doc = "The state of the acoustic output. 0: disabled, 1:enabled"] + pub ping_enabled: u8, +} +impl SerializePayload for PingEnableStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.ping_enabled.to_le_bytes()); buffer } } -impl DeserializePayload for GotoBootloaderStruct { +impl DeserializePayload for PingEnableStruct { fn deserialize(payload: &[u8]) -> Self { - Self {} + Self { + ping_enabled: payload[0usize].into(), + } } } -impl MessageInfo for GotoBootloaderStruct { +impl MessageInfo for PingEnableStruct { fn id() -> u16 { - 1100u16 + 1215u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Command to stop the continuous data stream of profile messages."] -pub struct ContinuousStopStruct { - #[doc = "The message id to stop streaming. 1300: profile"] - pub id: u16, +#[doc = "Temperature of the device cpu."] +pub struct ProcessorTemperatureStruct { + #[doc = "The temperature in centi-degrees Centigrade (100 * degrees C)."] + pub processor_temperature: u16, } -impl SerializePayload for ContinuousStopStruct { +impl SerializePayload for ProcessorTemperatureStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.id.to_le_bytes()); + buffer.extend_from_slice(&self.processor_temperature.to_le_bytes()); buffer } } -impl DeserializePayload for ContinuousStopStruct { +impl DeserializePayload for ProcessorTemperatureStruct { fn deserialize(payload: &[u8]) -> Self { Self { - id: u16::from_le_bytes( + processor_temperature: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1745,55 +1689,59 @@

Files

} } } -impl MessageInfo for ContinuousStopStruct { +impl MessageInfo for ProcessorTemperatureStruct { fn id() -> u16 { - 1401u16 + 1213u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The device ID."] -pub struct DeviceIdStruct { - #[doc = "The device ID (0-254). 255 is reserved for broadcast messages."] - pub device_id: u8, +#[doc = "The speed of sound used for distance calculations."] +pub struct SpeedOfSoundStruct { + #[doc = "The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] + pub speed_of_sound: u32, } -impl SerializePayload for DeviceIdStruct { +impl SerializePayload for SpeedOfSoundStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.device_id.to_le_bytes()); + buffer.extend_from_slice(&self.speed_of_sound.to_le_bytes()); buffer } } -impl DeserializePayload for DeviceIdStruct { +impl DeserializePayload for SpeedOfSoundStruct { fn deserialize(payload: &[u8]) -> Self { Self { - device_id: payload[0usize].into(), + speed_of_sound: u32::from_le_bytes( + payload[0usize..0usize + 4usize] + .try_into() + .expect("Wrong slice length"), + ), } } } -impl MessageInfo for DeviceIdStruct { +impl MessageInfo for SpeedOfSoundStruct { fn id() -> u16 { - 1201u16 + 1203u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The 5V rail voltage."] -pub struct Voltage5Struct { - #[doc = "The 5V rail voltage."] - pub voltage_5: u16, +#[doc = "Command to stop the continuous data stream of profile messages."] +pub struct ContinuousStopStruct { + #[doc = "The message id to stop streaming. 1300: profile"] + pub id: u16, } -impl SerializePayload for Voltage5Struct { +impl SerializePayload for ContinuousStopStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.voltage_5.to_le_bytes()); + buffer.extend_from_slice(&self.id.to_le_bytes()); buffer } } -impl DeserializePayload for Voltage5Struct { +impl DeserializePayload for ContinuousStopStruct { fn deserialize(payload: &[u8]) -> Self { Self { - voltage_5: u16::from_le_bytes( + id: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1801,93 +1749,117 @@

Files

} } } -impl MessageInfo for Voltage5Struct { +impl MessageInfo for ContinuousStopStruct { fn id() -> u16 { - 1202u16 + 1401u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The distance to target with confidence estimate."] -pub struct DistanceSimpleStruct { - #[doc = "Distance to the target."] - pub distance: u32, - #[doc = "Confidence in the distance measurement."] - pub confidence: u8, +#[doc = "General information."] +pub struct GeneralInfoStruct { + #[doc = "Firmware major version."] + pub firmware_version_major: u16, + #[doc = "Firmware minor version."] + pub firmware_version_minor: u16, + #[doc = "Device supply voltage."] + pub voltage_5: u16, + #[doc = "The interval between acoustic measurements."] + pub ping_interval: u16, + #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] + pub gain_setting: u8, + #[doc = "The current operating mode of the device. 0: manual mode, 1: auto mode"] + pub mode_auto: u8, } -impl SerializePayload for DistanceSimpleStruct { +impl SerializePayload for GeneralInfoStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.distance.to_le_bytes()); - buffer.extend_from_slice(&self.confidence.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); + buffer.extend_from_slice(&self.voltage_5.to_le_bytes()); + buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); + buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); + buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); buffer } } -impl DeserializePayload for DistanceSimpleStruct { +impl DeserializePayload for GeneralInfoStruct { fn deserialize(payload: &[u8]) -> Self { Self { - distance: u32::from_le_bytes( - payload[0usize..0usize + 4usize] + firmware_version_major: u16::from_le_bytes( + payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), ), - confidence: payload[4usize].into(), + firmware_version_minor: u16::from_le_bytes( + payload[2usize..2usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + voltage_5: u16::from_le_bytes( + payload[4usize..4usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + ping_interval: u16::from_le_bytes( + payload[6usize..6usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + gain_setting: payload[8usize].into(), + mode_auto: payload[9usize].into(), } } } -impl MessageInfo for DistanceSimpleStruct { +impl MessageInfo for GeneralInfoStruct { fn id() -> u16 { - 1211u16 + 1210u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The current gain setting."] -pub struct GainSettingStruct { - #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] - pub gain_setting: u32, +#[doc = "Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range."] +pub struct SetModeAutoStruct { + #[doc = "0: manual mode. 1: auto mode."] + pub mode_auto: u8, } -impl SerializePayload for GainSettingStruct { +impl SerializePayload for SetModeAutoStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); + buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); buffer } } -impl DeserializePayload for GainSettingStruct { +impl DeserializePayload for SetModeAutoStruct { fn deserialize(payload: &[u8]) -> Self { Self { - gain_setting: u32::from_le_bytes( - payload[0usize..0usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), + mode_auto: payload[0usize].into(), } } } -impl MessageInfo for GainSettingStruct { +impl MessageInfo for SetModeAutoStruct { fn id() -> u16 { - 1207u16 + 1003u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Temperature of the device cpu."] -pub struct ProcessorTemperatureStruct { - #[doc = "The temperature in centi-degrees Centigrade (100 * degrees C)."] - pub processor_temperature: u16, +#[doc = "The duration of the acoustic activation/transmission."] +pub struct TransmitDurationStruct { + #[doc = "Acoustic pulse duration."] + pub transmit_duration: u16, } -impl SerializePayload for ProcessorTemperatureStruct { +impl SerializePayload for TransmitDurationStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.processor_temperature.to_le_bytes()); + buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); buffer } } -impl DeserializePayload for ProcessorTemperatureStruct { +impl DeserializePayload for TransmitDurationStruct { fn deserialize(payload: &[u8]) -> Self { Self { - processor_temperature: u16::from_le_bytes( + transmit_duration: u16::from_le_bytes( payload[0usize..0usize + 2usize] .try_into() .expect("Wrong slice length"), @@ -1895,396 +1867,285 @@

Files

} } } -impl MessageInfo for ProcessorTemperatureStruct { +impl MessageInfo for TransmitDurationStruct { fn id() -> u16 { - 1213u16 + 1208u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The speed of sound used for distance calculations."] -pub struct SpeedOfSoundStruct { - #[doc = "The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] - pub speed_of_sound: u32, +#[doc = "The distance to target with confidence estimate."] +pub struct DistanceSimpleStruct { + #[doc = "Distance to the target."] + pub distance: u32, + #[doc = "Confidence in the distance measurement."] + pub confidence: u8, } -impl SerializePayload for SpeedOfSoundStruct { +impl SerializePayload for DistanceSimpleStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.speed_of_sound.to_le_bytes()); + buffer.extend_from_slice(&self.distance.to_le_bytes()); + buffer.extend_from_slice(&self.confidence.to_le_bytes()); buffer } } -impl DeserializePayload for SpeedOfSoundStruct { +impl DeserializePayload for DistanceSimpleStruct { fn deserialize(payload: &[u8]) -> Self { Self { - speed_of_sound: u32::from_le_bytes( + distance: u32::from_le_bytes( payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), + confidence: payload[4usize].into(), } } } -impl MessageInfo for SpeedOfSoundStruct { +impl MessageInfo for DistanceSimpleStruct { fn id() -> u16 { - 1203u16 + 1211u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range."] -pub struct SetModeAutoStruct { - #[doc = "0: manual mode. 1: auto mode."] - pub mode_auto: u8, +#[doc = "The device ID."] +pub struct DeviceIdStruct { + #[doc = "The device ID (0-254). 255 is reserved for broadcast messages."] + pub device_id: u8, } -impl SerializePayload for SetModeAutoStruct { +impl SerializePayload for DeviceIdStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); + buffer.extend_from_slice(&self.device_id.to_le_bytes()); buffer } } -impl DeserializePayload for SetModeAutoStruct { +impl DeserializePayload for DeviceIdStruct { fn deserialize(payload: &[u8]) -> Self { Self { - mode_auto: payload[0usize].into(), + device_id: payload[0usize].into(), } } } -impl MessageInfo for SetModeAutoStruct { +impl MessageInfo for DeviceIdStruct { fn id() -> u16 { - 1003u16 + 1201u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The interval between acoustic measurements."] -pub struct SetPingIntervalStruct { - #[doc = "The interval between acoustic measurements."] - pub ping_interval: u16, +#[doc = "Device information"] +pub struct FirmwareVersionStruct { + #[doc = "Device type. 0: Unknown; 1: Echosounder"] + pub device_type: u8, + #[doc = "Device model. 0: Unknown; 1: Ping1D"] + pub device_model: u8, + #[doc = "Firmware version major number."] + pub firmware_version_major: u16, + #[doc = "Firmware version minor number."] + pub firmware_version_minor: u16, } -impl SerializePayload for SetPingIntervalStruct { +impl SerializePayload for FirmwareVersionStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); + buffer.extend_from_slice(&self.device_type.to_le_bytes()); + buffer.extend_from_slice(&self.device_model.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); + buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); buffer } } -impl DeserializePayload for SetPingIntervalStruct { +impl DeserializePayload for FirmwareVersionStruct { fn deserialize(payload: &[u8]) -> Self { Self { - ping_interval: u16::from_le_bytes( - payload[0usize..0usize + 2usize] + device_type: payload[0usize].into(), + device_model: payload[1usize].into(), + firmware_version_major: u16::from_le_bytes( + payload[2usize..2usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + firmware_version_minor: u16::from_le_bytes( + payload[4usize..4usize + 2usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for SetPingIntervalStruct { +impl MessageInfo for FirmwareVersionStruct { fn id() -> u16 { - 1004u16 + 1200u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Enable or disable acoustic measurements."] -pub struct SetPingEnableStruct { - #[doc = "0: Disable, 1: Enable."] - pub ping_enabled: u8, +#[doc = "The current gain setting."] +pub struct GainSettingStruct { + #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] + pub gain_setting: u32, } -impl SerializePayload for SetPingEnableStruct { +impl SerializePayload for GainSettingStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.ping_enabled.to_le_bytes()); + buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); buffer } } -impl DeserializePayload for SetPingEnableStruct { +impl DeserializePayload for GainSettingStruct { fn deserialize(payload: &[u8]) -> Self { Self { - ping_enabled: payload[0usize].into(), + gain_setting: u32::from_le_bytes( + payload[0usize..0usize + 4usize] + .try_into() + .expect("Wrong slice length"), + ), } } } -impl MessageInfo for SetPingEnableStruct { +impl MessageInfo for GainSettingStruct { fn id() -> u16 { - 1006u16 + 1207u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided."] -pub struct ProfileStruct { - #[doc = "The current return distance determined for the most recent acoustic measurement."] - pub distance: u32, - #[doc = "Confidence in the most recent range measurement."] - pub confidence: u16, - #[doc = "The acoustic pulse length during acoustic transmission/activation."] - pub transmit_duration: u16, - #[doc = "The pulse/measurement count since boot."] - pub ping_number: u32, - #[doc = "The beginning of the scan region in mm from the transducer."] - pub scan_start: u32, - #[doc = "The length of the scan region."] - pub scan_length: u32, - #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] - pub gain_setting: u32, - #[doc = "An array of return strength measurements taken at regular intervals across the scan region."] - pub profile_data_length: u16, - pub profile_data: Vec<u8>, +#[doc = "Set the speed of sound used for distance calculations."] +pub struct SetSpeedOfSoundStruct { + #[doc = "The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] + pub speed_of_sound: u32, } -impl SerializePayload for ProfileStruct { +impl SerializePayload for SetSpeedOfSoundStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.distance.to_le_bytes()); - buffer.extend_from_slice(&self.confidence.to_le_bytes()); - buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); - buffer.extend_from_slice(&self.ping_number.to_le_bytes()); - buffer.extend_from_slice(&self.scan_start.to_le_bytes()); - buffer.extend_from_slice(&self.scan_length.to_le_bytes()); - buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); - buffer.extend_from_slice(&self.profile_data_length.to_le_bytes()); - for value in self.profile_data.iter() { - buffer.extend_from_slice(&value.to_le_bytes()); - } + buffer.extend_from_slice(&self.speed_of_sound.to_le_bytes()); buffer } } -impl DeserializePayload for ProfileStruct { +impl DeserializePayload for SetSpeedOfSoundStruct { fn deserialize(payload: &[u8]) -> Self { Self { - distance: u32::from_le_bytes( + speed_of_sound: u32::from_le_bytes( payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), - confidence: u16::from_le_bytes( - payload[4usize..4usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - transmit_duration: u16::from_le_bytes( - payload[6usize..6usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - ping_number: u32::from_le_bytes( - payload[8usize..8usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), - scan_start: u32::from_le_bytes( - payload[12usize..12usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), - scan_length: u32::from_le_bytes( - payload[16usize..16usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), - gain_setting: u32::from_le_bytes( - payload[20usize..20usize + 4usize] - .try_into() - .expect("Wrong slice length"), - ), - profile_data_length: payload.len() as u16, - profile_data: payload[24usize..payload.len()].to_vec(), - } - } -} -impl MessageInfo for ProfileStruct { - fn id() -> u16 { - 1300u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The interval between acoustic measurements."] -pub struct PingIntervalStruct { - #[doc = "The minimum interval between acoustic measurements. The actual interval may be longer."] - pub ping_interval: u16, -} -impl SerializePayload for PingIntervalStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); - buffer - } -} -impl DeserializePayload for PingIntervalStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - ping_interval: u16::from_le_bytes( - payload[0usize..0usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), } } } -impl MessageInfo for PingIntervalStruct { +impl MessageInfo for SetSpeedOfSoundStruct { fn id() -> u16 { - 1206u16 + 1002u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Device information"] -pub struct FirmwareVersionStruct { - #[doc = "Device type. 0: Unknown; 1: Echosounder"] - pub device_type: u8, - #[doc = "Device model. 0: Unknown; 1: Ping1D"] - pub device_model: u8, - #[doc = "Firmware version major number."] - pub firmware_version_major: u16, - #[doc = "Firmware version minor number."] - pub firmware_version_minor: u16, +#[doc = "Set the current gain setting."] +pub struct SetGainSettingStruct { + #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] + pub gain_setting: u8, } -impl SerializePayload for FirmwareVersionStruct { +impl SerializePayload for SetGainSettingStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.device_type.to_le_bytes()); - buffer.extend_from_slice(&self.device_model.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_major.to_le_bytes()); - buffer.extend_from_slice(&self.firmware_version_minor.to_le_bytes()); + buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); buffer } } -impl DeserializePayload for FirmwareVersionStruct { +impl DeserializePayload for SetGainSettingStruct { fn deserialize(payload: &[u8]) -> Self { Self { - device_type: payload[0usize].into(), - device_model: payload[1usize].into(), - firmware_version_major: u16::from_le_bytes( - payload[2usize..2usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - firmware_version_minor: u16::from_le_bytes( - payload[4usize..4usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), + gain_setting: payload[0usize].into(), } } } -impl MessageInfo for FirmwareVersionStruct { +impl MessageInfo for SetGainSettingStruct { fn id() -> u16 { - 1200u16 + 1005u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Temperature of the on-board thermistor."] -pub struct PcbTemperatureStruct { - #[doc = "The temperature in centi-degrees Centigrade (100 * degrees C)."] - pub pcb_temperature: u16, +#[doc = "The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length)."] +pub struct RangeStruct { + #[doc = "The beginning of the scan range in mm from the transducer."] + pub scan_start: u32, + #[doc = "The length of the scan range."] + pub scan_length: u32, } -impl SerializePayload for PcbTemperatureStruct { +impl SerializePayload for RangeStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.pcb_temperature.to_le_bytes()); + buffer.extend_from_slice(&self.scan_start.to_le_bytes()); + buffer.extend_from_slice(&self.scan_length.to_le_bytes()); buffer } } -impl DeserializePayload for PcbTemperatureStruct { +impl DeserializePayload for RangeStruct { fn deserialize(payload: &[u8]) -> Self { Self { - pcb_temperature: u16::from_le_bytes( - payload[0usize..0usize + 2usize] + scan_start: u32::from_le_bytes( + payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), - } - } -} -impl MessageInfo for PcbTemperatureStruct { - fn id() -> u16 { - 1214u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The duration of the acoustic activation/transmission."] -pub struct TransmitDurationStruct { - #[doc = "Acoustic pulse duration."] - pub transmit_duration: u16, -} -impl SerializePayload for TransmitDurationStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); - buffer - } -} -impl DeserializePayload for TransmitDurationStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - transmit_duration: u16::from_le_bytes( - payload[0usize..0usize + 2usize] + scan_length: u32::from_le_bytes( + payload[4usize..4usize + 4usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for TransmitDurationStruct { +impl MessageInfo for RangeStruct { fn id() -> u16 { - 1208u16 + 1204u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the device ID."] -pub struct SetDeviceIdStruct { - #[doc = "Device ID (0-254). 255 is reserved for broadcast messages."] - pub device_id: u8, +#[doc = "The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range."] +pub struct ModeAutoStruct { + #[doc = "0: manual mode, 1: auto mode"] + pub mode_auto: u8, } -impl SerializePayload for SetDeviceIdStruct { +impl SerializePayload for ModeAutoStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.device_id.to_le_bytes()); + buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); buffer } } -impl DeserializePayload for SetDeviceIdStruct { +impl DeserializePayload for ModeAutoStruct { fn deserialize(payload: &[u8]) -> Self { Self { - device_id: payload[0usize].into(), + mode_auto: payload[0usize].into(), } } } -impl MessageInfo for SetDeviceIdStruct { +impl MessageInfo for ModeAutoStruct { fn id() -> u16 { - 1000u16 + 1205u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Set the current gain setting."] -pub struct SetGainSettingStruct { - #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] - pub gain_setting: u8, -} -impl SerializePayload for SetGainSettingStruct { +#[doc = "Send the device into the bootloader. This is useful for firmware updates."] +pub struct GotoBootloaderStruct {} +impl SerializePayload for GotoBootloaderStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); buffer } } -impl DeserializePayload for SetGainSettingStruct { +impl DeserializePayload for GotoBootloaderStruct { fn deserialize(payload: &[u8]) -> Self { - Self { - gain_setting: payload[0usize].into(), - } + Self {} } } -impl MessageInfo for SetGainSettingStruct { +impl MessageInfo for GotoBootloaderStruct { fn id() -> u16 { - 1005u16 + 1100u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -2319,72 +2180,146 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length)."] -pub struct RangeStruct { - #[doc = "The beginning of the scan range in mm from the transducer."] +#[doc = "The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided."] +pub struct DistanceStruct { + #[doc = "The current return distance determined for the most recent acoustic measurement."] + pub distance: u32, + #[doc = "Confidence in the most recent range measurement."] + pub confidence: u16, + #[doc = "The acoustic pulse length during acoustic transmission/activation."] + pub transmit_duration: u16, + #[doc = "The pulse/measurement count since boot."] + pub ping_number: u32, + #[doc = "The beginning of the scan region in mm from the transducer."] pub scan_start: u32, - #[doc = "The length of the scan range."] + #[doc = "The length of the scan region."] pub scan_length: u32, + #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] + pub gain_setting: u32, } -impl SerializePayload for RangeStruct { +impl SerializePayload for DistanceStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.distance.to_le_bytes()); + buffer.extend_from_slice(&self.confidence.to_le_bytes()); + buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); + buffer.extend_from_slice(&self.ping_number.to_le_bytes()); buffer.extend_from_slice(&self.scan_start.to_le_bytes()); buffer.extend_from_slice(&self.scan_length.to_le_bytes()); + buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); buffer } } -impl DeserializePayload for RangeStruct { +impl DeserializePayload for DistanceStruct { fn deserialize(payload: &[u8]) -> Self { Self { - scan_start: u32::from_le_bytes( + distance: u32::from_le_bytes( payload[0usize..0usize + 4usize] .try_into() .expect("Wrong slice length"), ), + confidence: u16::from_le_bytes( + payload[4usize..4usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + transmit_duration: u16::from_le_bytes( + payload[6usize..6usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + ping_number: u32::from_le_bytes( + payload[8usize..8usize + 4usize] + .try_into() + .expect("Wrong slice length"), + ), + scan_start: u32::from_le_bytes( + payload[12usize..12usize + 4usize] + .try_into() + .expect("Wrong slice length"), + ), scan_length: u32::from_le_bytes( - payload[4usize..4usize + 4usize] + payload[16usize..16usize + 4usize] + .try_into() + .expect("Wrong slice length"), + ), + gain_setting: u32::from_le_bytes( + payload[20usize..20usize + 4usize] .try_into() .expect("Wrong slice length"), ), } } } -impl MessageInfo for RangeStruct { +impl MessageInfo for DistanceStruct { fn id() -> u16 { - 1204u16 + 1212u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range."] -pub struct ModeAutoStruct { - #[doc = "0: manual mode, 1: auto mode"] - pub mode_auto: u8, +#[doc = "The interval between acoustic measurements."] +pub struct SetPingIntervalStruct { + #[doc = "The interval between acoustic measurements."] + pub ping_interval: u16, } -impl SerializePayload for ModeAutoStruct { +impl SerializePayload for SetPingIntervalStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.mode_auto.to_le_bytes()); + buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); buffer } } -impl DeserializePayload for ModeAutoStruct { +impl DeserializePayload for SetPingIntervalStruct { fn deserialize(payload: &[u8]) -> Self { Self { - mode_auto: payload[0usize].into(), + ping_interval: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), } } } -impl MessageInfo for ModeAutoStruct { +impl MessageInfo for SetPingIntervalStruct { fn id() -> u16 { - 1205u16 + 1004u16 } } #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided."] -pub struct DistanceStruct { +#[doc = "Temperature of the on-board thermistor."] +pub struct PcbTemperatureStruct { + #[doc = "The temperature in centi-degrees Centigrade (100 * degrees C)."] + pub pcb_temperature: u16, +} +impl SerializePayload for PcbTemperatureStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.pcb_temperature.to_le_bytes()); + buffer + } +} +impl DeserializePayload for PcbTemperatureStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + pcb_temperature: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + } + } +} +impl MessageInfo for PcbTemperatureStruct { + fn id() -> u16 { + 1214u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided."] +pub struct ProfileStruct { #[doc = "The current return distance determined for the most recent acoustic measurement."] pub distance: u32, #[doc = "Confidence in the most recent range measurement."] @@ -2399,8 +2334,11 @@

Files

pub scan_length: u32, #[doc = "The current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, 4: 30.2, 5: 66.1, 6: 144"] pub gain_setting: u32, + #[doc = "An 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."] + pub profile_data_length: u16, + pub profile_data: Vec<u8>, } -impl SerializePayload for DistanceStruct { +impl SerializePayload for ProfileStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); buffer.extend_from_slice(&self.distance.to_le_bytes()); @@ -2410,10 +2348,14 @@

Files

buffer.extend_from_slice(&self.scan_start.to_le_bytes()); buffer.extend_from_slice(&self.scan_length.to_le_bytes()); buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); + buffer.extend_from_slice(&self.profile_data_length.to_le_bytes()); + for value in self.profile_data.iter() { + buffer.extend_from_slice(&value.to_le_bytes()); + } buffer } } -impl DeserializePayload for DistanceStruct { +impl DeserializePayload for ProfileStruct { fn deserialize(payload: &[u8]) -> Self { Self { distance: u32::from_le_bytes( @@ -2451,12 +2393,70 @@

Files

.try_into() .expect("Wrong slice length"), ), + profile_data_length: payload.len() as u16, + profile_data: payload[24usize..payload.len()].to_vec(), } } } -impl MessageInfo for DistanceStruct { +impl MessageInfo for ProfileStruct { fn id() -> u16 { - 1212u16 + 1300u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "The interval between acoustic measurements."] +pub struct PingIntervalStruct { + #[doc = "The minimum interval between acoustic measurements. The actual interval may be longer."] + pub ping_interval: u16, +} +impl SerializePayload for PingIntervalStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.ping_interval.to_le_bytes()); + buffer + } +} +impl DeserializePayload for PingIntervalStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + ping_interval: u16::from_le_bytes( + payload[0usize..0usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + } + } +} +impl MessageInfo for PingIntervalStruct { + fn id() -> u16 { + 1206u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "Enable or disable acoustic measurements."] +pub struct SetPingEnableStruct { + #[doc = "0: Disable, 1: Enable."] + pub ping_enabled: u8, +} +impl SerializePayload for SetPingEnableStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.ping_enabled.to_le_bytes()); + buffer + } +} +impl DeserializePayload for SetPingEnableStruct { + fn deserialize(payload: &[u8]) -> Self { + Self { + ping_enabled: payload[0usize].into(), + } + } +} +impl MessageInfo for SetPingEnableStruct { + fn id() -> u16 { + 1006u16 } } impl Device { @@ -2468,30 +2468,10 @@

Files

common: Common::new(io), } } - #[doc = "Acoustic output enabled state."] - pub async fn ping_enable(&self) -> Result<PingEnableStruct, PingError> { - self.request().await - } - #[doc = "General information."] - pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError> { - self.request().await - } - #[doc = "Set the speed of sound used for distance calculations."] - #[doc = "# Arguments"] - #[doc = "* `speed_of_sound` \\[mm/s\\] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] - pub async fn set_speed_of_sound(&self, speed_of_sound: u32) -> Result<(), PingError> { - let request = Messages::SetSpeedOfSound(SetSpeedOfSoundStruct { speed_of_sound }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - let receiver = self.subscribe(); - self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetSpeedOfSoundStruct::id()) - .await - } #[doc = "Set the scan range for acoustic measurements."] #[doc = "# Arguments"] #[doc = "* `scan_start` \\[mm\\] - Not documented"] - #[doc = "* `scan_length` \\[mm\\] - The length of the scan range."] + #[doc = "* `scan_length` \\[mm\\] - The length of the scan range. Minimum 1000."] pub async fn set_range(&self, scan_start: u32, scan_length: u32) -> Result<(), PingError> { let request = Messages::SetRange(SetRangeStruct { scan_start, @@ -2503,39 +2483,23 @@

Files

self.get_common().send_message(package).await?; self.wait_for_ack(receiver, SetRangeStruct::id()).await } - #[doc = "Send the device into the bootloader. This is useful for firmware updates."] - #[doc = "# Arguments"] - pub async fn goto_bootloader(&self) -> Result<(), PingError> { - let request = Messages::GotoBootloader(GotoBootloaderStruct {}); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - self.get_common().send_message(package).await?; - Ok(()) - } - #[doc = "Command to stop the continuous data stream of profile messages."] + #[doc = "Set the device ID."] #[doc = "# Arguments"] - #[doc = "* `id` - The message id to stop streaming. 1300: profile"] - pub async fn continuous_stop(&self, id: u16) -> Result<(), PingError> { - let request = Messages::ContinuousStop(ContinuousStopStruct { id }); + #[doc = "* `device_id` - Device ID (0-254). 255 is reserved for broadcast messages."] + pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError> { + let request = Messages::SetDeviceId(SetDeviceIdStruct { device_id }); let mut package = ProtocolMessage::new(); package.set_message(&request); + let receiver = self.subscribe(); self.get_common().send_message(package).await?; - Ok(()) - } - #[doc = "The device ID."] - pub async fn device_id(&self) -> Result<DeviceIdStruct, PingError> { - self.request().await + self.wait_for_ack(receiver, SetDeviceIdStruct::id()).await } #[doc = "The 5V rail voltage."] pub async fn voltage_5(&self) -> Result<Voltage5Struct, PingError> { self.request().await } - #[doc = "The distance to target with confidence estimate."] - pub async fn distance_simple(&self) -> Result<DistanceSimpleStruct, PingError> { - self.request().await - } - #[doc = "The current gain setting."] - pub async fn gain_setting(&self) -> Result<GainSettingStruct, PingError> { + #[doc = "Acoustic output enabled state."] + pub async fn ping_enable(&self) -> Result<PingEnableStruct, PingError> { self.request().await } #[doc = "Temperature of the device cpu."] @@ -2546,70 +2510,62 @@

Files

pub async fn speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError> { self.request().await } - #[doc = "Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range."] - #[doc = "# Arguments"] - #[doc = "* `mode_auto` - 0: manual mode. 1: auto mode."] - pub async fn set_mode_auto(&self, mode_auto: u8) -> Result<(), PingError> { - let request = Messages::SetModeAuto(SetModeAutoStruct { mode_auto }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - let receiver = self.subscribe(); - self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetModeAutoStruct::id()).await - } - #[doc = "The interval between acoustic measurements."] + #[doc = "Command to stop the continuous data stream of profile messages."] #[doc = "# Arguments"] - #[doc = "* `ping_interval` \\[ms\\] - The interval between acoustic measurements."] - pub async fn set_ping_interval(&self, ping_interval: u16) -> Result<(), PingError> { - let request = Messages::SetPingInterval(SetPingIntervalStruct { ping_interval }); + #[doc = "* `id` - The message id to stop streaming. 1300: profile"] + pub async fn continuous_stop(&self, id: u16) -> Result<(), PingError> { + let request = Messages::ContinuousStop(ContinuousStopStruct { id }); let mut package = ProtocolMessage::new(); package.set_message(&request); - let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetPingIntervalStruct::id()) - .await + Ok(()) + } + #[doc = "General information."] + pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError> { + self.request().await } - #[doc = "Enable or disable acoustic measurements."] + #[doc = "Set automatic or manual mode. Manual mode allows for manual selection of the gain and scan range."] #[doc = "# Arguments"] - #[doc = "* `ping_enabled` - 0: Disable, 1: Enable."] - pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError> { - let request = Messages::SetPingEnable(SetPingEnableStruct { ping_enabled }); + #[doc = "* `mode_auto` - 0: manual mode. 1: auto mode."] + pub async fn set_mode_auto(&self, mode_auto: u8) -> Result<(), PingError> { + let request = Messages::SetModeAuto(SetModeAutoStruct { mode_auto }); let mut package = ProtocolMessage::new(); package.set_message(&request); let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetPingEnableStruct::id()).await + self.wait_for_ack(receiver, SetModeAutoStruct::id()).await } - #[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided."] - pub async fn profile(&self) -> Result<ProfileStruct, PingError> { + #[doc = "The duration of the acoustic activation/transmission."] + pub async fn transmit_duration(&self) -> Result<TransmitDurationStruct, PingError> { self.request().await } - #[doc = "The interval between acoustic measurements."] - pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError> { + #[doc = "The distance to target with confidence estimate."] + pub async fn distance_simple(&self) -> Result<DistanceSimpleStruct, PingError> { self.request().await } - #[doc = "Device information"] - pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError> { + #[doc = "The device ID."] + pub async fn device_id(&self) -> Result<DeviceIdStruct, PingError> { self.request().await } - #[doc = "Temperature of the on-board thermistor."] - pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, PingError> { + #[doc = "Device information"] + pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError> { self.request().await } - #[doc = "The duration of the acoustic activation/transmission."] - pub async fn transmit_duration(&self) -> Result<TransmitDurationStruct, PingError> { + #[doc = "The current gain setting."] + pub async fn gain_setting(&self) -> Result<GainSettingStruct, PingError> { self.request().await } - #[doc = "Set the device ID."] + #[doc = "Set the speed of sound used for distance calculations."] #[doc = "# Arguments"] - #[doc = "* `device_id` - Device ID (0-254). 255 is reserved for broadcast messages."] - pub async fn set_device_id(&self, device_id: u8) -> Result<(), PingError> { - let request = Messages::SetDeviceId(SetDeviceIdStruct { device_id }); + #[doc = "* `speed_of_sound` \\[mm/s\\] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water."] + pub async fn set_speed_of_sound(&self, speed_of_sound: u32) -> Result<(), PingError> { + let request = Messages::SetSpeedOfSound(SetSpeedOfSoundStruct { speed_of_sound }); let mut package = ProtocolMessage::new(); package.set_message(&request); let receiver = self.subscribe(); self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, SetDeviceIdStruct::id()).await + self.wait_for_ack(receiver, SetSpeedOfSoundStruct::id()) + .await } #[doc = "Set the current gain setting."] #[doc = "# Arguments"] @@ -2623,6 +2579,23 @@

Files

self.wait_for_ack(receiver, SetGainSettingStruct::id()) .await } + #[doc = "The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length)."] + pub async fn range(&self) -> Result<RangeStruct, PingError> { + self.request().await + } + #[doc = "The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range."] + pub async fn mode_auto(&self) -> Result<ModeAutoStruct, PingError> { + self.request().await + } + #[doc = "Send the device into the bootloader. This is useful for firmware updates."] + #[doc = "# Arguments"] + pub async fn goto_bootloader(&self) -> Result<(), PingError> { + let request = Messages::GotoBootloader(GotoBootloaderStruct {}); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + self.get_common().send_message(package).await?; + Ok(()) + } #[doc = "Command to initiate continuous data stream of profile messages."] #[doc = "# Arguments"] #[doc = "* `id` - The message id to stream. 1300: profile"] @@ -2633,108 +2606,135 @@

Files

self.get_common().send_message(package).await?; Ok(()) } - #[doc = "The scan range for acoustic measurements. Measurements returned by the device will lie in the range (scan_start, scan_start + scan_length)."] - pub async fn range(&self) -> Result<RangeStruct, PingError> { + #[doc = "The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided."] + pub async fn distance(&self) -> Result<DistanceStruct, PingError> { self.request().await } - #[doc = "The current operating mode of the device. Manual mode allows for manual selection of the gain and scan range."] - pub async fn mode_auto(&self) -> Result<ModeAutoStruct, PingError> { + #[doc = "The interval between acoustic measurements."] + #[doc = "# Arguments"] + #[doc = "* `ping_interval` \\[ms\\] - The interval between acoustic measurements."] + pub async fn set_ping_interval(&self, ping_interval: u16) -> Result<(), PingError> { + let request = Messages::SetPingInterval(SetPingIntervalStruct { ping_interval }); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + let receiver = self.subscribe(); + self.get_common().send_message(package).await?; + self.wait_for_ack(receiver, SetPingIntervalStruct::id()) + .await + } + #[doc = "Temperature of the on-board thermistor."] + pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, PingError> { self.request().await } - #[doc = "The distance to target with confidence estimate. Relevant device parameters during the measurement are also provided."] - pub async fn distance(&self) -> Result<DistanceStruct, PingError> { + #[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength at even intervals across the scan region. The scan region is defined as the region between <scan_start> and <scan_start + scan_length> millimeters away from the transducer. A distance measurement to the target is also provided."] + pub async fn profile(&self) -> Result<ProfileStruct, PingError> { + self.request().await + } + #[doc = "The interval between acoustic measurements."] + pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError> { self.request().await } + #[doc = "Enable or disable acoustic measurements."] + #[doc = "# Arguments"] + #[doc = "* `ping_enabled` - 0: Disable, 1: Enable."] + pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError> { + let request = Messages::SetPingEnable(SetPingEnableStruct { ping_enabled }); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + let receiver = self.subscribe(); + self.get_common().send_message(package).await?; + self.wait_for_ack(receiver, SetPingEnableStruct::id()).await + } } impl PingMessage for Messages { fn message_name(&self) -> &'static str { match self { - Messages::PingEnable(..) => "ping_enable", - Messages::GeneralInfo(..) => "general_info", - Messages::SetSpeedOfSound(..) => "set_speed_of_sound", Messages::SetRange(..) => "set_range", - Messages::GotoBootloader(..) => "goto_bootloader", - Messages::ContinuousStop(..) => "continuous_stop", - Messages::DeviceId(..) => "device_id", + Messages::SetDeviceId(..) => "set_device_id", Messages::Voltage5(..) => "voltage_5", - Messages::DistanceSimple(..) => "distance_simple", - Messages::GainSetting(..) => "gain_setting", + Messages::PingEnable(..) => "ping_enable", Messages::ProcessorTemperature(..) => "processor_temperature", Messages::SpeedOfSound(..) => "speed_of_sound", + Messages::ContinuousStop(..) => "continuous_stop", + Messages::GeneralInfo(..) => "general_info", Messages::SetModeAuto(..) => "set_mode_auto", - Messages::SetPingInterval(..) => "set_ping_interval", - Messages::SetPingEnable(..) => "set_ping_enable", - Messages::Profile(..) => "profile", - Messages::PingInterval(..) => "ping_interval", - Messages::FirmwareVersion(..) => "firmware_version", - Messages::PcbTemperature(..) => "pcb_temperature", Messages::TransmitDuration(..) => "transmit_duration", - Messages::SetDeviceId(..) => "set_device_id", + Messages::DistanceSimple(..) => "distance_simple", + Messages::DeviceId(..) => "device_id", + Messages::FirmwareVersion(..) => "firmware_version", + Messages::GainSetting(..) => "gain_setting", + Messages::SetSpeedOfSound(..) => "set_speed_of_sound", Messages::SetGainSetting(..) => "set_gain_setting", - Messages::ContinuousStart(..) => "continuous_start", Messages::Range(..) => "range", Messages::ModeAuto(..) => "mode_auto", + Messages::GotoBootloader(..) => "goto_bootloader", + Messages::ContinuousStart(..) => "continuous_start", Messages::Distance(..) => "distance", + Messages::SetPingInterval(..) => "set_ping_interval", + Messages::PcbTemperature(..) => "pcb_temperature", + Messages::Profile(..) => "profile", + Messages::PingInterval(..) => "ping_interval", + Messages::SetPingEnable(..) => "set_ping_enable", } } fn message_id(&self) -> u16 { match self { - Messages::PingEnable(..) => 1215u16, - Messages::GeneralInfo(..) => 1210u16, - Messages::SetSpeedOfSound(..) => 1002u16, Messages::SetRange(..) => 1001u16, - Messages::GotoBootloader(..) => 1100u16, - Messages::ContinuousStop(..) => 1401u16, - Messages::DeviceId(..) => 1201u16, + Messages::SetDeviceId(..) => 1000u16, Messages::Voltage5(..) => 1202u16, - Messages::DistanceSimple(..) => 1211u16, - Messages::GainSetting(..) => 1207u16, + Messages::PingEnable(..) => 1215u16, Messages::ProcessorTemperature(..) => 1213u16, Messages::SpeedOfSound(..) => 1203u16, + Messages::ContinuousStop(..) => 1401u16, + Messages::GeneralInfo(..) => 1210u16, Messages::SetModeAuto(..) => 1003u16, - Messages::SetPingInterval(..) => 1004u16, - Messages::SetPingEnable(..) => 1006u16, - Messages::Profile(..) => 1300u16, - Messages::PingInterval(..) => 1206u16, - Messages::FirmwareVersion(..) => 1200u16, - Messages::PcbTemperature(..) => 1214u16, Messages::TransmitDuration(..) => 1208u16, - Messages::SetDeviceId(..) => 1000u16, + Messages::DistanceSimple(..) => 1211u16, + Messages::DeviceId(..) => 1201u16, + Messages::FirmwareVersion(..) => 1200u16, + Messages::GainSetting(..) => 1207u16, + Messages::SetSpeedOfSound(..) => 1002u16, Messages::SetGainSetting(..) => 1005u16, - Messages::ContinuousStart(..) => 1400u16, Messages::Range(..) => 1204u16, Messages::ModeAuto(..) => 1205u16, + Messages::GotoBootloader(..) => 1100u16, + Messages::ContinuousStart(..) => 1400u16, Messages::Distance(..) => 1212u16, + Messages::SetPingInterval(..) => 1004u16, + Messages::PcbTemperature(..) => 1214u16, + Messages::Profile(..) => 1300u16, + Messages::PingInterval(..) => 1206u16, + Messages::SetPingEnable(..) => 1006u16, } } fn message_id_from_name(name: &str) -> Result<u16, String> { match name { - "ping_enable" => Ok(1215u16), - "general_info" => Ok(1210u16), - "set_speed_of_sound" => Ok(1002u16), "set_range" => Ok(1001u16), - "goto_bootloader" => Ok(1100u16), - "continuous_stop" => Ok(1401u16), - "device_id" => Ok(1201u16), + "set_device_id" => Ok(1000u16), "voltage_5" => Ok(1202u16), - "distance_simple" => Ok(1211u16), - "gain_setting" => Ok(1207u16), + "ping_enable" => Ok(1215u16), "processor_temperature" => Ok(1213u16), "speed_of_sound" => Ok(1203u16), + "continuous_stop" => Ok(1401u16), + "general_info" => Ok(1210u16), "set_mode_auto" => Ok(1003u16), - "set_ping_interval" => Ok(1004u16), - "set_ping_enable" => Ok(1006u16), - "profile" => Ok(1300u16), - "ping_interval" => Ok(1206u16), - "firmware_version" => Ok(1200u16), - "pcb_temperature" => Ok(1214u16), "transmit_duration" => Ok(1208u16), - "set_device_id" => Ok(1000u16), + "distance_simple" => Ok(1211u16), + "device_id" => Ok(1201u16), + "firmware_version" => Ok(1200u16), + "gain_setting" => Ok(1207u16), + "set_speed_of_sound" => Ok(1002u16), "set_gain_setting" => Ok(1005u16), - "continuous_start" => Ok(1400u16), "range" => Ok(1204u16), "mode_auto" => Ok(1205u16), + "goto_bootloader" => Ok(1100u16), + "continuous_start" => Ok(1400u16), "distance" => Ok(1212u16), + "set_ping_interval" => Ok(1004u16), + "pcb_temperature" => Ok(1214u16), + "profile" => Ok(1300u16), + "ping_interval" => Ok(1206u16), + "set_ping_enable" => Ok(1006u16), _ => Err(format!("Failed to find message ID from name: {name}.")), } } @@ -2742,66 +2742,66 @@

Files

impl SerializePayload for Messages { fn serialize(&self) -> Vec<u8> { match self { - Messages::PingEnable(content) => content.serialize(), - Messages::GeneralInfo(content) => content.serialize(), - Messages::SetSpeedOfSound(content) => content.serialize(), Messages::SetRange(content) => content.serialize(), - Messages::GotoBootloader(content) => content.serialize(), - Messages::ContinuousStop(content) => content.serialize(), - Messages::DeviceId(content) => content.serialize(), + Messages::SetDeviceId(content) => content.serialize(), Messages::Voltage5(content) => content.serialize(), - Messages::DistanceSimple(content) => content.serialize(), - Messages::GainSetting(content) => content.serialize(), + Messages::PingEnable(content) => content.serialize(), Messages::ProcessorTemperature(content) => content.serialize(), Messages::SpeedOfSound(content) => content.serialize(), + Messages::ContinuousStop(content) => content.serialize(), + Messages::GeneralInfo(content) => content.serialize(), Messages::SetModeAuto(content) => content.serialize(), - Messages::SetPingInterval(content) => content.serialize(), - Messages::SetPingEnable(content) => content.serialize(), - Messages::Profile(content) => content.serialize(), - Messages::PingInterval(content) => content.serialize(), - Messages::FirmwareVersion(content) => content.serialize(), - Messages::PcbTemperature(content) => content.serialize(), Messages::TransmitDuration(content) => content.serialize(), - Messages::SetDeviceId(content) => content.serialize(), + Messages::DistanceSimple(content) => content.serialize(), + Messages::DeviceId(content) => content.serialize(), + Messages::FirmwareVersion(content) => content.serialize(), + Messages::GainSetting(content) => content.serialize(), + Messages::SetSpeedOfSound(content) => content.serialize(), Messages::SetGainSetting(content) => content.serialize(), - Messages::ContinuousStart(content) => content.serialize(), Messages::Range(content) => content.serialize(), Messages::ModeAuto(content) => content.serialize(), + Messages::GotoBootloader(content) => content.serialize(), + Messages::ContinuousStart(content) => content.serialize(), Messages::Distance(content) => content.serialize(), + Messages::SetPingInterval(content) => content.serialize(), + Messages::PcbTemperature(content) => content.serialize(), + Messages::Profile(content) => content.serialize(), + Messages::PingInterval(content) => content.serialize(), + Messages::SetPingEnable(content) => content.serialize(), } } } impl DeserializeGenericMessage for Messages { fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> { Ok(match message_id { - 1215u16 => Messages::PingEnable(PingEnableStruct::deserialize(payload)), - 1210u16 => Messages::GeneralInfo(GeneralInfoStruct::deserialize(payload)), - 1002u16 => Messages::SetSpeedOfSound(SetSpeedOfSoundStruct::deserialize(payload)), 1001u16 => Messages::SetRange(SetRangeStruct::deserialize(payload)), - 1100u16 => Messages::GotoBootloader(GotoBootloaderStruct::deserialize(payload)), - 1401u16 => Messages::ContinuousStop(ContinuousStopStruct::deserialize(payload)), - 1201u16 => Messages::DeviceId(DeviceIdStruct::deserialize(payload)), + 1000u16 => Messages::SetDeviceId(SetDeviceIdStruct::deserialize(payload)), 1202u16 => Messages::Voltage5(Voltage5Struct::deserialize(payload)), - 1211u16 => Messages::DistanceSimple(DistanceSimpleStruct::deserialize(payload)), - 1207u16 => Messages::GainSetting(GainSettingStruct::deserialize(payload)), + 1215u16 => Messages::PingEnable(PingEnableStruct::deserialize(payload)), 1213u16 => { Messages::ProcessorTemperature(ProcessorTemperatureStruct::deserialize(payload)) } 1203u16 => Messages::SpeedOfSound(SpeedOfSoundStruct::deserialize(payload)), + 1401u16 => Messages::ContinuousStop(ContinuousStopStruct::deserialize(payload)), + 1210u16 => Messages::GeneralInfo(GeneralInfoStruct::deserialize(payload)), 1003u16 => Messages::SetModeAuto(SetModeAutoStruct::deserialize(payload)), - 1004u16 => Messages::SetPingInterval(SetPingIntervalStruct::deserialize(payload)), - 1006u16 => Messages::SetPingEnable(SetPingEnableStruct::deserialize(payload)), - 1300u16 => Messages::Profile(ProfileStruct::deserialize(payload)), - 1206u16 => Messages::PingInterval(PingIntervalStruct::deserialize(payload)), - 1200u16 => Messages::FirmwareVersion(FirmwareVersionStruct::deserialize(payload)), - 1214u16 => Messages::PcbTemperature(PcbTemperatureStruct::deserialize(payload)), 1208u16 => Messages::TransmitDuration(TransmitDurationStruct::deserialize(payload)), - 1000u16 => Messages::SetDeviceId(SetDeviceIdStruct::deserialize(payload)), + 1211u16 => Messages::DistanceSimple(DistanceSimpleStruct::deserialize(payload)), + 1201u16 => Messages::DeviceId(DeviceIdStruct::deserialize(payload)), + 1200u16 => Messages::FirmwareVersion(FirmwareVersionStruct::deserialize(payload)), + 1207u16 => Messages::GainSetting(GainSettingStruct::deserialize(payload)), + 1002u16 => Messages::SetSpeedOfSound(SetSpeedOfSoundStruct::deserialize(payload)), 1005u16 => Messages::SetGainSetting(SetGainSettingStruct::deserialize(payload)), - 1400u16 => Messages::ContinuousStart(ContinuousStartStruct::deserialize(payload)), 1204u16 => Messages::Range(RangeStruct::deserialize(payload)), 1205u16 => Messages::ModeAuto(ModeAutoStruct::deserialize(payload)), + 1100u16 => Messages::GotoBootloader(GotoBootloaderStruct::deserialize(payload)), + 1400u16 => Messages::ContinuousStart(ContinuousStartStruct::deserialize(payload)), 1212u16 => Messages::Distance(DistanceStruct::deserialize(payload)), + 1004u16 => Messages::SetPingInterval(SetPingIntervalStruct::deserialize(payload)), + 1214u16 => Messages::PcbTemperature(PcbTemperatureStruct::deserialize(payload)), + 1300u16 => Messages::Profile(ProfileStruct::deserialize(payload)), + 1206u16 => Messages::PingInterval(PingIntervalStruct::deserialize(payload)), + 1006u16 => Messages::SetPingEnable(SetPingEnableStruct::deserialize(payload)), _ => { return Err(&"Unknown message id"); } diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping360.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping360.rs.html index b12e58277..f576ef85a 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping360.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-6439afb41037b590/out/ping360.rs.html @@ -724,33 +724,33 @@

Files

#[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum Messages { - MotorOff(MotorOffStruct), + AutoTransmit(AutoTransmitStruct), DeviceData(DeviceDataStruct), - DeviceId(DeviceIdStruct), AutoDeviceData(AutoDeviceDataStruct), Transducer(TransducerStruct), - AutoTransmit(AutoTransmitStruct), + SetDeviceId(SetDeviceIdStruct), + MotorOff(MotorOffStruct), Reset(ResetStruct), } impl Messages { pub fn inner<T: 'static>(&self) -> Option<&T> { match self { - Self::MotorOff(inner_struct) => { + Self::AutoTransmit(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } Self::DeviceData(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::DeviceId(inner_struct) => { - (inner_struct as &dyn std::any::Any).downcast_ref::<T>() - } Self::AutoDeviceData(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } Self::Transducer(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } - Self::AutoTransmit(inner_struct) => { + Self::SetDeviceId(inner_struct) => { + (inner_struct as &dyn std::any::Any).downcast_ref::<T>() + } + Self::MotorOff(inner_struct) => { (inner_struct as &dyn std::any::Any).downcast_ref::<T>() } Self::Reset(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(), @@ -759,22 +759,88 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled."] -pub struct MotorOffStruct {} -impl SerializePayload for MotorOffStruct { +#[doc = "**NEW (v1.1.0)** Extended `transducer` message with auto-scan function. The sonar will automatically scan the region between `start_angle` and `end_angle` and send `auto_device_data` messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a `motor_off` message may be sent (but retries might be necessary on the half-duplex RS485 interface)."] +
pub struct AutoTransmitStruct { + #[doc = "Operating mode (1 for Ping360)"] + pub mode: u8, + #[doc = "Analog gain setting (0 = low, 1 = normal, 2 = high)"] + pub gain_setting: u8, + #[doc = "Acoustic transmission duration (1~1000 us)"] + pub transmit_duration: u16, + #[doc = "Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] + pub sample_period: u16, + #[doc = "Acoustic 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."] + pub transmit_frequency: u16, + #[doc = "Number of samples per reflected signal (supported values: 200~1200)"] + pub number_of_samples: u16, + #[doc = "Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees)."] + pub start_angle: u16, + #[doc = "Head angle to end scan sector for autoscan (0~399 = 0~360 degrees)."] + pub stop_angle: u16, + #[doc = "Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)"] + pub num_steps: u8, + #[doc = "An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT."] + pub delay: u8, +} +impl SerializePayload for AutoTransmitStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); + buffer.extend_from_slice(&self.mode.to_le_bytes()); + buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); + buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); + buffer.extend_from_slice(&self.sample_period.to_le_bytes()); + buffer.extend_from_slice(&self.transmit_frequency.to_le_bytes()); + buffer.extend_from_slice(&self.number_of_samples.to_le_bytes()); + buffer.extend_from_slice(&self.start_angle.to_le_bytes()); + buffer.extend_from_slice(&self.stop_angle.to_le_bytes()); + buffer.extend_from_slice(&self.num_steps.to_le_bytes()); + buffer.extend_from_slice(&self.delay.to_le_bytes()); buffer } } -impl DeserializePayload for MotorOffStruct { +impl DeserializePayload for AutoTransmitStruct { fn deserialize(payload: &[u8]) -> Self { - Self {} + Self { + mode: payload[0usize].into(), + gain_setting: payload[1usize].into(), + transmit_duration: u16::from_le_bytes( + payload[2usize..2usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + sample_period: u16::from_le_bytes( + payload[4usize..4usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + transmit_frequency: u16::from_le_bytes( + payload[6usize..6usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + number_of_samples: u16::from_le_bytes( + payload[8usize..8usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + start_angle: u16::from_le_bytes( + payload[10usize..10usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + stop_angle: u16::from_le_bytes( + payload[12usize..12usize + 2usize] + .try_into() + .expect("Wrong slice length"), + ), + num_steps: payload[14usize].into(), + delay: payload[15usize].into(), + } } } -impl MessageInfo for MotorOffStruct { +impl MessageInfo for AutoTransmitStruct { fn id() -> u16 { - 2903u16 + 2602u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -787,15 +853,15 @@

Files

pub gain_setting: u8, #[doc = "Head angle"] pub angle: u16, - #[doc = "Acoustic transmission duration (1~1000 microseconds)"] + #[doc = "Acoustic transmission duration (1~1000 us)"] pub transmit_duration: u16, - #[doc = "Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] + #[doc = "Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] pub sample_period: u16, - #[doc = "Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] + #[doc = "Acoustic 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."] pub transmit_frequency: u16, - #[doc = "Number of samples per reflected signal"] + #[doc = "Number of samples per reflected signal (supported values: 200~1200)"] pub number_of_samples: u16, - #[doc = "8 bit binary data array representing sonar echo strength"] + #[doc = "An 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."] pub data_length: u16, pub data: Vec<u8>, } @@ -858,37 +924,7 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Change the device id"] -pub struct DeviceIdStruct { - #[doc = "Device ID (1-254). 0 and 255 are reserved."] - pub id: u8, - #[doc = "reserved"] - pub reserved: u8, -} -impl SerializePayload for DeviceIdStruct { - fn serialize(&self) -> Vec<u8> { - let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.id.to_le_bytes()); - buffer.extend_from_slice(&self.reserved.to_le_bytes()); - buffer - } -} -impl DeserializePayload for DeviceIdStruct { - fn deserialize(payload: &[u8]) -> Self { - Self { - id: payload[0usize].into(), - reserved: payload[1usize].into(), - } - } -} -impl MessageInfo for DeviceIdStruct { - fn id() -> u16 { - 2000u16 - } -} -#[derive(Debug, Clone, PartialEq, Default)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Extended version of *device_data* with *auto_transmit* information. The sensor emits this message when in *auto_transmit* mode."] +#[doc = "**NEW (v1.1.0)** Extended version of `device_data` with `auto_transmit` information. The sensor emits this message when in `auto_transmit` mode."] pub struct AutoDeviceDataStruct { #[doc = "Operating mode (1 for Ping360)"] pub mode: u8, @@ -896,23 +932,23 @@

Files

pub gain_setting: u8, #[doc = "Head angle"] pub angle: u16, - #[doc = "Acoustic transmission duration (1~1000 microseconds)"] + #[doc = "Acoustic transmission duration (1~1000 us)"] pub transmit_duration: u16, - #[doc = "Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] + #[doc = "Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] pub sample_period: u16, - #[doc = "Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] + #[doc = "Acoustic 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."] pub transmit_frequency: u16, - #[doc = "Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] + #[doc = "Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees)."] pub start_angle: u16, - #[doc = "Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] + #[doc = "Head angle to end scan sector for autoscan (0~399 = 0~360 degrees)."] pub stop_angle: u16, #[doc = "Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)"] pub num_steps: u8, #[doc = "An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT."] pub delay: u8, - #[doc = "Number of samples per reflected signal"] + #[doc = "Number of samples per reflected signal (supported values: 200~1200)"] pub number_of_samples: u16, - #[doc = "8 bit binary data array representing sonar echo strength"] + #[doc = "An 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."] pub data_length: u16, pub data: Vec<u8>, } @@ -991,7 +1027,7 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "The transducer will apply the commanded settings. The sonar will reply with a `ping360_data` message. If the `transmit` field is 0, the sonar will not transmit after locating the transducer, and the `data` field in the `ping360_data` message reply will be empty. If the `transmit` field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the `data` field of the `ping360_data` message reply. To allow for the worst case reponse time the command timeout should be set to 4000 msec."] +#[doc = "The transducer will apply the commanded settings. The sonar will reply with a `device_data` message. If the `transmit` field is 0, the sonar will not transmit after locating the transducer, and the `data` field in the `device_data` message reply will be empty. If the `transmit` field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the `data` field of the `device_data` message reply. To allow for the worst case response time the command timeout should be set to 4000 msec."] pub struct TransducerStruct { #[doc = "Operating mode (1 for Ping360)"] pub mode: u8, @@ -999,13 +1035,13 @@

Files

pub gain_setting: u8, #[doc = "Head angle"] pub angle: u16, - #[doc = "Acoustic transmission duration (1~1000 microseconds)"] + #[doc = "Acoustic transmission duration (1~1000 us)"] pub transmit_duration: u16, - #[doc = "Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] + #[doc = "Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] pub sample_period: u16, - #[doc = "Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] + #[doc = "Acoustic 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."] pub transmit_frequency: u16, - #[doc = "Number of samples per reflected signal"] + #[doc = "Number of samples per reflected signal (supported values: 200~1200)"] pub number_of_samples: u16, #[doc = "0 = do not transmit; 1 = transmit after the transducer has reached the specified angle"] pub transmit: u8, @@ -1069,88 +1105,52 @@

Files

} #[derive(Debug, Clone, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -#[doc = "Extended *transducer* message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retrys might be necessary on the half-duplex RS485 interface)."] -pub struct AutoTransmitStruct { - #[doc = "Operating mode (1 for Ping360)"] - pub mode: u8, - #[doc = "Analog gain setting (0 = low, 1 = normal, 2 = high)"] - pub gain_setting: u8, - #[doc = "Acoustic transmission duration (1~1000 microseconds)"] - pub transmit_duration: u16, - #[doc = "Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] - pub sample_period: u16, - #[doc = "Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] - pub transmit_frequency: u16, - #[doc = "Number of samples per reflected signal"] - pub number_of_samples: u16, - #[doc = "Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] - pub start_angle: u16, - #[doc = "Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] - pub stop_angle: u16, - #[doc = "Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)"] - pub num_steps: u8, - #[doc = "An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT."] - pub delay: u8, +#[doc = "Change the device id"] +
pub struct SetDeviceIdStruct { + #[doc = "Device ID (1-254). 0 and 255 are reserved."] + pub id: u8, + #[doc = "reserved"] + pub reserved: u8, } -impl SerializePayload for AutoTransmitStruct { +impl SerializePayload for SetDeviceIdStruct { fn serialize(&self) -> Vec<u8> { let mut buffer: Vec<u8> = Default::default(); - buffer.extend_from_slice(&self.mode.to_le_bytes()); - buffer.extend_from_slice(&self.gain_setting.to_le_bytes()); - buffer.extend_from_slice(&self.transmit_duration.to_le_bytes()); - buffer.extend_from_slice(&self.sample_period.to_le_bytes()); - buffer.extend_from_slice(&self.transmit_frequency.to_le_bytes()); - buffer.extend_from_slice(&self.number_of_samples.to_le_bytes()); - buffer.extend_from_slice(&self.start_angle.to_le_bytes()); - buffer.extend_from_slice(&self.stop_angle.to_le_bytes()); - buffer.extend_from_slice(&self.num_steps.to_le_bytes()); - buffer.extend_from_slice(&self.delay.to_le_bytes()); + buffer.extend_from_slice(&self.id.to_le_bytes()); + buffer.extend_from_slice(&self.reserved.to_le_bytes()); buffer } } -impl DeserializePayload for AutoTransmitStruct { +impl DeserializePayload for SetDeviceIdStruct { fn deserialize(payload: &[u8]) -> Self { Self { - mode: payload[0usize].into(), - gain_setting: payload[1usize].into(), - transmit_duration: u16::from_le_bytes( - payload[2usize..2usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - sample_period: u16::from_le_bytes( - payload[4usize..4usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - transmit_frequency: u16::from_le_bytes( - payload[6usize..6usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - number_of_samples: u16::from_le_bytes( - payload[8usize..8usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - start_angle: u16::from_le_bytes( - payload[10usize..10usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - stop_angle: u16::from_le_bytes( - payload[12usize..12usize + 2usize] - .try_into() - .expect("Wrong slice length"), - ), - num_steps: payload[14usize].into(), - delay: payload[15usize].into(), + id: payload[0usize].into(), + reserved: payload[1usize].into(), } } } -impl MessageInfo for AutoTransmitStruct { +impl MessageInfo for SetDeviceIdStruct { fn id() -> u16 { - 2602u16 + 2000u16 + } +} +#[derive(Debug, Clone, PartialEq, Default)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc = "The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled."] +pub struct MotorOffStruct {} +impl SerializePayload for MotorOffStruct { + fn serialize(&self) -> Vec<u8> { + let mut buffer: Vec<u8> = Default::default(); + buffer + } +} +impl DeserializePayload for MotorOffStruct { + fn deserialize(payload: &[u8]) -> Self { + Self {} + } +} +impl MessageInfo for MotorOffStruct { + fn id() -> u16 { + 2903u16 } } #[derive(Debug, Clone, PartialEq, Default)] @@ -1192,10 +1192,43 @@

Files

common: Common::new(io), } } - #[doc = "The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled."] + #[doc = "**NEW (v1.1.0)** Extended `transducer` message with auto-scan function. The sonar will automatically scan the region between `start_angle` and `end_angle` and send `auto_device_data` messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a `motor_off` message may be sent (but retries might be necessary on the half-duplex RS485 interface)."] #[doc = "# Arguments"] - pub async fn motor_off(&self) -> Result<(), PingError> { - let request = Messages::MotorOff(MotorOffStruct {}); + #[doc = "* `mode` - Operating mode (1 for Ping360)"] + #[doc = "* `gain_setting` - Analog gain setting (0 = low, 1 = normal, 2 = high)"] + #[doc = "* `transmit_duration` \\[microseconds\\] - Acoustic transmission duration (1~1000 us)"] + #[doc = "* `sample_period` \\[eicosapenta-nanoseconds\\] - Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] + #[doc = "* `transmit_frequency` \\[kilohertz\\] - Acoustic 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."] + #[doc = "* `number_of_samples` \\[samples\\] - Number of samples per reflected signal (supported values: 200~1200)"] + #[doc = "* `start_angle` \\[gradians\\] - Head angle to begin scan sector for autoscan (0~399 = 0~360 degrees)."] + #[doc = "* `stop_angle` \\[gradians\\] - Head angle to end scan sector for autoscan (0~399 = 0~360 degrees)."] + #[doc = "* `num_steps` \\[gradians\\] - Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)"] + #[doc = "* `delay` \\[milliseconds\\] - An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT."] + pub async fn auto_transmit( + &self, + mode: u8, + gain_setting: u8, + transmit_duration: u16, + sample_period: u16, + transmit_frequency: u16, + number_of_samples: u16, + start_angle: u16, + stop_angle: u16, + num_steps: u8, + delay: u8, + ) -> Result<(), PingError> { + let request = Messages::AutoTransmit(AutoTransmitStruct { + mode, + gain_setting, + transmit_duration, + sample_period, + transmit_frequency, + number_of_samples, + start_angle, + stop_angle, + num_steps, + delay, + }); let mut package = ProtocolMessage::new(); package.set_message(&request); self.get_common().send_message(package).await?; @@ -1205,31 +1238,19 @@

Files

pub async fn device_data(&self) -> Result<DeviceDataStruct, PingError> { self.request().await } - #[doc = "Change the device id"] - #[doc = "# Arguments"] - #[doc = "* `id` - Device ID (1-254). 0 and 255 are reserved."] - #[doc = "* `reserved` - reserved"] - pub async fn device_id(&self, id: u8, reserved: u8) -> Result<(), PingError> { - let request = Messages::DeviceId(DeviceIdStruct { id, reserved }); - let mut package = ProtocolMessage::new(); - package.set_message(&request); - let receiver = self.subscribe(); - self.get_common().send_message(package).await?; - self.wait_for_ack(receiver, DeviceIdStruct::id()).await - } - #[doc = "Extended version of *device_data* with *auto_transmit* information. The sensor emits this message when in *auto_transmit* mode."] + #[doc = "**NEW (v1.1.0)** Extended version of `device_data` with `auto_transmit` information. The sensor emits this message when in `auto_transmit` mode."] pub async fn auto_device_data(&self) -> Result<AutoDeviceDataStruct, PingError> { self.request().await } - #[doc = "The transducer will apply the commanded settings. The sonar will reply with a `ping360_data` message. If the `transmit` field is 0, the sonar will not transmit after locating the transducer, and the `data` field in the `ping360_data` message reply will be empty. If the `transmit` field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the `data` field of the `ping360_data` message reply. To allow for the worst case reponse time the command timeout should be set to 4000 msec."] + #[doc = "The transducer will apply the commanded settings. The sonar will reply with a `device_data` message. If the `transmit` field is 0, the sonar will not transmit after locating the transducer, and the `data` field in the `device_data` message reply will be empty. If the `transmit` field is 1, the sonar will make an acoustic transmission after locating the transducer, and the resulting data will be uploaded in the `data` field of the `device_data` message reply. To allow for the worst case response time the command timeout should be set to 4000 msec."] #[doc = "# Arguments"] #[doc = "* `mode` - Operating mode (1 for Ping360)"] #[doc = "* `gain_setting` - Analog gain setting (0 = low, 1 = normal, 2 = high)"] - #[doc = "* `angle` \\[gradian\\] - Head angle"] - #[doc = "* `transmit_duration` \\[microsecond\\] - Acoustic transmission duration (1~1000 microseconds)"] - #[doc = "* `sample_period` - Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] - #[doc = "* `transmit_frequency` \\[kHz\\] - Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] - #[doc = "* `number_of_samples` - Number of samples per reflected signal"] + #[doc = "* `angle` \\[gradians\\] - Head angle"] + #[doc = "* `transmit_duration` \\[microseconds\\] - Acoustic transmission duration (1~1000 us)"] + #[doc = "* `sample_period` \\[eicosapenta-nanoseconds\\] - Time interval between individual signal intensity samples in 25 ns increments (80 to 40000 == 2 to 1000 us)"] + #[doc = "* `transmit_frequency` \\[kilohertz\\] - Acoustic 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."] + #[doc = "* `number_of_samples` \\[samples\\] - Number of samples per reflected signal (supported values: 200~1200)"] #[doc = "* `transmit` - 0 = do not transmit; 1 = transmit after the transducer has reached the specified angle"] #[doc = "* `reserved` - reserved"] pub async fn transducer( @@ -1260,43 +1281,22 @@

Files

self.get_common().send_message(package).await?; Ok(()) } - #[doc = "Extended *transducer* message with auto-scan function. The sonar will automatically scan the region between start_angle and end_angle and send auto_device_data messages as soon as new data is available. Send a line break to stop scanning (and also begin the autobaudrate procedure). Alternatively, a motor_off message may be sent (but retrys might be necessary on the half-duplex RS485 interface)."] + #[doc = "Change the device id"] #[doc = "# Arguments"] - #[doc = "* `mode` - Operating mode (1 for Ping360)"] - #[doc = "* `gain_setting` - Analog gain setting (0 = low, 1 = normal, 2 = high)"] - #[doc = "* `transmit_duration` \\[microsecond\\] - Acoustic transmission duration (1~1000 microseconds)"] - #[doc = "* `sample_period` - Time interval between individual signal intensity samples in 25nsec increments (80 to 40000 == 2 microseconds to 1000 microseconds)"] - #[doc = "* `transmit_frequency` \\[kHz\\] - Acoustic operating frequency. Frequency range is 500kHz to 1000kHz, however it is only practical to use say 650kHz to 850kHz due to the narrow bandwidth of the acoustic receiver."] - #[doc = "* `number_of_samples` - Number of samples per reflected signal"] - #[doc = "* `start_angle` \\[gradian\\] - Head angle to begin scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] - #[doc = "* `stop_angle` \\[gradian\\] - Head angle to end scan sector for autoscan in gradians (0~399 = 0~360 degrees)."] - #[doc = "* `num_steps` \\[gradian\\] - Number of 0.9 degree motor steps between pings for auto scan (1~10 = 0.9~9.0 degrees)"] - #[doc = "* `delay` \\[millisecond\\] - An additional delay between successive transmit pulses (0~100 ms). This may be necessary for some programs to avoid collisions on the RS485 USRT."] - pub async fn auto_transmit( - &self, - mode: u8, - gain_setting: u8, - transmit_duration: u16, - sample_period: u16, - transmit_frequency: u16, - number_of_samples: u16, - start_angle: u16, - stop_angle: u16, - num_steps: u8, - delay: u8, - ) -> Result<(), PingError> { - let request = Messages::AutoTransmit(AutoTransmitStruct { - mode, - gain_setting, - transmit_duration, - sample_period, - transmit_frequency, - number_of_samples, - start_angle, - stop_angle, - num_steps, - delay, - }); + #[doc = "* `id` - Device ID (1-254). 0 and 255 are reserved."] + #[doc = "* `reserved` - reserved"] + pub async fn set_device_id(&self, id: u8, reserved: u8) -> Result<(), PingError> { + let request = Messages::SetDeviceId(SetDeviceIdStruct { id, reserved }); + let mut package = ProtocolMessage::new(); + package.set_message(&request); + let receiver = self.subscribe(); + self.get_common().send_message(package).await?; + self.wait_for_ack(receiver, SetDeviceIdStruct::id()).await + } + #[doc = "The sonar switches the current through the stepper motor windings off to save power. The sonar will send an ack message in response. The command timeout should be set to 50 msec. If the sonar is idle (not scanning) for more than 30 seconds then the motor current will automatically turn off. When the user sends any command that involves moving the transducer then the motor current is automatically re-enabled."] + #[doc = "# Arguments"] + pub async fn motor_off(&self) -> Result<(), PingError> { + let request = Messages::MotorOff(MotorOffStruct {}); let mut package = ProtocolMessage::new(); package.set_message(&request); self.get_common().send_message(package).await?; @@ -1320,34 +1320,34 @@

Files

impl PingMessage for Messages { fn message_name(&self) -> &'static str { match self { - Messages::MotorOff(..) => "motor_off", + Messages::AutoTransmit(..) => "auto_transmit", Messages::DeviceData(..) => "device_data", - Messages::DeviceId(..) => "device_id", Messages::AutoDeviceData(..) => "auto_device_data", Messages::Transducer(..) => "transducer", - Messages::AutoTransmit(..) => "auto_transmit", + Messages::SetDeviceId(..) => "set_device_id", + Messages::MotorOff(..) => "motor_off", Messages::Reset(..) => "reset", } } fn message_id(&self) -> u16 { match self { - Messages::MotorOff(..) => 2903u16, + Messages::AutoTransmit(..) => 2602u16, Messages::DeviceData(..) => 2300u16, - Messages::DeviceId(..) => 2000u16, Messages::AutoDeviceData(..) => 2301u16, Messages::Transducer(..) => 2601u16, - Messages::AutoTransmit(..) => 2602u16, + Messages::SetDeviceId(..) => 2000u16, + Messages::MotorOff(..) => 2903u16, Messages::Reset(..) => 2600u16, } } fn message_id_from_name(name: &str) -> Result<u16, String> { match name { - "motor_off" => Ok(2903u16), + "auto_transmit" => Ok(2602u16), "device_data" => Ok(2300u16), - "device_id" => Ok(2000u16), "auto_device_data" => Ok(2301u16), "transducer" => Ok(2601u16), - "auto_transmit" => Ok(2602u16), + "set_device_id" => Ok(2000u16), + "motor_off" => Ok(2903u16), "reset" => Ok(2600u16), _ => Err(format!("Failed to find message ID from name: {name}.")), } @@ -1356,12 +1356,12 @@

Files

impl SerializePayload for Messages { fn serialize(&self) -> Vec<u8> { match self { - Messages::MotorOff(content) => content.serialize(), + Messages::AutoTransmit(content) => content.serialize(), Messages::DeviceData(content) => content.serialize(), - Messages::DeviceId(content) => content.serialize(), Messages::AutoDeviceData(content) => content.serialize(), Messages::Transducer(content) => content.serialize(), - Messages::AutoTransmit(content) => content.serialize(), + Messages::SetDeviceId(content) => content.serialize(), + Messages::MotorOff(content) => content.serialize(), Messages::Reset(content) => content.serialize(), } } @@ -1369,12 +1369,12 @@

Files

impl DeserializeGenericMessage for Messages { fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> { Ok(match message_id { - 2903u16 => Messages::MotorOff(MotorOffStruct::deserialize(payload)), + 2602u16 => Messages::AutoTransmit(AutoTransmitStruct::deserialize(payload)), 2300u16 => Messages::DeviceData(DeviceDataStruct::deserialize(payload)), - 2000u16 => Messages::DeviceId(DeviceIdStruct::deserialize(payload)), 2301u16 => Messages::AutoDeviceData(AutoDeviceDataStruct::deserialize(payload)), 2601u16 => Messages::Transducer(TransducerStruct::deserialize(payload)), - 2602u16 => Messages::AutoTransmit(AutoTransmitStruct::deserialize(payload)), + 2000u16 => Messages::SetDeviceId(SetDeviceIdStruct::deserialize(payload)), + 2903u16 => Messages::MotorOff(MotorOffStruct::deserialize(payload)), 2600u16 => Messages::Reset(ResetStruct::deserialize(payload)), _ => { return Err(&"Unknown message id"); diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index a3cf09ed8..758dec691 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -2,7 +2,7 @@ "anstream":[["impl Clone for StripBytes"],["impl Clone for StripStr"],["impl Clone for WinconBytes"],["impl<'s> Clone for StrippedBytes<'s>"],["impl<'s> Clone for StrippedStr<'s>"]], "anstyle":[["impl Clone for AnsiColor"],["impl Clone for Color"],["impl Clone for Ansi256Color"],["impl Clone for EffectIter"],["impl Clone for Effects"],["impl Clone for Reset"],["impl Clone for RgbColor"],["impl Clone for Style"]], "anstyle_parse":[["impl Clone for Action"],["impl Clone for State"],["impl Clone for AsciiParser"],["impl Clone for Params"],["impl Clone for Utf8Parser"],["impl<C: Clone> Clone for Parser<C>"]], -"bluerobotics_ping":[["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for CellTimeoutStruct"],["impl Clone for CellVoltageMinStruct"],["impl Clone for CurrentMaxStruct"],["impl Clone for CurrentTimeoutStruct"],["impl Clone for EraseFlashStruct"],["impl Clone for EventsStruct"],["impl Clone for PingProtocolHead"],["impl Clone for RebootStruct"],["impl Clone for ResetDefaultsStruct"],["impl Clone for SetCellVoltageMinimumStruct"],["impl Clone for SetCellVoltageTimeoutStruct"],["impl Clone for SetCurrentMaxStruct"],["impl Clone for SetCurrentTimeoutStruct"],["impl Clone for SetLpfSampleFrequencyStruct"],["impl Clone for SetLpfSettingStruct"],["impl Clone for SetStreamRateStruct"],["impl Clone for SetTemperatureMaxStruct"],["impl Clone for SetTemperatureTimeoutStruct"],["impl Clone for StateStruct"],["impl Clone for TemperatureMaxStruct"],["impl Clone for TemperatureTimeoutStruct"],["impl Clone for AckStruct"],["impl Clone for AsciiTextStruct"],["impl Clone for DeviceInformationStruct"],["impl Clone for GeneralRequestStruct"],["impl Clone for NackStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ProtocolVersionStruct"],["impl Clone for SetDeviceIdStruct"],["impl Clone for ProtocolMessage"],["impl Clone for ContinuousStartStruct"],["impl Clone for ContinuousStopStruct"],["impl Clone for DeviceIdStruct"],["impl Clone for DistanceSimpleStruct"],["impl Clone for DistanceStruct"],["impl Clone for FirmwareVersionStruct"],["impl Clone for GainSettingStruct"],["impl Clone for GeneralInfoStruct"],["impl Clone for GotoBootloaderStruct"],["impl Clone for ModeAutoStruct"],["impl Clone for PcbTemperatureStruct"],["impl Clone for PingEnableStruct"],["impl Clone for PingIntervalStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ProcessorTemperatureStruct"],["impl Clone for ProfileStruct"],["impl Clone for RangeStruct"],["impl Clone for SetDeviceIdStruct"],["impl Clone for SetGainSettingStruct"],["impl Clone for SetModeAutoStruct"],["impl Clone for SetPingEnableStruct"],["impl Clone for SetPingIntervalStruct"],["impl Clone for SetRangeStruct"],["impl Clone for SetSpeedOfSoundStruct"],["impl Clone for SpeedOfSoundStruct"],["impl Clone for TransmitDurationStruct"],["impl Clone for Voltage5Struct"],["impl Clone for AutoDeviceDataStruct"],["impl Clone for AutoTransmitStruct"],["impl Clone for DeviceDataStruct"],["impl Clone for DeviceIdStruct"],["impl Clone for MotorOffStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ResetStruct"],["impl Clone for TransducerStruct"]], +"bluerobotics_ping":[["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for Messages"],["impl Clone for CellTimeoutStruct"],["impl Clone for CellVoltageMinStruct"],["impl Clone for CurrentMaxStruct"],["impl Clone for CurrentTimeoutStruct"],["impl Clone for EraseFlashStruct"],["impl Clone for EventsStruct"],["impl Clone for PingProtocolHead"],["impl Clone for RebootStruct"],["impl Clone for ResetDefaultsStruct"],["impl Clone for SetCellVoltageMinimumStruct"],["impl Clone for SetCellVoltageTimeoutStruct"],["impl Clone for SetCurrentMaxStruct"],["impl Clone for SetCurrentTimeoutStruct"],["impl Clone for SetLpfSampleFrequencyStruct"],["impl Clone for SetLpfSettingStruct"],["impl Clone for SetStreamRateStruct"],["impl Clone for SetTemperatureMaxStruct"],["impl Clone for SetTemperatureTimeoutStruct"],["impl Clone for StateStruct"],["impl Clone for TemperatureMaxStruct"],["impl Clone for TemperatureTimeoutStruct"],["impl Clone for AckStruct"],["impl Clone for AsciiTextStruct"],["impl Clone for DeviceInformationStruct"],["impl Clone for GeneralRequestStruct"],["impl Clone for NackStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ProtocolVersionStruct"],["impl Clone for SetDeviceIdStruct"],["impl Clone for ProtocolMessage"],["impl Clone for ContinuousStartStruct"],["impl Clone for ContinuousStopStruct"],["impl Clone for DeviceIdStruct"],["impl Clone for DistanceSimpleStruct"],["impl Clone for DistanceStruct"],["impl Clone for FirmwareVersionStruct"],["impl Clone for GainSettingStruct"],["impl Clone for GeneralInfoStruct"],["impl Clone for GotoBootloaderStruct"],["impl Clone for ModeAutoStruct"],["impl Clone for PcbTemperatureStruct"],["impl Clone for PingEnableStruct"],["impl Clone for PingIntervalStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ProcessorTemperatureStruct"],["impl Clone for ProfileStruct"],["impl Clone for RangeStruct"],["impl Clone for SetDeviceIdStruct"],["impl Clone for SetGainSettingStruct"],["impl Clone for SetModeAutoStruct"],["impl Clone for SetPingEnableStruct"],["impl Clone for SetPingIntervalStruct"],["impl Clone for SetRangeStruct"],["impl Clone for SetSpeedOfSoundStruct"],["impl Clone for SpeedOfSoundStruct"],["impl Clone for TransmitDurationStruct"],["impl Clone for Voltage5Struct"],["impl Clone for AutoDeviceDataStruct"],["impl Clone for AutoTransmitStruct"],["impl Clone for DeviceDataStruct"],["impl Clone for MotorOffStruct"],["impl Clone for PingProtocolHead"],["impl Clone for ResetStruct"],["impl Clone for SetDeviceIdStruct"],["impl Clone for TransducerStruct"]], "bytes":[["impl Clone for Bytes"],["impl Clone for BytesMut"]], "clap_builder":[["impl Clone for ArgAction"],["impl Clone for ArgPredicate"],["impl Clone for ValueHint"],["impl Clone for ColorChoice"],["impl Clone for ContextKind"],["impl Clone for ContextValue"],["impl Clone for ErrorKind"],["impl Clone for MatchesError"],["impl Clone for ValueSource"],["impl Clone for Arg"],["impl Clone for ArgGroup"],["impl Clone for BoolValueParser"],["impl Clone for BoolishValueParser"],["impl Clone for Command"],["impl Clone for FalseyValueParser"],["impl Clone for NonEmptyStringValueParser"],["impl Clone for OsStr"],["impl Clone for OsStringValueParser"],["impl Clone for PathBufValueParser"],["impl Clone for PossibleValue"],["impl Clone for PossibleValuesParser"],["impl Clone for Str"],["impl Clone for StringValueParser"],["impl Clone for StyledStr"],["impl Clone for UnknownArgumentValueParser"],["impl Clone for ValueParser"],["impl Clone for ValueRange"],["impl Clone for Styles"],["impl Clone for ArgMatches"],["impl Clone for Id"],["impl Clone for Box<dyn Extension>"],["impl<'a> Clone for IdsRef<'a>"],["impl<'a> Clone for Indices<'a>"],["impl<'a> Clone for RawValues<'a>"],["impl<'a, T: Clone> Clone for ValuesRef<'a, T>"],["impl<E: Clone + ValueEnum + Clone + Send + Sync + 'static> Clone for EnumValueParser<E>"],["impl<P: Clone, F: Clone> Clone for MapValueParser<P, F>"],["impl<P: Clone, F: Clone> Clone for TryMapValueParser<P, F>"],["impl<T: Clone + TryFrom<i64> + Clone + Send + Sync> Clone for RangedI64ValueParser<T>"],["impl<T: Clone + TryFrom<u64>> Clone for RangedU64ValueParser<T>"],["impl<T: Clone> Clone for Resettable<T>"],["impl<T: Clone> Clone for Values<T>"]], "clap_lex":[["impl Clone for ArgCursor"],["impl Clone for RawArgs"],["impl<'s> Clone for ParsedArg<'s>"],["impl<'s> Clone for ShortFlags<'s>"]], diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js index d030398a3..552d8ffaf 100644 --- a/trait.impl/core/cmp/trait.PartialEq.js +++ b/trait.impl/core/cmp/trait.PartialEq.js @@ -2,7 +2,7 @@ "anstream":[["impl PartialEq for StripBytes"],["impl PartialEq for StripStr"],["impl PartialEq for WinconBytes"],["impl<'s> PartialEq for StripBytesIter<'s>"],["impl<'s> PartialEq for StripStrIter<'s>"],["impl<'s> PartialEq for StrippedBytes<'s>"],["impl<'s> PartialEq for StrippedStr<'s>"],["impl<'s> PartialEq for WinconBytesIter<'s>"]], "anstyle":[["impl PartialEq for AnsiColor"],["impl PartialEq for Color"],["impl PartialEq for Ansi256Color"],["impl PartialEq for EffectIter"],["impl PartialEq for Effects"],["impl PartialEq for Reset"],["impl PartialEq for RgbColor"],["impl PartialEq for Style"],["impl PartialEq<Effects> for Style"]], "anstyle_parse":[["impl PartialEq for Action"],["impl PartialEq for State"],["impl PartialEq for AsciiParser"],["impl PartialEq for Params"],["impl PartialEq for Utf8Parser"],["impl<C: PartialEq> PartialEq for Parser<C>"]], -"bluerobotics_ping":[["impl PartialEq for Messages"],["impl PartialEq for Messages"],["impl PartialEq for ParseError"],["impl PartialEq for Messages"],["impl PartialEq for Messages"],["impl PartialEq for CellTimeoutStruct"],["impl PartialEq for CellVoltageMinStruct"],["impl PartialEq for CurrentMaxStruct"],["impl PartialEq for CurrentTimeoutStruct"],["impl PartialEq for EraseFlashStruct"],["impl PartialEq for EventsStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for RebootStruct"],["impl PartialEq for ResetDefaultsStruct"],["impl PartialEq for SetCellVoltageMinimumStruct"],["impl PartialEq for SetCellVoltageTimeoutStruct"],["impl PartialEq for SetCurrentMaxStruct"],["impl PartialEq for SetCurrentTimeoutStruct"],["impl PartialEq for SetLpfSampleFrequencyStruct"],["impl PartialEq for SetLpfSettingStruct"],["impl PartialEq for SetStreamRateStruct"],["impl PartialEq for SetTemperatureMaxStruct"],["impl PartialEq for SetTemperatureTimeoutStruct"],["impl PartialEq for StateStruct"],["impl PartialEq for TemperatureMaxStruct"],["impl PartialEq for TemperatureTimeoutStruct"],["impl PartialEq for AckStruct"],["impl PartialEq for AsciiTextStruct"],["impl PartialEq for DeviceInformationStruct"],["impl PartialEq for GeneralRequestStruct"],["impl PartialEq for NackStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ProtocolVersionStruct"],["impl PartialEq for SetDeviceIdStruct"],["impl PartialEq for ProtocolMessage"],["impl PartialEq for ContinuousStartStruct"],["impl PartialEq for ContinuousStopStruct"],["impl PartialEq for DeviceIdStruct"],["impl PartialEq for DistanceSimpleStruct"],["impl PartialEq for DistanceStruct"],["impl PartialEq for FirmwareVersionStruct"],["impl PartialEq for GainSettingStruct"],["impl PartialEq for GeneralInfoStruct"],["impl PartialEq for GotoBootloaderStruct"],["impl PartialEq for ModeAutoStruct"],["impl PartialEq for PcbTemperatureStruct"],["impl PartialEq for PingEnableStruct"],["impl PartialEq for PingIntervalStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ProcessorTemperatureStruct"],["impl PartialEq for ProfileStruct"],["impl PartialEq for RangeStruct"],["impl PartialEq for SetDeviceIdStruct"],["impl PartialEq for SetGainSettingStruct"],["impl PartialEq for SetModeAutoStruct"],["impl PartialEq for SetPingEnableStruct"],["impl PartialEq for SetPingIntervalStruct"],["impl PartialEq for SetRangeStruct"],["impl PartialEq for SetSpeedOfSoundStruct"],["impl PartialEq for SpeedOfSoundStruct"],["impl PartialEq for TransmitDurationStruct"],["impl PartialEq for Voltage5Struct"],["impl PartialEq for AutoDeviceDataStruct"],["impl PartialEq for AutoTransmitStruct"],["impl PartialEq for DeviceDataStruct"],["impl PartialEq for DeviceIdStruct"],["impl PartialEq for MotorOffStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ResetStruct"],["impl PartialEq for TransducerStruct"]], +"bluerobotics_ping":[["impl PartialEq for Messages"],["impl PartialEq for Messages"],["impl PartialEq for ParseError"],["impl PartialEq for Messages"],["impl PartialEq for Messages"],["impl PartialEq for CellTimeoutStruct"],["impl PartialEq for CellVoltageMinStruct"],["impl PartialEq for CurrentMaxStruct"],["impl PartialEq for CurrentTimeoutStruct"],["impl PartialEq for EraseFlashStruct"],["impl PartialEq for EventsStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for RebootStruct"],["impl PartialEq for ResetDefaultsStruct"],["impl PartialEq for SetCellVoltageMinimumStruct"],["impl PartialEq for SetCellVoltageTimeoutStruct"],["impl PartialEq for SetCurrentMaxStruct"],["impl PartialEq for SetCurrentTimeoutStruct"],["impl PartialEq for SetLpfSampleFrequencyStruct"],["impl PartialEq for SetLpfSettingStruct"],["impl PartialEq for SetStreamRateStruct"],["impl PartialEq for SetTemperatureMaxStruct"],["impl PartialEq for SetTemperatureTimeoutStruct"],["impl PartialEq for StateStruct"],["impl PartialEq for TemperatureMaxStruct"],["impl PartialEq for TemperatureTimeoutStruct"],["impl PartialEq for AckStruct"],["impl PartialEq for AsciiTextStruct"],["impl PartialEq for DeviceInformationStruct"],["impl PartialEq for GeneralRequestStruct"],["impl PartialEq for NackStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ProtocolVersionStruct"],["impl PartialEq for SetDeviceIdStruct"],["impl PartialEq for ProtocolMessage"],["impl PartialEq for ContinuousStartStruct"],["impl PartialEq for ContinuousStopStruct"],["impl PartialEq for DeviceIdStruct"],["impl PartialEq for DistanceSimpleStruct"],["impl PartialEq for DistanceStruct"],["impl PartialEq for FirmwareVersionStruct"],["impl PartialEq for GainSettingStruct"],["impl PartialEq for GeneralInfoStruct"],["impl PartialEq for GotoBootloaderStruct"],["impl PartialEq for ModeAutoStruct"],["impl PartialEq for PcbTemperatureStruct"],["impl PartialEq for PingEnableStruct"],["impl PartialEq for PingIntervalStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ProcessorTemperatureStruct"],["impl PartialEq for ProfileStruct"],["impl PartialEq for RangeStruct"],["impl PartialEq for SetDeviceIdStruct"],["impl PartialEq for SetGainSettingStruct"],["impl PartialEq for SetModeAutoStruct"],["impl PartialEq for SetPingEnableStruct"],["impl PartialEq for SetPingIntervalStruct"],["impl PartialEq for SetRangeStruct"],["impl PartialEq for SetSpeedOfSoundStruct"],["impl PartialEq for SpeedOfSoundStruct"],["impl PartialEq for TransmitDurationStruct"],["impl PartialEq for Voltage5Struct"],["impl PartialEq for AutoDeviceDataStruct"],["impl PartialEq for AutoTransmitStruct"],["impl PartialEq for DeviceDataStruct"],["impl PartialEq for MotorOffStruct"],["impl PartialEq for PingProtocolHead"],["impl PartialEq for ResetStruct"],["impl PartialEq for SetDeviceIdStruct"],["impl PartialEq for TransducerStruct"]], "bytes":[["impl PartialEq for Bytes"],["impl PartialEq for BytesMut"],["impl PartialEq<str> for Bytes"],["impl PartialEq<str> for BytesMut"],["impl PartialEq<Bytes> for &str"],["impl PartialEq<Bytes> for &[u8]"],["impl PartialEq<Bytes> for str"],["impl PartialEq<Bytes> for BytesMut"],["impl PartialEq<Bytes> for String"],["impl PartialEq<Bytes> for Vec<u8>"],["impl PartialEq<Bytes> for [u8]"],["impl PartialEq<BytesMut> for &str"],["impl PartialEq<BytesMut> for &[u8]"],["impl PartialEq<BytesMut> for str"],["impl PartialEq<BytesMut> for Bytes"],["impl PartialEq<BytesMut> for String"],["impl PartialEq<BytesMut> for Vec<u8>"],["impl PartialEq<BytesMut> for [u8]"],["impl PartialEq<String> for Bytes"],["impl PartialEq<String> for BytesMut"],["impl PartialEq<Vec<u8>> for Bytes"],["impl PartialEq<Vec<u8>> for BytesMut"],["impl PartialEq<[u8]> for Bytes"],["impl PartialEq<[u8]> for BytesMut"],["impl<'a, T: ?Sized> PartialEq<&'a T> for Bytes
where\n Bytes: PartialEq<T>,
"],["impl<'a, T: ?Sized> PartialEq<&'a T> for BytesMut
where\n BytesMut: PartialEq<T>,
"]], "clap_builder":[["impl PartialEq for ArgPredicate"],["impl PartialEq for ValueHint"],["impl PartialEq for ColorChoice"],["impl PartialEq for ContextKind"],["impl PartialEq for ContextValue"],["impl PartialEq for ErrorKind"],["impl PartialEq for ValueSource"],["impl PartialEq for Arg"],["impl PartialEq for ArgGroup"],["impl PartialEq for OsStr"],["impl PartialEq for PossibleValue"],["impl PartialEq for Str"],["impl PartialEq for StyledStr"],["impl PartialEq for ValueRange"],["impl PartialEq for ArgMatches"],["impl PartialEq for Id"],["impl PartialEq<&str> for OsStr"],["impl PartialEq<&str> for Str"],["impl PartialEq<&str> for Id"],["impl PartialEq<&OsStr> for OsStr"],["impl PartialEq<&OsStr> for Str"],["impl PartialEq<str> for OsStr"],["impl PartialEq<str> for Str"],["impl PartialEq<str> for Id"],["impl PartialEq<OsStr> for &str"],["impl PartialEq<OsStr> for &OsStr"],["impl PartialEq<OsStr> for str"],["impl PartialEq<OsStr> for String"],["impl PartialEq<OsStr> for OsString"],["impl PartialEq<Str> for &str"],["impl PartialEq<Str> for &OsStr"],["impl PartialEq<Str> for str"],["impl PartialEq<Str> for Id"],["impl PartialEq<Str> for String"],["impl PartialEq<Str> for OsStr"],["impl PartialEq<Id> for &str"],["impl PartialEq<Id> for str"],["impl PartialEq<Id> for Str"],["impl PartialEq<Id> for String"],["impl PartialEq<String> for OsStr"],["impl PartialEq<String> for Str"],["impl PartialEq<String> for Id"],["impl PartialEq<OsStr> for Str"],["impl PartialEq<OsString> for OsStr"],["impl<T: PartialEq> PartialEq for Resettable<T>"]], "clap_lex":[["impl PartialEq for ArgCursor"],["impl PartialEq for RawArgs"],["impl<'s> PartialEq for ParsedArg<'s>"]], diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index d32b9ea8b..7fef90913 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -2,7 +2,7 @@ "anstream":[["impl Default for StripBytes"],["impl Default for StripStr"],["impl Default for WinconBytes"],["impl<'s> Default for StrippedBytes<'s>"],["impl<'s> Default for StrippedStr<'s>"]], "anstyle":[["impl Default for Effects"],["impl Default for Reset"],["impl Default for Style"]], "anstyle_parse":[["impl Default for Action"],["impl Default for State"],["impl Default for AsciiParser"],["impl Default for Params"],["impl Default for Utf8Parser"],["impl<C: Default> Default for Parser<C>"]], -"bluerobotics_ping":[["impl Default for CellTimeoutStruct"],["impl Default for CellVoltageMinStruct"],["impl Default for CurrentMaxStruct"],["impl Default for CurrentTimeoutStruct"],["impl Default for EraseFlashStruct"],["impl Default for EventsStruct"],["impl Default for PingProtocolHead"],["impl Default for RebootStruct"],["impl Default for ResetDefaultsStruct"],["impl Default for SetCellVoltageMinimumStruct"],["impl Default for SetCellVoltageTimeoutStruct"],["impl Default for SetCurrentMaxStruct"],["impl Default for SetCurrentTimeoutStruct"],["impl Default for SetLpfSampleFrequencyStruct"],["impl Default for SetLpfSettingStruct"],["impl Default for SetStreamRateStruct"],["impl Default for SetTemperatureMaxStruct"],["impl Default for SetTemperatureTimeoutStruct"],["impl Default for StateStruct"],["impl Default for TemperatureMaxStruct"],["impl Default for TemperatureTimeoutStruct"],["impl Default for AckStruct"],["impl Default for AsciiTextStruct"],["impl Default for DeviceInformationStruct"],["impl Default for GeneralRequestStruct"],["impl Default for NackStruct"],["impl Default for PingProtocolHead"],["impl Default for ProtocolVersionStruct"],["impl Default for SetDeviceIdStruct"],["impl Default for ProtocolMessage"],["impl Default for ContinuousStartStruct"],["impl Default for ContinuousStopStruct"],["impl Default for DeviceIdStruct"],["impl Default for DistanceSimpleStruct"],["impl Default for DistanceStruct"],["impl Default for FirmwareVersionStruct"],["impl Default for GainSettingStruct"],["impl Default for GeneralInfoStruct"],["impl Default for GotoBootloaderStruct"],["impl Default for ModeAutoStruct"],["impl Default for PcbTemperatureStruct"],["impl Default for PingEnableStruct"],["impl Default for PingIntervalStruct"],["impl Default for PingProtocolHead"],["impl Default for ProcessorTemperatureStruct"],["impl Default for ProfileStruct"],["impl Default for RangeStruct"],["impl Default for SetDeviceIdStruct"],["impl Default for SetGainSettingStruct"],["impl Default for SetModeAutoStruct"],["impl Default for SetPingEnableStruct"],["impl Default for SetPingIntervalStruct"],["impl Default for SetRangeStruct"],["impl Default for SetSpeedOfSoundStruct"],["impl Default for SpeedOfSoundStruct"],["impl Default for TransmitDurationStruct"],["impl Default for Voltage5Struct"],["impl Default for AutoDeviceDataStruct"],["impl Default for AutoTransmitStruct"],["impl Default for DeviceDataStruct"],["impl Default for DeviceIdStruct"],["impl Default for MotorOffStruct"],["impl Default for PingProtocolHead"],["impl Default for ResetStruct"],["impl Default for TransducerStruct"]], +"bluerobotics_ping":[["impl Default for CellTimeoutStruct"],["impl Default for CellVoltageMinStruct"],["impl Default for CurrentMaxStruct"],["impl Default for CurrentTimeoutStruct"],["impl Default for EraseFlashStruct"],["impl Default for EventsStruct"],["impl Default for PingProtocolHead"],["impl Default for RebootStruct"],["impl Default for ResetDefaultsStruct"],["impl Default for SetCellVoltageMinimumStruct"],["impl Default for SetCellVoltageTimeoutStruct"],["impl Default for SetCurrentMaxStruct"],["impl Default for SetCurrentTimeoutStruct"],["impl Default for SetLpfSampleFrequencyStruct"],["impl Default for SetLpfSettingStruct"],["impl Default for SetStreamRateStruct"],["impl Default for SetTemperatureMaxStruct"],["impl Default for SetTemperatureTimeoutStruct"],["impl Default for StateStruct"],["impl Default for TemperatureMaxStruct"],["impl Default for TemperatureTimeoutStruct"],["impl Default for AckStruct"],["impl Default for AsciiTextStruct"],["impl Default for DeviceInformationStruct"],["impl Default for GeneralRequestStruct"],["impl Default for NackStruct"],["impl Default for PingProtocolHead"],["impl Default for ProtocolVersionStruct"],["impl Default for SetDeviceIdStruct"],["impl Default for ProtocolMessage"],["impl Default for ContinuousStartStruct"],["impl Default for ContinuousStopStruct"],["impl Default for DeviceIdStruct"],["impl Default for DistanceSimpleStruct"],["impl Default for DistanceStruct"],["impl Default for FirmwareVersionStruct"],["impl Default for GainSettingStruct"],["impl Default for GeneralInfoStruct"],["impl Default for GotoBootloaderStruct"],["impl Default for ModeAutoStruct"],["impl Default for PcbTemperatureStruct"],["impl Default for PingEnableStruct"],["impl Default for PingIntervalStruct"],["impl Default for PingProtocolHead"],["impl Default for ProcessorTemperatureStruct"],["impl Default for ProfileStruct"],["impl Default for RangeStruct"],["impl Default for SetDeviceIdStruct"],["impl Default for SetGainSettingStruct"],["impl Default for SetModeAutoStruct"],["impl Default for SetPingEnableStruct"],["impl Default for SetPingIntervalStruct"],["impl Default for SetRangeStruct"],["impl Default for SetSpeedOfSoundStruct"],["impl Default for SpeedOfSoundStruct"],["impl Default for TransmitDurationStruct"],["impl Default for Voltage5Struct"],["impl Default for AutoDeviceDataStruct"],["impl Default for AutoTransmitStruct"],["impl Default for DeviceDataStruct"],["impl Default for MotorOffStruct"],["impl Default for PingProtocolHead"],["impl Default for ResetStruct"],["impl Default for SetDeviceIdStruct"],["impl Default for TransducerStruct"]], "bytes":[["impl Default for Bytes"],["impl Default for BytesMut"]], "clap_builder":[["impl Default for &StyledStr"],["impl Default for &Styles"],["impl Default for ValueHint"],["impl Default for ColorChoice"],["impl Default for Arg"],["impl Default for ArgGroup"],["impl Default for BoolValueParser"],["impl Default for BoolishValueParser"],["impl Default for Command"],["impl Default for FalseyValueParser"],["impl Default for NonEmptyStringValueParser"],["impl Default for OsStr"],["impl Default for OsStringValueParser"],["impl Default for PathBufValueParser"],["impl Default for PossibleValue"],["impl Default for Str"],["impl Default for StringValueParser"],["impl Default for StyledStr"],["impl Default for ValueRange"],["impl Default for Styles"],["impl Default for ArgMatches"],["impl Default for RawValues<'_>"],["impl Default for Id"],["impl<'a> Default for Indices<'a>"],["impl<'a, T: 'a> Default for ValuesRef<'a, T>"],["impl<E: ValueEnum + Clone + Send + Sync + 'static> Default for EnumValueParser<E>"],["impl<T> Default for Values<T>"],["impl<T: TryFrom<i64> + Clone + Send + Sync> Default for RangedI64ValueParser<T>"],["impl<T: TryFrom<u64>> Default for RangedU64ValueParser<T>"]], "clap_lex":[["impl Default for RawArgs"]], diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index f0e2822b3..b07496274 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -3,7 +3,7 @@ "anstyle":[["impl Debug for AnsiColor"],["impl Debug for Color"],["impl Debug for Ansi256Color"],["impl Debug for EffectIter"],["impl Debug for Effects"],["impl Debug for Reset"],["impl Debug for RgbColor"],["impl Debug for Style"]], "anstyle_parse":[["impl Debug for Action"],["impl Debug for State"],["impl Debug for AsciiParser"],["impl Debug for Params"],["impl Debug for Utf8Parser"],["impl<C: Debug> Debug for Parser<C>"]], "bitflags":[["impl Debug for ParseError"],["impl<B: Debug> Debug for Flag<B>"]], -"bluerobotics_ping":[["impl Debug for Messages"],["impl Debug for Messages"],["impl Debug for DecoderResult"],["impl Debug for DecoderState"],["impl Debug for ParseError"],["impl Debug for Messages"],["impl Debug for PingError"],["impl Debug for Messages"],["impl Debug for Messages"],["impl Debug for CellTimeoutStruct"],["impl Debug for CellVoltageMinStruct"],["impl Debug for CurrentMaxStruct"],["impl Debug for CurrentTimeoutStruct"],["impl Debug for EraseFlashStruct"],["impl Debug for EventsStruct"],["impl Debug for PingProtocolHead"],["impl Debug for RebootStruct"],["impl Debug for ResetDefaultsStruct"],["impl Debug for SetCellVoltageMinimumStruct"],["impl Debug for SetCellVoltageTimeoutStruct"],["impl Debug for SetCurrentMaxStruct"],["impl Debug for SetCurrentTimeoutStruct"],["impl Debug for SetLpfSampleFrequencyStruct"],["impl Debug for SetLpfSettingStruct"],["impl Debug for SetStreamRateStruct"],["impl Debug for SetTemperatureMaxStruct"],["impl Debug for SetTemperatureTimeoutStruct"],["impl Debug for StateStruct"],["impl Debug for TemperatureMaxStruct"],["impl Debug for TemperatureTimeoutStruct"],["impl Debug for AckStruct"],["impl Debug for AsciiTextStruct"],["impl Debug for DeviceInformationStruct"],["impl Debug for GeneralRequestStruct"],["impl Debug for NackStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ProtocolVersionStruct"],["impl Debug for SetDeviceIdStruct"],["impl Debug for ProtocolMessage"],["impl Debug for ContinuousStartStruct"],["impl Debug for ContinuousStopStruct"],["impl Debug for DeviceIdStruct"],["impl Debug for DistanceSimpleStruct"],["impl Debug for DistanceStruct"],["impl Debug for FirmwareVersionStruct"],["impl Debug for GainSettingStruct"],["impl Debug for GeneralInfoStruct"],["impl Debug for GotoBootloaderStruct"],["impl Debug for ModeAutoStruct"],["impl Debug for PcbTemperatureStruct"],["impl Debug for PingEnableStruct"],["impl Debug for PingIntervalStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ProcessorTemperatureStruct"],["impl Debug for ProfileStruct"],["impl Debug for RangeStruct"],["impl Debug for SetDeviceIdStruct"],["impl Debug for SetGainSettingStruct"],["impl Debug for SetModeAutoStruct"],["impl Debug for SetPingEnableStruct"],["impl Debug for SetPingIntervalStruct"],["impl Debug for SetRangeStruct"],["impl Debug for SetSpeedOfSoundStruct"],["impl Debug for SpeedOfSoundStruct"],["impl Debug for TransmitDurationStruct"],["impl Debug for Voltage5Struct"],["impl Debug for AutoDeviceDataStruct"],["impl Debug for AutoTransmitStruct"],["impl Debug for DeviceDataStruct"],["impl Debug for DeviceIdStruct"],["impl Debug for MotorOffStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ResetStruct"],["impl Debug for TransducerStruct"]], +"bluerobotics_ping":[["impl Debug for Messages"],["impl Debug for Messages"],["impl Debug for DecoderResult"],["impl Debug for DecoderState"],["impl Debug for ParseError"],["impl Debug for Messages"],["impl Debug for PingError"],["impl Debug for Messages"],["impl Debug for Messages"],["impl Debug for CellTimeoutStruct"],["impl Debug for CellVoltageMinStruct"],["impl Debug for CurrentMaxStruct"],["impl Debug for CurrentTimeoutStruct"],["impl Debug for EraseFlashStruct"],["impl Debug for EventsStruct"],["impl Debug for PingProtocolHead"],["impl Debug for RebootStruct"],["impl Debug for ResetDefaultsStruct"],["impl Debug for SetCellVoltageMinimumStruct"],["impl Debug for SetCellVoltageTimeoutStruct"],["impl Debug for SetCurrentMaxStruct"],["impl Debug for SetCurrentTimeoutStruct"],["impl Debug for SetLpfSampleFrequencyStruct"],["impl Debug for SetLpfSettingStruct"],["impl Debug for SetStreamRateStruct"],["impl Debug for SetTemperatureMaxStruct"],["impl Debug for SetTemperatureTimeoutStruct"],["impl Debug for StateStruct"],["impl Debug for TemperatureMaxStruct"],["impl Debug for TemperatureTimeoutStruct"],["impl Debug for AckStruct"],["impl Debug for AsciiTextStruct"],["impl Debug for DeviceInformationStruct"],["impl Debug for GeneralRequestStruct"],["impl Debug for NackStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ProtocolVersionStruct"],["impl Debug for SetDeviceIdStruct"],["impl Debug for ProtocolMessage"],["impl Debug for ContinuousStartStruct"],["impl Debug for ContinuousStopStruct"],["impl Debug for DeviceIdStruct"],["impl Debug for DistanceSimpleStruct"],["impl Debug for DistanceStruct"],["impl Debug for FirmwareVersionStruct"],["impl Debug for GainSettingStruct"],["impl Debug for GeneralInfoStruct"],["impl Debug for GotoBootloaderStruct"],["impl Debug for ModeAutoStruct"],["impl Debug for PcbTemperatureStruct"],["impl Debug for PingEnableStruct"],["impl Debug for PingIntervalStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ProcessorTemperatureStruct"],["impl Debug for ProfileStruct"],["impl Debug for RangeStruct"],["impl Debug for SetDeviceIdStruct"],["impl Debug for SetGainSettingStruct"],["impl Debug for SetModeAutoStruct"],["impl Debug for SetPingEnableStruct"],["impl Debug for SetPingIntervalStruct"],["impl Debug for SetRangeStruct"],["impl Debug for SetSpeedOfSoundStruct"],["impl Debug for SpeedOfSoundStruct"],["impl Debug for TransmitDurationStruct"],["impl Debug for Voltage5Struct"],["impl Debug for AutoDeviceDataStruct"],["impl Debug for AutoTransmitStruct"],["impl Debug for DeviceDataStruct"],["impl Debug for MotorOffStruct"],["impl Debug for PingProtocolHead"],["impl Debug for ResetStruct"],["impl Debug for SetDeviceIdStruct"],["impl Debug for TransducerStruct"]], "bytes":[["impl Debug for UninitSlice"],["impl Debug for Bytes"],["impl Debug for BytesMut"],["impl<B: Debug> Debug for Reader<B>"],["impl<B: Debug> Debug for Writer<B>"],["impl<T: Debug> Debug for IntoIter<T>"],["impl<T: Debug> Debug for Limit<T>"],["impl<T: Debug> Debug for Take<T>"],["impl<T: Debug, U: Debug> Debug for Chain<T, U>"]], "clap_builder":[["impl Debug for ArgAction"],["impl Debug for ArgPredicate"],["impl Debug for ValueHint"],["impl Debug for ColorChoice"],["impl Debug for ContextKind"],["impl Debug for ContextValue"],["impl Debug for ErrorKind"],["impl Debug for MatchesError"],["impl Debug for ValueSource"],["impl Debug for Arg"],["impl Debug for ArgGroup"],["impl Debug for BoolValueParser"],["impl Debug for BoolishValueParser"],["impl Debug for Command"],["impl Debug for FalseyValueParser"],["impl Debug for NonEmptyStringValueParser"],["impl Debug for OsStr"],["impl Debug for OsStringValueParser"],["impl Debug for PathBufValueParser"],["impl Debug for PossibleValue"],["impl Debug for PossibleValuesParser"],["impl Debug for Str"],["impl Debug for StringValueParser"],["impl Debug for StyledStr"],["impl Debug for UnknownArgumentValueParser"],["impl Debug for ValueParser"],["impl Debug for ValueRange"],["impl Debug for Styles"],["impl Debug for ArgMatches"],["impl Debug for Id"],["impl<'a> Debug for IdsRef<'a>"],["impl<'a> Debug for Indices<'a>"],["impl<'a> Debug for RawValues<'a>"],["impl<'a, T: Debug> Debug for ValuesRef<'a, T>"],["impl<E: Debug + ValueEnum + Clone + Send + Sync + 'static> Debug for EnumValueParser<E>"],["impl<F: ErrorFormatter> Debug for Error<F>"],["impl<P: Debug, F: Debug> Debug for MapValueParser<P, F>"],["impl<P: Debug, F: Debug> Debug for TryMapValueParser<P, F>"],["impl<T: Debug + TryFrom<i64> + Clone + Send + Sync> Debug for RangedI64ValueParser<T>"],["impl<T: Debug + TryFrom<u64>> Debug for RangedU64ValueParser<T>"],["impl<T: Debug> Debug for Resettable<T>"],["impl<T: Debug> Debug for Values<T>"]], "clap_lex":[["impl Debug for ArgCursor"],["impl Debug for RawArgs"],["impl<'s> Debug for ParsedArg<'s>"],["impl<'s> Debug for ShortFlags<'s>"]], diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 2b928bf2d..35c73d372 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -3,7 +3,7 @@ "anstyle":[["impl Freeze for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl Freeze for Color",1,["anstyle::color::Color"]],["impl Freeze for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl Freeze for EffectIter",1,["anstyle::effect::EffectIter"]],["impl Freeze for Effects",1,["anstyle::effect::Effects"]],["impl Freeze for Reset",1,["anstyle::reset::Reset"]],["impl Freeze for RgbColor",1,["anstyle::color::RgbColor"]],["impl Freeze for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl Freeze for Action",1,["anstyle_parse::state::definitions::Action"]],["impl Freeze for State",1,["anstyle_parse::state::definitions::State"]],["impl Freeze for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl Freeze for Params",1,["anstyle_parse::params::Params"]],["impl Freeze for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> Freeze for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> Freeze for Parser<C>
where\n C: Freeze,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl Freeze for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> Freeze for Iter<B>
where\n B: Freeze,
",1,["bitflags::iter::Iter"]],["impl<B> Freeze for IterNames<B>
where\n B: Freeze,
",1,["bitflags::iter::IterNames"]],["impl<B> Freeze for Flag<B>
where\n B: Freeze,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl Freeze for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Freeze for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Freeze for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Freeze for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Freeze for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Freeze for Messages",1,["bluerobotics_ping::Messages"]],["impl Freeze for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Freeze for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Freeze for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Freeze for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Freeze for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Freeze for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Freeze for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Freeze for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Freeze for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Freeze for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Freeze for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Freeze for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Freeze for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Freeze for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Freeze for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Freeze for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Freeze for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Freeze for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Freeze for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Freeze for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Freeze for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Freeze for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Freeze for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Freeze for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Freeze for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Freeze for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::common::Device"]],["impl Freeze for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Freeze for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Freeze for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Freeze for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Freeze for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Freeze for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Freeze for Common",1,["bluerobotics_ping::device::Common"]],["impl Freeze for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Freeze for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Freeze for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Freeze for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Freeze for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Freeze for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Freeze for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Freeze for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Freeze for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Freeze for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Freeze for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Freeze for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Freeze for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Freeze for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Freeze for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Freeze for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Freeze for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Freeze for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Freeze for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Freeze for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Freeze for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Freeze for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Freeze for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Freeze for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Freeze for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Freeze for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Freeze for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Freeze for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Freeze for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Freeze for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Freeze for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl Freeze for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Freeze for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Freeze for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl Freeze for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Freeze for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Freeze for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Freeze for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Freeze for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Freeze for Messages",1,["bluerobotics_ping::Messages"]],["impl Freeze for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Freeze for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Freeze for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Freeze for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Freeze for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Freeze for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Freeze for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Freeze for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Freeze for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Freeze for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Freeze for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Freeze for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Freeze for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Freeze for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Freeze for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Freeze for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Freeze for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Freeze for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Freeze for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Freeze for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Freeze for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Freeze for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Freeze for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Freeze for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Freeze for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Freeze for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::common::Device"]],["impl Freeze for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Freeze for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Freeze for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Freeze for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Freeze for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Freeze for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Freeze for Common",1,["bluerobotics_ping::device::Common"]],["impl Freeze for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Freeze for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Freeze for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Freeze for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Freeze for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Freeze for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Freeze for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Freeze for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Freeze for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Freeze for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Freeze for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Freeze for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Freeze for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Freeze for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Freeze for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Freeze for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Freeze for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Freeze for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Freeze for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Freeze for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Freeze for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Freeze for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Freeze for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Freeze for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Freeze for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Freeze for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Freeze for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Freeze for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Freeze for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Freeze for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Freeze for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Freeze for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Freeze for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Freeze for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Freeze for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl Freeze for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl !Freeze for Bytes",1,["bytes::bytes::Bytes"]],["impl Freeze for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl Freeze for BytesMut",1,["bytes::bytes_mut::BytesMut"]],["impl<B> Freeze for Reader<B>
where\n B: Freeze,
",1,["bytes::buf::reader::Reader"]],["impl<B> Freeze for Writer<B>
where\n B: Freeze,
",1,["bytes::buf::writer::Writer"]],["impl<T> Freeze for IntoIter<T>
where\n T: Freeze,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> Freeze for Limit<T>
where\n T: Freeze,
",1,["bytes::buf::limit::Limit"]],["impl<T> Freeze for Take<T>
where\n T: Freeze,
",1,["bytes::buf::take::Take"]],["impl<T, U> Freeze for Chain<T, U>
where\n T: Freeze,\n U: Freeze,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl Freeze for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl Freeze for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl Freeze for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl Freeze for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl Freeze for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl Freeze for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl Freeze for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl Freeze for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl Freeze for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl Freeze for Arg",1,["clap_builder::builder::arg::Arg"]],["impl Freeze for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl Freeze for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl Freeze for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl Freeze for Command",1,["clap_builder::builder::command::Command"]],["impl Freeze for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl Freeze for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl Freeze for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl Freeze for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl Freeze for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl Freeze for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl Freeze for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl Freeze for Str",1,["clap_builder::builder::str::Str"]],["impl Freeze for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl Freeze for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl Freeze for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl Freeze for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl Freeze for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl Freeze for Styles",1,["clap_builder::builder::styling::Styles"]],["impl Freeze for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl Freeze for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl Freeze for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl Freeze for Id",1,["clap_builder::util::id::Id"]],["impl<'a> Freeze for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> Freeze for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> Freeze for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> Freeze for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> Freeze for EnumValueParser<E>",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F> Freeze for Error<F>",1,["clap_builder::error::Error"]],["impl<P, F> Freeze for MapValueParser<P, F>
where\n F: Freeze,\n P: Freeze,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> Freeze for TryMapValueParser<P, F>
where\n F: Freeze,\n P: Freeze,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> Freeze for Resettable<T>
where\n T: Freeze,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> Freeze for RangedI64ValueParser<T>",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> Freeze for RangedU64ValueParser<T>",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]],["impl<T> Freeze for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]]], "clap_lex":[["impl Freeze for ArgCursor",1,["clap_lex::ArgCursor"]],["impl Freeze for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> Freeze for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> Freeze for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]], diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 568f51c3d..f226d70db 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -3,7 +3,7 @@ "anstyle":[["impl Send for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl Send for Color",1,["anstyle::color::Color"]],["impl Send for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl Send for EffectIter",1,["anstyle::effect::EffectIter"]],["impl Send for Effects",1,["anstyle::effect::Effects"]],["impl Send for Reset",1,["anstyle::reset::Reset"]],["impl Send for RgbColor",1,["anstyle::color::RgbColor"]],["impl Send for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl Send for Action",1,["anstyle_parse::state::definitions::Action"]],["impl Send for State",1,["anstyle_parse::state::definitions::State"]],["impl Send for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl Send for Params",1,["anstyle_parse::params::Params"]],["impl Send for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> Send for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> Send for Parser<C>
where\n C: Send,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl Send for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> Send for Iter<B>
where\n B: Sync + Send,
",1,["bitflags::iter::Iter"]],["impl<B> Send for IterNames<B>
where\n B: Sync + Send,
",1,["bitflags::iter::IterNames"]],["impl<B> Send for Flag<B>
where\n B: Send,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl Send for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Send for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Send for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Send for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Send for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Send for Messages",1,["bluerobotics_ping::Messages"]],["impl Send for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Send for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Send for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Send for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Send for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Send for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Send for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Send for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Send for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Send for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Send for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Send for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Send for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Send for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Send for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Send for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Send for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Send for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Send for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Send for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Send for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Send for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Send for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Send for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Send for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Send for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Send for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Send for Device",1,["bluerobotics_ping::common::Device"]],["impl Send for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Send for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Send for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Send for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Send for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Send for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Send for Common",1,["bluerobotics_ping::device::Common"]],["impl Send for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Send for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Send for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Send for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Send for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Send for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Send for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Send for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Send for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Send for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Send for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Send for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Send for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Send for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Send for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Send for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Send for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Send for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Send for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Send for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Send for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Send for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Send for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Send for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Send for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Send for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Send for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Send for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Send for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Send for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Send for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Send for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Send for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl Send for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Send for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Send for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl Send for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Send for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Send for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Send for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Send for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Send for Messages",1,["bluerobotics_ping::Messages"]],["impl Send for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Send for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Send for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Send for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Send for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Send for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Send for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Send for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Send for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Send for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Send for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Send for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Send for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Send for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Send for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Send for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Send for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Send for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Send for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Send for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Send for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Send for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Send for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Send for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Send for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Send for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Send for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Send for Device",1,["bluerobotics_ping::common::Device"]],["impl Send for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Send for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Send for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Send for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Send for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Send for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Send for Common",1,["bluerobotics_ping::device::Common"]],["impl Send for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Send for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Send for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Send for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Send for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Send for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Send for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Send for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Send for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Send for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Send for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Send for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Send for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Send for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Send for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Send for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Send for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Send for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Send for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Send for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Send for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Send for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Send for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Send for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Send for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Send for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Send for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Send for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Send for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Send for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Send for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Send for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Send for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Send for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Send for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Send for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl Send for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl Send for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl Send for Bytes"],["impl Send for BytesMut"],["impl<B> Send for Reader<B>
where\n B: Send,
",1,["bytes::buf::reader::Reader"]],["impl<B> Send for Writer<B>
where\n B: Send,
",1,["bytes::buf::writer::Writer"]],["impl<T> Send for IntoIter<T>
where\n T: Send,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> Send for Limit<T>
where\n T: Send,
",1,["bytes::buf::limit::Limit"]],["impl<T> Send for Take<T>
where\n T: Send,
",1,["bytes::buf::take::Take"]],["impl<T, U> Send for Chain<T, U>
where\n T: Send,\n U: Send,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl Send for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl Send for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl Send for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl Send for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl Send for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl Send for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl Send for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl Send for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl Send for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl Send for Arg",1,["clap_builder::builder::arg::Arg"]],["impl Send for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl Send for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl Send for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl Send for Command",1,["clap_builder::builder::command::Command"]],["impl Send for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl Send for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl Send for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl Send for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl Send for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl Send for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl Send for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl Send for Str",1,["clap_builder::builder::str::Str"]],["impl Send for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl Send for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl Send for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl Send for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl Send for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl Send for Styles",1,["clap_builder::builder::styling::Styles"]],["impl Send for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl Send for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl Send for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl Send for Id",1,["clap_builder::util::id::Id"]],["impl<'a> Send for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> Send for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> Send for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> Send for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> Send for EnumValueParser<E>",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F> Send for Error<F>
where\n F: Send,
",1,["clap_builder::error::Error"]],["impl<P, F> Send for MapValueParser<P, F>
where\n F: Send,\n P: Send,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> Send for TryMapValueParser<P, F>
where\n F: Send,\n P: Send,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> Send for Resettable<T>
where\n T: Send,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> Send for RangedI64ValueParser<T>",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> Send for RangedU64ValueParser<T>
where\n T: Send,
",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]],["impl<T> Send for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]]], "clap_lex":[["impl Send for ArgCursor",1,["clap_lex::ArgCursor"]],["impl Send for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> Send for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> Send for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]], diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index 1de15e4c1..2099d371e 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -2,7 +2,7 @@ "anstream":[["impl StructuralPartialEq for StripBytes"],["impl StructuralPartialEq for StripStr"],["impl StructuralPartialEq for WinconBytes"],["impl<'s> StructuralPartialEq for StripBytesIter<'s>"],["impl<'s> StructuralPartialEq for StripStrIter<'s>"],["impl<'s> StructuralPartialEq for StrippedBytes<'s>"],["impl<'s> StructuralPartialEq for StrippedStr<'s>"],["impl<'s> StructuralPartialEq for WinconBytesIter<'s>"]], "anstyle":[["impl StructuralPartialEq for AnsiColor"],["impl StructuralPartialEq for Color"],["impl StructuralPartialEq for Ansi256Color"],["impl StructuralPartialEq for EffectIter"],["impl StructuralPartialEq for Effects"],["impl StructuralPartialEq for Reset"],["impl StructuralPartialEq for RgbColor"],["impl StructuralPartialEq for Style"]], "anstyle_parse":[["impl StructuralPartialEq for Action"],["impl StructuralPartialEq for State"],["impl StructuralPartialEq for AsciiParser"],["impl StructuralPartialEq for Params"],["impl StructuralPartialEq for Utf8Parser"],["impl<C> StructuralPartialEq for Parser<C>"]], -"bluerobotics_ping":[["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for ParseError"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for CellTimeoutStruct"],["impl StructuralPartialEq for CellVoltageMinStruct"],["impl StructuralPartialEq for CurrentMaxStruct"],["impl StructuralPartialEq for CurrentTimeoutStruct"],["impl StructuralPartialEq for EraseFlashStruct"],["impl StructuralPartialEq for EventsStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for RebootStruct"],["impl StructuralPartialEq for ResetDefaultsStruct"],["impl StructuralPartialEq for SetCellVoltageMinimumStruct"],["impl StructuralPartialEq for SetCellVoltageTimeoutStruct"],["impl StructuralPartialEq for SetCurrentMaxStruct"],["impl StructuralPartialEq for SetCurrentTimeoutStruct"],["impl StructuralPartialEq for SetLpfSampleFrequencyStruct"],["impl StructuralPartialEq for SetLpfSettingStruct"],["impl StructuralPartialEq for SetStreamRateStruct"],["impl StructuralPartialEq for SetTemperatureMaxStruct"],["impl StructuralPartialEq for SetTemperatureTimeoutStruct"],["impl StructuralPartialEq for StateStruct"],["impl StructuralPartialEq for TemperatureMaxStruct"],["impl StructuralPartialEq for TemperatureTimeoutStruct"],["impl StructuralPartialEq for AckStruct"],["impl StructuralPartialEq for AsciiTextStruct"],["impl StructuralPartialEq for DeviceInformationStruct"],["impl StructuralPartialEq for GeneralRequestStruct"],["impl StructuralPartialEq for NackStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ProtocolVersionStruct"],["impl StructuralPartialEq for SetDeviceIdStruct"],["impl StructuralPartialEq for ProtocolMessage"],["impl StructuralPartialEq for ContinuousStartStruct"],["impl StructuralPartialEq for ContinuousStopStruct"],["impl StructuralPartialEq for DeviceIdStruct"],["impl StructuralPartialEq for DistanceSimpleStruct"],["impl StructuralPartialEq for DistanceStruct"],["impl StructuralPartialEq for FirmwareVersionStruct"],["impl StructuralPartialEq for GainSettingStruct"],["impl StructuralPartialEq for GeneralInfoStruct"],["impl StructuralPartialEq for GotoBootloaderStruct"],["impl StructuralPartialEq for ModeAutoStruct"],["impl StructuralPartialEq for PcbTemperatureStruct"],["impl StructuralPartialEq for PingEnableStruct"],["impl StructuralPartialEq for PingIntervalStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ProcessorTemperatureStruct"],["impl StructuralPartialEq for ProfileStruct"],["impl StructuralPartialEq for RangeStruct"],["impl StructuralPartialEq for SetDeviceIdStruct"],["impl StructuralPartialEq for SetGainSettingStruct"],["impl StructuralPartialEq for SetModeAutoStruct"],["impl StructuralPartialEq for SetPingEnableStruct"],["impl StructuralPartialEq for SetPingIntervalStruct"],["impl StructuralPartialEq for SetRangeStruct"],["impl StructuralPartialEq for SetSpeedOfSoundStruct"],["impl StructuralPartialEq for SpeedOfSoundStruct"],["impl StructuralPartialEq for TransmitDurationStruct"],["impl StructuralPartialEq for Voltage5Struct"],["impl StructuralPartialEq for AutoDeviceDataStruct"],["impl StructuralPartialEq for AutoTransmitStruct"],["impl StructuralPartialEq for DeviceDataStruct"],["impl StructuralPartialEq for DeviceIdStruct"],["impl StructuralPartialEq for MotorOffStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ResetStruct"],["impl StructuralPartialEq for TransducerStruct"]], +"bluerobotics_ping":[["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for ParseError"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for Messages"],["impl StructuralPartialEq for CellTimeoutStruct"],["impl StructuralPartialEq for CellVoltageMinStruct"],["impl StructuralPartialEq for CurrentMaxStruct"],["impl StructuralPartialEq for CurrentTimeoutStruct"],["impl StructuralPartialEq for EraseFlashStruct"],["impl StructuralPartialEq for EventsStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for RebootStruct"],["impl StructuralPartialEq for ResetDefaultsStruct"],["impl StructuralPartialEq for SetCellVoltageMinimumStruct"],["impl StructuralPartialEq for SetCellVoltageTimeoutStruct"],["impl StructuralPartialEq for SetCurrentMaxStruct"],["impl StructuralPartialEq for SetCurrentTimeoutStruct"],["impl StructuralPartialEq for SetLpfSampleFrequencyStruct"],["impl StructuralPartialEq for SetLpfSettingStruct"],["impl StructuralPartialEq for SetStreamRateStruct"],["impl StructuralPartialEq for SetTemperatureMaxStruct"],["impl StructuralPartialEq for SetTemperatureTimeoutStruct"],["impl StructuralPartialEq for StateStruct"],["impl StructuralPartialEq for TemperatureMaxStruct"],["impl StructuralPartialEq for TemperatureTimeoutStruct"],["impl StructuralPartialEq for AckStruct"],["impl StructuralPartialEq for AsciiTextStruct"],["impl StructuralPartialEq for DeviceInformationStruct"],["impl StructuralPartialEq for GeneralRequestStruct"],["impl StructuralPartialEq for NackStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ProtocolVersionStruct"],["impl StructuralPartialEq for SetDeviceIdStruct"],["impl StructuralPartialEq for ProtocolMessage"],["impl StructuralPartialEq for ContinuousStartStruct"],["impl StructuralPartialEq for ContinuousStopStruct"],["impl StructuralPartialEq for DeviceIdStruct"],["impl StructuralPartialEq for DistanceSimpleStruct"],["impl StructuralPartialEq for DistanceStruct"],["impl StructuralPartialEq for FirmwareVersionStruct"],["impl StructuralPartialEq for GainSettingStruct"],["impl StructuralPartialEq for GeneralInfoStruct"],["impl StructuralPartialEq for GotoBootloaderStruct"],["impl StructuralPartialEq for ModeAutoStruct"],["impl StructuralPartialEq for PcbTemperatureStruct"],["impl StructuralPartialEq for PingEnableStruct"],["impl StructuralPartialEq for PingIntervalStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ProcessorTemperatureStruct"],["impl StructuralPartialEq for ProfileStruct"],["impl StructuralPartialEq for RangeStruct"],["impl StructuralPartialEq for SetDeviceIdStruct"],["impl StructuralPartialEq for SetGainSettingStruct"],["impl StructuralPartialEq for SetModeAutoStruct"],["impl StructuralPartialEq for SetPingEnableStruct"],["impl StructuralPartialEq for SetPingIntervalStruct"],["impl StructuralPartialEq for SetRangeStruct"],["impl StructuralPartialEq for SetSpeedOfSoundStruct"],["impl StructuralPartialEq for SpeedOfSoundStruct"],["impl StructuralPartialEq for TransmitDurationStruct"],["impl StructuralPartialEq for Voltage5Struct"],["impl StructuralPartialEq for AutoDeviceDataStruct"],["impl StructuralPartialEq for AutoTransmitStruct"],["impl StructuralPartialEq for DeviceDataStruct"],["impl StructuralPartialEq for MotorOffStruct"],["impl StructuralPartialEq for PingProtocolHead"],["impl StructuralPartialEq for ResetStruct"],["impl StructuralPartialEq for SetDeviceIdStruct"],["impl StructuralPartialEq for TransducerStruct"]], "clap_builder":[["impl StructuralPartialEq for ArgPredicate"],["impl StructuralPartialEq for ValueHint"],["impl StructuralPartialEq for ColorChoice"],["impl StructuralPartialEq for ContextKind"],["impl StructuralPartialEq for ContextValue"],["impl StructuralPartialEq for ErrorKind"],["impl StructuralPartialEq for ValueSource"],["impl StructuralPartialEq for ArgGroup"],["impl StructuralPartialEq for OsStr"],["impl StructuralPartialEq for PossibleValue"],["impl StructuralPartialEq for Str"],["impl StructuralPartialEq for StyledStr"],["impl StructuralPartialEq for ValueRange"],["impl StructuralPartialEq for ArgMatches"],["impl StructuralPartialEq for Id"],["impl<T> StructuralPartialEq for Resettable<T>"]], "clap_lex":[["impl StructuralPartialEq for ArgCursor"],["impl StructuralPartialEq for RawArgs"],["impl<'s> StructuralPartialEq for ParsedArg<'s>"]], "colorchoice":[["impl StructuralPartialEq for ColorChoice"]], diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index c7ca051f8..a25b8a22a 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -3,7 +3,7 @@ "anstyle":[["impl Sync for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl Sync for Color",1,["anstyle::color::Color"]],["impl Sync for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl Sync for EffectIter",1,["anstyle::effect::EffectIter"]],["impl Sync for Effects",1,["anstyle::effect::Effects"]],["impl Sync for Reset",1,["anstyle::reset::Reset"]],["impl Sync for RgbColor",1,["anstyle::color::RgbColor"]],["impl Sync for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl Sync for Action",1,["anstyle_parse::state::definitions::Action"]],["impl Sync for State",1,["anstyle_parse::state::definitions::State"]],["impl Sync for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl Sync for Params",1,["anstyle_parse::params::Params"]],["impl Sync for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> Sync for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> Sync for Parser<C>
where\n C: Sync,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl Sync for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> Sync for Iter<B>
where\n B: Sync,
",1,["bitflags::iter::Iter"]],["impl<B> Sync for IterNames<B>
where\n B: Sync,
",1,["bitflags::iter::IterNames"]],["impl<B> Sync for Flag<B>
where\n B: Sync,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl Sync for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Sync for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Sync for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Sync for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Sync for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Sync for Messages",1,["bluerobotics_ping::Messages"]],["impl Sync for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Sync for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Sync for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Sync for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Sync for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Sync for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Sync for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Sync for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Sync for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Sync for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Sync for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Sync for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Sync for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Sync for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Sync for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Sync for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Sync for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Sync for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Sync for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Sync for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Sync for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Sync for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Sync for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Sync for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Sync for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Sync for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Sync for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Sync for Device",1,["bluerobotics_ping::common::Device"]],["impl Sync for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Sync for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Sync for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Sync for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Sync for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Sync for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Sync for Common",1,["bluerobotics_ping::device::Common"]],["impl Sync for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Sync for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Sync for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Sync for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Sync for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Sync for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Sync for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Sync for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Sync for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Sync for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Sync for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Sync for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Sync for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Sync for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Sync for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Sync for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Sync for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Sync for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Sync for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Sync for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Sync for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Sync for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Sync for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Sync for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Sync for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Sync for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Sync for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Sync for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Sync for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Sync for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Sync for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Sync for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Sync for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl Sync for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Sync for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Sync for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl Sync for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Sync for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Sync for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Sync for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Sync for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Sync for Messages",1,["bluerobotics_ping::Messages"]],["impl Sync for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Sync for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Sync for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Sync for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Sync for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Sync for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Sync for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Sync for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Sync for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Sync for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Sync for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Sync for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Sync for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Sync for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Sync for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Sync for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Sync for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Sync for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Sync for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Sync for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Sync for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Sync for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Sync for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Sync for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Sync for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Sync for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Sync for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Sync for Device",1,["bluerobotics_ping::common::Device"]],["impl Sync for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Sync for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Sync for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Sync for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Sync for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Sync for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Sync for Common",1,["bluerobotics_ping::device::Common"]],["impl Sync for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Sync for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Sync for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Sync for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Sync for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Sync for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Sync for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Sync for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Sync for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Sync for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Sync for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Sync for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Sync for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Sync for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Sync for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Sync for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Sync for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Sync for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Sync for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Sync for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Sync for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Sync for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Sync for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Sync for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Sync for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Sync for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Sync for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Sync for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Sync for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Sync for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Sync for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Sync for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Sync for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Sync for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Sync for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Sync for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl Sync for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl Sync for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl Sync for Bytes"],["impl Sync for BytesMut"],["impl<B> Sync for Reader<B>
where\n B: Sync,
",1,["bytes::buf::reader::Reader"]],["impl<B> Sync for Writer<B>
where\n B: Sync,
",1,["bytes::buf::writer::Writer"]],["impl<T> Sync for IntoIter<T>
where\n T: Sync,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> Sync for Limit<T>
where\n T: Sync,
",1,["bytes::buf::limit::Limit"]],["impl<T> Sync for Take<T>
where\n T: Sync,
",1,["bytes::buf::take::Take"]],["impl<T, U> Sync for Chain<T, U>
where\n T: Sync,\n U: Sync,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl Sync for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl Sync for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl Sync for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl Sync for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl Sync for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl Sync for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl Sync for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl Sync for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl Sync for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl Sync for Arg",1,["clap_builder::builder::arg::Arg"]],["impl Sync for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl Sync for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl Sync for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl Sync for Command",1,["clap_builder::builder::command::Command"]],["impl Sync for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl Sync for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl Sync for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl Sync for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl Sync for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl Sync for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl Sync for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl Sync for Str",1,["clap_builder::builder::str::Str"]],["impl Sync for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl Sync for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl Sync for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl Sync for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl Sync for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl Sync for Styles",1,["clap_builder::builder::styling::Styles"]],["impl Sync for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl Sync for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl Sync for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl Sync for Id",1,["clap_builder::util::id::Id"]],["impl<'a> Sync for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> Sync for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> Sync for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> Sync for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> Sync for EnumValueParser<E>",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F> Sync for Error<F>
where\n F: Sync,
",1,["clap_builder::error::Error"]],["impl<P, F> Sync for MapValueParser<P, F>
where\n F: Sync,\n P: Sync,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> Sync for TryMapValueParser<P, F>
where\n F: Sync,\n P: Sync,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> Sync for Resettable<T>
where\n T: Sync,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> Sync for RangedI64ValueParser<T>",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> Sync for RangedU64ValueParser<T>
where\n T: Sync,
",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]],["impl<T> Sync for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]]], "clap_lex":[["impl Sync for ArgCursor",1,["clap_lex::ArgCursor"]],["impl Sync for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> Sync for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> Sync for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]], diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 8b248c70f..72dc97175 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -3,7 +3,7 @@ "anstyle":[["impl Unpin for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl Unpin for Color",1,["anstyle::color::Color"]],["impl Unpin for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl Unpin for EffectIter",1,["anstyle::effect::EffectIter"]],["impl Unpin for Effects",1,["anstyle::effect::Effects"]],["impl Unpin for Reset",1,["anstyle::reset::Reset"]],["impl Unpin for RgbColor",1,["anstyle::color::RgbColor"]],["impl Unpin for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl Unpin for Action",1,["anstyle_parse::state::definitions::Action"]],["impl Unpin for State",1,["anstyle_parse::state::definitions::State"]],["impl Unpin for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl Unpin for Params",1,["anstyle_parse::params::Params"]],["impl Unpin for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> Unpin for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> Unpin for Parser<C>
where\n C: Unpin,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl Unpin for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> Unpin for Iter<B>
where\n B: Unpin,
",1,["bitflags::iter::Iter"]],["impl<B> Unpin for IterNames<B>
where\n B: Unpin,
",1,["bitflags::iter::IterNames"]],["impl<B> Unpin for Flag<B>
where\n B: Unpin,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl Unpin for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Unpin for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Unpin for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Unpin for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Unpin for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Unpin for Messages",1,["bluerobotics_ping::Messages"]],["impl Unpin for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Unpin for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Unpin for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Unpin for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Unpin for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Unpin for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Unpin for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Unpin for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Unpin for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Unpin for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Unpin for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Unpin for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Unpin for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Unpin for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Unpin for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Unpin for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Unpin for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Unpin for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Unpin for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Unpin for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Unpin for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Unpin for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Unpin for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Unpin for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Unpin for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Unpin for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::common::Device"]],["impl Unpin for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Unpin for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Unpin for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Unpin for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Unpin for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Unpin for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Unpin for Common",1,["bluerobotics_ping::device::Common"]],["impl Unpin for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Unpin for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Unpin for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Unpin for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Unpin for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Unpin for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Unpin for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Unpin for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Unpin for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Unpin for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Unpin for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Unpin for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Unpin for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Unpin for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Unpin for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Unpin for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Unpin for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Unpin for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Unpin for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Unpin for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Unpin for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Unpin for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Unpin for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Unpin for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Unpin for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Unpin for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Unpin for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Unpin for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Unpin for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Unpin for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Unpin for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl Unpin for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Unpin for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Unpin for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl Unpin for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl Unpin for Messages",1,["bluerobotics_ping::common::Messages"]],["impl Unpin for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl Unpin for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl Unpin for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl Unpin for Messages",1,["bluerobotics_ping::Messages"]],["impl Unpin for PingError",1,["bluerobotics_ping::error::PingError"]],["impl Unpin for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl Unpin for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl Unpin for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl Unpin for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl Unpin for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl Unpin for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl Unpin for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl Unpin for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl Unpin for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl Unpin for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl Unpin for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl Unpin for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl Unpin for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl Unpin for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl Unpin for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl Unpin for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl Unpin for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl Unpin for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl Unpin for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl Unpin for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl Unpin for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl Unpin for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl Unpin for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl Unpin for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl Unpin for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::common::Device"]],["impl Unpin for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl Unpin for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl Unpin for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl Unpin for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl Unpin for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl Unpin for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl Unpin for Common",1,["bluerobotics_ping::device::Common"]],["impl Unpin for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl Unpin for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl Unpin for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl Unpin for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl Unpin for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl Unpin for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl Unpin for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl Unpin for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl Unpin for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl Unpin for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl Unpin for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl Unpin for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl Unpin for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl Unpin for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl Unpin for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl Unpin for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl Unpin for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl Unpin for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl Unpin for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl Unpin for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl Unpin for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl Unpin for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl Unpin for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl Unpin for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl Unpin for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl Unpin for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl Unpin for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl Unpin for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl Unpin for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl Unpin for Device",1,["bluerobotics_ping::ping360::Device"]],["impl Unpin for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl Unpin for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl Unpin for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl Unpin for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl Unpin for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl Unpin for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl Unpin for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl Unpin for Bytes",1,["bytes::bytes::Bytes"]],["impl Unpin for BytesMut",1,["bytes::bytes_mut::BytesMut"]],["impl<B> Unpin for Reader<B>
where\n B: Unpin,
",1,["bytes::buf::reader::Reader"]],["impl<B> Unpin for Writer<B>
where\n B: Unpin,
",1,["bytes::buf::writer::Writer"]],["impl<T> Unpin for IntoIter<T>
where\n T: Unpin,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> Unpin for Limit<T>
where\n T: Unpin,
",1,["bytes::buf::limit::Limit"]],["impl<T> Unpin for Take<T>
where\n T: Unpin,
",1,["bytes::buf::take::Take"]],["impl<T, U> Unpin for Chain<T, U>
where\n T: Unpin,\n U: Unpin,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl Unpin for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl Unpin for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl Unpin for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl Unpin for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl Unpin for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl Unpin for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl Unpin for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl Unpin for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl Unpin for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl Unpin for Arg",1,["clap_builder::builder::arg::Arg"]],["impl Unpin for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl Unpin for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl Unpin for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl Unpin for Command",1,["clap_builder::builder::command::Command"]],["impl Unpin for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl Unpin for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl Unpin for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl Unpin for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl Unpin for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl Unpin for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl Unpin for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl Unpin for Str",1,["clap_builder::builder::str::Str"]],["impl Unpin for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl Unpin for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl Unpin for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl Unpin for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl Unpin for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl Unpin for Styles",1,["clap_builder::builder::styling::Styles"]],["impl Unpin for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl Unpin for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl Unpin for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl Unpin for Id",1,["clap_builder::util::id::Id"]],["impl<'a> Unpin for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> Unpin for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> Unpin for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> Unpin for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> Unpin for EnumValueParser<E>
where\n E: Unpin,
",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F> Unpin for Error<F>
where\n F: Unpin,
",1,["clap_builder::error::Error"]],["impl<P, F> Unpin for MapValueParser<P, F>
where\n F: Unpin,\n P: Unpin,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> Unpin for TryMapValueParser<P, F>
where\n F: Unpin,\n P: Unpin,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> Unpin for Resettable<T>
where\n T: Unpin,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> Unpin for RangedI64ValueParser<T>
where\n T: Unpin,
",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> Unpin for RangedU64ValueParser<T>
where\n T: Unpin,
",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]],["impl<T> Unpin for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]]], "clap_lex":[["impl Unpin for ArgCursor",1,["clap_lex::ArgCursor"]],["impl Unpin for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> Unpin for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> Unpin for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index f55ce7863..f34e31f1a 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -3,7 +3,7 @@ "anstyle":[["impl RefUnwindSafe for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl RefUnwindSafe for Color",1,["anstyle::color::Color"]],["impl RefUnwindSafe for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl RefUnwindSafe for EffectIter",1,["anstyle::effect::EffectIter"]],["impl RefUnwindSafe for Effects",1,["anstyle::effect::Effects"]],["impl RefUnwindSafe for Reset",1,["anstyle::reset::Reset"]],["impl RefUnwindSafe for RgbColor",1,["anstyle::color::RgbColor"]],["impl RefUnwindSafe for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl RefUnwindSafe for Action",1,["anstyle_parse::state::definitions::Action"]],["impl RefUnwindSafe for State",1,["anstyle_parse::state::definitions::State"]],["impl RefUnwindSafe for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl RefUnwindSafe for Params",1,["anstyle_parse::params::Params"]],["impl RefUnwindSafe for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> RefUnwindSafe for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> RefUnwindSafe for Parser<C>
where\n C: RefUnwindSafe,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl RefUnwindSafe for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> RefUnwindSafe for Iter<B>
where\n B: RefUnwindSafe,
",1,["bitflags::iter::Iter"]],["impl<B> RefUnwindSafe for IterNames<B>
where\n B: RefUnwindSafe,
",1,["bitflags::iter::IterNames"]],["impl<B> RefUnwindSafe for Flag<B>
where\n B: RefUnwindSafe,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl !RefUnwindSafe for PingError",1,["bluerobotics_ping::error::PingError"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::common::Device"]],["impl !RefUnwindSafe for Common",1,["bluerobotics_ping::device::Common"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::ping360::Device"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::common::Messages"]],["impl RefUnwindSafe for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl RefUnwindSafe for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl RefUnwindSafe for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl RefUnwindSafe for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl RefUnwindSafe for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl RefUnwindSafe for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl RefUnwindSafe for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl RefUnwindSafe for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl RefUnwindSafe for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl RefUnwindSafe for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl RefUnwindSafe for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl RefUnwindSafe for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl RefUnwindSafe for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl RefUnwindSafe for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl RefUnwindSafe for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl RefUnwindSafe for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl RefUnwindSafe for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl RefUnwindSafe for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl RefUnwindSafe for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl RefUnwindSafe for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl RefUnwindSafe for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl RefUnwindSafe for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl RefUnwindSafe for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl RefUnwindSafe for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl RefUnwindSafe for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl RefUnwindSafe for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl RefUnwindSafe for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl RefUnwindSafe for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl RefUnwindSafe for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl RefUnwindSafe for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl RefUnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl RefUnwindSafe for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl RefUnwindSafe for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl RefUnwindSafe for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl RefUnwindSafe for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl RefUnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl RefUnwindSafe for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl RefUnwindSafe for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl RefUnwindSafe for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl RefUnwindSafe for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl RefUnwindSafe for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl RefUnwindSafe for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl RefUnwindSafe for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl RefUnwindSafe for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl RefUnwindSafe for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl RefUnwindSafe for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl RefUnwindSafe for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl RefUnwindSafe for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl RefUnwindSafe for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl RefUnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl RefUnwindSafe for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl RefUnwindSafe for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl RefUnwindSafe for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl RefUnwindSafe for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl RefUnwindSafe for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl RefUnwindSafe for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl RefUnwindSafe for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl RefUnwindSafe for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl RefUnwindSafe for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl RefUnwindSafe for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl RefUnwindSafe for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl RefUnwindSafe for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl RefUnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl RefUnwindSafe for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl RefUnwindSafe for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl RefUnwindSafe for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl !RefUnwindSafe for PingError",1,["bluerobotics_ping::error::PingError"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::common::Device"]],["impl !RefUnwindSafe for Common",1,["bluerobotics_ping::device::Common"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl !RefUnwindSafe for Device",1,["bluerobotics_ping::ping360::Device"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::common::Messages"]],["impl RefUnwindSafe for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl RefUnwindSafe for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl RefUnwindSafe for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl RefUnwindSafe for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl RefUnwindSafe for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl RefUnwindSafe for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl RefUnwindSafe for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl RefUnwindSafe for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl RefUnwindSafe for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl RefUnwindSafe for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl RefUnwindSafe for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl RefUnwindSafe for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl RefUnwindSafe for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl RefUnwindSafe for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl RefUnwindSafe for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl RefUnwindSafe for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl RefUnwindSafe for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl RefUnwindSafe for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl RefUnwindSafe for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl RefUnwindSafe for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl RefUnwindSafe for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl RefUnwindSafe for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl RefUnwindSafe for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl RefUnwindSafe for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl RefUnwindSafe for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl RefUnwindSafe for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl RefUnwindSafe for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl RefUnwindSafe for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl RefUnwindSafe for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl RefUnwindSafe for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl RefUnwindSafe for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl RefUnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl RefUnwindSafe for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl RefUnwindSafe for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl RefUnwindSafe for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl RefUnwindSafe for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl RefUnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl RefUnwindSafe for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl RefUnwindSafe for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl RefUnwindSafe for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl RefUnwindSafe for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl RefUnwindSafe for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl RefUnwindSafe for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl RefUnwindSafe for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl RefUnwindSafe for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl RefUnwindSafe for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl RefUnwindSafe for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl RefUnwindSafe for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl RefUnwindSafe for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl RefUnwindSafe for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl RefUnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl RefUnwindSafe for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl RefUnwindSafe for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl RefUnwindSafe for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl RefUnwindSafe for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl RefUnwindSafe for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl RefUnwindSafe for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl RefUnwindSafe for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl RefUnwindSafe for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl RefUnwindSafe for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl RefUnwindSafe for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl RefUnwindSafe for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl RefUnwindSafe for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl RefUnwindSafe for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl RefUnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl RefUnwindSafe for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl RefUnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl RefUnwindSafe for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl RefUnwindSafe for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl RefUnwindSafe for Bytes",1,["bytes::bytes::Bytes"]],["impl RefUnwindSafe for BytesMut",1,["bytes::bytes_mut::BytesMut"]],["impl<B> RefUnwindSafe for Reader<B>
where\n B: RefUnwindSafe,
",1,["bytes::buf::reader::Reader"]],["impl<B> RefUnwindSafe for Writer<B>
where\n B: RefUnwindSafe,
",1,["bytes::buf::writer::Writer"]],["impl<T> RefUnwindSafe for IntoIter<T>
where\n T: RefUnwindSafe,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> RefUnwindSafe for Limit<T>
where\n T: RefUnwindSafe,
",1,["bytes::buf::limit::Limit"]],["impl<T> RefUnwindSafe for Take<T>
where\n T: RefUnwindSafe,
",1,["bytes::buf::take::Take"]],["impl<T, U> RefUnwindSafe for Chain<T, U>
where\n T: RefUnwindSafe,\n U: RefUnwindSafe,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl !RefUnwindSafe for Arg",1,["clap_builder::builder::arg::Arg"]],["impl !RefUnwindSafe for Command",1,["clap_builder::builder::command::Command"]],["impl !RefUnwindSafe for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl !RefUnwindSafe for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl RefUnwindSafe for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl RefUnwindSafe for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl RefUnwindSafe for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl RefUnwindSafe for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl RefUnwindSafe for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl RefUnwindSafe for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl RefUnwindSafe for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl RefUnwindSafe for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl RefUnwindSafe for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl RefUnwindSafe for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl RefUnwindSafe for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl RefUnwindSafe for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl RefUnwindSafe for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl RefUnwindSafe for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl RefUnwindSafe for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl RefUnwindSafe for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl RefUnwindSafe for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl RefUnwindSafe for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl RefUnwindSafe for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl RefUnwindSafe for Str",1,["clap_builder::builder::str::Str"]],["impl RefUnwindSafe for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl RefUnwindSafe for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl RefUnwindSafe for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl RefUnwindSafe for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl RefUnwindSafe for Styles",1,["clap_builder::builder::styling::Styles"]],["impl RefUnwindSafe for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl RefUnwindSafe for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl RefUnwindSafe for Id",1,["clap_builder::util::id::Id"]],["impl<'a> RefUnwindSafe for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> RefUnwindSafe for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> RefUnwindSafe for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> !RefUnwindSafe for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> RefUnwindSafe for EnumValueParser<E>
where\n E: RefUnwindSafe,
",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F = RichFormatter> !RefUnwindSafe for Error<F>",1,["clap_builder::error::Error"]],["impl<P, F> RefUnwindSafe for MapValueParser<P, F>
where\n F: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> RefUnwindSafe for TryMapValueParser<P, F>
where\n F: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> !RefUnwindSafe for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]],["impl<T> RefUnwindSafe for Resettable<T>
where\n T: RefUnwindSafe,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> RefUnwindSafe for RangedI64ValueParser<T>
where\n T: RefUnwindSafe,
",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> RefUnwindSafe for RangedU64ValueParser<T>
where\n T: RefUnwindSafe,
",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]]], "clap_lex":[["impl RefUnwindSafe for ArgCursor",1,["clap_lex::ArgCursor"]],["impl RefUnwindSafe for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> RefUnwindSafe for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> RefUnwindSafe for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 31c83e5c9..01dcbaf0b 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -3,7 +3,7 @@ "anstyle":[["impl UnwindSafe for AnsiColor",1,["anstyle::color::AnsiColor"]],["impl UnwindSafe for Color",1,["anstyle::color::Color"]],["impl UnwindSafe for Ansi256Color",1,["anstyle::color::Ansi256Color"]],["impl UnwindSafe for EffectIter",1,["anstyle::effect::EffectIter"]],["impl UnwindSafe for Effects",1,["anstyle::effect::Effects"]],["impl UnwindSafe for Reset",1,["anstyle::reset::Reset"]],["impl UnwindSafe for RgbColor",1,["anstyle::color::RgbColor"]],["impl UnwindSafe for Style",1,["anstyle::style::Style"]]], "anstyle_parse":[["impl UnwindSafe for Action",1,["anstyle_parse::state::definitions::Action"]],["impl UnwindSafe for State",1,["anstyle_parse::state::definitions::State"]],["impl UnwindSafe for AsciiParser",1,["anstyle_parse::AsciiParser"]],["impl UnwindSafe for Params",1,["anstyle_parse::params::Params"]],["impl UnwindSafe for Utf8Parser",1,["anstyle_parse::Utf8Parser"]],["impl<'a> UnwindSafe for ParamsIter<'a>",1,["anstyle_parse::params::ParamsIter"]],["impl<C> UnwindSafe for Parser<C>
where\n C: UnwindSafe,
",1,["anstyle_parse::Parser"]]], "bitflags":[["impl UnwindSafe for ParseError",1,["bitflags::parser::ParseError"]],["impl<B> UnwindSafe for Iter<B>",1,["bitflags::iter::Iter"]],["impl<B> UnwindSafe for IterNames<B>",1,["bitflags::iter::IterNames"]],["impl<B> UnwindSafe for Flag<B>
where\n B: UnwindSafe,
",1,["bitflags::traits::Flag"]]], -"bluerobotics_ping":[["impl !UnwindSafe for PingError",1,["bluerobotics_ping::error::PingError"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::common::Device"]],["impl !UnwindSafe for Common",1,["bluerobotics_ping::device::Common"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::ping360::Device"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::common::Messages"]],["impl UnwindSafe for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl UnwindSafe for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl UnwindSafe for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl UnwindSafe for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl UnwindSafe for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl UnwindSafe for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl UnwindSafe for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl UnwindSafe for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl UnwindSafe for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl UnwindSafe for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl UnwindSafe for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl UnwindSafe for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl UnwindSafe for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl UnwindSafe for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl UnwindSafe for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl UnwindSafe for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl UnwindSafe for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl UnwindSafe for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl UnwindSafe for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl UnwindSafe for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl UnwindSafe for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl UnwindSafe for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl UnwindSafe for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl UnwindSafe for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl UnwindSafe for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl UnwindSafe for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl UnwindSafe for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl UnwindSafe for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl UnwindSafe for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl UnwindSafe for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl UnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl UnwindSafe for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl UnwindSafe for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl UnwindSafe for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl UnwindSafe for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl UnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl UnwindSafe for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl UnwindSafe for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl UnwindSafe for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl UnwindSafe for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl UnwindSafe for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl UnwindSafe for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl UnwindSafe for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl UnwindSafe for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl UnwindSafe for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl UnwindSafe for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl UnwindSafe for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl UnwindSafe for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl UnwindSafe for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl UnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl UnwindSafe for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl UnwindSafe for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl UnwindSafe for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl UnwindSafe for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl UnwindSafe for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl UnwindSafe for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl UnwindSafe for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl UnwindSafe for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl UnwindSafe for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl UnwindSafe for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl UnwindSafe for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl UnwindSafe for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl UnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping360::DeviceIdStruct"]],["impl UnwindSafe for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl UnwindSafe for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl UnwindSafe for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], +"bluerobotics_ping":[["impl !UnwindSafe for PingError",1,["bluerobotics_ping::error::PingError"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::bluebps::Device"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::common::Device"]],["impl !UnwindSafe for Common",1,["bluerobotics_ping::device::Common"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::ping1d::Device"]],["impl !UnwindSafe for Device",1,["bluerobotics_ping::ping360::Device"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::bluebps::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::common::Messages"]],["impl UnwindSafe for DecoderResult",1,["bluerobotics_ping::decoder::DecoderResult"]],["impl UnwindSafe for DecoderState",1,["bluerobotics_ping::decoder::DecoderState"]],["impl UnwindSafe for ParseError",1,["bluerobotics_ping::decoder::ParseError"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::ping1d::Messages"]],["impl UnwindSafe for Messages",1,["bluerobotics_ping::ping360::Messages"]],["impl UnwindSafe for CellTimeoutStruct",1,["bluerobotics_ping::bluebps::CellTimeoutStruct"]],["impl UnwindSafe for CellVoltageMinStruct",1,["bluerobotics_ping::bluebps::CellVoltageMinStruct"]],["impl UnwindSafe for CurrentMaxStruct",1,["bluerobotics_ping::bluebps::CurrentMaxStruct"]],["impl UnwindSafe for CurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::CurrentTimeoutStruct"]],["impl UnwindSafe for EraseFlashStruct",1,["bluerobotics_ping::bluebps::EraseFlashStruct"]],["impl UnwindSafe for EventsStruct",1,["bluerobotics_ping::bluebps::EventsStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::bluebps::PingProtocolHead"]],["impl UnwindSafe for RebootStruct",1,["bluerobotics_ping::bluebps::RebootStruct"]],["impl UnwindSafe for ResetDefaultsStruct",1,["bluerobotics_ping::bluebps::ResetDefaultsStruct"]],["impl UnwindSafe for SetCellVoltageMinimumStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageMinimumStruct"]],["impl UnwindSafe for SetCellVoltageTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCellVoltageTimeoutStruct"]],["impl UnwindSafe for SetCurrentMaxStruct",1,["bluerobotics_ping::bluebps::SetCurrentMaxStruct"]],["impl UnwindSafe for SetCurrentTimeoutStruct",1,["bluerobotics_ping::bluebps::SetCurrentTimeoutStruct"]],["impl UnwindSafe for SetLpfSampleFrequencyStruct",1,["bluerobotics_ping::bluebps::SetLpfSampleFrequencyStruct"]],["impl UnwindSafe for SetLpfSettingStruct",1,["bluerobotics_ping::bluebps::SetLpfSettingStruct"]],["impl UnwindSafe for SetStreamRateStruct",1,["bluerobotics_ping::bluebps::SetStreamRateStruct"]],["impl UnwindSafe for SetTemperatureMaxStruct",1,["bluerobotics_ping::bluebps::SetTemperatureMaxStruct"]],["impl UnwindSafe for SetTemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::SetTemperatureTimeoutStruct"]],["impl UnwindSafe for StateStruct",1,["bluerobotics_ping::bluebps::StateStruct"]],["impl UnwindSafe for TemperatureMaxStruct",1,["bluerobotics_ping::bluebps::TemperatureMaxStruct"]],["impl UnwindSafe for TemperatureTimeoutStruct",1,["bluerobotics_ping::bluebps::TemperatureTimeoutStruct"]],["impl UnwindSafe for PingCodec",1,["bluerobotics_ping::codec::PingCodec"]],["impl UnwindSafe for AckStruct",1,["bluerobotics_ping::common::AckStruct"]],["impl UnwindSafe for AsciiTextStruct",1,["bluerobotics_ping::common::AsciiTextStruct"]],["impl UnwindSafe for DeviceInformationStruct",1,["bluerobotics_ping::common::DeviceInformationStruct"]],["impl UnwindSafe for GeneralRequestStruct",1,["bluerobotics_ping::common::GeneralRequestStruct"]],["impl UnwindSafe for NackStruct",1,["bluerobotics_ping::common::NackStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::common::PingProtocolHead"]],["impl UnwindSafe for ProtocolVersionStruct",1,["bluerobotics_ping::common::ProtocolVersionStruct"]],["impl UnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::common::SetDeviceIdStruct"]],["impl UnwindSafe for Decoder",1,["bluerobotics_ping::decoder::Decoder"]],["impl UnwindSafe for ProtocolMessage",1,["bluerobotics_ping::message::ProtocolMessage"]],["impl UnwindSafe for ContinuousStartStruct",1,["bluerobotics_ping::ping1d::ContinuousStartStruct"]],["impl UnwindSafe for ContinuousStopStruct",1,["bluerobotics_ping::ping1d::ContinuousStopStruct"]],["impl UnwindSafe for DeviceIdStruct",1,["bluerobotics_ping::ping1d::DeviceIdStruct"]],["impl UnwindSafe for DistanceSimpleStruct",1,["bluerobotics_ping::ping1d::DistanceSimpleStruct"]],["impl UnwindSafe for DistanceStruct",1,["bluerobotics_ping::ping1d::DistanceStruct"]],["impl UnwindSafe for FirmwareVersionStruct",1,["bluerobotics_ping::ping1d::FirmwareVersionStruct"]],["impl UnwindSafe for GainSettingStruct",1,["bluerobotics_ping::ping1d::GainSettingStruct"]],["impl UnwindSafe for GeneralInfoStruct",1,["bluerobotics_ping::ping1d::GeneralInfoStruct"]],["impl UnwindSafe for GotoBootloaderStruct",1,["bluerobotics_ping::ping1d::GotoBootloaderStruct"]],["impl UnwindSafe for ModeAutoStruct",1,["bluerobotics_ping::ping1d::ModeAutoStruct"]],["impl UnwindSafe for PcbTemperatureStruct",1,["bluerobotics_ping::ping1d::PcbTemperatureStruct"]],["impl UnwindSafe for PingEnableStruct",1,["bluerobotics_ping::ping1d::PingEnableStruct"]],["impl UnwindSafe for PingIntervalStruct",1,["bluerobotics_ping::ping1d::PingIntervalStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping1d::PingProtocolHead"]],["impl UnwindSafe for ProcessorTemperatureStruct",1,["bluerobotics_ping::ping1d::ProcessorTemperatureStruct"]],["impl UnwindSafe for ProfileStruct",1,["bluerobotics_ping::ping1d::ProfileStruct"]],["impl UnwindSafe for RangeStruct",1,["bluerobotics_ping::ping1d::RangeStruct"]],["impl UnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping1d::SetDeviceIdStruct"]],["impl UnwindSafe for SetGainSettingStruct",1,["bluerobotics_ping::ping1d::SetGainSettingStruct"]],["impl UnwindSafe for SetModeAutoStruct",1,["bluerobotics_ping::ping1d::SetModeAutoStruct"]],["impl UnwindSafe for SetPingEnableStruct",1,["bluerobotics_ping::ping1d::SetPingEnableStruct"]],["impl UnwindSafe for SetPingIntervalStruct",1,["bluerobotics_ping::ping1d::SetPingIntervalStruct"]],["impl UnwindSafe for SetRangeStruct",1,["bluerobotics_ping::ping1d::SetRangeStruct"]],["impl UnwindSafe for SetSpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SetSpeedOfSoundStruct"]],["impl UnwindSafe for SpeedOfSoundStruct",1,["bluerobotics_ping::ping1d::SpeedOfSoundStruct"]],["impl UnwindSafe for TransmitDurationStruct",1,["bluerobotics_ping::ping1d::TransmitDurationStruct"]],["impl UnwindSafe for Voltage5Struct",1,["bluerobotics_ping::ping1d::Voltage5Struct"]],["impl UnwindSafe for AutoDeviceDataStruct",1,["bluerobotics_ping::ping360::AutoDeviceDataStruct"]],["impl UnwindSafe for AutoTransmitStruct",1,["bluerobotics_ping::ping360::AutoTransmitStruct"]],["impl UnwindSafe for DeviceDataStruct",1,["bluerobotics_ping::ping360::DeviceDataStruct"]],["impl UnwindSafe for MotorOffStruct",1,["bluerobotics_ping::ping360::MotorOffStruct"]],["impl UnwindSafe for PingProtocolHead",1,["bluerobotics_ping::ping360::PingProtocolHead"]],["impl UnwindSafe for ResetStruct",1,["bluerobotics_ping::ping360::ResetStruct"]],["impl UnwindSafe for SetDeviceIdStruct",1,["bluerobotics_ping::ping360::SetDeviceIdStruct"]],["impl UnwindSafe for TransducerStruct",1,["bluerobotics_ping::ping360::TransducerStruct"]]], "bytes":[["impl UnwindSafe for UninitSlice",1,["bytes::buf::uninit_slice::UninitSlice"]],["impl UnwindSafe for Bytes",1,["bytes::bytes::Bytes"]],["impl UnwindSafe for BytesMut",1,["bytes::bytes_mut::BytesMut"]],["impl<B> UnwindSafe for Reader<B>
where\n B: UnwindSafe,
",1,["bytes::buf::reader::Reader"]],["impl<B> UnwindSafe for Writer<B>
where\n B: UnwindSafe,
",1,["bytes::buf::writer::Writer"]],["impl<T> UnwindSafe for IntoIter<T>
where\n T: UnwindSafe,
",1,["bytes::buf::iter::IntoIter"]],["impl<T> UnwindSafe for Limit<T>
where\n T: UnwindSafe,
",1,["bytes::buf::limit::Limit"]],["impl<T> UnwindSafe for Take<T>
where\n T: UnwindSafe,
",1,["bytes::buf::take::Take"]],["impl<T, U> UnwindSafe for Chain<T, U>
where\n T: UnwindSafe,\n U: UnwindSafe,
",1,["bytes::buf::chain::Chain"]]], "clap_builder":[["impl !UnwindSafe for Arg",1,["clap_builder::builder::arg::Arg"]],["impl !UnwindSafe for Command",1,["clap_builder::builder::command::Command"]],["impl !UnwindSafe for ValueParser",1,["clap_builder::builder::value_parser::ValueParser"]],["impl !UnwindSafe for ArgMatches",1,["clap_builder::parser::matches::arg_matches::ArgMatches"]],["impl UnwindSafe for ArgAction",1,["clap_builder::builder::action::ArgAction"]],["impl UnwindSafe for ArgPredicate",1,["clap_builder::builder::arg_predicate::ArgPredicate"]],["impl UnwindSafe for ValueHint",1,["clap_builder::builder::value_hint::ValueHint"]],["impl UnwindSafe for ColorChoice",1,["clap_builder::util::color::ColorChoice"]],["impl UnwindSafe for ContextKind",1,["clap_builder::error::context::ContextKind"]],["impl UnwindSafe for ContextValue",1,["clap_builder::error::context::ContextValue"]],["impl UnwindSafe for ErrorKind",1,["clap_builder::error::kind::ErrorKind"]],["impl UnwindSafe for MatchesError",1,["clap_builder::parser::error::MatchesError"]],["impl UnwindSafe for ValueSource",1,["clap_builder::parser::matches::value_source::ValueSource"]],["impl UnwindSafe for ArgGroup",1,["clap_builder::builder::arg_group::ArgGroup"]],["impl UnwindSafe for BoolValueParser",1,["clap_builder::builder::value_parser::BoolValueParser"]],["impl UnwindSafe for BoolishValueParser",1,["clap_builder::builder::value_parser::BoolishValueParser"]],["impl UnwindSafe for FalseyValueParser",1,["clap_builder::builder::value_parser::FalseyValueParser"]],["impl UnwindSafe for NonEmptyStringValueParser",1,["clap_builder::builder::value_parser::NonEmptyStringValueParser"]],["impl UnwindSafe for OsStr",1,["clap_builder::builder::os_str::OsStr"]],["impl UnwindSafe for OsStringValueParser",1,["clap_builder::builder::value_parser::OsStringValueParser"]],["impl UnwindSafe for PathBufValueParser",1,["clap_builder::builder::value_parser::PathBufValueParser"]],["impl UnwindSafe for PossibleValue",1,["clap_builder::builder::possible_value::PossibleValue"]],["impl UnwindSafe for PossibleValuesParser",1,["clap_builder::builder::value_parser::PossibleValuesParser"]],["impl UnwindSafe for Str",1,["clap_builder::builder::str::Str"]],["impl UnwindSafe for StringValueParser",1,["clap_builder::builder::value_parser::StringValueParser"]],["impl UnwindSafe for StyledStr",1,["clap_builder::builder::styled_str::StyledStr"]],["impl UnwindSafe for UnknownArgumentValueParser",1,["clap_builder::builder::value_parser::UnknownArgumentValueParser"]],["impl UnwindSafe for ValueRange",1,["clap_builder::builder::range::ValueRange"]],["impl UnwindSafe for Styles",1,["clap_builder::builder::styling::Styles"]],["impl UnwindSafe for KindFormatter",1,["clap_builder::error::format::KindFormatter"]],["impl UnwindSafe for RichFormatter",1,["clap_builder::error::format::RichFormatter"]],["impl UnwindSafe for Id",1,["clap_builder::util::id::Id"]],["impl<'a> UnwindSafe for IdsRef<'a>",1,["clap_builder::parser::matches::arg_matches::IdsRef"]],["impl<'a> UnwindSafe for Indices<'a>",1,["clap_builder::parser::matches::arg_matches::Indices"]],["impl<'a> UnwindSafe for RawValues<'a>",1,["clap_builder::parser::matches::arg_matches::RawValues"]],["impl<'a, T> !UnwindSafe for ValuesRef<'a, T>",1,["clap_builder::parser::matches::arg_matches::ValuesRef"]],["impl<E> UnwindSafe for EnumValueParser<E>
where\n E: UnwindSafe,
",1,["clap_builder::builder::value_parser::EnumValueParser"]],["impl<F = RichFormatter> !UnwindSafe for Error<F>",1,["clap_builder::error::Error"]],["impl<P, F> UnwindSafe for MapValueParser<P, F>
where\n F: UnwindSafe,\n P: UnwindSafe,
",1,["clap_builder::builder::value_parser::MapValueParser"]],["impl<P, F> UnwindSafe for TryMapValueParser<P, F>
where\n F: UnwindSafe,\n P: UnwindSafe,
",1,["clap_builder::builder::value_parser::TryMapValueParser"]],["impl<T> !UnwindSafe for Values<T>",1,["clap_builder::parser::matches::arg_matches::Values"]],["impl<T> UnwindSafe for Resettable<T>
where\n T: UnwindSafe,
",1,["clap_builder::builder::resettable::Resettable"]],["impl<T> UnwindSafe for RangedI64ValueParser<T>
where\n T: UnwindSafe,
",1,["clap_builder::builder::value_parser::RangedI64ValueParser"]],["impl<T> UnwindSafe for RangedU64ValueParser<T>
where\n T: UnwindSafe,
",1,["clap_builder::builder::value_parser::RangedU64ValueParser"]]], "clap_lex":[["impl UnwindSafe for ArgCursor",1,["clap_lex::ArgCursor"]],["impl UnwindSafe for RawArgs",1,["clap_lex::RawArgs"]],["impl<'s> UnwindSafe for ParsedArg<'s>",1,["clap_lex::ParsedArg"]],["impl<'s> UnwindSafe for ShortFlags<'s>",1,["clap_lex::ShortFlags"]]],