diff --git a/bluerobotics_ping/all.html b/bluerobotics_ping/all.html index b94390e9b..914b6ae9b 100644 --- a/bluerobotics_ping/all.html +++ b/bluerobotics_ping/all.html @@ -1 +1 @@ -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 in this crate

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 fd6525442..3008431eb 100644 --- a/bluerobotics_ping/bluebps/enum.Messages.html +++ b/bluerobotics_ping/bluebps/enum.Messages.html @@ -1,29 +1,29 @@ -Messages in bluerobotics_ping::bluebps - Rust

Enum bluerobotics_ping::bluebps::Messages

source ·
pub enum Messages {
-
Show 20 variants TemperatureMax(TemperatureMaxStruct), - SetCellVoltageMinimum(SetCellVoltageMinimumStruct), - CellVoltageMin(CellVoltageMinStruct), - SetCurrentTimeout(SetCurrentTimeoutStruct), - Reboot(RebootStruct), +Messages in bluerobotics_ping::bluebps - Rust

Enum bluerobotics_ping::bluebps::Messages

source ·
pub enum Messages {
+
Show 20 variants EraseFlash(EraseFlashStruct), + ResetDefaults(ResetDefaultsStruct), CellTimeout(CellTimeoutStruct), + SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), + SetLpfSetting(SetLpfSettingStruct), + TemperatureMax(TemperatureMaxStruct), + SetCurrentTimeout(SetCurrentTimeoutStruct), SetCellVoltageTimeout(SetCellVoltageTimeoutStruct), - Events(EventsStruct), SetStreamRate(SetStreamRateStruct), + Reboot(RebootStruct), + TemperatureTimeout(TemperatureTimeoutStruct), CurrentMax(CurrentMaxStruct), SetTemperatureMax(SetTemperatureMaxStruct), - TemperatureTimeout(TemperatureTimeoutStruct), + SetCellVoltageMinimum(SetCellVoltageMinimumStruct), + SetCurrentMax(SetCurrentMaxStruct), + SetTemperatureTimeout(SetTemperatureTimeoutStruct), CurrentTimeout(CurrentTimeoutStruct), - ResetDefaults(ResetDefaultsStruct), + CellVoltageMin(CellVoltageMinStruct), + Events(EventsStruct), State(StateStruct), - SetTemperatureTimeout(SetTemperatureTimeoutStruct), - SetCurrentMax(SetCurrentMaxStruct), - SetLpfSetting(SetLpfSettingStruct), - SetLpfSampleFrequency(SetLpfSampleFrequencyStruct), - EraseFlash(EraseFlashStruct), -
}

Variants§

§

TemperatureMax(TemperatureMaxStruct)

§

SetCellVoltageMinimum(SetCellVoltageMinimumStruct)

§

CellVoltageMin(CellVoltageMinStruct)

§

SetCurrentTimeout(SetCurrentTimeoutStruct)

§

Reboot(RebootStruct)

§

CellTimeout(CellTimeoutStruct)

§

SetCellVoltageTimeout(SetCellVoltageTimeoutStruct)

§

Events(EventsStruct)

§

SetStreamRate(SetStreamRateStruct)

§

CurrentMax(CurrentMaxStruct)

§

SetTemperatureMax(SetTemperatureMaxStruct)

§

TemperatureTimeout(TemperatureTimeoutStruct)

§

CurrentTimeout(CurrentTimeoutStruct)

§

ResetDefaults(ResetDefaultsStruct)

§

State(StateStruct)

§

SetTemperatureTimeout(SetTemperatureTimeoutStruct)

§

SetCurrentMax(SetCurrentMaxStruct)

§

SetLpfSetting(SetLpfSettingStruct)

§

SetLpfSampleFrequency(SetLpfSampleFrequencyStruct)

§

EraseFlash(EraseFlashStruct)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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§

§

EraseFlash(EraseFlashStruct)

§

ResetDefaults(ResetDefaultsStruct)

§

CellTimeout(CellTimeoutStruct)

§

SetLpfSampleFrequency(SetLpfSampleFrequencyStruct)

§

SetLpfSetting(SetLpfSettingStruct)

§

TemperatureMax(TemperatureMaxStruct)

§

SetCurrentTimeout(SetCurrentTimeoutStruct)

§

SetCellVoltageTimeout(SetCellVoltageTimeoutStruct)

§

SetStreamRate(SetStreamRateStruct)

§

Reboot(RebootStruct)

§

TemperatureTimeout(TemperatureTimeoutStruct)

§

CurrentMax(CurrentMaxStruct)

§

SetTemperatureMax(SetTemperatureMaxStruct)

§

SetCellVoltageMinimum(SetCellVoltageMinimumStruct)

§

SetCurrentMax(SetCurrentMaxStruct)

§

SetTemperatureTimeout(SetTemperatureTimeoutStruct)

§

CurrentTimeout(CurrentTimeoutStruct)

§

CellVoltageMin(CellVoltageMinStruct)

§

Events(EventsStruct)

§

State(StateStruct)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 +sufficient, and should not be overridden without very good reason.

source§

impl PingMessage for Messages

source§

impl Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SerializePayload for Messages

source§

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

source§

impl StructuralPartialEq for Messages

Auto Trait Implementations§

§

impl Freeze for Messages

§

impl RefUnwindSafe for Messages

§

impl Send for Messages

§

impl Sync for Messages

§

impl Unpin for Messages

§

impl UnwindSafe for Messages

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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/index.html b/bluerobotics_ping/bluebps/index.html index 4969dafa6..c5bd9d864 100644 --- a/bluerobotics_ping/bluebps/index.html +++ b/bluerobotics_ping/bluebps/index.html @@ -1 +1 @@ -bluerobotics_ping::bluebps - Rust

Module bluerobotics_ping::bluebps

source ·

Structs§

Enums§

\ No newline at end of file +bluerobotics_ping::bluebps - Rust

Module bluerobotics_ping::bluebps

source ·

Structs§

Enums§

\ No newline at end of file diff --git a/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html index d5abce79d..cb6846ff5 100644 --- a/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.CellTimeoutStruct.html @@ -1,12 +1,12 @@ -CellTimeoutStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CellTimeoutStruct

source ·
pub struct CellTimeoutStruct {
+CellTimeoutStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CellTimeoutStruct

source ·
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<'de> Deserialize<'de> for CellTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for CellTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for CellTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for CellTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html b/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html index 47aa72ae9..0833d68b3 100644 --- a/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html +++ b/bluerobotics_ping/bluebps/struct.CellVoltageMinStruct.html @@ -1,12 +1,12 @@ -CellVoltageMinStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CellVoltageMinStruct

source ·
pub struct CellVoltageMinStruct {
+CellVoltageMinStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CellVoltageMinStruct

source ·
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<'de> Deserialize<'de> for CellVoltageMinStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for CellVoltageMinStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for CellVoltageMinStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for CellVoltageMinStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html b/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html index 733acb710..0cdb48a0b 100644 --- a/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.CurrentMaxStruct.html @@ -1,12 +1,12 @@ -CurrentMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CurrentMaxStruct

source ·
pub struct CurrentMaxStruct {
+CurrentMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CurrentMaxStruct

source ·
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<'de> Deserialize<'de> for CurrentMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for CurrentMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for CurrentMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for CurrentMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html index 24049b182..b818aa2f3 100644 --- a/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.CurrentTimeoutStruct.html @@ -1,12 +1,12 @@ -CurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CurrentTimeoutStruct

source ·
pub struct CurrentTimeoutStruct {
+CurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::CurrentTimeoutStruct

source ·
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<'de> Deserialize<'de> for CurrentTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for CurrentTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for CurrentTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for CurrentTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.Device.html b/bluerobotics_ping/bluebps/struct.Device.html index 2b8e54f4f..90ec47974 100644 --- a/bluerobotics_ping/bluebps/struct.Device.html +++ b/bluerobotics_ping/bluebps/struct.Device.html @@ -1,81 +1,81 @@ -Device in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::Device

source ·
pub struct Device {
+Device in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::Device

source ·
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 temperature_max(&self) -> Result<TemperatureMaxStruct, PingError>

Get the maximum allowed battery temperature

-
source

pub async fn set_cell_voltage_minimum( +}

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 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 reset_defaults(&self) -> Result<(), PingError>

Reset parameter configuration to default values.

+
§Arguments
source

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

Get the undervoltage timeout

+
source

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

Set the minimum allowed cell voltage

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

the frequency to take adc samples and run the filter.

+
§Arguments
    -
  • limit [millivolt] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V
  • +
  • sample_frequency - sample frequency in Hz. 1~100000
-
source

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

Get the minimum allowed cell voltage

-
source

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

Set the over-current timeout

-
§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.

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

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

reboot the system

-
§Arguments
+
source

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

Get the maximum allowed battery temperature

+
source

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

Set the over-current timeout

+
§Arguments
    -
  • goto_bootloader - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot
  • +
  • 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 cell_timeout(&self) -> Result<CellTimeoutStruct, PingError>

Get the undervoltage 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 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_stream_rate(&self, rate: u32) -> Result<(), PingError>

Set the frequency to automatically output state messages.

-
§Arguments
+
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 current_max(&self) -> Result<CurrentMaxStruct, PingError>

get the maximum allowed battery current

-
source

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

Set the maximum allowed battery temperature

-
§Arguments
+
source

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

reboot the system

+
§Arguments
    -
  • limit [centidegrees Centigrade] - The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V
  • +
  • goto_bootloader - 0 = normal reboot, run main application after reboot 1 = hold the device in bootloader after reboot
-
source

pub async fn temperature_timeout( +

source

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

Get the over-temperature timeout

-
source

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

Get the over-current timeout

-
source

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

Reset parameter configuration to default values.

-
§Arguments
source

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

Get the current state of the device

-
source

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

Set the over-temperature timeout

-
§Arguments
-
    -
  • 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_current_max(&self, limit: u16) -> Result<(), PingError>

Set the maximum allowed battery current

+
source

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

get the maximum allowed battery current

+
source

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

Set the maximum allowed battery temperature

§Arguments
    -
  • limit [centiampere] - The maximum allowed battery current 0~20000 = 0~200A
  • +
  • limit [centidegrees Centigrade] - The maximum temperature allowed at the thermistor probe installed on the battery. 0~5000: 0~5V
-
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 set_cell_voltage_minimum( + &self, + limit: u16, +) -> Result<(), PingError>

Set the minimum allowed cell voltage

§Arguments
    -
  • setting - 0~999: x = 0~0.999
  • +
  • limit [millivolt] - The minimum voltage allowed for any individual cell. 0~5000: 0~5V
-
source

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

the frequency to take adc samples and run the filter.

+
source

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

Set the maximum allowed battery current

§Arguments
    -
  • sample_frequency - sample frequency in Hz. 1~100000
  • +
  • limit [centiampere] - The maximum allowed battery current 0~20000 = 0~200A
  • +
+
source

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

Set the over-temperature timeout

+
§Arguments
+
    +
  • 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 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

Trait Implementations§

source§

impl Debug for Device

source§

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

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

impl PingDevice for Device

source

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

Get the over-current timeout

+
source

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

Get the minimum allowed cell voltage

+
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 state(&self) -> Result<StateStruct, PingError>

Get the current state of the device

+

Trait Implementations§

source§

impl Debug for Device

source§

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

Formats the value using the given formatter. Read more
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>, ) -> Result<T, PingError>
where diff --git a/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html b/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html index d5632f595..5ea3ef1c9 100644 --- a/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html +++ b/bluerobotics_ping/bluebps/struct.EraseFlashStruct.html @@ -1,9 +1,9 @@ -EraseFlashStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::EraseFlashStruct

source ·
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<'de> Deserialize<'de> for EraseFlashStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 +EraseFlashStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::EraseFlashStruct

source ·
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<'de> Deserialize<'de> for EraseFlashStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for EraseFlashStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for EraseFlashStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.EventsStruct.html b/bluerobotics_ping/bluebps/struct.EventsStruct.html index 97becb6e6..640d64184 100644 --- a/bluerobotics_ping/bluebps/struct.EventsStruct.html +++ b/bluerobotics_ping/bluebps/struct.EventsStruct.html @@ -1,4 +1,4 @@ -EventsStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::EventsStruct

source ·
pub struct EventsStruct {
+EventsStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::EventsStruct

source ·
pub struct EventsStruct {
     pub voltage: u16,
     pub current: u16,
     pub temperature: u16,
@@ -6,11 +6,11 @@
 

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<'de> Deserialize<'de> for EventsStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for EventsStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for EventsStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for EventsStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.PingProtocolHead.html b/bluerobotics_ping/bluebps/struct.PingProtocolHead.html index 54968184e..93a3862f3 100644 --- a/bluerobotics_ping/bluebps/struct.PingProtocolHead.html +++ b/bluerobotics_ping/bluebps/struct.PingProtocolHead.html @@ -1,11 +1,11 @@ -PingProtocolHead in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::PingProtocolHead

source ·
pub struct PingProtocolHead {
+PingProtocolHead in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::PingProtocolHead

source ·
pub struct PingProtocolHead {
     pub source_device_id: u8,
     pub destiny_device_id: u8,
-}

Fields§

§source_device_id: u8§destiny_device_id: u8

Trait Implementations§

source§

impl Clone for PingProtocolHead

source§

fn clone(&self) -> PingProtocolHead

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 PingProtocolHead

source§

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

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

impl Default for PingProtocolHead

source§

fn default() -> PingProtocolHead

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

impl<'de> Deserialize<'de> for PingProtocolHead

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for PingProtocolHead

source§

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

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

Fields§

§source_device_id: u8§destiny_device_id: u8

Trait Implementations§

source§

impl Clone for PingProtocolHead

source§

fn clone(&self) -> PingProtocolHead

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 PingProtocolHead

source§

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

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

impl Default for PingProtocolHead

source§

fn default() -> PingProtocolHead

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

impl<'de> Deserialize<'de> for PingProtocolHead

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for PingProtocolHead

source§

fn eq(&self, other: &PingProtocolHead) -> 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 Serialize for PingProtocolHead

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for PingProtocolHead

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Serialize for PingProtocolHead

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for PingProtocolHead

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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.RebootStruct.html b/bluerobotics_ping/bluebps/struct.RebootStruct.html index b93aa50e8..50d5ecb31 100644 --- a/bluerobotics_ping/bluebps/struct.RebootStruct.html +++ b/bluerobotics_ping/bluebps/struct.RebootStruct.html @@ -1,12 +1,12 @@ -RebootStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::RebootStruct

source ·
pub struct RebootStruct {
+RebootStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::RebootStruct

source ·
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<'de> Deserialize<'de> for RebootStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for RebootStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for RebootStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for RebootStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html b/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html index 27a6aeac9..83ac23ed2 100644 --- a/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html +++ b/bluerobotics_ping/bluebps/struct.ResetDefaultsStruct.html @@ -1,9 +1,9 @@ -ResetDefaultsStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::ResetDefaultsStruct

source ·
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<'de> Deserialize<'de> for ResetDefaultsStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 +ResetDefaultsStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::ResetDefaultsStruct

source ·
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<'de> Deserialize<'de> for ResetDefaultsStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for ResetDefaultsStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for ResetDefaultsStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html b/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html index bd1954709..8d06059bf 100644 --- a/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCellVoltageMinimumStruct.html @@ -1,12 +1,12 @@ -SetCellVoltageMinimumStruct in bluerobotics_ping::bluebps - Rust
pub struct SetCellVoltageMinimumStruct {
+SetCellVoltageMinimumStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetCellVoltageMinimumStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetCellVoltageMinimumStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetCellVoltageMinimumStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetCellVoltageMinimumStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html index d05200a1a..fc82eb790 100644 --- a/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCellVoltageTimeoutStruct.html @@ -1,12 +1,12 @@ -SetCellVoltageTimeoutStruct in bluerobotics_ping::bluebps - Rust
pub struct SetCellVoltageTimeoutStruct {
+SetCellVoltageTimeoutStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetCellVoltageTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetCellVoltageTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetCellVoltageTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetCellVoltageTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html b/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html index 872e79792..8a8c09fbb 100644 --- a/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCurrentMaxStruct.html @@ -1,12 +1,12 @@ -SetCurrentMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetCurrentMaxStruct

source ·
pub struct SetCurrentMaxStruct {
+SetCurrentMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetCurrentMaxStruct

source ·
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<'de> Deserialize<'de> for SetCurrentMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetCurrentMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetCurrentMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetCurrentMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html index c9c183d8f..f34bf4e53 100644 --- a/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetCurrentTimeoutStruct.html @@ -1,12 +1,12 @@ -SetCurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust
pub struct SetCurrentTimeoutStruct {
+SetCurrentTimeoutStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetCurrentTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetCurrentTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetCurrentTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetCurrentTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html b/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html index b4f1f57f4..9dbd043ac 100644 --- a/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetLpfSampleFrequencyStruct.html @@ -1,12 +1,12 @@ -SetLpfSampleFrequencyStruct in bluerobotics_ping::bluebps - Rust
pub struct SetLpfSampleFrequencyStruct {
+SetLpfSampleFrequencyStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetLpfSampleFrequencyStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetLpfSampleFrequencyStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetLpfSampleFrequencyStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetLpfSampleFrequencyStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html b/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html index f50bee481..6813e852d 100644 --- a/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetLpfSettingStruct.html @@ -1,12 +1,12 @@ -SetLpfSettingStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetLpfSettingStruct

source ·
pub struct SetLpfSettingStruct {
+SetLpfSettingStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetLpfSettingStruct

source ·
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<'de> Deserialize<'de> for SetLpfSettingStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetLpfSettingStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetLpfSettingStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetLpfSettingStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html b/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html index 663db885c..3d7c1c9b0 100644 --- a/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetStreamRateStruct.html @@ -1,12 +1,12 @@ -SetStreamRateStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetStreamRateStruct

source ·
pub struct SetStreamRateStruct {
+SetStreamRateStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::SetStreamRateStruct

source ·
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<'de> Deserialize<'de> for SetStreamRateStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetStreamRateStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetStreamRateStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetStreamRateStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html b/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html index af2b0c4aa..2e6f389a1 100644 --- a/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetTemperatureMaxStruct.html @@ -1,12 +1,12 @@ -SetTemperatureMaxStruct in bluerobotics_ping::bluebps - Rust
pub struct SetTemperatureMaxStruct {
+SetTemperatureMaxStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetTemperatureMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetTemperatureMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetTemperatureMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetTemperatureMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html index 5212cc889..3a45383ac 100644 --- a/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.SetTemperatureTimeoutStruct.html @@ -1,12 +1,12 @@ -SetTemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust
pub struct SetTemperatureTimeoutStruct {
+SetTemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for SetTemperatureTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetTemperatureTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetTemperatureTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetTemperatureTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.StateStruct.html b/bluerobotics_ping/bluebps/struct.StateStruct.html index f434a6f0e..359ce8d56 100644 --- a/bluerobotics_ping/bluebps/struct.StateStruct.html +++ b/bluerobotics_ping/bluebps/struct.StateStruct.html @@ -1,4 +1,4 @@ -StateStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::StateStruct

source ·
pub struct StateStruct {
+StateStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::StateStruct

source ·
pub struct StateStruct {
     pub battery_voltage: u16,
     pub battery_current: u16,
     pub battery_temperature: u16,
@@ -13,11 +13,11 @@
 
§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<'de> Deserialize<'de> for StateStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for StateStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for StateStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for StateStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html b/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html index 04b5d45d1..b3a9d83f4 100644 --- a/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html +++ b/bluerobotics_ping/bluebps/struct.TemperatureMaxStruct.html @@ -1,12 +1,12 @@ -TemperatureMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::TemperatureMaxStruct

source ·
pub struct TemperatureMaxStruct {
+TemperatureMaxStruct in bluerobotics_ping::bluebps - Rust

Struct bluerobotics_ping::bluebps::TemperatureMaxStruct

source ·
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<'de> Deserialize<'de> for TemperatureMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for TemperatureMaxStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for TemperatureMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for TemperatureMaxStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html b/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html index 643bcd674..d972330fe 100644 --- a/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html +++ b/bluerobotics_ping/bluebps/struct.TemperatureTimeoutStruct.html @@ -1,12 +1,12 @@ -TemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust
pub struct TemperatureTimeoutStruct {
+TemperatureTimeoutStruct in bluerobotics_ping::bluebps - Rust
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<'de> Deserialize<'de> for TemperatureTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for TemperatureTimeoutStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for TemperatureTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for TemperatureTimeoutStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/codec/index.html b/bluerobotics_ping/codec/index.html index 40abce46d..b9f7b219d 100644 --- a/bluerobotics_ping/codec/index.html +++ b/bluerobotics_ping/codec/index.html @@ -1 +1 @@ -bluerobotics_ping::codec - Rust

Module bluerobotics_ping::codec

source ·

Structs§

\ No newline at end of file +bluerobotics_ping::codec - Rust

Module bluerobotics_ping::codec

source ·

Structs§

\ No newline at end of file diff --git a/bluerobotics_ping/codec/struct.PingCodec.html b/bluerobotics_ping/codec/struct.PingCodec.html index f97684dc3..9f38c223a 100644 --- a/bluerobotics_ping/codec/struct.PingCodec.html +++ b/bluerobotics_ping/codec/struct.PingCodec.html @@ -1,4 +1,4 @@ -PingCodec in bluerobotics_ping::codec - Rust

Struct bluerobotics_ping::codec::PingCodec

source ·
pub struct PingCodec { /* private fields */ }

Implementations§

source§

impl PingCodec

source

pub fn new() -> Self

Trait Implementations§

source§

impl Decoder for PingCodec

§

type Item = ProtocolMessage

The type of decoded frames.
§

type Error = PingError

The type of unrecoverable frame decoding errors. Read more
source§

fn decode( +PingCodec in bluerobotics_ping::codec - Rust

Struct bluerobotics_ping::codec::PingCodec

source ·
pub struct PingCodec { /* private fields */ }

Implementations§

source§

impl PingCodec

source

pub fn new() -> Self

Trait Implementations§

source§

impl Decoder for PingCodec

§

type Item = ProtocolMessage

The type of decoded frames.
§

type Error = PingError

The type of unrecoverable frame decoding errors. Read more
source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>

Attempts to decode a frame from the provided buffer of bytes. Read more
source§

fn decode_eof( diff --git a/bluerobotics_ping/common/enum.Messages.html b/bluerobotics_ping/common/enum.Messages.html index 16c2858a8..5c9558483 100644 --- a/bluerobotics_ping/common/enum.Messages.html +++ b/bluerobotics_ping/common/enum.Messages.html @@ -1,16 +1,16 @@ -Messages in bluerobotics_ping::common - Rust

Enum bluerobotics_ping::common::Messages

source ·
pub enum Messages {
+Messages in bluerobotics_ping::common - Rust

Enum bluerobotics_ping::common::Messages

source ·
pub enum Messages {
     AsciiText(AsciiTextStruct),
-    SetDeviceId(SetDeviceIdStruct),
-    Ack(AckStruct),
-    DeviceInformation(DeviceInformationStruct),
     Nack(NackStruct),
-    GeneralRequest(GeneralRequestStruct),
+    Ack(AckStruct),
     ProtocolVersion(ProtocolVersionStruct),
-}

Variants§

§

AsciiText(AsciiTextStruct)

§

SetDeviceId(SetDeviceIdStruct)

§

Ack(AckStruct)

§

DeviceInformation(DeviceInformationStruct)

§

Nack(NackStruct)

§

GeneralRequest(GeneralRequestStruct)

§

ProtocolVersion(ProtocolVersionStruct)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 + GeneralRequest(GeneralRequestStruct), + SetDeviceId(SetDeviceIdStruct), + DeviceInformation(DeviceInformationStruct), +}

Variants§

§

AsciiText(AsciiTextStruct)

§

Nack(NackStruct)

§

Ack(AckStruct)

§

ProtocolVersion(ProtocolVersionStruct)

§

GeneralRequest(GeneralRequestStruct)

§

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 +sufficient, and should not be overridden without very good reason.

source§

impl PingMessage for Messages

source§

impl Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/index.html b/bluerobotics_ping/common/index.html index a73de3290..dec2d5bc8 100644 --- a/bluerobotics_ping/common/index.html +++ b/bluerobotics_ping/common/index.html @@ -1 +1 @@ -bluerobotics_ping::common - Rust

Module bluerobotics_ping::common

source ·

Structs§

Enums§

\ No newline at end of file +bluerobotics_ping::common - Rust

Module bluerobotics_ping::common

source ·

Structs§

Enums§

\ No newline at end of file diff --git a/bluerobotics_ping/common/struct.AckStruct.html b/bluerobotics_ping/common/struct.AckStruct.html index bce09e810..bc1cc7383 100644 --- a/bluerobotics_ping/common/struct.AckStruct.html +++ b/bluerobotics_ping/common/struct.AckStruct.html @@ -1,12 +1,12 @@ -AckStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::AckStruct

source ·
pub struct AckStruct {
+AckStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::AckStruct

source ·
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<'de> Deserialize<'de> for AckStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for AckStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for AckStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for AckStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.AsciiTextStruct.html b/bluerobotics_ping/common/struct.AsciiTextStruct.html index 04897e0b1..f2f3a490e 100644 --- a/bluerobotics_ping/common/struct.AsciiTextStruct.html +++ b/bluerobotics_ping/common/struct.AsciiTextStruct.html @@ -1,12 +1,12 @@ -AsciiTextStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::AsciiTextStruct

source ·
pub struct AsciiTextStruct {
+AsciiTextStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::AsciiTextStruct

source ·
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<'de> Deserialize<'de> for AsciiTextStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for AsciiTextStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for AsciiTextStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for AsciiTextStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.Device.html b/bluerobotics_ping/common/struct.Device.html index 75a848dec..9d4864994 100644 --- a/bluerobotics_ping/common/struct.Device.html +++ b/bluerobotics_ping/common/struct.Device.html @@ -1,16 +1,16 @@ -Device in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::Device

source ·
pub struct Device {
+Device in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::Device

source ·
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_device_id(&self, device_id: u8) -> Result<(), PingError>

Set the device ID.

+}

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.

§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 Debug for Device

source§

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

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

impl PingDevice for Device

Trait Implementations§

source§

impl Debug for Device

source§

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

Formats the value using the given formatter. Read more
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>, ) -> Result<T, PingError>
where diff --git a/bluerobotics_ping/common/struct.DeviceInformationStruct.html b/bluerobotics_ping/common/struct.DeviceInformationStruct.html index 1d72c9fdb..ad22a29c4 100644 --- a/bluerobotics_ping/common/struct.DeviceInformationStruct.html +++ b/bluerobotics_ping/common/struct.DeviceInformationStruct.html @@ -1,4 +1,4 @@ -DeviceInformationStruct in bluerobotics_ping::common - Rust
pub struct DeviceInformationStruct {
+DeviceInformationStruct in bluerobotics_ping::common - Rust
pub struct DeviceInformationStruct {
     pub device_type: u8,
     pub device_revision: u8,
     pub firmware_version_major: u8,
@@ -12,11 +12,11 @@
 
§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<'de> Deserialize<'de> for DeviceInformationStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for DeviceInformationStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for DeviceInformationStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for DeviceInformationStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.GeneralRequestStruct.html b/bluerobotics_ping/common/struct.GeneralRequestStruct.html index 81c6ea015..80a744728 100644 --- a/bluerobotics_ping/common/struct.GeneralRequestStruct.html +++ b/bluerobotics_ping/common/struct.GeneralRequestStruct.html @@ -1,12 +1,12 @@ -GeneralRequestStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::GeneralRequestStruct

source ·
pub struct GeneralRequestStruct {
+GeneralRequestStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::GeneralRequestStruct

source ·
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<'de> Deserialize<'de> for GeneralRequestStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for GeneralRequestStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for GeneralRequestStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for GeneralRequestStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.NackStruct.html b/bluerobotics_ping/common/struct.NackStruct.html index a1f159b99..23c2c51d1 100644 --- a/bluerobotics_ping/common/struct.NackStruct.html +++ b/bluerobotics_ping/common/struct.NackStruct.html @@ -1,14 +1,14 @@ -NackStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::NackStruct

source ·
pub struct NackStruct {
+NackStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::NackStruct

source ·
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<'de> Deserialize<'de> for NackStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for NackStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for NackStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for NackStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.PingProtocolHead.html b/bluerobotics_ping/common/struct.PingProtocolHead.html index 479892cea..a677e3cce 100644 --- a/bluerobotics_ping/common/struct.PingProtocolHead.html +++ b/bluerobotics_ping/common/struct.PingProtocolHead.html @@ -1,11 +1,11 @@ -PingProtocolHead in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::PingProtocolHead

source ·
pub struct PingProtocolHead {
+PingProtocolHead in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::PingProtocolHead

source ·
pub struct PingProtocolHead {
     pub source_device_id: u8,
     pub destiny_device_id: u8,
-}

Fields§

§source_device_id: u8§destiny_device_id: u8

Trait Implementations§

source§

impl Clone for PingProtocolHead

source§

fn clone(&self) -> PingProtocolHead

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 PingProtocolHead

source§

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

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

impl Default for PingProtocolHead

source§

fn default() -> PingProtocolHead

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

impl<'de> Deserialize<'de> for PingProtocolHead

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for PingProtocolHead

source§

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

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

Fields§

§source_device_id: u8§destiny_device_id: u8

Trait Implementations§

source§

impl Clone for PingProtocolHead

source§

fn clone(&self) -> PingProtocolHead

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 PingProtocolHead

source§

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

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

impl Default for PingProtocolHead

source§

fn default() -> PingProtocolHead

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

impl<'de> Deserialize<'de> for PingProtocolHead

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for PingProtocolHead

source§

fn eq(&self, other: &PingProtocolHead) -> 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 Serialize for PingProtocolHead

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for PingProtocolHead

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Serialize for PingProtocolHead

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for PingProtocolHead

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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.ProtocolVersionStruct.html b/bluerobotics_ping/common/struct.ProtocolVersionStruct.html index ec54c3394..c00c60f91 100644 --- a/bluerobotics_ping/common/struct.ProtocolVersionStruct.html +++ b/bluerobotics_ping/common/struct.ProtocolVersionStruct.html @@ -1,4 +1,4 @@ -ProtocolVersionStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::ProtocolVersionStruct

source ·
pub struct ProtocolVersionStruct {
+ProtocolVersionStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::ProtocolVersionStruct

source ·
pub struct ProtocolVersionStruct {
     pub version_major: u8,
     pub version_minor: u8,
     pub version_patch: u8,
@@ -8,11 +8,11 @@
 
§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<'de> Deserialize<'de> for ProtocolVersionStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for ProtocolVersionStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for ProtocolVersionStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for ProtocolVersionStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/common/struct.SetDeviceIdStruct.html b/bluerobotics_ping/common/struct.SetDeviceIdStruct.html index f07374e26..0c74e6c60 100644 --- a/bluerobotics_ping/common/struct.SetDeviceIdStruct.html +++ b/bluerobotics_ping/common/struct.SetDeviceIdStruct.html @@ -1,12 +1,12 @@ -SetDeviceIdStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::SetDeviceIdStruct

source ·
pub struct SetDeviceIdStruct {
+SetDeviceIdStruct in bluerobotics_ping::common - Rust

Struct bluerobotics_ping::common::SetDeviceIdStruct

source ·
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<'de> Deserialize<'de> for SetDeviceIdStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetDeviceIdStruct

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for SetDeviceIdStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 Serialize for SetDeviceIdStruct

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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> CloneToUninit for T
where diff --git a/bluerobotics_ping/decoder/enum.DecoderResult.html b/bluerobotics_ping/decoder/enum.DecoderResult.html index a649c10ef..8d640639e 100644 --- a/bluerobotics_ping/decoder/enum.DecoderResult.html +++ b/bluerobotics_ping/decoder/enum.DecoderResult.html @@ -1,4 +1,4 @@ -DecoderResult in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::DecoderResult

source ·
pub enum DecoderResult {
+DecoderResult in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::DecoderResult

source ·
pub enum DecoderResult {
     Success(ProtocolMessage),
     InProgress,
     Error(ParseError),
diff --git a/bluerobotics_ping/decoder/enum.DecoderState.html b/bluerobotics_ping/decoder/enum.DecoderState.html
index 1b8fa824e..e25eae64f 100644
--- a/bluerobotics_ping/decoder/enum.DecoderState.html
+++ b/bluerobotics_ping/decoder/enum.DecoderState.html
@@ -1,4 +1,4 @@
-DecoderState in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::DecoderState

source ·
pub enum DecoderState {
+DecoderState in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::DecoderState

source ·
pub enum DecoderState {
     AwaitingStart1,
     AwaitingStart2,
     ReadingHeader,
diff --git a/bluerobotics_ping/decoder/enum.ParseError.html b/bluerobotics_ping/decoder/enum.ParseError.html
index 4ad91724b..9276baa67 100644
--- a/bluerobotics_ping/decoder/enum.ParseError.html
+++ b/bluerobotics_ping/decoder/enum.ParseError.html
@@ -1,4 +1,4 @@
-ParseError in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::ParseError

source ·
pub enum ParseError {
+ParseError in bluerobotics_ping::decoder - Rust

Enum bluerobotics_ping::decoder::ParseError

source ·
pub enum ParseError {
     InvalidStartByte,
     IncompleteData,
     ChecksumError(ProtocolMessage),
diff --git a/bluerobotics_ping/decoder/index.html b/bluerobotics_ping/decoder/index.html
index 27357b9ac..b432bb74d 100644
--- a/bluerobotics_ping/decoder/index.html
+++ b/bluerobotics_ping/decoder/index.html
@@ -1 +1 @@
-bluerobotics_ping::decoder - Rust
\ No newline at end of file +bluerobotics_ping::decoder - Rust
\ No newline at end of file diff --git a/bluerobotics_ping/decoder/struct.Decoder.html b/bluerobotics_ping/decoder/struct.Decoder.html index 2610745b2..77e6e6c64 100644 --- a/bluerobotics_ping/decoder/struct.Decoder.html +++ b/bluerobotics_ping/decoder/struct.Decoder.html @@ -1,4 +1,4 @@ -Decoder in bluerobotics_ping::decoder - Rust

Struct bluerobotics_ping::decoder::Decoder

source ·
pub struct Decoder {
+Decoder in bluerobotics_ping::decoder - Rust

Struct bluerobotics_ping::decoder::Decoder

source ·
pub struct Decoder {
     pub state: DecoderState,
     /* private fields */
 }

Fields§

§state: DecoderState

Implementations§

source§

impl Decoder

source

pub fn new() -> Self

source

pub fn parse_byte(&mut self, byte: u8) -> DecoderResult

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/bluerobotics_ping/device/index.html b/bluerobotics_ping/device/index.html index 66325def6..31fc990a8 100644 --- a/bluerobotics_ping/device/index.html +++ b/bluerobotics_ping/device/index.html @@ -1 +1 @@ -bluerobotics_ping::device - Rust

Module bluerobotics_ping::device

source ·

Re-exports§

  • pub use crate::ping1d::Device as Ping1D;
  • pub use crate::ping360::Device as Ping360;

Structs§

Traits§

\ No newline at end of file +bluerobotics_ping::device - Rust

Module bluerobotics_ping::device

source ·

Re-exports§

  • pub use crate::ping1d::Device as Ping1D;
  • pub use crate::ping360::Device as Ping360;

Structs§

Traits§

\ No newline at end of file diff --git a/bluerobotics_ping/device/struct.Common.html b/bluerobotics_ping/device/struct.Common.html index 291533f8b..59e176e14 100644 --- a/bluerobotics_ping/device/struct.Common.html +++ b/bluerobotics_ping/device/struct.Common.html @@ -1,4 +1,4 @@ -Common in bluerobotics_ping::device - Rust

Struct bluerobotics_ping::device::Common

source ·
pub struct Common { /* private fields */ }

Implementations§

source§

impl Common

source

pub fn new<T>(io: T) -> Self
where +Common in bluerobotics_ping::device - Rust

Struct bluerobotics_ping::device::Common

source ·
pub struct Common { /* private fields */ }

Implementations§

source§

impl Common

source

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

source

pub async fn send_message( &self, message: ProtocolMessage, diff --git a/bluerobotics_ping/device/trait.PingDevice.html b/bluerobotics_ping/device/trait.PingDevice.html index 9dd355a47..928288073 100644 --- a/bluerobotics_ping/device/trait.PingDevice.html +++ b/bluerobotics_ping/device/trait.PingDevice.html @@ -1,4 +1,4 @@ -PingDevice in bluerobotics_ping::device - Rust

Trait bluerobotics_ping::device::PingDevice

source ·
pub trait PingDevice {
+PingDevice in bluerobotics_ping::device - Rust

Trait bluerobotics_ping::device::PingDevice

source ·
pub trait PingDevice {
     // Required methods
     fn get_common(&self) -> &Common;
     fn get_mut_common(&mut self) -> &mut Common;
@@ -42,4 +42,4 @@ 
§Arguments
  • device_id - Device ID (1-254). 0 is unknown and 255 is reserved for broadcast messages.
-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PingDevice for bluerobotics_ping::bluebps::Device

source§

impl PingDevice for bluerobotics_ping::common::Device

source§

impl PingDevice for bluerobotics_ping::omniscan450::Device

source§

impl PingDevice for bluerobotics_ping::ping1d::Device

source§

impl PingDevice for bluerobotics_ping::ping360::Device

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PingDevice for bluerobotics_ping::bluebps::Device

source§

impl PingDevice for bluerobotics_ping::common::Device

source§

impl PingDevice for bluerobotics_ping::omniscan450::Device

source§

impl PingDevice for bluerobotics_ping::ping1d::Device

source§

impl PingDevice for bluerobotics_ping::ping360::Device

\ No newline at end of file diff --git a/bluerobotics_ping/enum.Messages.html b/bluerobotics_ping/enum.Messages.html index 89f675829..cc1b70c74 100644 --- a/bluerobotics_ping/enum.Messages.html +++ b/bluerobotics_ping/enum.Messages.html @@ -1,12 +1,12 @@ -Messages in bluerobotics_ping - Rust

Enum bluerobotics_ping::Messages

source ·
pub enum Messages {
-    Bluebps(Messages),
+Messages in bluerobotics_ping - Rust

Enum bluerobotics_ping::Messages

source ·
pub enum Messages {
     Ping360(Messages),
-    Omniscan450(Messages),
+    Bluebps(Messages),
     Ping1D(Messages),
     Common(Messages),
-}

Variants§

§

Bluebps(Messages)

§

Ping360(Messages)

§

Omniscan450(Messages)

§

Ping1D(Messages)

§

Common(Messages)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. 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 + Omniscan450(Messages), +}

Variants§

§

Ping360(Messages)

§

Bluebps(Messages)

§

Ping1D(Messages)

§

Common(Messages)

§

Omniscan450(Messages)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. 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> CloneToUninit for T
where diff --git a/bluerobotics_ping/error/enum.PingError.html b/bluerobotics_ping/error/enum.PingError.html index 66643ecab..be8fbe57c 100644 --- a/bluerobotics_ping/error/enum.PingError.html +++ b/bluerobotics_ping/error/enum.PingError.html @@ -1,4 +1,4 @@ -PingError in bluerobotics_ping::error - Rust

Enum bluerobotics_ping::error::PingError

source ·
pub enum PingError {
+PingError in bluerobotics_ping::error - Rust

Enum bluerobotics_ping::error::PingError

source ·
pub enum PingError {
     Io(String),
     ParseError(ParseError),
     TokioBroadcastError(String),
@@ -8,7 +8,7 @@
     TryFromError(ProtocolMessage),
     NackError(String),
 }

Variants§

§

Io(String)

§

ParseError(ParseError)

§

TokioBroadcastError(String)

§

TokioMpscError(String)

§

JoinError

§

TimeoutError

§

TryFromError(ProtocolMessage)

§

NackError(String)

Trait Implementations§

source§

impl Clone for PingError

source§

fn clone(&self) -> PingError

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 PingError

source§

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

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

impl<'de> Deserialize<'de> for PingError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<Error> for PingError

source§

fn from(err: Error) -> PingError

Converts to this type from the input type.
source§

impl From<RecvError> for PingError

source§

fn from(err: RecvError) -> PingError

Converts to this type from the input type.
source§

impl From<SendError<ProtocolMessage>> for PingError

source§

fn from(err: SendError<ProtocolMessage>) -> PingError

Converts to this type from the input type.
source§

impl Serialize for PingError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<Error> for PingError

source§

fn from(err: Error) -> PingError

Converts to this type from the input type.
source§

impl From<RecvError> for PingError

source§

fn from(err: RecvError) -> PingError

Converts to this type from the input type.
source§

impl From<SendError<ProtocolMessage>> for PingError

source§

fn from(err: SendError<ProtocolMessage>) -> PingError

Converts to this type from the input type.
source§

impl Serialize for PingError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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 diff --git a/bluerobotics_ping/error/index.html b/bluerobotics_ping/error/index.html index ab16002e4..923fa5c7e 100644 --- a/bluerobotics_ping/error/index.html +++ b/bluerobotics_ping/error/index.html @@ -1 +1 @@ -bluerobotics_ping::error - Rust

Module bluerobotics_ping::error

source ·

Enums§

\ No newline at end of file +bluerobotics_ping::error - Rust

Module bluerobotics_ping::error

source ·

Enums§

\ No newline at end of file diff --git a/bluerobotics_ping/fn.calculate_crc.html b/bluerobotics_ping/fn.calculate_crc.html index fda09faa0..52239cc5a 100644 --- a/bluerobotics_ping/fn.calculate_crc.html +++ b/bluerobotics_ping/fn.calculate_crc.html @@ -1 +1 @@ -calculate_crc in bluerobotics_ping - Rust

Function bluerobotics_ping::calculate_crc

source ·
pub fn calculate_crc(pack_without_payload: &[u8]) -> u16
\ No newline at end of file +calculate_crc in bluerobotics_ping - Rust

Function bluerobotics_ping::calculate_crc

source ·
pub fn calculate_crc(pack_without_payload: &[u8]) -> u16
\ No newline at end of file diff --git a/bluerobotics_ping/index.html b/bluerobotics_ping/index.html index 419d14e78..a8870ab6c 100644 --- a/bluerobotics_ping/index.html +++ b/bluerobotics_ping/index.html @@ -1,4 +1,4 @@ -bluerobotics_ping - Rust

Crate bluerobotics_ping

source ·
Expand description

§🦀 Ping Library 🔊

+bluerobotics_ping - Rust

Crate bluerobotics_ping

source ·
Expand description

§🦀 Ping Library 🔊

SONARs, or Sound Navigation And Ranging devices, transmit sound waves and measure their reflections to detect surrounding obstacles and objects.

Sonars and other acoustic devices can be crucial for marine robotics (ROVs, AUVs, boats, etc), as they can provide obstacle detection and distance estimates when the visual field is limited. Building robots with these capabilities enables precise navigation, target identification, and a considerably more efficient exploration of underwater environments.

diff --git a/bluerobotics_ping/message/constant.HEADER.html b/bluerobotics_ping/message/constant.HEADER.html index fa0d61d2d..bfe142ad5 100644 --- a/bluerobotics_ping/message/constant.HEADER.html +++ b/bluerobotics_ping/message/constant.HEADER.html @@ -1 +1 @@ -HEADER in bluerobotics_ping::message - Rust

Constant bluerobotics_ping::message::HEADER

source ·
pub const HEADER: [u8; 2];
\ No newline at end of file +HEADER in bluerobotics_ping::message - Rust

Constant bluerobotics_ping::message::HEADER

source ·
pub const HEADER: [u8; 2];
\ No newline at end of file diff --git a/bluerobotics_ping/message/index.html b/bluerobotics_ping/message/index.html index 3829af171..2107f31b8 100644 --- a/bluerobotics_ping/message/index.html +++ b/bluerobotics_ping/message/index.html @@ -1 +1 @@ -bluerobotics_ping::message - Rust
\ No newline at end of file +bluerobotics_ping::message - Rust
\ No newline at end of file diff --git a/bluerobotics_ping/message/struct.ProtocolMessage.html b/bluerobotics_ping/message/struct.ProtocolMessage.html index d68877d68..e89c146ab 100644 --- a/bluerobotics_ping/message/struct.ProtocolMessage.html +++ b/bluerobotics_ping/message/struct.ProtocolMessage.html @@ -1,4 +1,4 @@ -ProtocolMessage in bluerobotics_ping::message - Rust

Struct bluerobotics_ping::message::ProtocolMessage

source ·
pub struct ProtocolMessage {
+ProtocolMessage in bluerobotics_ping::message - Rust

Struct bluerobotics_ping::message::ProtocolMessage

source ·
pub struct ProtocolMessage {
     pub payload_length: u16,
     pub message_id: u16,
     pub src_device_id: u8,
@@ -18,14 +18,14 @@
 (n+1)-(n+2)u16checksumThe message checksum. The checksum is calculated as the sum of all the non-checksum bytes in the message.
 
 
source

pub fn set_message(&mut self, message: &impl PingMessage)

source

pub fn set_src_device_id(&mut self, src_device_id: u8)

source

pub fn dst_device_id(&self) -> u8

source

pub fn set_dst_device_id(&mut self, dst_device_id: u8)

source

pub fn payload(&self) -> &[u8]

source

pub fn checksum(&self) -> u16

source

pub fn update_checksum(&mut self)

source

pub fn calculate_crc(&self) -> u16

source

pub fn has_valid_crc(&self) -> bool

source

pub fn length(&self) -> usize

source

pub fn write(&self, writer: &mut dyn Write) -> Result<usize>

source

pub fn serialized(&self) -> Vec<u8>

Trait Implementations§

source§

impl Clone for ProtocolMessage

source§

fn clone(&self) -> ProtocolMessage

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 ProtocolMessage

source§

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

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

impl Default for ProtocolMessage

source§

fn default() -> ProtocolMessage

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

impl<'de> Deserialize<'de> for ProtocolMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encoder<ProtocolMessage> for PingCodec

§

type Error = PingError

The type of encoding errors. Read more
source§

fn encode( + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

source§

impl Encoder<ProtocolMessage> for PingCodec

§

type Error = PingError

The type of encoding errors. Read more
source§

fn encode( &mut self, item: ProtocolMessage, dst: &mut BytesMut, ) -> Result<(), Self::Error>

Encodes a frame into the buffer provided. Read more
source§

impl PartialEq for ProtocolMessage

source§

fn eq(&self, other: &ProtocolMessage) -> 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 Serialize for ProtocolMessage

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. 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 StructuralPartialEq for ProtocolMessage

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + __S: Serializer,

Serialize this value into the given Serde serializer. 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 StructuralPartialEq for ProtocolMessage

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> CloneToUninit for T
where diff --git a/bluerobotics_ping/message/trait.DeserializeGenericMessage.html b/bluerobotics_ping/message/trait.DeserializeGenericMessage.html index 76df9493c..66ade7374 100644 --- a/bluerobotics_ping/message/trait.DeserializeGenericMessage.html +++ b/bluerobotics_ping/message/trait.DeserializeGenericMessage.html @@ -1,8 +1,8 @@ -DeserializeGenericMessage in bluerobotics_ping::message - Rust
pub trait DeserializeGenericMessage
where +DeserializeGenericMessage in bluerobotics_ping::message - Rust
pub trait DeserializeGenericMessage
where Self: Sized,
{ // Required method fn deserialize( message_id: u16, payload: &[u8], ) -> Result<Self, &'static str>; -}

Required Methods§

source

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl DeserializeGenericMessage for bluerobotics_ping::bluebps::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::common::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::omniscan450::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::ping1d::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::ping360::Messages

\ No newline at end of file +}

Required Methods§

source

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl DeserializeGenericMessage for bluerobotics_ping::bluebps::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::common::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::omniscan450::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::ping1d::Messages

source§

impl DeserializeGenericMessage for bluerobotics_ping::ping360::Messages

\ No newline at end of file diff --git a/bluerobotics_ping/message/trait.DeserializePayload.html b/bluerobotics_ping/message/trait.DeserializePayload.html index 2210f9779..2ed3d843d 100644 --- a/bluerobotics_ping/message/trait.DeserializePayload.html +++ b/bluerobotics_ping/message/trait.DeserializePayload.html @@ -1,4 +1,4 @@ -DeserializePayload in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::DeserializePayload

source ·
pub trait DeserializePayload {
+DeserializePayload in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::DeserializePayload

source ·
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 OsMonoProfileStruct

source§

impl DeserializePayload for OsPingParamsStruct

source§

impl DeserializePayload for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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 +}

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 OsMonoProfileStruct

source§

impl DeserializePayload for OsPingParamsStruct

source§

impl DeserializePayload for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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 52f867ebf..87a6a2027 100644 --- a/bluerobotics_ping/message/trait.MessageInfo.html +++ b/bluerobotics_ping/message/trait.MessageInfo.html @@ -1,4 +1,4 @@ -MessageInfo in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::MessageInfo

source ·
pub trait MessageInfo {
+MessageInfo in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::MessageInfo

source ·
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 OsMonoProfileStruct

source§

impl MessageInfo for OsPingParamsStruct

source§

impl MessageInfo for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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 +}

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 OsMonoProfileStruct

source§

impl MessageInfo for OsPingParamsStruct

source§

impl MessageInfo for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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.PingMessage.html b/bluerobotics_ping/message/trait.PingMessage.html index fded23413..230aa903c 100644 --- a/bluerobotics_ping/message/trait.PingMessage.html +++ b/bluerobotics_ping/message/trait.PingMessage.html @@ -1,7 +1,7 @@ -PingMessage in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::PingMessage

source ·
pub trait PingMessage
where +PingMessage in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::PingMessage

source ·
pub trait PingMessage
where Self: Sized + SerializePayload,
{ // Required methods fn message_id(&self) -> u16; fn message_name(&self) -> &'static str; fn message_id_from_name(name: &str) -> Result<u16, String>; -}

Required Methods§

source

fn message_id(&self) -> u16

source

fn message_name(&self) -> &'static str

source

fn message_id_from_name(name: &str) -> Result<u16, String>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PingMessage for bluerobotics_ping::bluebps::Messages

source§

impl PingMessage for bluerobotics_ping::common::Messages

source§

impl PingMessage for bluerobotics_ping::omniscan450::Messages

source§

impl PingMessage for bluerobotics_ping::ping1d::Messages

source§

impl PingMessage for bluerobotics_ping::ping360::Messages

\ No newline at end of file +}

Required Methods§

source

fn message_id(&self) -> u16

source

fn message_name(&self) -> &'static str

source

fn message_id_from_name(name: &str) -> Result<u16, String>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl PingMessage for bluerobotics_ping::bluebps::Messages

source§

impl PingMessage for bluerobotics_ping::common::Messages

source§

impl PingMessage for bluerobotics_ping::omniscan450::Messages

source§

impl PingMessage for bluerobotics_ping::ping1d::Messages

source§

impl PingMessage for bluerobotics_ping::ping360::Messages

\ No newline at end of file diff --git a/bluerobotics_ping/message/trait.SerializePayload.html b/bluerobotics_ping/message/trait.SerializePayload.html index 163ebd571..247090a11 100644 --- a/bluerobotics_ping/message/trait.SerializePayload.html +++ b/bluerobotics_ping/message/trait.SerializePayload.html @@ -1,4 +1,4 @@ -SerializePayload in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::SerializePayload

source ·
pub trait SerializePayload {
+SerializePayload in bluerobotics_ping::message - Rust

Trait bluerobotics_ping::message::SerializePayload

source ·
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::omniscan450::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 OsMonoProfileStruct

source§

impl SerializePayload for OsPingParamsStruct

source§

impl SerializePayload for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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 +}

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::omniscan450::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 OsMonoProfileStruct

source§

impl SerializePayload for OsPingParamsStruct

source§

impl SerializePayload for bluerobotics_ping::omniscan450::SetSpeedOfSoundStruct

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 bluerobotics_ping::ping1d::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/omniscan450/enum.Messages.html b/bluerobotics_ping/omniscan450/enum.Messages.html index 696827abb..aad7f0c02 100644 --- a/bluerobotics_ping/omniscan450/enum.Messages.html +++ b/bluerobotics_ping/omniscan450/enum.Messages.html @@ -1,12 +1,12 @@ -Messages in bluerobotics_ping::omniscan450 - Rust

Enum bluerobotics_ping::omniscan450::Messages

source ·
pub enum Messages {
+Messages in bluerobotics_ping::omniscan450 - Rust

Enum bluerobotics_ping::omniscan450::Messages

source ·
pub enum Messages {
     SetSpeedOfSound(SetSpeedOfSoundStruct),
-    OsPingParams(OsPingParamsStruct),
     OsMonoProfile(OsMonoProfileStruct),
-}

Variants§

§

SetSpeedOfSound(SetSpeedOfSoundStruct)

§

OsPingParams(OsPingParamsStruct)

§

OsMonoProfile(OsMonoProfileStruct)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 + OsPingParams(OsPingParamsStruct), +}

Variants§

§

SetSpeedOfSound(SetSpeedOfSoundStruct)

§

OsMonoProfile(OsMonoProfileStruct)

§

OsPingParams(OsPingParamsStruct)

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<'de> Deserialize<'de> for Messages

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 +sufficient, and should not be overridden without very good reason.

source§

impl PingMessage for Messages

source§

impl Serialize for Messages

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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 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> CloneToUninit for T
where diff --git a/bluerobotics_ping/omniscan450/index.html b/bluerobotics_ping/omniscan450/index.html index 798ef0b79..abc069c41 100644 --- a/bluerobotics_ping/omniscan450/index.html +++ b/bluerobotics_ping/omniscan450/index.html @@ -1 +1 @@ -bluerobotics_ping::omniscan450 - Rust

Module bluerobotics_ping::omniscan450

source ·

Structs§

  • A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels.
  • No documentation provided.
  • Set the speed of sound.

Enums§

\ No newline at end of file +bluerobotics_ping::omniscan450 - Rust

Module bluerobotics_ping::omniscan450

source ·

Structs§

  • A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels.
  • No documentation provided.
  • Set the speed of sound.

Enums§

\ No newline at end of file diff --git a/bluerobotics_ping/omniscan450/struct.Device.html b/bluerobotics_ping/omniscan450/struct.Device.html index 291186f93..db6321b17 100644 --- a/bluerobotics_ping/omniscan450/struct.Device.html +++ b/bluerobotics_ping/omniscan450/struct.Device.html @@ -1,7 +1,7 @@ -Device in bluerobotics_ping::omniscan450 - Rust

Struct bluerobotics_ping::omniscan450::Device

source ·
pub struct Device {
+Device in bluerobotics_ping::omniscan450 - Rust

Struct bluerobotics_ping::omniscan450::Device

source ·
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_speed_of_sound( +}

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_speed_of_sound( &self, speed_of_sound: u32, ) -> Result<(), PingError>

Set the speed of sound.

@@ -9,7 +9,8 @@
§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 os_ping_params( +

source

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

A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels.

+
source

pub async fn os_ping_params( &self, start_mm: u32, length_mm: u32, @@ -37,8 +38,7 @@

§Argumentsenable - Not documented
  • reserved_3 - Not documented
  • -

    source

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

    A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels.

    -

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

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

    impl PingDevice for Device

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

    Formats the value using the given formatter. Read more
    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>, ) -> Result<T, PingError>
    where diff --git a/bluerobotics_ping/omniscan450/struct.OsMonoProfileStruct.html b/bluerobotics_ping/omniscan450/struct.OsMonoProfileStruct.html index 3eacaad6e..e31b76807 100644 --- a/bluerobotics_ping/omniscan450/struct.OsMonoProfileStruct.html +++ b/bluerobotics_ping/omniscan450/struct.OsMonoProfileStruct.html @@ -1,4 +1,4 @@ -OsMonoProfileStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct OsMonoProfileStruct {
    Show 17 fields +OsMonoProfileStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct OsMonoProfileStruct {
    Show 17 fields pub ping_number: u32, pub start_mm: u32, pub length_mm: u32, @@ -34,11 +34,11 @@
    §transducer_heading_deg: f32

    Not documented

    §vehicle_heading_deg: f32

    Not documented

    §pwr_results: String

    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. power results scaled from min_pwr_db to max_pwr_db

    -

    Trait Implementations§

    source§

    impl Clone for OsMonoProfileStruct

    source§

    fn clone(&self) -> OsMonoProfileStruct

    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 OsMonoProfileStruct

    source§

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

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

    impl Default for OsMonoProfileStruct

    source§

    fn default() -> OsMonoProfileStruct

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

    impl<'de> Deserialize<'de> for OsMonoProfileStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for OsMonoProfileStruct

    source§

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

    source§

    impl MessageInfo for OsMonoProfileStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for OsMonoProfileStruct

    source§

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

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

    Trait Implementations§

    source§

    impl Clone for OsMonoProfileStruct

    source§

    fn clone(&self) -> OsMonoProfileStruct

    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 OsMonoProfileStruct

    source§

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

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

    impl Default for OsMonoProfileStruct

    source§

    fn default() -> OsMonoProfileStruct

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

    impl<'de> Deserialize<'de> for OsMonoProfileStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for OsMonoProfileStruct

    source§

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

    source§

    impl MessageInfo for OsMonoProfileStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for OsMonoProfileStruct

    source§

    fn eq(&self, other: &OsMonoProfileStruct) -> 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 Serialize for OsMonoProfileStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for OsMonoProfileStruct

    source§

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

    source§

    impl StructuralPartialEq for OsMonoProfileStruct

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for OsMonoProfileStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for OsMonoProfileStruct

    source§

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

    source§

    impl StructuralPartialEq for OsMonoProfileStruct

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/omniscan450/struct.OsPingParamsStruct.html b/bluerobotics_ping/omniscan450/struct.OsPingParamsStruct.html index f11986e47..a719733e6 100644 --- a/bluerobotics_ping/omniscan450/struct.OsPingParamsStruct.html +++ b/bluerobotics_ping/omniscan450/struct.OsPingParamsStruct.html @@ -1,4 +1,4 @@ -OsPingParamsStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct OsPingParamsStruct {
    +OsPingParamsStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct OsPingParamsStruct {
         pub start_mm: u32,
         pub length_mm: u32,
         pub msec_per_ping: u32,
    @@ -22,11 +22,11 @@
     
    §num_results: u16

    Not documented

    §enable: u8

    Not documented

    §reserved_3: u8

    Not documented

    -

    Trait Implementations§

    source§

    impl Clone for OsPingParamsStruct

    source§

    fn clone(&self) -> OsPingParamsStruct

    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 OsPingParamsStruct

    source§

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

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

    impl Default for OsPingParamsStruct

    source§

    fn default() -> OsPingParamsStruct

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

    impl<'de> Deserialize<'de> for OsPingParamsStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for OsPingParamsStruct

    source§

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

    source§

    impl MessageInfo for OsPingParamsStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for OsPingParamsStruct

    source§

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

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

    Trait Implementations§

    source§

    impl Clone for OsPingParamsStruct

    source§

    fn clone(&self) -> OsPingParamsStruct

    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 OsPingParamsStruct

    source§

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

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

    impl Default for OsPingParamsStruct

    source§

    fn default() -> OsPingParamsStruct

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

    impl<'de> Deserialize<'de> for OsPingParamsStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for OsPingParamsStruct

    source§

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

    source§

    impl MessageInfo for OsPingParamsStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for OsPingParamsStruct

    source§

    fn eq(&self, other: &OsPingParamsStruct) -> 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 Serialize for OsPingParamsStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for OsPingParamsStruct

    source§

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

    source§

    impl StructuralPartialEq for OsPingParamsStruct

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for OsPingParamsStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for OsPingParamsStruct

    source§

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

    source§

    impl StructuralPartialEq for OsPingParamsStruct

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/omniscan450/struct.PingProtocolHead.html b/bluerobotics_ping/omniscan450/struct.PingProtocolHead.html index e8095c63d..37f38a0b0 100644 --- a/bluerobotics_ping/omniscan450/struct.PingProtocolHead.html +++ b/bluerobotics_ping/omniscan450/struct.PingProtocolHead.html @@ -1,11 +1,11 @@ -PingProtocolHead in bluerobotics_ping::omniscan450 - Rust

    Struct bluerobotics_ping::omniscan450::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
    +PingProtocolHead in bluerobotics_ping::omniscan450 - Rust

    Struct bluerobotics_ping::omniscan450::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
         pub source_device_id: u8,
         pub destiny_device_id: u8,
    -}

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

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

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

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

    fn eq(&self, other: &PingProtocolHead) -> 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 Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/omniscan450/struct.SetSpeedOfSoundStruct.html b/bluerobotics_ping/omniscan450/struct.SetSpeedOfSoundStruct.html index e2b6b949d..e1a6729c8 100644 --- a/bluerobotics_ping/omniscan450/struct.SetSpeedOfSoundStruct.html +++ b/bluerobotics_ping/omniscan450/struct.SetSpeedOfSoundStruct.html @@ -1,12 +1,12 @@ -SetSpeedOfSoundStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct SetSpeedOfSoundStruct {
    +SetSpeedOfSoundStruct in bluerobotics_ping::omniscan450 - Rust
    pub struct SetSpeedOfSoundStruct {
         pub speed_of_sound: u32,
     }
    Expand description

    Set the speed of sound.

    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<'de> Deserialize<'de> for SetSpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetSpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetSpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetSpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/enum.Messages.html b/bluerobotics_ping/ping1d/enum.Messages.html index b62d8d254..8163d2b3a 100644 --- a/bluerobotics_ping/ping1d/enum.Messages.html +++ b/bluerobotics_ping/ping1d/enum.Messages.html @@ -1,35 +1,35 @@ -Messages in bluerobotics_ping::ping1d - Rust

    Enum bluerobotics_ping::ping1d::Messages

    source ·
    pub enum Messages {
    -
    Show 26 variants Voltage5(Voltage5Struct), - TransmitDuration(TransmitDurationStruct), - PcbTemperature(PcbTemperatureStruct), - ProcessorTemperature(ProcessorTemperatureStruct), - GotoBootloader(GotoBootloaderStruct), - FirmwareVersion(FirmwareVersionStruct), - DeviceId(DeviceIdStruct), - GainSetting(GainSettingStruct), +Messages in bluerobotics_ping::ping1d - Rust

    Enum bluerobotics_ping::ping1d::Messages

    source ·
    pub enum Messages {
    +
    Show 26 variants SetGainSetting(SetGainSettingStruct), + Voltage5(Voltage5Struct), Profile(ProfileStruct), - Range(RangeStruct), - SetRange(SetRangeStruct), - SetGainSetting(SetGainSettingStruct), - ContinuousStop(ContinuousStopStruct), - ModeAuto(ModeAutoStruct), - PingEnable(PingEnableStruct), - SetPingEnable(SetPingEnableStruct), - SetSpeedOfSound(SetSpeedOfSoundStruct), - SetPingInterval(SetPingIntervalStruct), - ContinuousStart(ContinuousStartStruct), PingInterval(PingIntervalStruct), SetDeviceId(SetDeviceIdStruct), + GainSetting(GainSettingStruct), + SetPingEnable(SetPingEnableStruct), + DeviceId(DeviceIdStruct), + SetRange(SetRangeStruct), Distance(DistanceStruct), - SetModeAuto(SetModeAutoStruct), - DistanceSimple(DistanceSimpleStruct), + FirmwareVersion(FirmwareVersionStruct), + SetPingInterval(SetPingIntervalStruct), + ProcessorTemperature(ProcessorTemperatureStruct), + ContinuousStop(ContinuousStopStruct), SpeedOfSound(SpeedOfSoundStruct), + TransmitDuration(TransmitDurationStruct), GeneralInfo(GeneralInfoStruct), -
    }

    Variants§

    §

    Voltage5(Voltage5Struct)

    §

    TransmitDuration(TransmitDurationStruct)

    §

    PcbTemperature(PcbTemperatureStruct)

    §

    ProcessorTemperature(ProcessorTemperatureStruct)

    §

    GotoBootloader(GotoBootloaderStruct)

    §

    FirmwareVersion(FirmwareVersionStruct)

    §

    DeviceId(DeviceIdStruct)

    §

    GainSetting(GainSettingStruct)

    §

    Profile(ProfileStruct)

    §

    Range(RangeStruct)

    §

    SetRange(SetRangeStruct)

    §

    SetGainSetting(SetGainSettingStruct)

    §

    ContinuousStop(ContinuousStopStruct)

    §

    ModeAuto(ModeAutoStruct)

    §

    PingEnable(PingEnableStruct)

    §

    SetPingEnable(SetPingEnableStruct)

    §

    SetSpeedOfSound(SetSpeedOfSoundStruct)

    §

    SetPingInterval(SetPingIntervalStruct)

    §

    ContinuousStart(ContinuousStartStruct)

    §

    PingInterval(PingIntervalStruct)

    §

    SetDeviceId(SetDeviceIdStruct)

    §

    Distance(DistanceStruct)

    §

    SetModeAuto(SetModeAutoStruct)

    §

    DistanceSimple(DistanceSimpleStruct)

    §

    SpeedOfSound(SpeedOfSoundStruct)

    §

    GeneralInfo(GeneralInfoStruct)

    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<'de> Deserialize<'de> for Messages

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 + GotoBootloader(GotoBootloaderStruct), + SetModeAuto(SetModeAutoStruct), + Range(RangeStruct), + PingEnable(PingEnableStruct), + DistanceSimple(DistanceSimpleStruct), + PcbTemperature(PcbTemperatureStruct), + SetSpeedOfSound(SetSpeedOfSoundStruct), + ContinuousStart(ContinuousStartStruct), + ModeAuto(ModeAutoStruct), +
    }

    Variants§

    §

    SetGainSetting(SetGainSettingStruct)

    §

    Voltage5(Voltage5Struct)

    §

    Profile(ProfileStruct)

    §

    PingInterval(PingIntervalStruct)

    §

    SetDeviceId(SetDeviceIdStruct)

    §

    GainSetting(GainSettingStruct)

    §

    SetPingEnable(SetPingEnableStruct)

    §

    DeviceId(DeviceIdStruct)

    §

    SetRange(SetRangeStruct)

    §

    Distance(DistanceStruct)

    §

    FirmwareVersion(FirmwareVersionStruct)

    §

    SetPingInterval(SetPingIntervalStruct)

    §

    ProcessorTemperature(ProcessorTemperatureStruct)

    §

    ContinuousStop(ContinuousStopStruct)

    §

    SpeedOfSound(SpeedOfSoundStruct)

    §

    TransmitDuration(TransmitDurationStruct)

    §

    GeneralInfo(GeneralInfoStruct)

    §

    GotoBootloader(GotoBootloaderStruct)

    §

    SetModeAuto(SetModeAutoStruct)

    §

    Range(RangeStruct)

    §

    PingEnable(PingEnableStruct)

    §

    DistanceSimple(DistanceSimpleStruct)

    §

    PcbTemperature(PcbTemperatureStruct)

    §

    SetSpeedOfSound(SetSpeedOfSoundStruct)

    §

    ContinuousStart(ContinuousStartStruct)

    §

    ModeAuto(ModeAutoStruct)

    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<'de> Deserialize<'de> for Messages

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for Messages

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 +sufficient, and should not be overridden without very good reason.

    source§

    impl PingMessage for Messages

    source§

    impl Serialize for Messages

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/index.html b/bluerobotics_ping/ping1d/index.html index 942651e8f..1ca7b4dbd 100644 --- a/bluerobotics_ping/ping1d/index.html +++ b/bluerobotics_ping/ping1d/index.html @@ -1 +1 @@ -bluerobotics_ping::ping1d - Rust

    Module bluerobotics_ping::ping1d

    source ·

    Structs§

    Enums§

    \ No newline at end of file +bluerobotics_ping::ping1d - Rust

    Module bluerobotics_ping::ping1d

    source ·

    Structs§

    Enums§

    \ No newline at end of file diff --git a/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html b/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html index d4b504d71..5172ea527 100644 --- a/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html +++ b/bluerobotics_ping/ping1d/struct.ContinuousStartStruct.html @@ -1,12 +1,12 @@ -ContinuousStartStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ContinuousStartStruct

    source ·
    pub struct ContinuousStartStruct {
    +ContinuousStartStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ContinuousStartStruct

    source ·
    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<'de> Deserialize<'de> for ContinuousStartStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for ContinuousStartStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for ContinuousStartStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for ContinuousStartStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html b/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html index e9a0d5b98..1d1721f2c 100644 --- a/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html +++ b/bluerobotics_ping/ping1d/struct.ContinuousStopStruct.html @@ -1,12 +1,12 @@ -ContinuousStopStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ContinuousStopStruct

    source ·
    pub struct ContinuousStopStruct {
    +ContinuousStopStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ContinuousStopStruct

    source ·
    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<'de> Deserialize<'de> for ContinuousStopStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for ContinuousStopStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for ContinuousStopStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for ContinuousStopStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.Device.html b/bluerobotics_ping/ping1d/struct.Device.html index fde28df5e..b0a2664fd 100644 --- a/bluerobotics_ping/ping1d/struct.Device.html +++ b/bluerobotics_ping/ping1d/struct.Device.html @@ -1,84 +1,84 @@ -Device in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::Device

    source ·
    pub struct Device {
    +Device in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::Device

    source ·
    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 voltage_5(&self) -> Result<Voltage5Struct, PingError>

    The 5V rail voltage.

    -
    source

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

    The duration of the acoustic activation/transmission.

    -
    source

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

    Temperature of the on-board thermistor.

    -
    source

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

    Temperature of the device cpu.

    -
    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 firmware_version(&self) -> Result<FirmwareVersionStruct, PingError>

    Device information

    -
    source

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

    The device ID.

    -
    source

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

    The current gain setting.

    -
    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 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 set_range( - &self, - scan_start: u32, - scan_length: u32, -) -> Result<(), PingError>

    Set the scan range for acoustic measurements.

    -
    §Arguments
    -
      -
    • scan_start [mm] - Not documented
    • -
    • scan_length [mm] - The length of the scan range. Minimum 1000.
    • -
    -
    source

    pub async fn set_gain_setting(&self, gain_setting: u8) -> Result<(), PingError>

    Set the current gain setting.

    -
    §Arguments
    +}

    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_gain_setting(&self, gain_setting: u8) -> Result<(), PingError>

    Set the current gain setting.

    +
    §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
    -
    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 voltage_5(&self) -> Result<Voltage5Struct, PingError>

    The 5V rail voltage.

    +
    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_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 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 ping_enable(&self) -> Result<PingEnableStruct, PingError>

    Acoustic output enabled state.

    -
    source

    pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError>

    Enable or disable acoustic measurements.

    -
    §Arguments
    +
    source

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

    The current gain setting.

    +
    source

    pub async fn set_ping_enable(&self, ping_enabled: u8) -> Result<(), PingError>

    Enable or disable acoustic measurements.

    +
    §Arguments
    • ping_enabled - 0: Disable, 1: Enable.
    -
    source

    pub async fn set_speed_of_sound( +

    source

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

    The device ID.

    +
    source

    pub async fn set_range( &self, - speed_of_sound: u32, -) -> Result<(), PingError>

    Set the speed of sound used for distance calculations.

    -
    §Arguments
    + scan_start: u32, + scan_length: u32, +) -> Result<(), PingError>

    Set the scan range for acoustic measurements.

    +
    §Arguments
      -
    • speed_of_sound [mm/s] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water.
    • +
    • scan_start [mm] - Not documented
    • +
    • scan_length [mm] - The length of the scan range. Minimum 1000.
    -
    source

    pub async fn set_ping_interval( +

    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 firmware_version(&self) -> Result<FirmwareVersionStruct, PingError>

    Device information

    +
    source

    pub async fn set_ping_interval( &self, ping_interval: u16, ) -> Result<(), PingError>

    The interval between acoustic measurements.

    -
    §Arguments
    +
    §Arguments
    • 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 processor_temperature( + &self, +) -> Result<ProcessorTemperatureStruct, PingError>

    Temperature of the device cpu.

    +
    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 speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError>

    The speed of sound used for distance calculations.

    +
    source

    pub async fn transmit_duration( + &self, +) -> Result<TransmitDurationStruct, PingError>

    The duration of the acoustic activation/transmission.

    +
    source

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

    General information.

    +
    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 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
      -
    • id - The message id to stream. 1300: profile
    • +
    • mode_auto - 0: manual mode. 1: auto mode.
    -
    source

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

    The interval between acoustic measurements.

    -
    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 ping_enable(&self) -> Result<PingEnableStruct, PingError>

    Acoustic output enabled state.

    +
    source

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

    The distance to target with confidence estimate.

    +
    source

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

    Temperature of the on-board thermistor.

    +
    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
      -
    • device_id - Device ID (0-254). 255 is reserved for broadcast messages.
    • +
    • speed_of_sound [mm/s] - The speed of sound in the measurement medium. ~1,500,000 mm/s for water.
    -
    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_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.

    +
    source

    pub async fn continuous_start(&self, id: u16) -> Result<(), PingError>

    Command to initiate continuous data stream of profile messages.

    §Arguments
      -
    • mode_auto - 0: manual mode. 1: auto mode.
    • +
    • id - The message id to stream. 1300: profile
    -
    source

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

    The distance to target with confidence estimate.

    -
    source

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

    The speed of sound used for distance calculations.

    -
    source

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

    General information.

    -

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

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

    impl PingDevice for Device

    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.

    +

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

    Formats the value using the given formatter. Read more
    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>, ) -> Result<T, PingError>
    where diff --git a/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html b/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html index a1abb312e..848e8c404 100644 --- a/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html +++ b/bluerobotics_ping/ping1d/struct.DeviceIdStruct.html @@ -1,12 +1,12 @@ -DeviceIdStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DeviceIdStruct

    source ·
    pub struct DeviceIdStruct {
    +DeviceIdStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DeviceIdStruct

    source ·
    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<'de> Deserialize<'de> for DeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for DeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for DeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for DeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html b/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html index 16bb7f6b8..8c64796fb 100644 --- a/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html +++ b/bluerobotics_ping/ping1d/struct.DistanceSimpleStruct.html @@ -1,14 +1,14 @@ -DistanceSimpleStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DistanceSimpleStruct

    source ·
    pub struct DistanceSimpleStruct {
    +DistanceSimpleStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DistanceSimpleStruct

    source ·
    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<'de> Deserialize<'de> for DistanceSimpleStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for DistanceSimpleStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for DistanceSimpleStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for DistanceSimpleStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.DistanceStruct.html b/bluerobotics_ping/ping1d/struct.DistanceStruct.html index 4561369c4..a6d8f4713 100644 --- a/bluerobotics_ping/ping1d/struct.DistanceStruct.html +++ b/bluerobotics_ping/ping1d/struct.DistanceStruct.html @@ -1,4 +1,4 @@ -DistanceStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DistanceStruct

    source ·
    pub struct DistanceStruct {
    +DistanceStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::DistanceStruct

    source ·
    pub struct DistanceStruct {
         pub distance: u32,
         pub confidence: u16,
         pub transmit_duration: u16,
    @@ -14,11 +14,11 @@
     
    §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<'de> Deserialize<'de> for DistanceStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for DistanceStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for DistanceStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for DistanceStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html b/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html index 1c4bcfff4..f9cfb5ef8 100644 --- a/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html +++ b/bluerobotics_ping/ping1d/struct.FirmwareVersionStruct.html @@ -1,4 +1,4 @@ -FirmwareVersionStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::FirmwareVersionStruct

    source ·
    pub struct FirmwareVersionStruct {
    +FirmwareVersionStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::FirmwareVersionStruct

    source ·
    pub struct FirmwareVersionStruct {
         pub device_type: u8,
         pub device_model: u8,
         pub firmware_version_major: u16,
    @@ -8,11 +8,11 @@
     
    §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<'de> Deserialize<'de> for FirmwareVersionStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for FirmwareVersionStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for FirmwareVersionStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for FirmwareVersionStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.GainSettingStruct.html b/bluerobotics_ping/ping1d/struct.GainSettingStruct.html index cc2f7d264..c6c921f81 100644 --- a/bluerobotics_ping/ping1d/struct.GainSettingStruct.html +++ b/bluerobotics_ping/ping1d/struct.GainSettingStruct.html @@ -1,12 +1,12 @@ -GainSettingStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GainSettingStruct

    source ·
    pub struct GainSettingStruct {
    +GainSettingStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GainSettingStruct

    source ·
    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<'de> Deserialize<'de> for GainSettingStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for GainSettingStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for GainSettingStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for GainSettingStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html b/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html index 472d11f85..0a16a08a4 100644 --- a/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html +++ b/bluerobotics_ping/ping1d/struct.GeneralInfoStruct.html @@ -1,4 +1,4 @@ -GeneralInfoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GeneralInfoStruct

    source ·
    pub struct GeneralInfoStruct {
    +GeneralInfoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GeneralInfoStruct

    source ·
    pub struct GeneralInfoStruct {
         pub firmware_version_major: u16,
         pub firmware_version_minor: u16,
         pub voltage_5: u16,
    @@ -12,11 +12,11 @@
     
    §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<'de> Deserialize<'de> for GeneralInfoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for GeneralInfoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for GeneralInfoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for GeneralInfoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html b/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html index cbe381d76..06b6b5975 100644 --- a/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html +++ b/bluerobotics_ping/ping1d/struct.GotoBootloaderStruct.html @@ -1,9 +1,9 @@ -GotoBootloaderStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GotoBootloaderStruct

    source ·
    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<'de> Deserialize<'de> for GotoBootloaderStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 +GotoBootloaderStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::GotoBootloaderStruct

    source ·
    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<'de> Deserialize<'de> for GotoBootloaderStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for GotoBootloaderStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for GotoBootloaderStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html b/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html index e4780bdc7..4c4e5e37c 100644 --- a/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html +++ b/bluerobotics_ping/ping1d/struct.ModeAutoStruct.html @@ -1,12 +1,12 @@ -ModeAutoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ModeAutoStruct

    source ·
    pub struct ModeAutoStruct {
    +ModeAutoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ModeAutoStruct

    source ·
    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<'de> Deserialize<'de> for ModeAutoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for ModeAutoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for ModeAutoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for ModeAutoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html b/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html index 7aa486d62..2a2502499 100644 --- a/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html +++ b/bluerobotics_ping/ping1d/struct.PcbTemperatureStruct.html @@ -1,12 +1,12 @@ -PcbTemperatureStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PcbTemperatureStruct

    source ·
    pub struct PcbTemperatureStruct {
    +PcbTemperatureStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PcbTemperatureStruct

    source ·
    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<'de> Deserialize<'de> for PcbTemperatureStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for PcbTemperatureStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for PcbTemperatureStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for PcbTemperatureStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.PingEnableStruct.html b/bluerobotics_ping/ping1d/struct.PingEnableStruct.html index c80def31e..36dc0d59f 100644 --- a/bluerobotics_ping/ping1d/struct.PingEnableStruct.html +++ b/bluerobotics_ping/ping1d/struct.PingEnableStruct.html @@ -1,12 +1,12 @@ -PingEnableStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingEnableStruct

    source ·
    pub struct PingEnableStruct {
    +PingEnableStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingEnableStruct

    source ·
    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<'de> Deserialize<'de> for PingEnableStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for PingEnableStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for PingEnableStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for PingEnableStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html b/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html index f24a4dbff..df1386a4d 100644 --- a/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html +++ b/bluerobotics_ping/ping1d/struct.PingIntervalStruct.html @@ -1,12 +1,12 @@ -PingIntervalStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingIntervalStruct

    source ·
    pub struct PingIntervalStruct {
    +PingIntervalStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingIntervalStruct

    source ·
    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<'de> Deserialize<'de> for PingIntervalStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for PingIntervalStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for PingIntervalStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for PingIntervalStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.PingProtocolHead.html b/bluerobotics_ping/ping1d/struct.PingProtocolHead.html index c2108a55a..e114ef24e 100644 --- a/bluerobotics_ping/ping1d/struct.PingProtocolHead.html +++ b/bluerobotics_ping/ping1d/struct.PingProtocolHead.html @@ -1,11 +1,11 @@ -PingProtocolHead in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
    +PingProtocolHead in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
         pub source_device_id: u8,
         pub destiny_device_id: u8,
    -}

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

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

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

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

    fn eq(&self, other: &PingProtocolHead) -> 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 Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html b/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html index 197d08bb4..bf6a858fb 100644 --- a/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html +++ b/bluerobotics_ping/ping1d/struct.ProcessorTemperatureStruct.html @@ -1,12 +1,12 @@ -ProcessorTemperatureStruct in bluerobotics_ping::ping1d - Rust
    pub struct ProcessorTemperatureStruct {
    +ProcessorTemperatureStruct in bluerobotics_ping::ping1d - Rust
    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<'de> Deserialize<'de> for ProcessorTemperatureStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for ProcessorTemperatureStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for ProcessorTemperatureStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for ProcessorTemperatureStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.ProfileStruct.html b/bluerobotics_ping/ping1d/struct.ProfileStruct.html index 88166804e..594ed32fc 100644 --- a/bluerobotics_ping/ping1d/struct.ProfileStruct.html +++ b/bluerobotics_ping/ping1d/struct.ProfileStruct.html @@ -1,4 +1,4 @@ -ProfileStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ProfileStruct

    source ·
    pub struct ProfileStruct {
    +ProfileStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::ProfileStruct

    source ·
    pub struct ProfileStruct {
         pub distance: u32,
         pub confidence: u16,
         pub transmit_duration: u16,
    @@ -17,11 +17,11 @@
     
    §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. 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<'de> Deserialize<'de> for ProfileStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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: 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<'de> Deserialize<'de> for ProfileStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for ProfileStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for ProfileStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.RangeStruct.html b/bluerobotics_ping/ping1d/struct.RangeStruct.html index 51f195e32..38aa23b4b 100644 --- a/bluerobotics_ping/ping1d/struct.RangeStruct.html +++ b/bluerobotics_ping/ping1d/struct.RangeStruct.html @@ -1,14 +1,14 @@ -RangeStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::RangeStruct

    source ·
    pub struct RangeStruct {
    +RangeStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::RangeStruct

    source ·
    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<'de> Deserialize<'de> for RangeStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for RangeStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for RangeStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for RangeStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html b/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html index 881ce92fd..6e30dcfbf 100644 --- a/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetDeviceIdStruct.html @@ -1,12 +1,12 @@ -SetDeviceIdStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetDeviceIdStruct

    source ·
    pub struct SetDeviceIdStruct {
    +SetDeviceIdStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetDeviceIdStruct

    source ·
    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<'de> Deserialize<'de> for SetDeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetDeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetDeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetDeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html b/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html index bd36d4028..29321181e 100644 --- a/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetGainSettingStruct.html @@ -1,12 +1,12 @@ -SetGainSettingStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetGainSettingStruct

    source ·
    pub struct SetGainSettingStruct {
    +SetGainSettingStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetGainSettingStruct

    source ·
    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<'de> Deserialize<'de> for SetGainSettingStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetGainSettingStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetGainSettingStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetGainSettingStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html b/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html index e5a62941d..8565f9cd4 100644 --- a/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetModeAutoStruct.html @@ -1,12 +1,12 @@ -SetModeAutoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetModeAutoStruct

    source ·
    pub struct SetModeAutoStruct {
    +SetModeAutoStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetModeAutoStruct

    source ·
    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<'de> Deserialize<'de> for SetModeAutoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetModeAutoStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetModeAutoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetModeAutoStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html b/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html index 53dab90da..e022b9631 100644 --- a/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetPingEnableStruct.html @@ -1,12 +1,12 @@ -SetPingEnableStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetPingEnableStruct

    source ·
    pub struct SetPingEnableStruct {
    +SetPingEnableStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetPingEnableStruct

    source ·
    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<'de> Deserialize<'de> for SetPingEnableStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetPingEnableStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetPingEnableStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetPingEnableStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html b/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html index 174e77064..60a208370 100644 --- a/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetPingIntervalStruct.html @@ -1,12 +1,12 @@ -SetPingIntervalStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetPingIntervalStruct

    source ·
    pub struct SetPingIntervalStruct {
    +SetPingIntervalStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetPingIntervalStruct

    source ·
    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<'de> Deserialize<'de> for SetPingIntervalStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetPingIntervalStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetPingIntervalStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetPingIntervalStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetRangeStruct.html b/bluerobotics_ping/ping1d/struct.SetRangeStruct.html index 19d339ad5..8dee03bec 100644 --- a/bluerobotics_ping/ping1d/struct.SetRangeStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetRangeStruct.html @@ -1,14 +1,14 @@ -SetRangeStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetRangeStruct

    source ·
    pub struct SetRangeStruct {
    +SetRangeStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetRangeStruct

    source ·
    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. 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<'de> Deserialize<'de> for SetRangeStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 +

    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<'de> Deserialize<'de> for SetRangeStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetRangeStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetRangeStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html b/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html index c59110115..4a31ec373 100644 --- a/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html +++ b/bluerobotics_ping/ping1d/struct.SetSpeedOfSoundStruct.html @@ -1,12 +1,12 @@ -SetSpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetSpeedOfSoundStruct

    source ·
    pub struct SetSpeedOfSoundStruct {
    +SetSpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SetSpeedOfSoundStruct

    source ·
    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<'de> Deserialize<'de> for SetSpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetSpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetSpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetSpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html b/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html index 4601afba6..fe942f036 100644 --- a/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html +++ b/bluerobotics_ping/ping1d/struct.SpeedOfSoundStruct.html @@ -1,12 +1,12 @@ -SpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SpeedOfSoundStruct

    source ·
    pub struct SpeedOfSoundStruct {
    +SpeedOfSoundStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::SpeedOfSoundStruct

    source ·
    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<'de> Deserialize<'de> for SpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SpeedOfSoundStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SpeedOfSoundStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html b/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html index 262e2766e..6bcd2df5b 100644 --- a/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html +++ b/bluerobotics_ping/ping1d/struct.TransmitDurationStruct.html @@ -1,12 +1,12 @@ -TransmitDurationStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::TransmitDurationStruct

    source ·
    pub struct TransmitDurationStruct {
    +TransmitDurationStruct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::TransmitDurationStruct

    source ·
    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<'de> Deserialize<'de> for TransmitDurationStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for TransmitDurationStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for TransmitDurationStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for TransmitDurationStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping1d/struct.Voltage5Struct.html b/bluerobotics_ping/ping1d/struct.Voltage5Struct.html index 0e4916fa6..c2d7cde8a 100644 --- a/bluerobotics_ping/ping1d/struct.Voltage5Struct.html +++ b/bluerobotics_ping/ping1d/struct.Voltage5Struct.html @@ -1,12 +1,12 @@ -Voltage5Struct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::Voltage5Struct

    source ·
    pub struct Voltage5Struct {
    +Voltage5Struct in bluerobotics_ping::ping1d - Rust

    Struct bluerobotics_ping::ping1d::Voltage5Struct

    source ·
    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<'de> Deserialize<'de> for Voltage5Struct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for Voltage5Struct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for Voltage5Struct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for Voltage5Struct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/enum.Messages.html b/bluerobotics_ping/ping360/enum.Messages.html index 9fbd76957..c9415686d 100644 --- a/bluerobotics_ping/ping360/enum.Messages.html +++ b/bluerobotics_ping/ping360/enum.Messages.html @@ -1,16 +1,16 @@ -Messages in bluerobotics_ping::ping360 - Rust

    Enum bluerobotics_ping::ping360::Messages

    source ·
    pub enum Messages {
    +Messages in bluerobotics_ping::ping360 - Rust

    Enum bluerobotics_ping::ping360::Messages

    source ·
    pub enum Messages {
    +    AutoTransmit(AutoTransmitStruct),
         DeviceData(DeviceDataStruct),
         MotorOff(MotorOffStruct),
    -    Reset(ResetStruct),
    -    Transducer(TransducerStruct),
    -    AutoTransmit(AutoTransmitStruct),
         AutoDeviceData(AutoDeviceDataStruct),
         SetDeviceId(SetDeviceIdStruct),
    -}

    Variants§

    §

    DeviceData(DeviceDataStruct)

    §

    MotorOff(MotorOffStruct)

    §

    Reset(ResetStruct)

    §

    Transducer(TransducerStruct)

    §

    AutoTransmit(AutoTransmitStruct)

    §

    AutoDeviceData(AutoDeviceDataStruct)

    §

    SetDeviceId(SetDeviceIdStruct)

    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<'de> Deserialize<'de> for Messages

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 + Transducer(TransducerStruct), + Reset(ResetStruct), +}

    Variants§

    §

    AutoTransmit(AutoTransmitStruct)

    §

    DeviceData(DeviceDataStruct)

    §

    MotorOff(MotorOffStruct)

    §

    AutoDeviceData(AutoDeviceDataStruct)

    §

    SetDeviceId(SetDeviceIdStruct)

    §

    Transducer(TransducerStruct)

    §

    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<'de> Deserialize<'de> for Messages

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for Messages

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 +sufficient, and should not be overridden without very good reason.

    source§

    impl PingMessage for Messages

    source§

    impl Serialize for Messages

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/index.html b/bluerobotics_ping/ping360/index.html index 9023db135..21c05b79c 100644 --- a/bluerobotics_ping/ping360/index.html +++ b/bluerobotics_ping/ping360/index.html @@ -1 +1 @@ -bluerobotics_ping::ping360 - Rust

    Module bluerobotics_ping::ping360

    source ·

    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 +bluerobotics_ping::ping360 - Rust

    Module bluerobotics_ping::ping360

    source ·

    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/struct.AutoDeviceDataStruct.html b/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html index 65afbb3c6..15df8fae9 100644 --- a/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html +++ b/bluerobotics_ping/ping360/struct.AutoDeviceDataStruct.html @@ -1,4 +1,4 @@ -AutoDeviceDataStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::AutoDeviceDataStruct

    source ·
    pub struct AutoDeviceDataStruct {
    Show 13 fields +AutoDeviceDataStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::AutoDeviceDataStruct

    source ·
    pub struct AutoDeviceDataStruct {
    Show 13 fields pub mode: u8, pub gain_setting: u8, pub angle: u16, @@ -25,11 +25,11 @@
    §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 (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<'de> Deserialize<'de> for AutoDeviceDataStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 +
    §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<'de> Deserialize<'de> for AutoDeviceDataStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for AutoDeviceDataStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for AutoDeviceDataStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html b/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html index 2e0849d49..1af3f3f60 100644 --- a/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html +++ b/bluerobotics_ping/ping360/struct.AutoTransmitStruct.html @@ -1,4 +1,4 @@ -AutoTransmitStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::AutoTransmitStruct

    source ·
    pub struct AutoTransmitStruct {
    +AutoTransmitStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::AutoTransmitStruct

    source ·
    pub struct AutoTransmitStruct {
         pub mode: u8,
         pub gain_setting: u8,
         pub transmit_duration: u16,
    @@ -20,11 +20,11 @@
     
    §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<'de> Deserialize<'de> for AutoTransmitStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for AutoTransmitStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for AutoTransmitStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for AutoTransmitStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.Device.html b/bluerobotics_ping/ping360/struct.Device.html index 5758309b8..2a571e3cf 100644 --- a/bluerobotics_ping/ping360/struct.Device.html +++ b/bluerobotics_ping/ping360/struct.Device.html @@ -1,72 +1,72 @@ -Device in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::Device

    source ·
    pub struct Device {
    +Device in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::Device

    source ·
    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 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 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
    -
      -
    • bootloader - 0 = skip bootloader; 1 = run bootloader
    • -
    • reserved - reserved
    • -
    -
    source

    pub async fn transducer( +}

    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 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<DeviceDataStruct, 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
    + 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 [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
    • +
    • 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 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 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 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 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 auto_transmit( +

    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>

    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).

    + transmit: u8, + reserved: u8, +) -> Result<DeviceDataStruct, 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)
    • +
    • 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)
    • -
    • 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.
    • +
    • transmit - 0 = do not transmit; 1 = transmit after the transducer has reached the specified angle
    • +
    • reserved - reserved
    -
    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 set_device_id(&self, id: u8, reserved: u8) -> Result<(), PingError>

    Change the device id

    +
    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
      -
    • id - Device ID (1-254). 0 and 255 are reserved.
    • +
    • bootloader - 0 = skip bootloader; 1 = run bootloader
    • reserved - reserved
    -

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

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

    impl PingDevice for Device

    Trait Implementations§

    source§

    impl Debug for Device

    source§

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

    Formats the value using the given formatter. Read more
    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>, ) -> Result<T, PingError>
    where diff --git a/bluerobotics_ping/ping360/struct.DeviceDataStruct.html b/bluerobotics_ping/ping360/struct.DeviceDataStruct.html index 4c06be116..e7e1ab290 100644 --- a/bluerobotics_ping/ping360/struct.DeviceDataStruct.html +++ b/bluerobotics_ping/ping360/struct.DeviceDataStruct.html @@ -1,4 +1,4 @@ -DeviceDataStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::DeviceDataStruct

    source ·
    pub struct DeviceDataStruct {
    +DeviceDataStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::DeviceDataStruct

    source ·
    pub struct DeviceDataStruct {
         pub mode: u8,
         pub gain_setting: u8,
         pub angle: u16,
    @@ -17,11 +17,11 @@
     
    §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<'de> Deserialize<'de> for DeviceDataStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 +
    §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<'de> Deserialize<'de> for DeviceDataStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for DeviceDataStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for DeviceDataStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.MotorOffStruct.html b/bluerobotics_ping/ping360/struct.MotorOffStruct.html index 4acbf1184..9792f62db 100644 --- a/bluerobotics_ping/ping360/struct.MotorOffStruct.html +++ b/bluerobotics_ping/ping360/struct.MotorOffStruct.html @@ -1,9 +1,9 @@ -MotorOffStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::MotorOffStruct

    source ·
    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<'de> Deserialize<'de> for MotorOffStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 +MotorOffStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::MotorOffStruct

    source ·
    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<'de> Deserialize<'de> for MotorOffStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for MotorOffStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for MotorOffStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.PingProtocolHead.html b/bluerobotics_ping/ping360/struct.PingProtocolHead.html index 8d3ddcb04..f32756172 100644 --- a/bluerobotics_ping/ping360/struct.PingProtocolHead.html +++ b/bluerobotics_ping/ping360/struct.PingProtocolHead.html @@ -1,11 +1,11 @@ -PingProtocolHead in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
    +PingProtocolHead in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::PingProtocolHead

    source ·
    pub struct PingProtocolHead {
         pub source_device_id: u8,
         pub destiny_device_id: u8,
    -}

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

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

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

    Fields§

    §source_device_id: u8§destiny_device_id: u8

    Trait Implementations§

    source§

    impl Clone for PingProtocolHead

    source§

    fn clone(&self) -> PingProtocolHead

    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 PingProtocolHead

    source§

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

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

    impl Default for PingProtocolHead

    source§

    fn default() -> PingProtocolHead

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

    impl<'de> Deserialize<'de> for PingProtocolHead

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PingProtocolHead

    source§

    fn eq(&self, other: &PingProtocolHead) -> 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 Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for PingProtocolHead

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PingProtocolHead

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.ResetStruct.html b/bluerobotics_ping/ping360/struct.ResetStruct.html index a7fbaf5b0..0e25a756a 100644 --- a/bluerobotics_ping/ping360/struct.ResetStruct.html +++ b/bluerobotics_ping/ping360/struct.ResetStruct.html @@ -1,14 +1,14 @@ -ResetStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::ResetStruct

    source ·
    pub struct ResetStruct {
    +ResetStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::ResetStruct

    source ·
    pub struct ResetStruct {
         pub bootloader: u8,
         pub reserved: u8,
     }
    Expand description

    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.

    Fields§

    §bootloader: u8

    0 = skip bootloader; 1 = run bootloader

    §reserved: u8

    reserved

    -

    Trait Implementations§

    source§

    impl Clone for ResetStruct

    source§

    fn clone(&self) -> ResetStruct

    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 ResetStruct

    source§

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

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

    impl Default for ResetStruct

    source§

    fn default() -> ResetStruct

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

    impl<'de> Deserialize<'de> for ResetStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for ResetStruct

    source§

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

    source§

    impl MessageInfo for ResetStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for ResetStruct

    source§

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

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

    Trait Implementations§

    source§

    impl Clone for ResetStruct

    source§

    fn clone(&self) -> ResetStruct

    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 ResetStruct

    source§

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

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

    impl Default for ResetStruct

    source§

    fn default() -> ResetStruct

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

    impl<'de> Deserialize<'de> for ResetStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl DeserializePayload for ResetStruct

    source§

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

    source§

    impl MessageInfo for ResetStruct

    source§

    fn id() -> u16

    source§

    impl PartialEq for ResetStruct

    source§

    fn eq(&self, other: &ResetStruct) -> 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 Serialize for ResetStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for ResetStruct

    source§

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

    source§

    impl StructuralPartialEq for ResetStruct

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Serialize for ResetStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SerializePayload for ResetStruct

    source§

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

    source§

    impl StructuralPartialEq for ResetStruct

    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html b/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html index 2e691a20e..2646f9281 100644 --- a/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html +++ b/bluerobotics_ping/ping360/struct.SetDeviceIdStruct.html @@ -1,14 +1,14 @@ -SetDeviceIdStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::SetDeviceIdStruct

    source ·
    pub struct SetDeviceIdStruct {
    +SetDeviceIdStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::SetDeviceIdStruct

    source ·
    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 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<'de> Deserialize<'de> for SetDeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for SetDeviceIdStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for SetDeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for SetDeviceIdStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/bluerobotics_ping/ping360/struct.TransducerStruct.html b/bluerobotics_ping/ping360/struct.TransducerStruct.html index 66b104162..5560fcd79 100644 --- a/bluerobotics_ping/ping360/struct.TransducerStruct.html +++ b/bluerobotics_ping/ping360/struct.TransducerStruct.html @@ -1,4 +1,4 @@ -TransducerStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::TransducerStruct

    source ·
    pub struct TransducerStruct {
    +TransducerStruct in bluerobotics_ping::ping360 - Rust

    Struct bluerobotics_ping::ping360::TransducerStruct

    source ·
    pub struct TransducerStruct {
         pub mode: u8,
         pub gain_setting: u8,
         pub angle: u16,
    @@ -18,11 +18,11 @@
     
    §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<'de> Deserialize<'de> for TransducerStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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<'de> Deserialize<'de> for TransducerStruct

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 Serialize for TransducerStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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 Serialize for TransducerStruct

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    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> CloneToUninit for T
    where diff --git a/clap/all.html b/clap/all.html index a1aeb836b..08420f8fa 100644 --- a/clap/all.html +++ b/clap/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/clap/builder/enum.ArgAction.html b/clap/builder/enum.ArgAction.html index b09a32aea..d00664243 100644 --- a/clap/builder/enum.ArgAction.html +++ b/clap/builder/enum.ArgAction.html @@ -1,4 +1,4 @@ -ArgAction in clap::builder - Rust

    Enum clap::builder::ArgAction

    source ·
    #[non_exhaustive]
    pub enum ArgAction { +ArgAction in clap::builder - Rust

    Enum clap::builder::ArgAction

    source ·
    #[non_exhaustive]
    pub enum ArgAction { Set, Append, SetTrue, @@ -237,7 +237,7 @@

    §Examples

    Implementations§

    source§

    impl ArgAction

    source

    pub fn takes_values(&self) -> bool

    Returns whether this action accepts values on the command-line

    default_values and [env][super::Arg::env] may still be processed.

    -

    Trait Implementations§

    source§

    impl Clone for ArgAction

    source§

    fn clone(&self) -> ArgAction

    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 ArgAction

    source§

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

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

    impl IntoResettable<ArgAction> for ArgAction

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ArgAction> for Option<ArgAction>

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ArgAction

    source§

    fn clone(&self) -> ArgAction

    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 ArgAction

    source§

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

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

    impl IntoResettable<ArgAction> for ArgAction

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ArgAction> for Option<ArgAction>

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type

    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> CloneToUninit for T
    where diff --git a/clap/builder/enum.ArgPredicate.html b/clap/builder/enum.ArgPredicate.html index 41e84737d..f17f73687 100644 --- a/clap/builder/enum.ArgPredicate.html +++ b/clap/builder/enum.ArgPredicate.html @@ -1,4 +1,4 @@ -ArgPredicate in clap::builder - Rust

    Enum clap::builder::ArgPredicate

    source ·
    pub enum ArgPredicate {
    +ArgPredicate in clap::builder - Rust

    Enum clap::builder::ArgPredicate

    source ·
    pub enum ArgPredicate {
         IsPresent,
         Equals(OsStr),
     }
    Expand description

    Operations to perform on argument values

    diff --git a/clap/builder/enum.Resettable.html b/clap/builder/enum.Resettable.html index 20679d7d4..8b15103eb 100644 --- a/clap/builder/enum.Resettable.html +++ b/clap/builder/enum.Resettable.html @@ -1,4 +1,4 @@ -Resettable in clap::builder - Rust

    Enum clap::builder::Resettable

    source ·
    pub enum Resettable<T> {
    +Resettable in clap::builder - Rust

    Enum clap::builder::Resettable

    source ·
    pub enum Resettable<T> {
         Value(T),
         Reset,
     }
    Expand description

    Clearable builder value

    @@ -17,7 +17,7 @@

    §Example

    §

    Reset

    Reset builder value

    Trait Implementations§

    source§

    impl<T> Clone for Resettable<T>
    where T: Clone,

    source§

    fn clone(&self) -> Resettable<T>

    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<T> Debug for Resettable<T>
    where - T: Debug,

    source§

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

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

    impl<T> From<Option<T>> for Resettable<T>

    source§

    fn from(other: Option<T>) -> Resettable<T>

    Converts to this type from the input type.
    source§

    impl<T> From<T> for Resettable<T>

    source§

    fn from(other: T) -> Resettable<T>

    Converts to this type from the input type.
    source§

    impl<T> Hash for Resettable<T>
    where + T: Debug,

    source§

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

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

    impl<T> From<Option<T>> for Resettable<T>

    source§

    fn from(other: Option<T>) -> Resettable<T>

    Converts to this type from the input type.
    source§

    impl<T> From<T> for Resettable<T>

    source§

    fn from(other: T) -> Resettable<T>

    Converts to this type from the input type.
    source§

    impl<T> Hash for Resettable<T>
    where T: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, diff --git a/clap/builder/enum.ValueHint.html b/clap/builder/enum.ValueHint.html index 50610433f..5dbefd62a 100644 --- a/clap/builder/enum.ValueHint.html +++ b/clap/builder/enum.ValueHint.html @@ -1,4 +1,4 @@ -ValueHint in clap::builder - Rust

    Enum clap::builder::ValueHint

    source ·
    #[non_exhaustive]
    pub enum ValueHint { +ValueHint in clap::builder - Rust

    Enum clap::builder::ValueHint

    source ·
    #[non_exhaustive]
    pub enum ValueHint {
    Show 13 variants Unknown, Other, AnyPath, @@ -53,7 +53,7 @@

    Trait Implementations§

    source§

    impl Clone for ValueHint

    source§

    fn clone(&self) -> ValueHint

    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 ValueHint

    source§

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

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

    impl Default for ValueHint

    source§

    fn default() -> ValueHint

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

    impl FromStr for ValueHint

    §

    type Err = String

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<ValueHint, <ValueHint as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for ValueHint

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl IntoResettable<ValueHint> for Option<ValueHint>

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ValueHint> for ValueHint

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl PartialEq for ValueHint

    source§

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

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

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl IntoResettable<ValueHint> for Option<ValueHint>

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ValueHint> for ValueHint

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl PartialEq for ValueHint

    source§

    fn eq(&self, other: &ValueHint) -> 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 Copy for ValueHint

    source§

    impl Eq for ValueHint

    source§

    impl StructuralPartialEq for ValueHint

    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/clap/builder/index.html b/clap/builder/index.html index 8f7e41051..5503f5581 100644 --- a/clap/builder/index.html +++ b/clap/builder/index.html @@ -1,3 +1,3 @@ -clap::builder - Rust

    Module clap::builder

    source ·
    Expand description

    Define Command line arguments

    +clap::builder - Rust

    Module clap::builder

    source ·
    Expand description

    Define Command line arguments

    Modules§

    Structs§

    Enums§

    • Behavior of arguments when they are encountered while parsing
    • Operations to perform on argument values
    • Clearable builder value
    • Provide shell with hint on how to complete an argument.

    Traits§

    \ No newline at end of file diff --git a/clap/builder/struct.Arg.html b/clap/builder/struct.Arg.html index 49a8b62b4..98e424907 100644 --- a/clap/builder/struct.Arg.html +++ b/clap/builder/struct.Arg.html @@ -1,4 +1,4 @@ -Arg in clap::builder - Rust

    Struct clap::builder::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and +Arg in clap::builder - Rust

    Struct clap::builder::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and relationships that define a valid argument for the program.

    There are two methods for constructing Args, using the builder pattern and setting options manually, or using a usage string which is far less verbose but has fewer options. You can also diff --git a/clap/builder/struct.ArgGroup.html b/clap/builder/struct.ArgGroup.html index e4192fbf0..f46246c64 100644 --- a/clap/builder/struct.ArgGroup.html +++ b/clap/builder/struct.ArgGroup.html @@ -1,4 +1,4 @@ -ArgGroup in clap::builder - Rust

    Struct clap::builder::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    +ArgGroup in clap::builder - Rust

    Struct clap::builder::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    By placing arguments in a logical group, you can create easier requirement and exclusion rules instead of having to list each argument individually, or when you want a rule to apply “any but not all” arguments.

    diff --git a/clap/builder/struct.BoolValueParser.html b/clap/builder/struct.BoolValueParser.html index 714e1fc85..acdd295ab 100644 --- a/clap/builder/struct.BoolValueParser.html +++ b/clap/builder/struct.BoolValueParser.html @@ -1,4 +1,4 @@ -BoolValueParser in clap::builder - Rust

    Struct clap::builder::BoolValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolValueParser {}
    Expand description

    Implementation for ValueParser::bool

    +BoolValueParser in clap::builder - Rust

    Struct clap::builder::BoolValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolValueParser {}
    Expand description

    Implementation for ValueParser::bool

    Useful for composing new TypedValueParsers

    Implementations§

    Trait Implementations§

    source§

    impl Clone for BoolValueParser

    source§

    fn clone(&self) -> BoolValueParser

    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 BoolValueParser

    source§

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

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

    impl Default for BoolValueParser

    source§

    fn default() -> BoolValueParser

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

    impl TypedValueParser for BoolValueParser

    §

    type Value = bool

    Argument’s value type
    source§

    fn parse_ref( diff --git a/clap/builder/struct.BoolishValueParser.html b/clap/builder/struct.BoolishValueParser.html index 351b6d4d7..afbc1364d 100644 --- a/clap/builder/struct.BoolishValueParser.html +++ b/clap/builder/struct.BoolishValueParser.html @@ -1,4 +1,4 @@ -BoolishValueParser in clap::builder - Rust

    Struct clap::builder::BoolishValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolishValueParser {}
    Expand description

    Parse bool-like string values, everything else is true

    +BoolishValueParser in clap::builder - Rust

    Struct clap::builder::BoolishValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolishValueParser {}
    Expand description

    Parse bool-like string values, everything else is true

    See also:

    -

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Command

    Creates a new instance of an Command.

    +

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Command

    Creates a new instance of an Command.

    It is common, but not required, to use binary name as the name. This name will only be displayed to the user when they request to print version or help and usage information.

    See also command! and crate_name!.

    §Examples
    Command::new("My Program")
    -
    source

    pub fn arg(self, a: impl Into<Arg>) -> Command

    Adds an argument to the list of valid possibilities.

    +
    source

    pub fn arg(self, a: impl Into<Arg>) -> Command

    Adds an argument to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         // Adding a single "flag" argument with a short and help text, using Arg::new()
    @@ -48,14 +48,14 @@ 
    §Examples
    .arg( arg!(-c --config <CONFIG> "Optionally sets a config file to use") )
    -
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Command

    Adds multiple arguments to the list of valid possibilities.

    +
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Command

    Adds multiple arguments to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         .args([
             arg!(-d --debug "turns on debugging info"),
             Arg::new("input").help("the input file to use")
         ])
    -
    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(Arg) -> Arg,

    Allows one to mutate an Arg after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -76,7 +76,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "-B"]); assert!(res.is_ok());
    -

    source

    pub fn mut_args<F>(self, f: F) -> Command
    where +

    source

    pub fn mut_args<F>(self, f: F) -> Command
    where F: FnMut(Arg) -> Arg,

    Allows one to mutate all Args after they’ve been added to a Command.

    This does not affect the built-in --help or --version arguments.

    §Examples
    @@ -105,7 +105,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "--prefix-bar"]); assert!(res.is_ok());
    -

    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(ArgGroup) -> ArgGroup,

    Allows one to mutate an ArgGroup after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -120,7 +120,7 @@
    §Examples
    .args(["set-ver", "major", "minor","patch"]) .required(true)) .mut_group("vers", |a| a.required(false));
    -

    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(Command) -> Command,

    Allows one to mutate a Command after it’s been added as a subcommand.

    This can be useful for modifying auto-generated arguments of nested subcommands with Command::mut_arg.

    @@ -140,7 +140,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "bar"]); assert!(res.is_ok());
    -

    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Command

    Adds an ArgGroup to the application.

    +
    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Command

    Adds an ArgGroup to the application.

    ArgGroups are a family of related arguments. By placing them in a logical group, you can build easier requirement and exclusion rules.

    Example use cases:

    @@ -165,7 +165,7 @@
    §Examples
    .group(ArgGroup::new("vers") .args(["set-ver", "major", "minor","patch"]) .required(true))

    -

    source

    pub fn groups( +

    source

    pub fn groups( self, groups: impl IntoIterator<Item = impl Into<ArgGroup>>, ) -> Command

    Adds multiple ArgGroups to the Command at once.

    @@ -184,7 +184,7 @@
    §Examples
    ArgGroup::new("input") .args(["c", "i"]) ])
    -

    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Command

    Adds a subcommand to the list of valid possibilities.

    +
    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Command

    Adds a subcommand to the list of valid possibilities.

    Subcommands are effectively sub-Commands, because they can contain their own arguments, subcommands, version, usage, etc. They also function just like Commands, in that they get their own auto generated help, version, and usage.

    @@ -198,7 +198,7 @@
    §Examples"config") .about("Controls configuration features") .arg(arg!(<config> "Required configuration file to use")))
    -

    source

    pub fn subcommands( +

    source

    pub fn subcommands( self, subcmds: impl IntoIterator<Item = impl Into<Command>>, ) -> Command

    Adds multiple subcommands to the list of valid possibilities.

    @@ -207,7 +207,7 @@
    §Examples"config").about("Controls configuration functionality") .arg(Arg::new("config_file")), Command::new("debug").about("Controls debug functionality")])
    -

    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Command

    Delay initialization for parts of the Command

    +
    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Command

    Delay initialization for parts of the Command

    This is useful for large applications to delay definitions of subcommands until they are being invoked.

    §Examples
    @@ -218,7 +218,7 @@
    §Examplesarg!(<config> "Required configuration file to use")) }) )
    -

    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    +
    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    Most error states are handled as asserts under the assumption they are programming mistake and not something to handle at runtime. Rather than relying on tests (manual or automated) that exhaustively test your CLI to ensure the asserts are evaluated, this will run those @@ -242,18 +242,18 @@

    §Exampleslet m = cmd().get_matches_from(vec!["foo", "-b"]); println!("{}", m.get_flag("bar")); }
    -

    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    +
    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    §Examples
    let mut cmd = Command::new("myprog");
     let err = cmd.error(ErrorKind::InvalidValue, "Some failure case");
    -
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    §Examples
    let matches = Command::new("myprog")
         // Args and options go here...
         .get_matches();
    -
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    Like Command::get_matches but doesn’t consume the Command.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    @@ -262,7 +262,7 @@
    §Examples// Args and options go here... ; let matches = cmd.get_matches_mut();
    -

    source

    pub fn try_get_matches(self) -> Result<ArgMatches, Error>

    Parse env::args_os, returning a clap::Result on failure.

    +
    source

    pub fn try_get_matches(self) -> Result<ArgMatches, Error>

    Parse env::args_os, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are used. It will return a clap::Error, where the kind is a ErrorKind::DisplayHelp or ErrorKind::DisplayVersion respectively. You must call @@ -274,7 +274,7 @@

    §Examples// Args and options go here... .try_get_matches() .unwrap_or_else(|e| e.exit());
    -

    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where +

    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, exiting on failure.

    NOTE: The first argument will be parsed as the binary name unless @@ -287,7 +287,7 @@

    §Exampleslet matches = Command::new("myprog") // Args and options go here... .get_matches_from(arg_vec);
    -

    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> Result<ArgMatches, Error>
    where +

    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> Result<ArgMatches, Error>
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are @@ -305,7 +305,7 @@

    §Examples// Args and options go here... .try_get_matches_from(arg_vec) .unwrap_or_else(|e| e.exit());
    -

    source

    pub fn try_get_matches_from_mut<I, T>( +

    source

    pub fn try_get_matches_from_mut<I, T>( &mut self, itr: I, ) -> Result<ArgMatches, Error>
    where @@ -327,17 +327,17 @@
    §Examples// Args and options go here... let matches = cmd.try_get_matches_from_mut(arg_vec) .unwrap_or_else(|e| e.exit());

    -

    source

    pub fn print_help(&mut self) -> Result<(), Error>

    Prints the short help message (-h) to io::stdout().

    +
    source

    pub fn print_help(&mut self) -> Result<(), Error>

    Prints the short help message (-h) to io::stdout().

    See also Command::print_long_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_help();
    -
    source

    pub fn print_long_help(&mut self) -> Result<(), Error>

    Prints the long help message (--help) to io::stdout().

    +
    source

    pub fn print_long_help(&mut self) -> Result<(), Error>

    Prints the long help message (--help) to io::stdout().

    See also Command::print_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_long_help();
    -
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    +
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    See also Command::render_long_help.

    §Examples
    use std::io;
    @@ -345,7 +345,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_help(); println!("{help}");
    -
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    +
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    See also Command::render_help.

    §Examples
    use std::io;
    @@ -353,7 +353,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_long_help(); println!("{help}");
    -
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    +
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    See also Command::render_long_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -361,7 +361,7 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_version());
    -
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    +
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    See also Command::render_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -369,15 +369,15 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_long_version());
    -

    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    +
    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    §Examples
    use std::io;
     let mut cmd = Command::new("myprog");
     println!("{}", cmd.render_usage());
    -
    source§

    impl Command

    §Application-wide Settings

    +

    source§

    impl Command

    §Application-wide Settings

    These settings will apply to the top-level command and all subcommands, by default. Some settings can be overridden in subcommands.

    -
    source

    pub fn no_binary_name(self, yes: bool) -> Command

    Specifies that the parser should not assume the first argument passed is the binary name.

    +
    source

    pub fn no_binary_name(self, yes: bool) -> Command

    Specifies that the parser should not assume the first argument passed is the binary name.

    This is normally the case when using a “daemon” style mode. For shells / REPLs, see Command::multicall.

    §Examples
    @@ -388,7 +388,7 @@
    §Exampleslet cmds: Vec<_> = m.get_many::<String>("cmd").unwrap().collect(); assert_eq!(cmds, ["command", "set"]);
    -

    source

    pub fn ignore_errors(self, yes: bool) -> Command

    Try not to fail on parse errors, like missing option values.

    +
    source

    pub fn ignore_errors(self, yes: bool) -> Command

    Try not to fail on parse errors, like missing option values.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let cmd = Command::new("cmd")
    @@ -404,13 +404,13 @@ 
    §Examplesassert_eq!(m.get_one::<String>("config").unwrap(), "file"); assert!(m.get_flag("f")); assert_eq!(m.get_one::<String>("stuff"), None);
    -
    source

    pub fn args_override_self(self, yes: bool) -> Command

    Replace prior occurrences of arguments rather than error

    +
    source

    pub fn args_override_self(self, yes: bool) -> Command

    Replace prior occurrences of arguments rather than error

    For any argument that would conflict with itself by default (e.g. ArgAction::Set, it will now override itself.

    This is the equivalent to saying the foo arg using Arg::overrides_with("foo") for all defined arguments.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Command

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg +

    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Command

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg was used.

    NOTE: The same thing can be done manually by setting the final positional argument to Arg::value_delimiter(None). Using this setting is safer, because it’s easier to locate @@ -420,7 +420,7 @@

    §Examples
    Command::new("myprog")
         .dont_delimit_trailing_values(true)
         .get_matches();
    -
    source

    pub fn color(self, color: ColorChoice) -> Command

    Sets when to color output.

    +
    source

    pub fn color(self, color: ColorChoice) -> Command

    Sets when to color output.

    To customize how the output is styled, see Command::styles.

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is ColorChoice::Auto.

    @@ -428,7 +428,7 @@
    §Examples
    Command::new("myprog")
         .color(ColorChoice::Never)
         .get_matches();
    -

    source

    pub fn styles(self, styles: Styles) -> Command

    Sets the Styles for terminal output

    +
    source

    pub fn styles(self, styles: Styles) -> Command

    Sets the Styles for terminal output

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is Styles::default.

    §Examples
    @@ -440,7 +440,7 @@
    §Examples"myprog") .styles(STYLES) .get_matches();
    -

    source

    pub fn term_width(self, width: usize) -> Command

    Sets the terminal width at which to wrap help messages.

    +
    source

    pub fn term_width(self, width: usize) -> Command

    Sets the terminal width at which to wrap help messages.

    Using 0 will ignore terminal widths and use source formatting.

    Defaults to current terminal width when wrap_help feature flag is enabled. If current width cannot be determined, the default is 100.

    @@ -451,7 +451,7 @@
    §Examples§Examples
    Command::new("myprog")
         .term_width(80)
    -
    source

    pub fn max_term_width(self, width: usize) -> Command

    Limit the line length for wrapping help when using the current terminal’s width.

    +
    source

    pub fn max_term_width(self, width: usize) -> Command

    Limit the line length for wrapping help when using the current terminal’s width.

    This only applies when term_width is unset so that the current terminal’s width will be used. See Command::term_width for more details.

    Using 0 will ignore this, always respecting Command::term_width (default).

    @@ -461,7 +461,7 @@
    §Examples§Examples
    Command::new("myprog")
         .max_term_width(100)
    -
    source

    pub fn disable_version_flag(self, yes: bool) -> Command

    Disables -V and --version flag.

    +
    source

    pub fn disable_version_flag(self, yes: bool) -> Command

    Disables -V and --version flag.

    §Examples
    let res = Command::new("myprog")
         .version("1.0.0")
    @@ -495,7 +495,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayVersion);
    -
    source

    pub fn propagate_version(self, yes: bool) -> Command

    Specifies to use the version of the current command for all subcommands.

    +
    source

    pub fn propagate_version(self, yes: bool) -> Command

    Specifies to use the version of the current command for all subcommands.

    Defaults to false; subcommands have independent version strings from their parents.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    @@ -506,13 +506,13 @@
    §Examples// running `$ myprog test --version` will display // "myprog-test v1.1"
    -

    source

    pub fn next_line_help(self, yes: bool) -> Command

    Places the help string for all arguments and subcommands on the line after them.

    +
    source

    pub fn next_line_help(self, yes: bool) -> Command

    Places the help string for all arguments and subcommands on the line after them.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .next_line_help(true)
         .get_matches();
    -
    source

    pub fn disable_help_flag(self, yes: bool) -> Command

    Disables -h and --help flag.

    +
    source

    pub fn disable_help_flag(self, yes: bool) -> Command

    Disables -h and --help flag.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -547,7 +547,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayHelp);
    -
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Command

    Disables the help subcommand.

    +
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Command

    Disables the help subcommand.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -560,13 +560,13 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::InvalidSubcommand);
    -
    source

    pub fn disable_colored_help(self, yes: bool) -> Command

    Disables colorized help messages.

    +
    source

    pub fn disable_colored_help(self, yes: bool) -> Command

    Disables colorized help messages.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .disable_colored_help(true)
         .get_matches();
    -
    source

    pub fn help_expected(self, yes: bool) -> Command

    Panic if help descriptions are omitted.

    +
    source

    pub fn help_expected(self, yes: bool) -> Command

    Panic if help descriptions are omitted.

    NOTE: When deriving Parser, you could instead check this at compile-time with #![deny(missing_docs)]

    NOTE: This choice is propagated to all child subcommands.

    @@ -588,19 +588,19 @@
    §Panics
    // Since the setting `help_expected` is activated, this will lead to // a panic (if you are in debug mode) )
    -

    source

    pub fn hide_possible_values(self, yes: bool) -> Command

    Tells clap not to print possible values when displaying help information.

    +
    source

    pub fn hide_possible_values(self, yes: bool) -> Command

    Tells clap not to print possible values when displaying help information.

    This can be useful if there are many values, or they are explained elsewhere.

    To set this per argument, see Arg::hide_possible_values.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_long_args(self, yes: bool) -> Command

    Allow partial matches of long arguments or their aliases.

    +
    source

    pub fn infer_long_args(self, yes: bool) -> Command

    Allow partial matches of long arguments or their aliases.

    For example, to match an argument named --test, one could use --t, --te, --tes, and --test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match --te to --test there could not also be another argument or alias --temp because both start with --te

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_subcommands(self, yes: bool) -> Command

    Allow partial matches of subcommand names and their aliases.

    +
    source

    pub fn infer_subcommands(self, yes: bool) -> Command

    Allow partial matches of subcommand names and their aliases.

    For example, to match a subcommand named test, one could use t, te, tes, and test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match te @@ -619,16 +619,16 @@

    §Examples"prog", "te" ]); assert_eq!(m.subcommand_name(), Some("test"));

    -

    source§

    impl Command

    §Command-specific Settings

    +

    source§

    impl Command

    §Command-specific Settings

    These apply only to the current command and are not inherited by subcommands.

    -
    source

    pub fn name(self, name: impl Into<Str>) -> Command

    (Re)Sets the program’s name.

    +
    source

    pub fn name(self, name: impl Into<Str>) -> Command

    (Re)Sets the program’s name.

    See Command::new for more details.

    §Examples
    let cmd = clap::command!()
         .name("foo");
     
     // continued logic goes here, such as `cmd.get_matches()` etc.
    -
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined name of the binary for help and error messages.

    +
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined name of the binary for help and error messages.

    This should only be used when absolutely necessary, such as when the binary name for your application is misleading, or perhaps not how the user should invoke your program.

    Pro-tip: When building things such as third party cargo @@ -639,11 +639,11 @@

    §Examples§Examples
    Command::new("My Program")
          .bin_name("my_binary")
    -
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined display name of the program for help and error messages.

    +
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined display name of the program for help and error messages.

    §Examples
    Command::new("My Program")
          .display_name("my_program")
    -
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Command

    Sets the author(s) for the help message.

    +
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Command

    Sets the author(s) for the help message.

    Pro-tip: Use claps convenience macro [crate_authors!] to automatically set your application’s author(s) to the same thing as your crate at compile time.

    @@ -652,7 +652,7 @@
    §Examples§Examples
    Command::new("myprog")
          .author("Me, me@mymain.com")
    -
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the short help (-h).

    +
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the short help (-h).

    If Command::long_about is not specified, this message will be displayed for --help.

    NOTE: Only Command::about (short format) is used in completion script generation in order to be concise.

    @@ -660,7 +660,7 @@
    §Examples§Examples
    Command::new("myprog")
         .about("Does really amazing things for great people")
    -
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the long help (--help).

    +
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the long help (--help).

    If not set, Command::about will be used for long help in addition to short help (-h).

    NOTE: Only Command::about (short format) is used in completion @@ -671,14 +671,14 @@

    §Examples"Does really amazing things to great people. Now let's talk a little more in depth about how this subcommand really works. It may take about a few lines of text, but that's ok!")
    -

    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated short help (-h).

    +
    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated short help (-h).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If Command::after_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .after_help("Does really amazing things for great people... but be careful with -R!")
    -
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated long help (--help).

    +
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated long help (--help).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If not set, Command::after_help will be used for long help in addition to short help @@ -687,20 +687,20 @@

    §Examples
    Command::new("myprog")
         .after_long_help("Does really amazing things to great people... but be careful with -R, \
                          like, for real, be careful with this!")
    -
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated short help (-h).

    +
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated short help (-h).

    This is often used for header, copyright, or license information.

    If Command::before_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .before_help("Some info I'd like to appear before the help info")
    -
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated long help (--help).

    +
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated long help (--help).

    This is often used for header, copyright, or license information.

    If not set, Command::before_help will be used for long help in addition to short help (-h).

    §Examples
    Command::new("myprog")
         .before_long_help("Some verbose and long info I'd like to appear before the help info")
    -
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the short version (-V) and help messages.

    +
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the short version (-V) and help messages.

    If Command::long_version is not specified, this message will be displayed for --version.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -708,7 +708,7 @@

    §Examples§Examples
    Command::new("myprog")
         .version("v0.1.24")
    -
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the long version (--version) and help messages.

    +
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the long version (--version) and help messages.

    If Command::version is not specified, this message will be displayed for -V.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -721,7 +721,7 @@

    §Examples)
    -

    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated usage string for help and error messages.

    +
    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated usage string for help and error messages.

    NOTE: Using this setting disables claps “context-aware” usage strings. After this setting is set, this will be the only usage string displayed to the user!

    @@ -744,7 +744,7 @@
    §Examples)
    -

    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated help message (both -h and --help).

    +
    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated help message (both -h and --help).

    This should only be used when the auto-generated message does not suffice.

    NOTE: This only replaces the help message for the current command, meaning if you are using subcommands, those help messages will @@ -767,7 +767,7 @@

    §Examples)
    -

    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Command

    Sets the help template to be used, overriding the default format.

    +
    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Command

    Sets the help template to be used, overriding the default format.

    NOTE: The template system is by design very simple. Therefore, the tags have to be written in the lowercase and without spacing.

    Tags are given inside curly brackets.

    @@ -811,23 +811,23 @@
    §Examples)
    -

    source

    pub fn flatten_help(self, yes: bool) -> Command

    Flatten subcommand help into the current command’s help

    +
    source

    pub fn flatten_help(self, yes: bool) -> Command

    Flatten subcommand help into the current command’s help

    This shows a summary of subcommands within the usage and help for the current command, similar to git stash --help showing information on push, pop, etc. To see more information, a user can still pass --help to the individual subcommands.

    -
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Command

    Set the default section heading for future args.

    +
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Command

    Set the default section heading for future args.

    This will be used for any arg that hasn’t had Arg::help_heading called.

    This is useful if the default Options or Arguments headings are not specific enough for one’s use case.

    For subcommands, see Command::subcommand_help_heading

    -
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Command

    Change the starting value for assigning future display orders for args.

    +
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Command

    Change the starting value for assigning future display orders for args.

    This will be used for any arg that hasn’t had Arg::display_order called.

    -
    source

    pub fn arg_required_else_help(self, yes: bool) -> Command

    Exit gracefully if no arguments are present (e.g. $ myprog).

    +
    source

    pub fn arg_required_else_help(self, yes: bool) -> Command

    Exit gracefully if no arguments are present (e.g. $ myprog).

    NOTE: subcommands count as arguments

    §Examples
    Command::new("myprog")
         .arg_required_else_help(true);
    -
    source

    pub fn allow_missing_positional(self, yes: bool) -> Command

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    +
    source

    pub fn allow_missing_positional(self, yes: bool) -> Command

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    The first example is a CLI where the second to last positional argument is optional, but the final positional argument is required. Such as $ prog [optional] <required> where one of the two following usages is allowed:

    @@ -910,7 +910,7 @@
    §Examplesassert_eq!(m.get_one::<String>("foo"), None); assert_eq!(m.get_one::<String>("bar"), None); assert_eq!(m.get_many::<String>("baz").unwrap().collect::<Vec<_>>(), &["baz1", "baz2", "baz3"]);
    -

    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Command

    Sets the short version of the subcommand flag without the preceding -.

    +
    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Command

    Sets the short version of the subcommand flag without the preceding -.

    Allows the subcommand to be used as if it were an Arg::short.

    §Examples
    let matches = Command::new("pacman")
    @@ -928,7 +928,7 @@ 
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Command

    Sets the long version of the subcommand flag without the preceding --.

    +
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Command

    Sets the long version of the subcommand flag without the preceding --.

    Allows the subcommand to be used as if it were an Arg::long.

    NOTE: Any leading - characters will be stripped.

    §Examples
    @@ -951,7 +951,7 @@
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -

    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a hidden alias to this subcommand.

    +
    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a hidden alias to this subcommand.

    This allows the subcommand to be accessed via either the original name, or this given alias. This is more efficient and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all aliased variants.

    @@ -967,7 +967,7 @@
    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Command

    Add an alias, which functions as “hidden” short flag subcommand

    +
    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Command

    Add an alias, which functions as “hidden” short flag subcommand

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -977,7 +977,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “hidden” long flag subcommand.

    +
    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “hidden” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -987,7 +987,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Command

    Sets multiple hidden aliases to this subcommand.

    +
    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Command

    Sets multiple hidden aliases to this subcommand.

    This allows the subcommand to be accessed via either the original name or any of the given aliases. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command and not all aliased variants.

    @@ -1006,7 +1006,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "do-tests"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn short_flag_aliases( +

    source

    pub fn short_flag_aliases( self, names: impl IntoIterator<Item = char>, ) -> Command

    Add aliases, which function as “hidden” short flag subcommands.

    @@ -1022,7 +1022,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "-a"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn long_flag_aliases( +

    source

    pub fn long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Add aliases, which function as “hidden” long flag subcommands.

    @@ -1038,7 +1038,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a visible alias to this subcommand.

    +
    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a visible alias to this subcommand.

    This allows the subcommand to be accessed via either the original name or the given alias. This is more efficient and easier than creating hidden subcommands as one only needs to check for @@ -1056,7 +1056,7 @@

    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn visible_short_flag_alias( +

    source

    pub fn visible_short_flag_alias( self, name: impl IntoResettable<char>, ) -> Command

    Add an alias, which functions as “visible” short flag subcommand

    @@ -1070,7 +1070,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “visible” long flag subcommand.

    +
    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “visible” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -1081,7 +1081,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));

    -

    source

    pub fn visible_aliases( +

    source

    pub fn visible_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Sets multiple visible aliases to this subcommand.

    @@ -1102,7 +1102,7 @@
    §Examples"do-stuff", "tests"])) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn visible_short_flag_aliases( +

    source

    pub fn visible_short_flag_aliases( self, names: impl IntoIterator<Item = char>, ) -> Command

    Add aliases, which function as visible short flag subcommands.

    @@ -1113,7 +1113,7 @@
    §Examples't'])) .get_matches_from(vec!["myprog", "-t"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn visible_long_flag_aliases( +

    source

    pub fn visible_long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Add aliases, which function as visible long flag subcommands.

    @@ -1124,7 +1124,7 @@
    §Examples"testing", "testall", "test_all"])) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -

    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Command

    Set the placement of this subcommand within the help.

    +
    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Command

    Set the placement of this subcommand within the help.

    Subcommands with a lower value will be displayed first in the help message. Those with the same display order will be sorted.

    Commands are automatically assigned a display order based on the order they are added to @@ -1155,13 +1155,13 @@

    §Examples

    source

    pub fn hide(self, yes: bool) -> Command

    Specifies that this subcommand should be hidden from help messages

    +

    source

    pub fn hide(self, yes: bool) -> Command

    Specifies that this subcommand should be hidden from help messages

    §Examples
    Command::new("myprog")
         .subcommand(
             Command::new("test").hide(true)
         )
    -
    source

    pub fn subcommand_required(self, yes: bool) -> Command

    If no subcommand is present at runtime, error and exit gracefully.

    +
    source

    pub fn subcommand_required(self, yes: bool) -> Command

    If no subcommand is present at runtime, error and exit gracefully.

    §Examples
    let err = Command::new("myprog")
         .subcommand_required(true)
    @@ -1171,7 +1171,7 @@ 
    §Examplesassert!(err.is_err()); assert_eq!(err.unwrap_err().kind(), ErrorKind::MissingSubcommand);
    -
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Command

    Assume unexpected positional arguments are a subcommand.

    +
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Command

    Assume unexpected positional arguments are a subcommand.

    Arguments will be stored in the "" argument in the ArgMatches

    NOTE: Use this setting with caution, as a truly unexpected argument (i.e. one that is NOT an external subcommand) @@ -1197,7 +1197,7 @@

    §Examples_ => {}, }
    -

    source

    pub fn external_subcommand_value_parser( +

    source

    pub fn external_subcommand_value_parser( self, parser: impl IntoResettable<ValueParser>, ) -> Command

    Specifies how to parse external subcommand arguments.

    @@ -1240,7 +1240,7 @@
    §Examples_ => {}, }
    -

    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Command

    Specifies that use of an argument prevents the use of subcommands.

    +
    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Command

    Specifies that use of an argument prevents the use of subcommands.

    By default clap allows arguments between subcommands such as <cmd> [cmd_args] <subcmd> [subcmd_args] <subsubcmd> [subsubcmd_args].

    This setting disables that functionality and says that arguments can @@ -1254,7 +1254,7 @@

    §Examples§Examples
    Command::new("myprog")
         .args_conflicts_with_subcommands(true);
    -
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Command

    Prevent subcommands from being consumed as an arguments value.

    +
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Command

    Prevent subcommands from being consumed as an arguments value.

    By default, if an option taking multiple values is followed by a subcommand, the subcommand will be parsed as another value.

    cmd --foo val1 val2 subcommand
    @@ -1293,7 +1293,7 @@ 
    §Examples&["1", "2", "3"] ); assert!(matches.subcommand_matches("sub").is_some());
    -
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Command

    Allows subcommands to override all requirements of the parent command.

    +
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Command

    Allows subcommands to override all requirements of the parent command.

    For example, if you had a subcommand or top level application with a required argument that is only required as long as there is no subcommand present, using this setting would allow you to set those arguments to Arg::required(true) @@ -1322,7 +1322,7 @@

    §Examples"myprog", "test" ]); assert!(noerr.is_ok());
    -

    source

    pub fn multicall(self, yes: bool) -> Command

    Multiple-personality program dispatched on the binary name (argv[0])

    +
    source

    pub fn multicall(self, yes: bool) -> Command

    Multiple-personality program dispatched on the binary name (argv[0])

    A “multicall” executable is a single executable that contains a variety of applets, and decides which applet to run based on the name of the file. @@ -1416,7 +1416,7 @@

    §Examples// When called from a link named after an applet that applet is matched. let m = cmd.get_matches_from(&["/usr/bin/true"]); assert_eq!(m.subcommand_name(), Some("true"));
    -

    source

    pub fn subcommand_value_name( +

    source

    pub fn subcommand_value_name( self, value_name: impl IntoResettable<Str>, ) -> Command

    Sets the value name used for subcommands when printing usage and help.

    @@ -1457,7 +1457,7 @@
    §Examples

    source

    pub fn subcommand_help_heading( +

    source

    pub fn subcommand_help_heading( self, heading: impl IntoResettable<Str>, ) -> Command

    Sets the help heading used for subcommands when printing usage and help.

    @@ -1498,84 +1498,84 @@
    §Examples

    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    -
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    -
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    -
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    -
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    -
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    -
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    -
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    -
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    -
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    -
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    -
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    -
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    -
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible aliases for this subcommand.

    -
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the visible short aliases for this subcommand.

    -
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible long aliases for this subcommand.

    -
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the hidden aliases for this subcommand.

    -
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    -
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    -
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    -
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    -
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    -
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    -
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    +

    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    +
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    +
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    +
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    +
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    +
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    +
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    +
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    +
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    +
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    +
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    +
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    +
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    +
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible aliases for this subcommand.

    +
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the visible short aliases for this subcommand.

    +
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible long aliases for this subcommand.

    +
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the hidden aliases for this subcommand.

    +
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    +
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    +
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    +
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    +
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    +
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    +
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn find_subcommand_mut( +

    source

    pub fn find_subcommand_mut( &mut self, name: impl AsRef<OsStr>, ) -> Option<&mut Command>

    Find subcommand such that its name or one of aliases equals name, returning a mutable reference to the subcommand.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    -
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    -
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    -
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    -
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    +
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    +
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    +
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    +
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    +
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    If the provided argument is declared as global, the conflicts will be determined based on the propagation rules of global arguments.

    §Panics

    If the given arg contains a conflict with an argument that is unknown to this Command.

    -
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    -
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    -
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    -
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    -
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    -
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    -
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    -
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    -
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    -
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    -
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    -
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    -
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    +
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    +
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    +
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    +
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    +
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    +
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    +
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    +
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    +
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    +
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    +
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    +
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    +
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    §Example
    let cmd = clap::Command::new("raw")
         .external_subcommand_value_parser(clap::value_parser!(String));
     let value_parser = cmd.get_external_subcommand_value_parser();
     println!("{value_parser:?}");
    -
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    -
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    -

    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    +
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    +
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    +
    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    Call this on the top-level Command when done building and before reading state for cases like completions, custom help output, etc.

    -

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Command

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Command

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Command

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Command

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    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> CloneToUninit for T
    where diff --git a/clap/builder/struct.EnumValueParser.html b/clap/builder/struct.EnumValueParser.html index 91b3fbbda..c31291b56 100644 --- a/clap/builder/struct.EnumValueParser.html +++ b/clap/builder/struct.EnumValueParser.html @@ -1,4 +1,4 @@ -EnumValueParser in clap::builder - Rust

    Struct clap::builder::EnumValueParser

    source ·
    pub struct EnumValueParser<E>(/* private fields */)
    +EnumValueParser in clap::builder - Rust

    Struct clap::builder::EnumValueParser

    source ·
    pub struct EnumValueParser<E>(/* private fields */)
     where
         E: ValueEnum + Clone + Send + Sync + 'static;
    Expand description

    Parse an ValueEnum value.

    See also:

    diff --git a/clap/builder/struct.FalseyValueParser.html b/clap/builder/struct.FalseyValueParser.html index ce52ecb6d..9fbd75b0c 100644 --- a/clap/builder/struct.FalseyValueParser.html +++ b/clap/builder/struct.FalseyValueParser.html @@ -1,4 +1,4 @@ -FalseyValueParser in clap::builder - Rust

    Struct clap::builder::FalseyValueParser

    source ·
    #[non_exhaustive]
    pub struct FalseyValueParser {}
    Expand description

    Parse false-like string values, everything else is true

    +FalseyValueParser in clap::builder - Rust

    Struct clap::builder::FalseyValueParser

    source ·
    #[non_exhaustive]
    pub struct FalseyValueParser {}
    Expand description

    Parse false-like string values, everything else is true

    See also:

    -

    Trait Implementations§

    source§

    impl AsRef<OsStr> for OsStr

    source§

    fn as_ref(&self) -> &OsStr

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl AsRef<Path> for OsStr

    source§

    fn as_ref(&self) -> &Path

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Borrow<OsStr> for OsStr

    source§

    fn borrow(&self) -> &OsStr

    Immutably borrows from an owned value. Read more
    source§

    impl Clone for OsStr

    source§

    fn clone(&self) -> OsStr

    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 OsStr

    source§

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

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

    impl Default for OsStr

    source§

    fn default() -> OsStr

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

    impl Deref for OsStr

    §

    type Target = OsStr

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &OsStr

    Dereferences the value.
    source§

    impl From<&&'static OsStr> for OsStr

    source§

    fn from(name: &&'static OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&&'static str> for OsStr

    source§

    fn from(name: &&'static str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&OsStr> for OsStr

    source§

    fn from(id: &OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&'static OsStr> for OsStr

    source§

    fn from(name: &'static OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&Str> for OsStr

    source§

    fn from(id: &Str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&'static str> for OsStr

    source§

    fn from(name: &'static str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<Str> for OsStr

    source§

    fn from(id: Str) -> OsStr

    Converts to this type from the input type.
    source§

    impl Hash for OsStr

    source§

    fn hash<__H>(&self, state: &mut __H)
    where +

    Trait Implementations§

    source§

    impl AsRef<OsStr> for OsStr

    source§

    fn as_ref(&self) -> &OsStr

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl AsRef<Path> for OsStr

    source§

    fn as_ref(&self) -> &Path

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Borrow<OsStr> for OsStr

    source§

    fn borrow(&self) -> &OsStr

    Immutably borrows from an owned value. Read more
    source§

    impl Clone for OsStr

    source§

    fn clone(&self) -> OsStr

    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 OsStr

    source§

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

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

    impl Default for OsStr

    source§

    fn default() -> OsStr

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

    impl Deref for OsStr

    §

    type Target = OsStr

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &OsStr

    Dereferences the value.
    source§

    impl From<&&'static OsStr> for OsStr

    source§

    fn from(name: &&'static OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&&'static str> for OsStr

    source§

    fn from(name: &&'static str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&OsStr> for OsStr

    source§

    fn from(id: &OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&'static OsStr> for OsStr

    source§

    fn from(name: &'static OsStr) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&Str> for OsStr

    source§

    fn from(id: &Str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<&'static str> for OsStr

    source§

    fn from(name: &'static str) -> OsStr

    Converts to this type from the input type.
    source§

    impl From<Str> for OsStr

    source§

    fn from(id: Str) -> OsStr

    Converts to this type from the input type.
    source§

    impl Hash for OsStr

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl IntoResettable<OsStr> for Option<&'static str>

    source§

    fn into_resettable(self) -> Resettable<OsStr>

    Convert to the intended resettable type
    source§

    impl Ord for OsStr

    source§

    fn cmp(&self, other: &OsStr) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<&OsStr> for OsStr

    source§

    fn eq(&self, other: &&OsStr) -> 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 PartialEq<&str> for OsStr

    source§

    fn eq(&self, other: &&str) -> 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 + Self: Sized + PartialOrd,
    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<&OsStr> for OsStr

    source§

    fn eq(&self, other: &&OsStr) -> 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 PartialEq<&str> for OsStr

    source§

    fn eq(&self, other: &&str) -> 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 PartialEq<OsStr> for &OsStr

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for &str

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for &str

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for str

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<OsString> for OsStr

    source§

    fn eq(&self, other: &OsString) -> 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 PartialEq<String> for OsStr

    source§

    fn eq(&self, other: &String) -> 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 PartialEq<str> for OsStr

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<OsString> for OsStr

    source§

    fn eq(&self, other: &OsString) -> 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 PartialEq for OsStr

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<String> for OsStr

    source§

    fn eq(&self, other: &String) -> 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 PartialEq<str> for OsStr

    source§

    fn eq(&self, other: &str) -> 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 PartialEq for OsStr

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialOrd for OsStr

    source§

    fn partial_cmp(&self, other: &OsStr) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Eq for OsStr

    source§

    impl StructuralPartialEq for OsStr

    Auto Trait Implementations§

    §

    impl Freeze for OsStr

    §

    impl RefUnwindSafe for OsStr

    §

    impl Send for OsStr

    §

    impl Sync for OsStr

    §

    impl Unpin for OsStr

    §

    impl UnwindSafe for OsStr

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/clap/builder/struct.OsStringValueParser.html b/clap/builder/struct.OsStringValueParser.html index 503f7dac0..e8cec7beb 100644 --- a/clap/builder/struct.OsStringValueParser.html +++ b/clap/builder/struct.OsStringValueParser.html @@ -1,4 +1,4 @@ -OsStringValueParser in clap::builder - Rust

    Struct clap::builder::OsStringValueParser

    source ·
    #[non_exhaustive]
    pub struct OsStringValueParser {}
    Expand description

    Implementation for ValueParser::os_string

    +OsStringValueParser in clap::builder - Rust

    Struct clap::builder::OsStringValueParser

    source ·
    #[non_exhaustive]
    pub struct OsStringValueParser {}
    Expand description

    Implementation for ValueParser::os_string

    Useful for composing new TypedValueParsers

    Implementations§

    Trait Implementations§

    source§

    impl Clone for OsStringValueParser

    source§

    fn clone(&self) -> OsStringValueParser

    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 OsStringValueParser

    source§

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

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

    impl Default for OsStringValueParser

    source§

    fn default() -> OsStringValueParser

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

    impl TypedValueParser for OsStringValueParser

    §

    type Value = OsString

    Argument’s value type
    source§

    fn parse_ref( diff --git a/clap/builder/struct.PathBufValueParser.html b/clap/builder/struct.PathBufValueParser.html index e06944519..aa3e68186 100644 --- a/clap/builder/struct.PathBufValueParser.html +++ b/clap/builder/struct.PathBufValueParser.html @@ -1,4 +1,4 @@ -PathBufValueParser in clap::builder - Rust

    Struct clap::builder::PathBufValueParser

    source ·
    #[non_exhaustive]
    pub struct PathBufValueParser {}
    Expand description

    Implementation for ValueParser::path_buf

    +PathBufValueParser in clap::builder - Rust

    Struct clap::builder::PathBufValueParser

    source ·
    #[non_exhaustive]
    pub struct PathBufValueParser {}
    Expand description

    Implementation for ValueParser::path_buf

    Useful for composing new TypedValueParsers

    Implementations§

    Trait Implementations§

    source§

    impl Clone for PathBufValueParser

    source§

    fn clone(&self) -> PathBufValueParser

    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 PathBufValueParser

    source§

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

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

    impl Default for PathBufValueParser

    source§

    fn default() -> PathBufValueParser

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

    impl TypedValueParser for PathBufValueParser

    §

    type Value = PathBuf

    Argument’s value type
    source§

    fn parse_ref( diff --git a/clap/builder/struct.PossibleValue.html b/clap/builder/struct.PossibleValue.html index 886f4a38e..b23214b27 100644 --- a/clap/builder/struct.PossibleValue.html +++ b/clap/builder/struct.PossibleValue.html @@ -1,4 +1,4 @@ -PossibleValue in clap::builder - Rust

    Struct clap::builder::PossibleValue

    source ·
    pub struct PossibleValue { /* private fields */ }
    Expand description

    A possible value of an argument.

    +PossibleValue in clap::builder - Rust

    Struct clap::builder::PossibleValue

    source ·
    pub struct PossibleValue { /* private fields */ }
    Expand description

    A possible value of an argument.

    This is used for specifying possible values of Args.

    See also PossibleValuesParser

    NOTE: Most likely you can use strings, rather than PossibleValue as it is only required diff --git a/clap/builder/struct.PossibleValuesParser.html b/clap/builder/struct.PossibleValuesParser.html index c44c473c4..17f3eb468 100644 --- a/clap/builder/struct.PossibleValuesParser.html +++ b/clap/builder/struct.PossibleValuesParser.html @@ -1,4 +1,4 @@ -PossibleValuesParser in clap::builder - Rust

    Struct clap::builder::PossibleValuesParser

    source ·
    pub struct PossibleValuesParser(/* private fields */);
    Expand description

    Verify the value is from an enumerated set of PossibleValue.

    +PossibleValuesParser in clap::builder - Rust

    Struct clap::builder::PossibleValuesParser

    source ·
    pub struct PossibleValuesParser(/* private fields */);
    Expand description

    Verify the value is from an enumerated set of PossibleValue.

    See also:

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<&OsStr> for Str

    source§

    fn eq(&self, other: &&OsStr) -> 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 PartialEq<OsStr> for Str

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<Str> for &OsStr

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<&str> for Str

    source§

    fn eq(&self, other: &&str) -> 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 PartialEq<Str> for &str

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for Id

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for OsStr

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for str

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<String> for Str

    source§

    fn eq(&self, other: &String) -> 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 PartialEq<str> for Str

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<Id> for Str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq for Str

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<OsStr> for Str

    source§

    fn eq(&self, other: &OsStr) -> 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 PartialEq<Str> for &OsStr

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for &str

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for Id

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for OsStr

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<Str> for str

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<String> for Str

    source§

    fn eq(&self, other: &String) -> 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 PartialEq<str> for Str

    source§

    fn eq(&self, other: &str) -> 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 PartialEq for Str

    source§

    fn eq(&self, other: &Str) -> 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 PartialOrd for Str

    source§

    fn partial_cmp(&self, other: &Str) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Eq for Str

    source§

    impl StructuralPartialEq for Str

    Auto Trait Implementations§

    §

    impl Freeze for Str

    §

    impl RefUnwindSafe for Str

    §

    impl Send for Str

    §

    impl Sync for Str

    §

    impl Unpin for Str

    §

    impl UnwindSafe for Str

    Blanket Implementations§

    source§

    impl<T> Any for T
    where @@ -1264,10 +1264,10 @@
    §ExamplesThat is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<I> IntoResettable<Id> for I
    where - I: Into<Id>,

    source§

    fn into_resettable(self) -> Resettable<Id>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<OsStr> for I
    where - I: Into<OsStr>,

    source§

    fn into_resettable(self) -> Resettable<OsStr>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<Str> for I
    where + I: Into<Id>,

    source§

    fn into_resettable(self) -> Resettable<Id>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<OsStr> for I
    where + I: Into<OsStr>,

    source§

    fn into_resettable(self) -> Resettable<OsStr>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<Str> for I
    where I: Into<Str>,

    source§

    fn into_resettable(self) -> Resettable<Str>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<String> for I
    where - I: Into<String>,

    source§

    fn into_resettable(self) -> Resettable<String>

    Convert to the intended resettable type
    source§

    impl<T> ToOwned for T
    where + I: Into<String>,

    source§

    fn into_resettable(self) -> Resettable<String>

    Convert to the intended resettable type
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where diff --git a/clap/builder/struct.StringValueParser.html b/clap/builder/struct.StringValueParser.html index 0512d85c3..b23fd9fd8 100644 --- a/clap/builder/struct.StringValueParser.html +++ b/clap/builder/struct.StringValueParser.html @@ -1,4 +1,4 @@ -StringValueParser in clap::builder - Rust

    Struct clap::builder::StringValueParser

    source ·
    #[non_exhaustive]
    pub struct StringValueParser {}
    Expand description

    Implementation for ValueParser::string

    +StringValueParser in clap::builder - Rust

    Struct clap::builder::StringValueParser

    source ·
    #[non_exhaustive]
    pub struct StringValueParser {}
    Expand description

    Implementation for ValueParser::string

    Useful for composing new TypedValueParsers

    Implementations§

    Trait Implementations§

    source§

    impl Clone for StringValueParser

    source§

    fn clone(&self) -> StringValueParser

    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 StringValueParser

    source§

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

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

    impl Default for StringValueParser

    source§

    fn default() -> StringValueParser

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

    impl TypedValueParser for StringValueParser

    §

    type Value = String

    Argument’s value type
    source§

    fn parse_ref( diff --git a/clap/builder/struct.StyledStr.html b/clap/builder/struct.StyledStr.html index c978fbdca..e7050e0c7 100644 --- a/clap/builder/struct.StyledStr.html +++ b/clap/builder/struct.StyledStr.html @@ -1,4 +1,4 @@ -StyledStr in clap::builder - Rust

    Struct clap::builder::StyledStr

    source ·
    pub struct StyledStr(/* private fields */);
    Expand description

    Terminal-styling container

    +StyledStr in clap::builder - Rust

    Struct clap::builder::StyledStr

    source ·
    pub struct StyledStr(/* private fields */);
    Expand description

    Terminal-styling container

    Styling may be encoded as ANSI Escape Code

    §Examples

    // `cstr!` converts tags to ANSI codes
    @@ -14,7 +14,7 @@ 

    §Examples

    Implementations§

    source§

    impl StyledStr

    source

    pub const fn new() -> StyledStr

    Create an empty buffer

    source

    pub fn ansi(&self) -> impl Display

    Display using ANSI Escape Code styling

    Trait Implementations§

    source§

    impl Clone for StyledStr

    source§

    fn clone(&self) -> StyledStr

    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 StyledStr

    source§

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

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

    impl Default for &StyledStr

    source§

    fn default() -> &StyledStr

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

    impl Default for StyledStr

    source§

    fn default() -> StyledStr

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

    impl Display for StyledStr

    Color-unaware printing. Never uses coloring.

    -
    source§

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

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

    impl From<&&'static str> for StyledStr

    source§

    fn from(name: &&'static str) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<&String> for StyledStr

    source§

    fn from(name: &String) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<&'static str> for StyledStr

    source§

    fn from(name: &'static str) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<String> for StyledStr

    source§

    fn from(name: String) -> StyledStr

    Converts to this type from the input type.
    source§

    impl IntoResettable<StyledStr> for Option<&'static str>

    source§

    fn into_resettable(self) -> Resettable<StyledStr>

    Convert to the intended resettable type
    source§

    impl Ord for StyledStr

    source§

    fn cmp(&self, other: &StyledStr) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +
    source§

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

    Formats the value using the given formatter. Read more

    source§

    impl From<&&'static str> for StyledStr

    source§

    fn from(name: &&'static str) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<&String> for StyledStr

    source§

    fn from(name: &String) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<&'static str> for StyledStr

    source§

    fn from(name: &'static str) -> StyledStr

    Converts to this type from the input type.
    source§

    impl From<String> for StyledStr

    source§

    fn from(name: String) -> StyledStr

    Converts to this type from the input type.
    source§

    impl IntoResettable<StyledStr> for Option<&'static str>

    source§

    fn into_resettable(self) -> Resettable<StyledStr>

    Convert to the intended resettable type
    source§

    impl Ord for StyledStr

    source§

    fn cmp(&self, other: &StyledStr) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for StyledStr

    source§

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

    This method tests for self and other values to be equal, and is used diff --git a/clap/builder/struct.Styles.html b/clap/builder/struct.Styles.html index 23c9e06b3..bf23bed2e 100644 --- a/clap/builder/struct.Styles.html +++ b/clap/builder/struct.Styles.html @@ -1,4 +1,4 @@ -Styles in clap::builder - Rust

    Struct clap::builder::Styles

    source ·
    pub struct Styles { /* private fields */ }
    Expand description

    Terminal styling definitions

    +Styles in clap::builder - Rust

    Struct clap::builder::Styles

    source ·
    pub struct Styles { /* private fields */ }
    Expand description

    Terminal styling definitions

    See also Command::styles.

    §Example

    clap v3 styling

    @@ -25,7 +25,7 @@

    §Example

    source

    pub const fn get_placeholder(&self) -> &Style

    Descriptions within command-line syntax, e.g. value_name

    source

    pub const fn get_valid(&self) -> &Style

    Highlight suggested usage

    source

    pub const fn get_invalid(&self) -> &Style

    Highlight invalid usage

    -

    Trait Implementations§

    source§

    impl Clone for Styles

    source§

    fn clone(&self) -> Styles

    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 Styles

    source§

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

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

    impl Default for &Styles

    source§

    fn default() -> &Styles

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

    impl Default for Styles

    source§

    fn default() -> Styles

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

    Auto Trait Implementations§

    §

    impl Freeze for Styles

    §

    impl RefUnwindSafe for Styles

    §

    impl Send for Styles

    §

    impl Sync for Styles

    §

    impl Unpin for Styles

    §

    impl UnwindSafe for Styles

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Styles

    source§

    fn clone(&self) -> Styles

    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 Styles

    source§

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

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

    impl Default for &Styles

    source§

    fn default() -> &Styles

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

    impl Default for Styles

    source§

    fn default() -> Styles

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

    Auto Trait Implementations§

    §

    impl Freeze for Styles

    §

    impl RefUnwindSafe for Styles

    §

    impl Send for Styles

    §

    impl Sync for Styles

    §

    impl Unpin for Styles

    §

    impl UnwindSafe for Styles

    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> CloneToUninit for T
    where diff --git a/clap/builder/struct.TryMapValueParser.html b/clap/builder/struct.TryMapValueParser.html index 6edf9fdb5..2e1679b4d 100644 --- a/clap/builder/struct.TryMapValueParser.html +++ b/clap/builder/struct.TryMapValueParser.html @@ -1,4 +1,4 @@ -TryMapValueParser in clap::builder - Rust

    Struct clap::builder::TryMapValueParser

    source ·
    pub struct TryMapValueParser<P, F> { /* private fields */ }
    Expand description

    Adapt a TypedValueParser from one value to another

    +TryMapValueParser in clap::builder - Rust

    Struct clap::builder::TryMapValueParser

    source ·
    pub struct TryMapValueParser<P, F> { /* private fields */ }
    Expand description

    Adapt a TypedValueParser from one value to another

    See TypedValueParser::try_map

    Trait Implementations§

    source§

    impl<P, F> Clone for TryMapValueParser<P, F>
    where P: Clone, diff --git a/clap/builder/struct.UnknownArgumentValueParser.html b/clap/builder/struct.UnknownArgumentValueParser.html index 8616378ec..6593a1fe5 100644 --- a/clap/builder/struct.UnknownArgumentValueParser.html +++ b/clap/builder/struct.UnknownArgumentValueParser.html @@ -1,4 +1,4 @@ -UnknownArgumentValueParser in clap::builder - Rust

    Struct clap::builder::UnknownArgumentValueParser

    source ·
    pub struct UnknownArgumentValueParser { /* private fields */ }
    Expand description

    When encountered, report ErrorKind::UnknownArgument

    +UnknownArgumentValueParser in clap::builder - Rust

    Struct clap::builder::UnknownArgumentValueParser

    source ·
    pub struct UnknownArgumentValueParser { /* private fields */ }
    Expand description

    When encountered, report ErrorKind::UnknownArgument

    Useful to help users migrate, either from old versions or similar tools.

    §Examples

    let cmd = Command::new("mycmd")
    diff --git a/clap/builder/struct.ValueParser.html b/clap/builder/struct.ValueParser.html
    index e3bd0fadb..ced18e7ab 100644
    --- a/clap/builder/struct.ValueParser.html
    +++ b/clap/builder/struct.ValueParser.html
    @@ -1,4 +1,4 @@
    -ValueParser in clap::builder - Rust

    Struct clap::builder::ValueParser

    source ·
    pub struct ValueParser(/* private fields */);
    Expand description

    Parse/validate argument values

    +ValueParser in clap::builder - Rust

    Struct clap::builder::ValueParser

    source ·
    pub struct ValueParser(/* private fields */);
    Expand description

    Parse/validate argument values

    Specified with Arg::value_parser.

    ValueParser defines how to convert a raw argument value into a validated and typed value for use within an application.

    @@ -158,7 +158,7 @@
    §Example
    P: Into<PossibleValue>,

    Create a ValueParser with PossibleValuesParser

    See PossibleValuesParser for more flexibility in creating the PossibleValues.

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("color")
    @@ -174,7 +174,7 @@ 

    §Examples

    let color: &String = m.get_one("color") .expect("default"); assert_eq!(color, "never");
    -
    source§

    fn from(values: [P; C]) -> ValueParser

    Converts to this type from the input type.
    source§

    impl<P> From<P> for ValueParser
    where +
    source§

    fn from(values: [P; C]) -> ValueParser

    Converts to this type from the input type.

    source§

    impl<P> From<P> for ValueParser
    where P: TypedValueParser + Send + Sync + 'static,

    Convert a TypedValueParser to ValueParser

    §Example

    let mut cmd = clap::Command::new("raw")
    @@ -193,10 +193,10 @@ 

    §Example

    let hostname: &String = m.get_one("hostname") .expect("required"); assert_eq!(hostname, "rust-lang.org");
    -
    source§

    fn from(p: P) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<Range<i64>> for ValueParser

    Create an i64 ValueParser from a N..M range

    +
    source§

    fn from(p: P) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<Range<i64>> for ValueParser

    Create an i64 ValueParser from a N..M range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -210,10 +210,10 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
    -
    source§

    fn from(value: Range<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeFrom<i64>> for ValueParser

    Create an i64 ValueParser from a N.. range

    +
    source§

    fn from(value: Range<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeFrom<i64>> for ValueParser

    Create an i64 ValueParser from a N.. range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -227,10 +227,10 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
    -
    source§

    fn from(value: RangeFrom<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeFull> for ValueParser

    Create an i64 ValueParser from a .. range

    +
    source§

    fn from(value: RangeFrom<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeFull> for ValueParser

    Create an i64 ValueParser from a .. range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -244,10 +244,10 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
    -
    source§

    fn from(value: RangeFull) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeInclusive<i64>> for ValueParser

    Create an i64 ValueParser from a N..=M range

    +
    source§

    fn from(value: RangeFull) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeInclusive<i64>> for ValueParser

    Create an i64 ValueParser from a N..=M range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -261,10 +261,10 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
    -
    source§

    fn from(value: RangeInclusive<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeTo<i64>> for ValueParser

    Create an i64 ValueParser from a ..M range

    +
    source§

    fn from(value: RangeInclusive<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeTo<i64>> for ValueParser

    Create an i64 ValueParser from a ..M range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -278,10 +278,10 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 80);
    -
    source§

    fn from(value: RangeTo<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeToInclusive<i64>> for ValueParser

    Create an i64 ValueParser from a ..=M range

    +
    source§

    fn from(value: RangeTo<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl From<RangeToInclusive<i64>> for ValueParser

    Create an i64 ValueParser from a ..=M range

    See RangedI64ValueParser for more control over the output type.

    See also RangedU64ValueParser

    -

    §Examples

    +

    §Examples

    let mut cmd = clap::Command::new("raw")
         .arg(
             clap::Arg::new("port")
    @@ -295,7 +295,7 @@ 

    §Examples

    let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 80);
    -
    source§

    fn from(value: RangeToInclusive<i64>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl<P> From<Vec<P>> for ValueParser
    where +
    source§

    fn from(value: RangeToInclusive<i64>) -> ValueParser

    Converts to this type from the input type.

    source§

    impl<P> From<Vec<P>> for ValueParser
    where P: Into<PossibleValue>,

    Create a ValueParser with PossibleValuesParser

    See PossibleValuesParser for more flexibility in creating the PossibleValues.

    @@ -316,7 +316,7 @@

    §Examples

    let color: &String = m.get_one("color") .expect("default"); assert_eq!(color, "never");
    -
    source§

    fn from(values: Vec<P>) -> ValueParser

    Converts to this type from the input type.
    source§

    impl IntoResettable<ValueParser> for Option<ValueParser>

    source§

    fn into_resettable(self) -> Resettable<ValueParser>

    Convert to the intended resettable type

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    source§

    fn from(values: Vec<P>) -> ValueParser

    Converts to this type from the input type.

    source§

    impl IntoResettable<ValueParser> for Option<ValueParser>

    source§

    fn into_resettable(self) -> Resettable<ValueParser>

    Convert to the intended resettable type

    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> CloneToUninit for T
    where diff --git a/clap/builder/struct.ValueRange.html b/clap/builder/struct.ValueRange.html index ad3426ddf..4d77826a7 100644 --- a/clap/builder/struct.ValueRange.html +++ b/clap/builder/struct.ValueRange.html @@ -1,4 +1,4 @@ -ValueRange in clap::builder - Rust

    Struct clap::builder::ValueRange

    source ·
    pub struct ValueRange { /* private fields */ }
    Expand description

    Values per occurrence for an argument

    +ValueRange in clap::builder - Rust

    Struct clap::builder::ValueRange

    source ·
    pub struct ValueRange { /* private fields */ }
    Expand description

    Values per occurrence for an argument

    Implementations§

    source§

    impl ValueRange

    source

    pub const EMPTY: ValueRange = _

    Nor argument values, or a flag

    source

    pub const SINGLE: ValueRange = _

    A single argument value, the most common case for options

    source

    pub fn new(range: impl Into<ValueRange>) -> ValueRange

    Create a range

    @@ -23,7 +23,7 @@
    §Examples
    let range = ValueRange::new(0); assert!(!range.takes_values());
    -

    Trait Implementations§

    source§

    impl Clone for ValueRange

    source§

    fn clone(&self) -> ValueRange

    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 ValueRange

    source§

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

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

    impl Default for ValueRange

    source§

    fn default() -> ValueRange

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

    impl Display for ValueRange

    source§

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

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

    impl From<Range<usize>> for ValueRange

    source§

    fn from(range: Range<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeFrom<usize>> for ValueRange

    source§

    fn from(range: RangeFrom<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeFull> for ValueRange

    source§

    fn from(_: RangeFull) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeInclusive<usize>> for ValueRange

    source§

    fn from(range: RangeInclusive<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeTo<usize>> for ValueRange

    source§

    fn from(range: RangeTo<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeToInclusive<usize>> for ValueRange

    source§

    fn from(range: RangeToInclusive<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<usize> for ValueRange

    source§

    fn from(fixed: usize) -> ValueRange

    Converts to this type from the input type.
    source§

    impl Hash for ValueRange

    source§

    fn hash<__H>(&self, state: &mut __H)
    where +

    Trait Implementations§

    source§

    impl Clone for ValueRange

    source§

    fn clone(&self) -> ValueRange

    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 ValueRange

    source§

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

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

    impl Default for ValueRange

    source§

    fn default() -> ValueRange

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

    impl Display for ValueRange

    source§

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

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

    impl From<Range<usize>> for ValueRange

    source§

    fn from(range: Range<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeFrom<usize>> for ValueRange

    source§

    fn from(range: RangeFrom<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeFull> for ValueRange

    source§

    fn from(_: RangeFull) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeInclusive<usize>> for ValueRange

    source§

    fn from(range: RangeInclusive<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeTo<usize>> for ValueRange

    source§

    fn from(range: RangeTo<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<RangeToInclusive<usize>> for ValueRange

    source§

    fn from(range: RangeToInclusive<usize>) -> ValueRange

    Converts to this type from the input type.
    source§

    impl From<usize> for ValueRange

    source§

    fn from(fixed: usize) -> ValueRange

    Converts to this type from the input type.
    source§

    impl Hash for ValueRange

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ValueRange

    source§

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

    This method tests for self and other values to be equal, and is used diff --git a/clap/builder/styling/enum.AnsiColor.html b/clap/builder/styling/enum.AnsiColor.html index 619f23d41..67bf41f58 100644 --- a/clap/builder/styling/enum.AnsiColor.html +++ b/clap/builder/styling/enum.AnsiColor.html @@ -1,4 +1,4 @@ -AnsiColor in clap::builder::styling - Rust

    Enum clap::builder::styling::AnsiColor

    source ·
    #[repr(u8)]
    pub enum AnsiColor { +AnsiColor in clap::builder::styling - Rust

    Enum clap::builder::styling::AnsiColor

    source ·
    #[repr(u8)]
    pub enum AnsiColor {
    Show 16 variants Black = 0, Red = 1, Green = 2, diff --git a/clap/builder/styling/enum.Color.html b/clap/builder/styling/enum.Color.html index 051c974ed..fb06f229d 100644 --- a/clap/builder/styling/enum.Color.html +++ b/clap/builder/styling/enum.Color.html @@ -1,4 +1,4 @@ -Color in clap::builder::styling - Rust

    Enum clap::builder::styling::Color

    source ·
    pub enum Color {
    +Color in clap::builder::styling - Rust

    Enum clap::builder::styling::Color

    source ·
    pub enum Color {
         Ansi(AnsiColor),
         Ansi256(Ansi256Color),
         Rgb(RgbColor),
    diff --git a/clap/builder/styling/index.html b/clap/builder/styling/index.html
    index 2512d39ad..c0a36410d 100644
    --- a/clap/builder/styling/index.html
    +++ b/clap/builder/styling/index.html
    @@ -1,2 +1,2 @@
    -clap::builder::styling - Rust

    Module clap::builder::styling

    source ·
    Expand description

    Terminal Styles for help and error output

    +clap::builder::styling - Rust

    Module clap::builder::styling

    source ·
    Expand description

    Terminal Styles for help and error output

    Structs§

    Enums§

    • Available 4-bit ANSI color palette codes
    • Any ANSI color code scheme
    \ No newline at end of file diff --git a/clap/builder/styling/struct.Ansi256Color.html b/clap/builder/styling/struct.Ansi256Color.html index b051cd37f..6b59aa70a 100644 --- a/clap/builder/styling/struct.Ansi256Color.html +++ b/clap/builder/styling/struct.Ansi256Color.html @@ -1,4 +1,4 @@ -Ansi256Color in clap::builder::styling - Rust

    Struct clap::builder::styling::Ansi256Color

    source ·
    #[repr(transparent)]
    pub struct Ansi256Color(pub u8);
    Expand description

    256 (8-bit) color support

    +Ansi256Color in clap::builder::styling - Rust

    Struct clap::builder::styling::Ansi256Color

    source ·
    #[repr(transparent)]
    pub struct Ansi256Color(pub u8);
    Expand description

    256 (8-bit) color support

    §Aspirations

    diff --git a/clap/macro.arg.html b/clap/macro.arg.html index b4cad88b8..ad940d5fa 100644 --- a/clap/macro.arg.html +++ b/clap/macro.arg.html @@ -1,4 +1,4 @@ -arg in clap - Rust

    Macro clap::arg

    source ·
    macro_rules! arg {
    +arg in clap - Rust

    Macro clap::arg

    source ·
    macro_rules! arg {
         ( $name:ident: $($tail:tt)+ ) => { ... };
         ( $($tail:tt)+ ) => { ... };
     }
    Expand description

    Create an Arg from a usage string.

    diff --git a/clap/macro.command.html b/clap/macro.command.html index 8ef6a55f8..ca1ecd851 100644 --- a/clap/macro.command.html +++ b/clap/macro.command.html @@ -1,4 +1,4 @@ -command in clap - Rust

    Macro clap::command

    source ·
    macro_rules! command {
    +command in clap - Rust

    Macro clap::command

    source ·
    macro_rules! command {
         () => { ... };
         ($name:expr) => { ... };
     }
    Expand description

    Requires cargo feature flag to be enabled.

    diff --git a/clap/macro.value_parser.html b/clap/macro.value_parser.html index 27cf3c4bc..0cb86d0b4 100644 --- a/clap/macro.value_parser.html +++ b/clap/macro.value_parser.html @@ -1,4 +1,4 @@ -value_parser in clap - Rust

    Macro clap::value_parser

    source ·
    macro_rules! value_parser {
    +value_parser in clap - Rust

    Macro clap::value_parser

    source ·
    macro_rules! value_parser {
         ($name:ty) => { ... };
     }
    Expand description

    Select a ValueParser implementation from the intended type

    Supported types

    diff --git a/clap/parser/enum.MatchesError.html b/clap/parser/enum.MatchesError.html index ebaa85219..75fb83766 100644 --- a/clap/parser/enum.MatchesError.html +++ b/clap/parser/enum.MatchesError.html @@ -1,4 +1,4 @@ -MatchesError in clap::parser - Rust

    Enum clap::parser::MatchesError

    source ·
    #[non_exhaustive]
    pub enum MatchesError { +MatchesError in clap::parser - Rust

    Enum clap::parser::MatchesError

    source ·
    #[non_exhaustive]
    pub enum MatchesError { Downcast { actual: AnyValueId, expected: AnyValueId, diff --git a/clap/parser/enum.ValueSource.html b/clap/parser/enum.ValueSource.html index bbb5eaaf2..39dac4dc3 100644 --- a/clap/parser/enum.ValueSource.html +++ b/clap/parser/enum.ValueSource.html @@ -1,4 +1,4 @@ -ValueSource in clap::parser - Rust

    Enum clap::parser::ValueSource

    source ·
    #[non_exhaustive]
    pub enum ValueSource { +ValueSource in clap::parser - Rust

    Enum clap::parser::ValueSource

    source ·
    #[non_exhaustive]
    pub enum ValueSource { DefaultValue, EnvVariable, CommandLine, diff --git a/clap/parser/index.html b/clap/parser/index.html index 13d796f2f..2449917fa 100644 --- a/clap/parser/index.html +++ b/clap/parser/index.html @@ -1,2 +1,2 @@ -clap::parser - Rust

    Module clap::parser

    source ·
    Expand description

    Command line argument parser

    +clap::parser - Rust

    Module clap::parser

    source ·
    Expand description

    Command line argument parser

    Structs§

    Enums§

    \ No newline at end of file diff --git a/clap/parser/struct.ArgMatches.html b/clap/parser/struct.ArgMatches.html index d1b0d5c83..eff5397e6 100644 --- a/clap/parser/struct.ArgMatches.html +++ b/clap/parser/struct.ArgMatches.html @@ -1,4 +1,4 @@ -ArgMatches in clap::parser - Rust

    Struct clap::parser::ArgMatches

    source ·
    pub struct ArgMatches { /* private fields */ }
    Expand description

    Container for parse results.

    +ArgMatches in clap::parser - Rust

    Struct clap::parser::ArgMatches

    source ·
    pub struct ArgMatches { /* private fields */ }
    Expand description

    Container for parse results.

    Used to get information about the arguments that were supplied to the program at runtime by the user. New instances of this struct are obtained by using the Command::get_matches family of methods.

    diff --git a/clap/parser/struct.IdsRef.html b/clap/parser/struct.IdsRef.html index 1ac4e0d6d..c90106423 100644 --- a/clap/parser/struct.IdsRef.html +++ b/clap/parser/struct.IdsRef.html @@ -1,4 +1,4 @@ -IdsRef in clap::parser - Rust

    Struct clap::parser::IdsRef

    source ·
    pub struct IdsRef<'a> { /* private fields */ }
    Expand description

    Iterate over Arg and ArgGroup Ids via ArgMatches::ids.

    +IdsRef in clap::parser - Rust

    Struct clap::parser::IdsRef

    source ·
    pub struct IdsRef<'a> { /* private fields */ }
    Expand description

    Iterate over Arg and ArgGroup Ids via ArgMatches::ids.

    §Examples

    
     let m = Command::new("myprog")
    diff --git a/clap/parser/struct.Indices.html b/clap/parser/struct.Indices.html
    index 4ecee3085..43ca8f8de 100644
    --- a/clap/parser/struct.Indices.html
    +++ b/clap/parser/struct.Indices.html
    @@ -1,4 +1,4 @@
    -Indices in clap::parser - Rust

    Struct clap::parser::Indices

    source ·
    pub struct Indices<'a> { /* private fields */ }
    Expand description

    Iterate over indices for where an argument appeared when parsing, via ArgMatches::indices_of

    +Indices in clap::parser - Rust

    Struct clap::parser::Indices

    source ·
    pub struct Indices<'a> { /* private fields */ }
    Expand description

    Iterate over indices for where an argument appeared when parsing, via ArgMatches::indices_of

    §Examples

    let m = Command::new("myapp")
         .arg(Arg::new("output")
    diff --git a/clap/parser/struct.RawValues.html b/clap/parser/struct.RawValues.html
    index 67c0256b7..844fc5201 100644
    --- a/clap/parser/struct.RawValues.html
    +++ b/clap/parser/struct.RawValues.html
    @@ -1,4 +1,4 @@
    -RawValues in clap::parser - Rust

    Struct clap::parser::RawValues

    source ·
    pub struct RawValues<'a> { /* private fields */ }
    Expand description

    Iterate over raw argument values via ArgMatches::get_raw.

    +RawValues in clap::parser - Rust

    Struct clap::parser::RawValues

    source ·
    pub struct RawValues<'a> { /* private fields */ }
    Expand description

    Iterate over raw argument values via ArgMatches::get_raw.

    §Examples

    use std::ffi::OsString;
     use std::os::unix::ffi::{OsStrExt,OsStringExt};
    diff --git a/clap/parser/struct.Values.html b/clap/parser/struct.Values.html
    index 343acd906..17a6abeb8 100644
    --- a/clap/parser/struct.Values.html
    +++ b/clap/parser/struct.Values.html
    @@ -1,4 +1,4 @@
    -Values in clap::parser - Rust

    Struct clap::parser::Values

    source ·
    pub struct Values<T> { /* private fields */ }
    Expand description

    Iterate over multiple values for an argument via ArgMatches::remove_many.

    +Values in clap::parser - Rust

    Struct clap::parser::Values

    source ·
    pub struct Values<T> { /* private fields */ }
    Expand description

    Iterate over multiple values for an argument via ArgMatches::remove_many.

    §Examples

    let mut m = Command::new("myapp")
         .arg(Arg::new("output")
    diff --git a/clap/parser/struct.ValuesRef.html b/clap/parser/struct.ValuesRef.html
    index 297d38c5c..016cdd589 100644
    --- a/clap/parser/struct.ValuesRef.html
    +++ b/clap/parser/struct.ValuesRef.html
    @@ -1,4 +1,4 @@
    -ValuesRef in clap::parser - Rust

    Struct clap::parser::ValuesRef

    source ·
    pub struct ValuesRef<'a, T> { /* private fields */ }
    Expand description

    Iterate over multiple values for an argument via ArgMatches::get_many.

    +ValuesRef in clap::parser - Rust

    Struct clap::parser::ValuesRef

    source ·
    pub struct ValuesRef<'a, T> { /* private fields */ }
    Expand description

    Iterate over multiple values for an argument via ArgMatches::get_many.

    §Examples

    let m = Command::new("myapp")
         .arg(Arg::new("output")
    diff --git a/clap/struct.Arg.html b/clap/struct.Arg.html
    index 57e5004a6..e6db95e4d 100644
    --- a/clap/struct.Arg.html
    +++ b/clap/struct.Arg.html
    @@ -1,4 +1,4 @@
    -Arg in clap - Rust

    Struct clap::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and +Arg in clap - Rust

    Struct clap::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and relationships that define a valid argument for the program.

    There are two methods for constructing Args, using the builder pattern and setting options manually, or using a usage string which is far less verbose but has fewer options. You can also diff --git a/clap/struct.ArgGroup.html b/clap/struct.ArgGroup.html index 57956af61..c71a67de2 100644 --- a/clap/struct.ArgGroup.html +++ b/clap/struct.ArgGroup.html @@ -1,4 +1,4 @@ -ArgGroup in clap - Rust

    Struct clap::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    +ArgGroup in clap - Rust

    Struct clap::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    By placing arguments in a logical group, you can create easier requirement and exclusion rules instead of having to list each argument individually, or when you want a rule to apply “any but not all” arguments.

    diff --git a/clap/struct.ArgMatches.html b/clap/struct.ArgMatches.html index 6b1f81e6f..55021c7b8 100644 --- a/clap/struct.ArgMatches.html +++ b/clap/struct.ArgMatches.html @@ -1,4 +1,4 @@ -ArgMatches in clap - Rust

    Struct clap::ArgMatches

    source ·
    pub struct ArgMatches { /* private fields */ }
    Expand description

    Container for parse results.

    +ArgMatches in clap - Rust

    Struct clap::ArgMatches

    source ·
    pub struct ArgMatches { /* private fields */ }
    Expand description

    Container for parse results.

    Used to get information about the arguments that were supplied to the program at runtime by the user. New instances of this struct are obtained by using the Command::get_matches family of methods.

    diff --git a/clap/struct.Command.html b/clap/struct.Command.html index abd267b3b..60485762e 100644 --- a/clap/struct.Command.html +++ b/clap/struct.Command.html @@ -1,4 +1,4 @@ -Command in clap - Rust

    Struct clap::Command

    source ·
    pub struct Command { /* private fields */ }
    Expand description

    Build a command-line interface.

    +Command in clap - Rust

    Struct clap::Command

    source ·
    pub struct Command { /* private fields */ }
    Expand description

    Build a command-line interface.

    This includes defining arguments, subcommands, parser behavior, and help output. Once all configuration is complete, the Command::get_matches family of methods starts the runtime-parsing @@ -27,14 +27,14 @@

    §Examples

    .get_matches(); // Your program logic starts here...
    -

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Command

    Creates a new instance of an Command.

    +

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Command

    Creates a new instance of an Command.

    It is common, but not required, to use binary name as the name. This name will only be displayed to the user when they request to print version or help and usage information.

    See also command! and crate_name!.

    §Examples
    Command::new("My Program")
    -
    source

    pub fn arg(self, a: impl Into<Arg>) -> Command

    Adds an argument to the list of valid possibilities.

    +
    source

    pub fn arg(self, a: impl Into<Arg>) -> Command

    Adds an argument to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         // Adding a single "flag" argument with a short and help text, using Arg::new()
    @@ -48,14 +48,14 @@ 
    §Examples
    .arg( arg!(-c --config <CONFIG> "Optionally sets a config file to use") )
    -
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Command

    Adds multiple arguments to the list of valid possibilities.

    +
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Command

    Adds multiple arguments to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         .args([
             arg!(-d --debug "turns on debugging info"),
             Arg::new("input").help("the input file to use")
         ])
    -
    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(Arg) -> Arg,

    Allows one to mutate an Arg after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -76,7 +76,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "-B"]); assert!(res.is_ok());
    -
    source

    pub fn mut_args<F>(self, f: F) -> Command
    where +

    source

    pub fn mut_args<F>(self, f: F) -> Command
    where F: FnMut(Arg) -> Arg,

    Allows one to mutate all Args after they’ve been added to a Command.

    This does not affect the built-in --help or --version arguments.

    §Examples
    @@ -105,7 +105,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "--prefix-bar"]); assert!(res.is_ok());
    -
    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(ArgGroup) -> ArgGroup,

    Allows one to mutate an ArgGroup after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -120,7 +120,7 @@
    §Examples
    .args(["set-ver", "major", "minor","patch"]) .required(true)) .mut_group("vers", |a| a.required(false));
    -
    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Command
    where +

    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Command
    where F: FnOnce(Command) -> Command,

    Allows one to mutate a Command after it’s been added as a subcommand.

    This can be useful for modifying auto-generated arguments of nested subcommands with Command::mut_arg.

    @@ -140,7 +140,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "bar"]); assert!(res.is_ok());
    -
    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Command

    Adds an ArgGroup to the application.

    +
    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Command

    Adds an ArgGroup to the application.

    ArgGroups are a family of related arguments. By placing them in a logical group, you can build easier requirement and exclusion rules.

    Example use cases:

    @@ -165,7 +165,7 @@
    §Examples
    .group(ArgGroup::new("vers") .args(["set-ver", "major", "minor","patch"]) .required(true))
    -
    source

    pub fn groups( +

    source

    pub fn groups( self, groups: impl IntoIterator<Item = impl Into<ArgGroup>>, ) -> Command

    Adds multiple ArgGroups to the Command at once.

    @@ -184,7 +184,7 @@
    §Examples
    ArgGroup::new("input") .args(["c", "i"]) ])
    -
    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Command

    Adds a subcommand to the list of valid possibilities.

    +
    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Command

    Adds a subcommand to the list of valid possibilities.

    Subcommands are effectively sub-Commands, because they can contain their own arguments, subcommands, version, usage, etc. They also function just like Commands, in that they get their own auto generated help, version, and usage.

    @@ -198,7 +198,7 @@
    §Examples"config") .about("Controls configuration features") .arg(arg!(<config> "Required configuration file to use")))
    -
    source

    pub fn subcommands( +

    source

    pub fn subcommands( self, subcmds: impl IntoIterator<Item = impl Into<Command>>, ) -> Command

    Adds multiple subcommands to the list of valid possibilities.

    @@ -207,7 +207,7 @@
    §Examples"config").about("Controls configuration functionality") .arg(Arg::new("config_file")), Command::new("debug").about("Controls debug functionality")])
    -
    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Command

    Delay initialization for parts of the Command

    +
    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Command

    Delay initialization for parts of the Command

    This is useful for large applications to delay definitions of subcommands until they are being invoked.

    §Examples
    @@ -218,7 +218,7 @@
    §Examplesarg!(<config> "Required configuration file to use")) }) )
    -
    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    +
    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    Most error states are handled as asserts under the assumption they are programming mistake and not something to handle at runtime. Rather than relying on tests (manual or automated) that exhaustively test your CLI to ensure the asserts are evaluated, this will run those @@ -242,18 +242,18 @@

    §Exampleslet m = cmd().get_matches_from(vec!["foo", "-b"]); println!("{}", m.get_flag("bar")); }
    -
    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    +
    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    §Examples
    let mut cmd = Command::new("myprog");
     let err = cmd.error(ErrorKind::InvalidValue, "Some failure case");
    -
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    §Examples
    let matches = Command::new("myprog")
         // Args and options go here...
         .get_matches();
    -
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    Like Command::get_matches but doesn’t consume the Command.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    @@ -262,7 +262,7 @@
    §Examples// Args and options go here... ; let matches = cmd.get_matches_mut();
    -

    source

    pub fn try_get_matches(self) -> Result<ArgMatches, Error>

    Parse env::args_os, returning a clap::Result on failure.

    +
    source

    pub fn try_get_matches(self) -> Result<ArgMatches, Error>

    Parse env::args_os, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are used. It will return a clap::Error, where the kind is a ErrorKind::DisplayHelp or ErrorKind::DisplayVersion respectively. You must call @@ -274,7 +274,7 @@

    §Examples// Args and options go here... .try_get_matches() .unwrap_or_else(|e| e.exit());
    -

    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where +

    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, exiting on failure.

    NOTE: The first argument will be parsed as the binary name unless @@ -287,7 +287,7 @@

    §Exampleslet matches = Command::new("myprog") // Args and options go here... .get_matches_from(arg_vec);
    -
    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> Result<ArgMatches, Error>
    where +

    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> Result<ArgMatches, Error>
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are @@ -305,7 +305,7 @@

    §Examples// Args and options go here... .try_get_matches_from(arg_vec) .unwrap_or_else(|e| e.exit());
    -
    source

    pub fn try_get_matches_from_mut<I, T>( +

    source

    pub fn try_get_matches_from_mut<I, T>( &mut self, itr: I, ) -> Result<ArgMatches, Error>
    where @@ -327,17 +327,17 @@
    §Examples// Args and options go here... let matches = cmd.try_get_matches_from_mut(arg_vec) .unwrap_or_else(|e| e.exit());
    -

    source

    pub fn print_help(&mut self) -> Result<(), Error>

    Prints the short help message (-h) to io::stdout().

    +
    source

    pub fn print_help(&mut self) -> Result<(), Error>

    Prints the short help message (-h) to io::stdout().

    See also Command::print_long_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_help();
    -
    source

    pub fn print_long_help(&mut self) -> Result<(), Error>

    Prints the long help message (--help) to io::stdout().

    +
    source

    pub fn print_long_help(&mut self) -> Result<(), Error>

    Prints the long help message (--help) to io::stdout().

    See also Command::print_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_long_help();
    -
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    +
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    See also Command::render_long_help.

    §Examples
    use std::io;
    @@ -345,7 +345,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_help(); println!("{help}");
    -
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    +
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    See also Command::render_help.

    §Examples
    use std::io;
    @@ -353,7 +353,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_long_help(); println!("{help}");
    -
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    +
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    See also Command::render_long_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -361,7 +361,7 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_version());
    -
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    +
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    See also Command::render_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -369,15 +369,15 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_long_version());
    -
    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    +
    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    §Examples
    use std::io;
     let mut cmd = Command::new("myprog");
     println!("{}", cmd.render_usage());
    -

    source§

    impl Command

    §Application-wide Settings

    +

    source§

    impl Command

    §Application-wide Settings

    These settings will apply to the top-level command and all subcommands, by default. Some settings can be overridden in subcommands.

    -
    source

    pub fn no_binary_name(self, yes: bool) -> Command

    Specifies that the parser should not assume the first argument passed is the binary name.

    +
    source

    pub fn no_binary_name(self, yes: bool) -> Command

    Specifies that the parser should not assume the first argument passed is the binary name.

    This is normally the case when using a “daemon” style mode. For shells / REPLs, see Command::multicall.

    §Examples
    @@ -388,7 +388,7 @@
    §Exampleslet cmds: Vec<_> = m.get_many::<String>("cmd").unwrap().collect(); assert_eq!(cmds, ["command", "set"]);
    -
    source

    pub fn ignore_errors(self, yes: bool) -> Command

    Try not to fail on parse errors, like missing option values.

    +
    source

    pub fn ignore_errors(self, yes: bool) -> Command

    Try not to fail on parse errors, like missing option values.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let cmd = Command::new("cmd")
    @@ -404,13 +404,13 @@ 
    §Examplesassert_eq!(m.get_one::<String>("config").unwrap(), "file"); assert!(m.get_flag("f")); assert_eq!(m.get_one::<String>("stuff"), None);
    -
    source

    pub fn args_override_self(self, yes: bool) -> Command

    Replace prior occurrences of arguments rather than error

    +
    source

    pub fn args_override_self(self, yes: bool) -> Command

    Replace prior occurrences of arguments rather than error

    For any argument that would conflict with itself by default (e.g. ArgAction::Set, it will now override itself.

    This is the equivalent to saying the foo arg using Arg::overrides_with("foo") for all defined arguments.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Command

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg +

    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Command

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg was used.

    NOTE: The same thing can be done manually by setting the final positional argument to Arg::value_delimiter(None). Using this setting is safer, because it’s easier to locate @@ -420,7 +420,7 @@

    §Examples
    Command::new("myprog")
         .dont_delimit_trailing_values(true)
         .get_matches();
    -
    source

    pub fn color(self, color: ColorChoice) -> Command

    Sets when to color output.

    +
    source

    pub fn color(self, color: ColorChoice) -> Command

    Sets when to color output.

    To customize how the output is styled, see Command::styles.

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is ColorChoice::Auto.

    @@ -428,7 +428,7 @@
    §Examples
    Command::new("myprog")
         .color(ColorChoice::Never)
         .get_matches();
    -
    source

    pub fn styles(self, styles: Styles) -> Command

    Sets the Styles for terminal output

    +
    source

    pub fn styles(self, styles: Styles) -> Command

    Sets the Styles for terminal output

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is Styles::default.

    §Examples
    @@ -440,7 +440,7 @@
    §Examples"myprog") .styles(STYLES) .get_matches();
    -
    source

    pub fn term_width(self, width: usize) -> Command

    Sets the terminal width at which to wrap help messages.

    +
    source

    pub fn term_width(self, width: usize) -> Command

    Sets the terminal width at which to wrap help messages.

    Using 0 will ignore terminal widths and use source formatting.

    Defaults to current terminal width when wrap_help feature flag is enabled. If current width cannot be determined, the default is 100.

    @@ -451,7 +451,7 @@
    §Examples§Examples
    Command::new("myprog")
         .term_width(80)
    -
    source

    pub fn max_term_width(self, width: usize) -> Command

    Limit the line length for wrapping help when using the current terminal’s width.

    +
    source

    pub fn max_term_width(self, width: usize) -> Command

    Limit the line length for wrapping help when using the current terminal’s width.

    This only applies when term_width is unset so that the current terminal’s width will be used. See Command::term_width for more details.

    Using 0 will ignore this, always respecting Command::term_width (default).

    @@ -461,7 +461,7 @@
    §Examples§Examples
    Command::new("myprog")
         .max_term_width(100)
    -
    source

    pub fn disable_version_flag(self, yes: bool) -> Command

    Disables -V and --version flag.

    +
    source

    pub fn disable_version_flag(self, yes: bool) -> Command

    Disables -V and --version flag.

    §Examples
    let res = Command::new("myprog")
         .version("1.0.0")
    @@ -495,7 +495,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayVersion);
    -
    source

    pub fn propagate_version(self, yes: bool) -> Command

    Specifies to use the version of the current command for all subcommands.

    +
    source

    pub fn propagate_version(self, yes: bool) -> Command

    Specifies to use the version of the current command for all subcommands.

    Defaults to false; subcommands have independent version strings from their parents.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    @@ -506,13 +506,13 @@
    §Examples// running `$ myprog test --version` will display // "myprog-test v1.1"
    -

    source

    pub fn next_line_help(self, yes: bool) -> Command

    Places the help string for all arguments and subcommands on the line after them.

    +
    source

    pub fn next_line_help(self, yes: bool) -> Command

    Places the help string for all arguments and subcommands on the line after them.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .next_line_help(true)
         .get_matches();
    -
    source

    pub fn disable_help_flag(self, yes: bool) -> Command

    Disables -h and --help flag.

    +
    source

    pub fn disable_help_flag(self, yes: bool) -> Command

    Disables -h and --help flag.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -547,7 +547,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayHelp);
    -
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Command

    Disables the help subcommand.

    +
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Command

    Disables the help subcommand.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -560,13 +560,13 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::InvalidSubcommand);
    -
    source

    pub fn disable_colored_help(self, yes: bool) -> Command

    Disables colorized help messages.

    +
    source

    pub fn disable_colored_help(self, yes: bool) -> Command

    Disables colorized help messages.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .disable_colored_help(true)
         .get_matches();
    -
    source

    pub fn help_expected(self, yes: bool) -> Command

    Panic if help descriptions are omitted.

    +
    source

    pub fn help_expected(self, yes: bool) -> Command

    Panic if help descriptions are omitted.

    NOTE: When deriving Parser, you could instead check this at compile-time with #![deny(missing_docs)]

    NOTE: This choice is propagated to all child subcommands.

    @@ -588,19 +588,19 @@
    §Panics
    // Since the setting `help_expected` is activated, this will lead to // a panic (if you are in debug mode) )
    -
    source

    pub fn hide_possible_values(self, yes: bool) -> Command

    Tells clap not to print possible values when displaying help information.

    +
    source

    pub fn hide_possible_values(self, yes: bool) -> Command

    Tells clap not to print possible values when displaying help information.

    This can be useful if there are many values, or they are explained elsewhere.

    To set this per argument, see Arg::hide_possible_values.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_long_args(self, yes: bool) -> Command

    Allow partial matches of long arguments or their aliases.

    +
    source

    pub fn infer_long_args(self, yes: bool) -> Command

    Allow partial matches of long arguments or their aliases.

    For example, to match an argument named --test, one could use --t, --te, --tes, and --test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match --te to --test there could not also be another argument or alias --temp because both start with --te

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_subcommands(self, yes: bool) -> Command

    Allow partial matches of subcommand names and their aliases.

    +
    source

    pub fn infer_subcommands(self, yes: bool) -> Command

    Allow partial matches of subcommand names and their aliases.

    For example, to match a subcommand named test, one could use t, te, tes, and test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match te @@ -619,16 +619,16 @@

    §Examples"prog", "te" ]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source§

    impl Command

    §Command-specific Settings

    +
    source§

    impl Command

    §Command-specific Settings

    These apply only to the current command and are not inherited by subcommands.

    -
    source

    pub fn name(self, name: impl Into<Str>) -> Command

    (Re)Sets the program’s name.

    +
    source

    pub fn name(self, name: impl Into<Str>) -> Command

    (Re)Sets the program’s name.

    See Command::new for more details.

    §Examples
    let cmd = clap::command!()
         .name("foo");
     
     // continued logic goes here, such as `cmd.get_matches()` etc.
    -
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined name of the binary for help and error messages.

    +
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined name of the binary for help and error messages.

    This should only be used when absolutely necessary, such as when the binary name for your application is misleading, or perhaps not how the user should invoke your program.

    Pro-tip: When building things such as third party cargo @@ -639,11 +639,11 @@

    §Examples§Examples
    Command::new("My Program")
          .bin_name("my_binary")
    -
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined display name of the program for help and error messages.

    +
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Command

    Overrides the runtime-determined display name of the program for help and error messages.

    §Examples
    Command::new("My Program")
          .display_name("my_program")
    -
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Command

    Sets the author(s) for the help message.

    +
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Command

    Sets the author(s) for the help message.

    Pro-tip: Use claps convenience macro [crate_authors!] to automatically set your application’s author(s) to the same thing as your crate at compile time.

    @@ -652,7 +652,7 @@
    §Examples§Examples
    Command::new("myprog")
          .author("Me, me@mymain.com")
    -
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the short help (-h).

    +
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the short help (-h).

    If Command::long_about is not specified, this message will be displayed for --help.

    NOTE: Only Command::about (short format) is used in completion script generation in order to be concise.

    @@ -660,7 +660,7 @@
    §Examples§Examples
    Command::new("myprog")
         .about("Does really amazing things for great people")
    -
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the long help (--help).

    +
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Command

    Sets the program’s description for the long help (--help).

    If not set, Command::about will be used for long help in addition to short help (-h).

    NOTE: Only Command::about (short format) is used in completion @@ -671,14 +671,14 @@

    §Examples"Does really amazing things to great people. Now let's talk a little more in depth about how this subcommand really works. It may take about a few lines of text, but that's ok!")
    -
    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated short help (-h).

    +
    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated short help (-h).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If Command::after_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .after_help("Does really amazing things for great people... but be careful with -R!")
    -
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated long help (--help).

    +
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for after auto-generated long help (--help).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If not set, Command::after_help will be used for long help in addition to short help @@ -687,20 +687,20 @@

    §Examples
    Command::new("myprog")
         .after_long_help("Does really amazing things to great people... but be careful with -R, \
                          like, for real, be careful with this!")
    -
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated short help (-h).

    +
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated short help (-h).

    This is often used for header, copyright, or license information.

    If Command::before_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .before_help("Some info I'd like to appear before the help info")
    -
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated long help (--help).

    +
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Free-form help text for before auto-generated long help (--help).

    This is often used for header, copyright, or license information.

    If not set, Command::before_help will be used for long help in addition to short help (-h).

    §Examples
    Command::new("myprog")
         .before_long_help("Some verbose and long info I'd like to appear before the help info")
    -
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the short version (-V) and help messages.

    +
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the short version (-V) and help messages.

    If Command::long_version is not specified, this message will be displayed for --version.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -708,7 +708,7 @@

    §Examples§Examples
    Command::new("myprog")
         .version("v0.1.24")
    -
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the long version (--version) and help messages.

    +
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Command

    Sets the version for the long version (--version) and help messages.

    If Command::version is not specified, this message will be displayed for -V.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -721,7 +721,7 @@

    §Examples)
    -
    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated usage string for help and error messages.

    +
    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated usage string for help and error messages.

    NOTE: Using this setting disables claps “context-aware” usage strings. After this setting is set, this will be the only usage string displayed to the user!

    @@ -744,7 +744,7 @@
    §Examples)
    -
    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated help message (both -h and --help).

    +
    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Command

    Overrides the clap generated help message (both -h and --help).

    This should only be used when the auto-generated message does not suffice.

    NOTE: This only replaces the help message for the current command, meaning if you are using subcommands, those help messages will @@ -767,7 +767,7 @@

    §Examples)
    -
    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Command

    Sets the help template to be used, overriding the default format.

    +
    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Command

    Sets the help template to be used, overriding the default format.

    NOTE: The template system is by design very simple. Therefore, the tags have to be written in the lowercase and without spacing.

    Tags are given inside curly brackets.

    @@ -811,23 +811,23 @@
    §Examples)
    -
    source

    pub fn flatten_help(self, yes: bool) -> Command

    Flatten subcommand help into the current command’s help

    +
    source

    pub fn flatten_help(self, yes: bool) -> Command

    Flatten subcommand help into the current command’s help

    This shows a summary of subcommands within the usage and help for the current command, similar to git stash --help showing information on push, pop, etc. To see more information, a user can still pass --help to the individual subcommands.

    -
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Command

    Set the default section heading for future args.

    +
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Command

    Set the default section heading for future args.

    This will be used for any arg that hasn’t had Arg::help_heading called.

    This is useful if the default Options or Arguments headings are not specific enough for one’s use case.

    For subcommands, see Command::subcommand_help_heading

    -
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Command

    Change the starting value for assigning future display orders for args.

    +
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Command

    Change the starting value for assigning future display orders for args.

    This will be used for any arg that hasn’t had Arg::display_order called.

    -
    source

    pub fn arg_required_else_help(self, yes: bool) -> Command

    Exit gracefully if no arguments are present (e.g. $ myprog).

    +
    source

    pub fn arg_required_else_help(self, yes: bool) -> Command

    Exit gracefully if no arguments are present (e.g. $ myprog).

    NOTE: subcommands count as arguments

    §Examples
    Command::new("myprog")
         .arg_required_else_help(true);
    -
    source

    pub fn allow_missing_positional(self, yes: bool) -> Command

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    +
    source

    pub fn allow_missing_positional(self, yes: bool) -> Command

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    The first example is a CLI where the second to last positional argument is optional, but the final positional argument is required. Such as $ prog [optional] <required> where one of the two following usages is allowed:

    @@ -910,7 +910,7 @@
    §Examplesassert_eq!(m.get_one::<String>("foo"), None); assert_eq!(m.get_one::<String>("bar"), None); assert_eq!(m.get_many::<String>("baz").unwrap().collect::<Vec<_>>(), &["baz1", "baz2", "baz3"]);
    -
    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Command

    Sets the short version of the subcommand flag without the preceding -.

    +
    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Command

    Sets the short version of the subcommand flag without the preceding -.

    Allows the subcommand to be used as if it were an Arg::short.

    §Examples
    let matches = Command::new("pacman")
    @@ -928,7 +928,7 @@ 
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Command

    Sets the long version of the subcommand flag without the preceding --.

    +
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Command

    Sets the long version of the subcommand flag without the preceding --.

    Allows the subcommand to be used as if it were an Arg::long.

    NOTE: Any leading - characters will be stripped.

    §Examples
    @@ -951,7 +951,7 @@
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -
    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a hidden alias to this subcommand.

    +
    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a hidden alias to this subcommand.

    This allows the subcommand to be accessed via either the original name, or this given alias. This is more efficient and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all aliased variants.

    @@ -967,7 +967,7 @@
    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Command

    Add an alias, which functions as “hidden” short flag subcommand

    +
    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Command

    Add an alias, which functions as “hidden” short flag subcommand

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -977,7 +977,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “hidden” long flag subcommand.

    +
    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “hidden” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -987,7 +987,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Command

    Sets multiple hidden aliases to this subcommand.

    +
    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Command

    Sets multiple hidden aliases to this subcommand.

    This allows the subcommand to be accessed via either the original name or any of the given aliases. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command and not all aliased variants.

    @@ -1006,7 +1006,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "do-tests"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn short_flag_aliases( +

    source

    pub fn short_flag_aliases( self, names: impl IntoIterator<Item = char>, ) -> Command

    Add aliases, which function as “hidden” short flag subcommands.

    @@ -1022,7 +1022,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "-a"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn long_flag_aliases( +

    source

    pub fn long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Add aliases, which function as “hidden” long flag subcommands.

    @@ -1038,7 +1038,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a visible alias to this subcommand.

    +
    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Command

    Sets a visible alias to this subcommand.

    This allows the subcommand to be accessed via either the original name or the given alias. This is more efficient and easier than creating hidden subcommands as one only needs to check for @@ -1056,7 +1056,7 @@

    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_short_flag_alias( +

    source

    pub fn visible_short_flag_alias( self, name: impl IntoResettable<char>, ) -> Command

    Add an alias, which functions as “visible” short flag subcommand

    @@ -1070,7 +1070,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “visible” long flag subcommand.

    +
    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Command

    Add an alias, which functions as a “visible” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -1081,7 +1081,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_aliases( +

    source

    pub fn visible_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Sets multiple visible aliases to this subcommand.

    @@ -1102,7 +1102,7 @@
    §Examples"do-stuff", "tests"])) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_short_flag_aliases( +

    source

    pub fn visible_short_flag_aliases( self, names: impl IntoIterator<Item = char>, ) -> Command

    Add aliases, which function as visible short flag subcommands.

    @@ -1113,7 +1113,7 @@
    §Examples't'])) .get_matches_from(vec!["myprog", "-t"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_long_flag_aliases( +

    source

    pub fn visible_long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Command

    Add aliases, which function as visible long flag subcommands.

    @@ -1124,7 +1124,7 @@
    §Examples"testing", "testall", "test_all"])) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Command

    Set the placement of this subcommand within the help.

    +
    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Command

    Set the placement of this subcommand within the help.

    Subcommands with a lower value will be displayed first in the help message. Those with the same display order will be sorted.

    Commands are automatically assigned a display order based on the order they are added to @@ -1155,13 +1155,13 @@

    §Examples
    source

    pub fn hide(self, yes: bool) -> Command

    Specifies that this subcommand should be hidden from help messages

    +
    source

    pub fn hide(self, yes: bool) -> Command

    Specifies that this subcommand should be hidden from help messages

    §Examples
    Command::new("myprog")
         .subcommand(
             Command::new("test").hide(true)
         )
    -
    source

    pub fn subcommand_required(self, yes: bool) -> Command

    If no subcommand is present at runtime, error and exit gracefully.

    +
    source

    pub fn subcommand_required(self, yes: bool) -> Command

    If no subcommand is present at runtime, error and exit gracefully.

    §Examples
    let err = Command::new("myprog")
         .subcommand_required(true)
    @@ -1171,7 +1171,7 @@ 
    §Examplesassert!(err.is_err()); assert_eq!(err.unwrap_err().kind(), ErrorKind::MissingSubcommand);
    -
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Command

    Assume unexpected positional arguments are a subcommand.

    +
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Command

    Assume unexpected positional arguments are a subcommand.

    Arguments will be stored in the "" argument in the ArgMatches

    NOTE: Use this setting with caution, as a truly unexpected argument (i.e. one that is NOT an external subcommand) @@ -1197,7 +1197,7 @@

    §Examples_ => {}, }
    -
    source

    pub fn external_subcommand_value_parser( +

    source

    pub fn external_subcommand_value_parser( self, parser: impl IntoResettable<ValueParser>, ) -> Command

    Specifies how to parse external subcommand arguments.

    @@ -1240,7 +1240,7 @@
    §Examples_ => {}, }
    -
    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Command

    Specifies that use of an argument prevents the use of subcommands.

    +
    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Command

    Specifies that use of an argument prevents the use of subcommands.

    By default clap allows arguments between subcommands such as <cmd> [cmd_args] <subcmd> [subcmd_args] <subsubcmd> [subsubcmd_args].

    This setting disables that functionality and says that arguments can @@ -1254,7 +1254,7 @@

    §Examples§Examples
    Command::new("myprog")
         .args_conflicts_with_subcommands(true);
    -
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Command

    Prevent subcommands from being consumed as an arguments value.

    +
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Command

    Prevent subcommands from being consumed as an arguments value.

    By default, if an option taking multiple values is followed by a subcommand, the subcommand will be parsed as another value.

    cmd --foo val1 val2 subcommand
    @@ -1293,7 +1293,7 @@ 
    §Examples&["1", "2", "3"] ); assert!(matches.subcommand_matches("sub").is_some());
    -
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Command

    Allows subcommands to override all requirements of the parent command.

    +
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Command

    Allows subcommands to override all requirements of the parent command.

    For example, if you had a subcommand or top level application with a required argument that is only required as long as there is no subcommand present, using this setting would allow you to set those arguments to Arg::required(true) @@ -1322,7 +1322,7 @@

    §Examples"myprog", "test" ]); assert!(noerr.is_ok());
    -
    source

    pub fn multicall(self, yes: bool) -> Command

    Multiple-personality program dispatched on the binary name (argv[0])

    +
    source

    pub fn multicall(self, yes: bool) -> Command

    Multiple-personality program dispatched on the binary name (argv[0])

    A “multicall” executable is a single executable that contains a variety of applets, and decides which applet to run based on the name of the file. @@ -1416,7 +1416,7 @@

    §Examples// When called from a link named after an applet that applet is matched. let m = cmd.get_matches_from(&["/usr/bin/true"]); assert_eq!(m.subcommand_name(), Some("true"));
    -
    source

    pub fn subcommand_value_name( +

    source

    pub fn subcommand_value_name( self, value_name: impl IntoResettable<Str>, ) -> Command

    Sets the value name used for subcommands when printing usage and help.

    @@ -1457,7 +1457,7 @@
    §Examples
    source

    pub fn subcommand_help_heading( +

    source

    pub fn subcommand_help_heading( self, heading: impl IntoResettable<Str>, ) -> Command

    Sets the help heading used for subcommands when printing usage and help.

    @@ -1498,84 +1498,84 @@
    §Examples
    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    -
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    -
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    -
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    -
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    -
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    -
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    -
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    -
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    -
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    -
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    -
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    -
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    -
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible aliases for this subcommand.

    -
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the visible short aliases for this subcommand.

    -
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible long aliases for this subcommand.

    -
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the hidden aliases for this subcommand.

    -
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    -
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    -
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    -
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    -
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    -
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    -
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    +
    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    +
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    +
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    +
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    +
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    +
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    +
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    +
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    +
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    +
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    +
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    +
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    +
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    +
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible aliases for this subcommand.

    +
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the visible short aliases for this subcommand.

    +
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the visible long aliases for this subcommand.

    +
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char>

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str>

    Iterate through the hidden aliases for this subcommand.

    +
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    +
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    +
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    +
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    +
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    +
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    +
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn find_subcommand_mut( +

    source

    pub fn find_subcommand_mut( &mut self, name: impl AsRef<OsStr>, ) -> Option<&mut Command>

    Find subcommand such that its name or one of aliases equals name, returning a mutable reference to the subcommand.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    -
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    -
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    -
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    -
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    +
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    +
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    +
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    +
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    +
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    If the provided argument is declared as global, the conflicts will be determined based on the propagation rules of global arguments.

    §Panics

    If the given arg contains a conflict with an argument that is unknown to this Command.

    -
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    -
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    -
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    -
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    -
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    -
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    -
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    -
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    -
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    -
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    -
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    -
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    -
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    +
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    +
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    +
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    +
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    +
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    +
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    +
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    +
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    +
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    +
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    +
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    +
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    +
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    §Example
    let cmd = clap::Command::new("raw")
         .external_subcommand_value_parser(clap::value_parser!(String));
     let value_parser = cmd.get_external_subcommand_value_parser();
     println!("{value_parser:?}");
    -
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    -
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    -
    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    +
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    +
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    +
    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    Call this on the top-level Command when done building and before reading state for cases like completions, custom help output, etc.

    -

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Command

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Command

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Command

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Command

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    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> CloneToUninit for T
    where diff --git a/clap/struct.Id.html b/clap/struct.Id.html index 3263d6098..c20a17350 100644 --- a/clap/struct.Id.html +++ b/clap/struct.Id.html @@ -1,30 +1,30 @@ -Id in clap - Rust

    Struct clap::Id

    source ·
    pub struct Id(/* private fields */);
    Expand description

    Arg or ArgGroup identifier

    +Id in clap - Rust

    Struct clap::Id

    source ·
    pub struct Id(/* private fields */);
    Expand description

    Arg or ArgGroup identifier

    This is used for accessing the value in ArgMatches or defining relationships between Args and ArgGroups with functions like Arg::conflicts_with.

    Implementations§

    source§

    impl Id

    source

    pub fn as_str(&self) -> &str

    Get the raw string of the Id

    -

    Trait Implementations§

    source§

    impl AsRef<str> for Id

    source§

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Borrow<str> for Id

    source§

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    source§

    impl Clone for Id

    source§

    fn clone(&self) -> Id

    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 Id

    source§

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

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

    impl Default for Id

    source§

    fn default() -> Id

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

    impl Display for Id

    source§

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

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

    impl From<&&'static str> for Id

    source§

    fn from(name: &&'static str) -> Id

    Converts to this type from the input type.
    source§

    impl From<&Id> for Id

    source§

    fn from(id: &Id) -> Id

    Converts to this type from the input type.
    source§

    impl From<&Str> for Id

    source§

    fn from(name: &Str) -> Id

    Converts to this type from the input type.
    source§

    impl From<&'static str> for Id

    source§

    fn from(name: &'static str) -> Id

    Converts to this type from the input type.
    source§

    impl From<Id> for Str

    source§

    fn from(name: Id) -> Str

    Converts to this type from the input type.
    source§

    impl From<Str> for Id

    source§

    fn from(name: Str) -> Id

    Converts to this type from the input type.
    source§

    impl Hash for Id

    source§

    fn hash<__H>(&self, state: &mut __H)
    where +

    Trait Implementations§

    source§

    impl AsRef<str> for Id

    source§

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Borrow<str> for Id

    source§

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    source§

    impl Clone for Id

    source§

    fn clone(&self) -> Id

    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 Id

    source§

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

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

    impl Default for Id

    source§

    fn default() -> Id

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

    impl Display for Id

    source§

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

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

    impl From<&&'static str> for Id

    source§

    fn from(name: &&'static str) -> Id

    Converts to this type from the input type.
    source§

    impl From<&Id> for Id

    source§

    fn from(id: &Id) -> Id

    Converts to this type from the input type.
    source§

    impl From<&Str> for Id

    source§

    fn from(name: &Str) -> Id

    Converts to this type from the input type.
    source§

    impl From<&'static str> for Id

    source§

    fn from(name: &'static str) -> Id

    Converts to this type from the input type.
    source§

    impl From<Id> for Str

    source§

    fn from(name: Id) -> Str

    Converts to this type from the input type.
    source§

    impl From<Str> for Id

    source§

    fn from(name: Str) -> Id

    Converts to this type from the input type.
    source§

    impl Hash for Id

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl Ord for Id

    source§

    fn cmp(&self, other: &Id) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &<Command as Index<&Id>>::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl Ord for Id

    source§

    fn cmp(&self, other: &Id) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<&str> for Id

    source§

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

    This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<&str> for Id

    source§

    fn eq(&self, other: &&str) -> 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 PartialEq<Id> for &str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Id> for &str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Id> for Str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Id> for str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Str> for Id

    source§

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

    This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<Id> for Str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Id> for str

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<Str> for Id

    source§

    fn eq(&self, other: &Str) -> 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 PartialEq<String> for Id

    source§

    fn eq(&self, other: &String) -> 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 PartialEq<str> for Id

    source§

    fn eq(&self, other: &str) -> 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 PartialEq for Id

    source§

    fn eq(&self, other: &Id) -> 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 PartialEq<str> for Id

    source§

    fn eq(&self, other: &str) -> 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 PartialEq for Id

    source§

    fn eq(&self, other: &Id) -> 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 PartialOrd for Id

    source§

    fn partial_cmp(&self, other: &Id) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Eq for Id

    source§

    impl StructuralPartialEq for Id

    Auto Trait Implementations§

    §

    impl Freeze for Id

    §

    impl RefUnwindSafe for Id

    §

    impl Send for Id

    §

    impl Sync for Id

    §

    impl Unpin for Id

    §

    impl UnwindSafe for Id

    Blanket Implementations§

    source§

    impl<T> Any for T
    where @@ -38,8 +38,8 @@ From<T> for U chooses to do.

    source§

    impl<I> IntoResettable<Id> for I
    where I: Into<Id>,

    source§

    fn into_resettable(self) -> Resettable<Id>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<Str> for I
    where - I: Into<Str>,

    source§

    fn into_resettable(self) -> Resettable<Str>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<String> for I
    where - I: Into<String>,

    source§

    fn into_resettable(self) -> Resettable<String>

    Convert to the intended resettable type
    source§

    impl<T> ToOwned for T
    where + I: Into<Str>,

    source§

    fn into_resettable(self) -> Resettable<Str>

    Convert to the intended resettable type
    source§

    impl<I> IntoResettable<String> for I
    where + I: Into<String>,

    source§

    fn into_resettable(self) -> Resettable<String>

    Convert to the intended resettable type
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where diff --git a/clap/trait.Args.html b/clap/trait.Args.html index e0744ea62..f959d3734 100644 --- a/clap/trait.Args.html +++ b/clap/trait.Args.html @@ -1,4 +1,4 @@ -Args in clap - Rust

    Trait clap::Args

    source ·
    pub trait Args: Sized + FromArgMatches {
    +Args in clap - Rust

    Trait clap::Args

    source ·
    pub trait Args: Sized + FromArgMatches {
         // Required methods
         fn augment_args(cmd: Command) -> Command;
         fn augment_args_for_update(cmd: Command) -> Command;
    diff --git a/clap/trait.CommandFactory.html b/clap/trait.CommandFactory.html
    index c9c9bbd1b..f705461e0 100644
    --- a/clap/trait.CommandFactory.html
    +++ b/clap/trait.CommandFactory.html
    @@ -1,4 +1,4 @@
    -CommandFactory in clap - Rust

    Trait clap::CommandFactory

    source ·
    pub trait CommandFactory: Sized {
    +CommandFactory in clap - Rust

    Trait clap::CommandFactory

    source ·
    pub trait CommandFactory: Sized {
         // Required methods
         fn command() -> Command;
         fn command_for_update() -> Command;
    diff --git a/clap/trait.FromArgMatches.html b/clap/trait.FromArgMatches.html
    index b0cb00a24..ad2a4c83f 100644
    --- a/clap/trait.FromArgMatches.html
    +++ b/clap/trait.FromArgMatches.html
    @@ -1,4 +1,4 @@
    -FromArgMatches in clap - Rust

    Trait clap::FromArgMatches

    source ·
    pub trait FromArgMatches: Sized {
    +FromArgMatches in clap - Rust

    Trait clap::FromArgMatches

    source ·
    pub trait FromArgMatches: Sized {
         // Required methods
         fn from_arg_matches(matches: &ArgMatches) -> Result<Self, Error>;
         fn update_from_arg_matches(
    diff --git a/clap/trait.Parser.html b/clap/trait.Parser.html
    index 65a2b7ba6..59ed372d4 100644
    --- a/clap/trait.Parser.html
    +++ b/clap/trait.Parser.html
    @@ -1,4 +1,4 @@
    -Parser in clap - Rust

    Trait clap::Parser

    source ·
    pub trait Parser: Sized + FromArgMatches + CommandFactory {
    +Parser in clap - Rust

    Trait clap::Parser

    source ·
    pub trait Parser: Sized + FromArgMatches + CommandFactory {
         // Provided methods
         fn parse() -> Self { ... }
         fn try_parse() -> Result<Self, Error> { ... }
    diff --git a/clap/trait.Subcommand.html b/clap/trait.Subcommand.html
    index 1cf8ce26b..cc7652a8a 100644
    --- a/clap/trait.Subcommand.html
    +++ b/clap/trait.Subcommand.html
    @@ -1,4 +1,4 @@
    -Subcommand in clap - Rust

    Trait clap::Subcommand

    source ·
    pub trait Subcommand: Sized + FromArgMatches {
    +Subcommand in clap - Rust

    Trait clap::Subcommand

    source ·
    pub trait Subcommand: Sized + FromArgMatches {
         // Required methods
         fn augment_subcommands(cmd: Command) -> Command;
         fn augment_subcommands_for_update(cmd: Command) -> Command;
    diff --git a/clap/trait.ValueEnum.html b/clap/trait.ValueEnum.html
    index 99ebea3d2..81d3a4718 100644
    --- a/clap/trait.ValueEnum.html
    +++ b/clap/trait.ValueEnum.html
    @@ -1,4 +1,4 @@
    -ValueEnum in clap - Rust

    Trait clap::ValueEnum

    source ·
    pub trait ValueEnum: Sized + Clone {
    +ValueEnum in clap - Rust

    Trait clap::ValueEnum

    source ·
    pub trait ValueEnum: Sized + Clone {
         // Required methods
         fn value_variants<'a>() -> &'a [Self];
         fn to_possible_value(&self) -> Option<PossibleValue>;
    diff --git a/clap/type.Error.html b/clap/type.Error.html
    index 40a4f88a0..c4e2e7586 100644
    --- a/clap/type.Error.html
    +++ b/clap/type.Error.html
    @@ -1,3 +1,3 @@
    -Error in clap - Rust

    Type Alias clap::Error

    source ·
    pub type Error = Error;
    Expand description

    Command Line Argument Parser Error

    +Error in clap - Rust

    Type Alias clap::Error

    source ·
    pub type Error = Error;
    Expand description

    Command Line Argument Parser Error

    See Command::error to create an error.

    Aliased Type§

    struct Error { /* private fields */ }
    \ No newline at end of file diff --git a/clap_builder/all.html b/clap_builder/all.html index c474dd612..ece94cb7d 100644 --- a/clap_builder/all.html +++ b/clap_builder/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/clap_builder/builder/enum.ArgAction.html b/clap_builder/builder/enum.ArgAction.html index 47fbe09dc..6052462fb 100644 --- a/clap_builder/builder/enum.ArgAction.html +++ b/clap_builder/builder/enum.ArgAction.html @@ -1,4 +1,4 @@ -ArgAction in clap_builder::builder - Rust

    Enum clap_builder::builder::ArgAction

    source ·
    #[non_exhaustive]
    pub enum ArgAction { +ArgAction in clap_builder::builder - Rust

    Enum clap_builder::builder::ArgAction

    source ·
    #[non_exhaustive]
    pub enum ArgAction { Set, Append, SetTrue, @@ -237,7 +237,7 @@

    §Examples

    Implementations§

    source§

    impl ArgAction

    source

    pub fn takes_values(&self) -> bool

    Returns whether this action accepts values on the command-line

    default_values and [env][super::Arg::env] may still be processed.

    -

    Trait Implementations§

    source§

    impl Clone for ArgAction

    source§

    fn clone(&self) -> ArgAction

    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 ArgAction

    source§

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

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

    impl IntoResettable<ArgAction> for ArgAction

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ArgAction> for Option<ArgAction>

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ArgAction

    source§

    fn clone(&self) -> ArgAction

    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 ArgAction

    source§

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

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

    impl IntoResettable<ArgAction> for ArgAction

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ArgAction> for Option<ArgAction>

    source§

    fn into_resettable(self) -> Resettable<ArgAction>

    Convert to the intended resettable type

    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> CloneToUninit for T
    where diff --git a/clap_builder/builder/enum.ArgPredicate.html b/clap_builder/builder/enum.ArgPredicate.html index 2bc47354a..480ce5104 100644 --- a/clap_builder/builder/enum.ArgPredicate.html +++ b/clap_builder/builder/enum.ArgPredicate.html @@ -1,4 +1,4 @@ -ArgPredicate in clap_builder::builder - Rust

    Enum clap_builder::builder::ArgPredicate

    source ·
    pub enum ArgPredicate {
    +ArgPredicate in clap_builder::builder - Rust

    Enum clap_builder::builder::ArgPredicate

    source ·
    pub enum ArgPredicate {
         IsPresent,
         Equals(OsStr),
     }
    Expand description

    Operations to perform on argument values

    diff --git a/clap_builder/builder/enum.Resettable.html b/clap_builder/builder/enum.Resettable.html index 51f839efe..1000daa40 100644 --- a/clap_builder/builder/enum.Resettable.html +++ b/clap_builder/builder/enum.Resettable.html @@ -1,4 +1,4 @@ -Resettable in clap_builder::builder - Rust

    Enum clap_builder::builder::Resettable

    source ·
    pub enum Resettable<T> {
    +Resettable in clap_builder::builder - Rust

    Enum clap_builder::builder::Resettable

    source ·
    pub enum Resettable<T> {
         Value(T),
         Reset,
     }
    Expand description

    Clearable builder value

    @@ -15,7 +15,7 @@

    §Example

    command.mut_arg("input", |arg| arg.short(None));

    Variants§

    §

    Value(T)

    Overwrite builder value

    §

    Reset

    Reset builder value

    -

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Resettable<T>

    source§

    fn clone(&self) -> Resettable<T>

    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<T: Debug> Debug for Resettable<T>

    source§

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

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

    impl<T> From<Option<T>> for Resettable<T>

    source§

    fn from(other: Option<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T> From<T> for Resettable<T>

    source§

    fn from(other: T) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Hash> Hash for Resettable<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Resettable<T>

    source§

    fn clone(&self) -> Resettable<T>

    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<T: Debug> Debug for Resettable<T>

    source§

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

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

    impl<T> From<Option<T>> for Resettable<T>

    source§

    fn from(other: Option<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T> From<T> for Resettable<T>

    source§

    fn from(other: T) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Hash> Hash for Resettable<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T> IntoResettable<T> for Resettable<T>

    source§

    fn into_resettable(self) -> Resettable<T>

    Convert to the intended resettable type
    source§

    impl<T: Ord> Ord for Resettable<T>

    source§

    fn cmp(&self, other: &Resettable<T>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where diff --git a/clap_builder/builder/enum.ValueHint.html b/clap_builder/builder/enum.ValueHint.html index 6983af5f3..6e4fb9c38 100644 --- a/clap_builder/builder/enum.ValueHint.html +++ b/clap_builder/builder/enum.ValueHint.html @@ -1,4 +1,4 @@ -ValueHint in clap_builder::builder - Rust

    Enum clap_builder::builder::ValueHint

    source ·
    #[non_exhaustive]
    pub enum ValueHint { +ValueHint in clap_builder::builder - Rust

    Enum clap_builder::builder::ValueHint

    source ·
    #[non_exhaustive]
    pub enum ValueHint {
    Show 13 variants Unknown, Other, AnyPath, @@ -52,7 +52,7 @@
    §

    EmailAddress

    Email address.

    Trait Implementations§

    source§

    impl Clone for ValueHint

    source§

    fn clone(&self) -> ValueHint

    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 ValueHint

    source§

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

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

    impl Default for ValueHint

    source§

    fn default() -> ValueHint

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

    impl FromStr for ValueHint

    §

    type Err = String

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, <Self as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for ValueHint

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl IntoResettable<ValueHint> for Option<ValueHint>

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ValueHint> for ValueHint

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl PartialEq for ValueHint

    source§

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

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

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl IntoResettable<ValueHint> for Option<ValueHint>

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl IntoResettable<ValueHint> for ValueHint

    source§

    fn into_resettable(self) -> Resettable<ValueHint>

    Convert to the intended resettable type
    source§

    impl PartialEq for ValueHint

    source§

    fn eq(&self, other: &ValueHint) -> 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 Copy for ValueHint

    source§

    impl Eq for ValueHint

    source§

    impl StructuralPartialEq for ValueHint

    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/clap_builder/builder/index.html b/clap_builder/builder/index.html index df24d8773..6ca74584c 100644 --- a/clap_builder/builder/index.html +++ b/clap_builder/builder/index.html @@ -1,3 +1,3 @@ -clap_builder::builder - Rust

    Module clap_builder::builder

    source ·
    Expand description

    Define Command line arguments

    +clap_builder::builder - Rust

    Module clap_builder::builder

    source ·
    Expand description

    Define Command line arguments

    Re-exports§

    • pub use styling::Styles;
    • pub use value_parser::_infer_ValueParser_for;
    • pub use value_parser::_AnonymousValueParser;

    Modules§

    Structs§

    Enums§

    • Behavior of arguments when they are encountered while parsing
    • Operations to perform on argument values
    • Clearable builder value
    • Provide shell with hint on how to complete an argument.

    Traits§

    \ No newline at end of file diff --git a/clap_builder/builder/struct.Arg.html b/clap_builder/builder/struct.Arg.html index 8cfed82c0..6d2be589e 100644 --- a/clap_builder/builder/struct.Arg.html +++ b/clap_builder/builder/struct.Arg.html @@ -1,4 +1,4 @@ -Arg in clap_builder::builder - Rust

    Struct clap_builder::builder::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and +Arg in clap_builder::builder - Rust

    Struct clap_builder::builder::Arg

    source ·
    pub struct Arg { /* private fields */ }
    Expand description

    The abstract representation of a command line argument. Used to set all the options and relationships that define a valid argument for the program.

    There are two methods for constructing Args, using the builder pattern and setting options manually, or using a usage string which is far less verbose but has fewer options. You can also diff --git a/clap_builder/builder/struct.ArgGroup.html b/clap_builder/builder/struct.ArgGroup.html index 5ad0e8df0..6667a5c2d 100644 --- a/clap_builder/builder/struct.ArgGroup.html +++ b/clap_builder/builder/struct.ArgGroup.html @@ -1,4 +1,4 @@ -ArgGroup in clap_builder::builder - Rust

    Struct clap_builder::builder::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    +ArgGroup in clap_builder::builder - Rust

    Struct clap_builder::builder::ArgGroup

    source ·
    pub struct ArgGroup { /* private fields */ }
    Expand description

    Family of related arguments.

    By placing arguments in a logical group, you can create easier requirement and exclusion rules instead of having to list each argument individually, or when you want a rule to apply “any but not all” arguments.

    diff --git a/clap_builder/builder/struct.BoolValueParser.html b/clap_builder/builder/struct.BoolValueParser.html index 04bab07a1..37579b48c 100644 --- a/clap_builder/builder/struct.BoolValueParser.html +++ b/clap_builder/builder/struct.BoolValueParser.html @@ -1,4 +1,4 @@ -BoolValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::BoolValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolValueParser {}
    Expand description

    Implementation for ValueParser::bool

    +BoolValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::BoolValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolValueParser {}
    Expand description

    Implementation for ValueParser::bool

    Useful for composing new TypedValueParsers

    Implementations§

    source§

    impl BoolValueParser

    source

    pub fn new() -> Self

    Implementation for ValueParser::bool

    Trait Implementations§

    source§

    impl Clone for BoolValueParser

    source§

    fn clone(&self) -> BoolValueParser

    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 BoolValueParser

    source§

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

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

    impl Default for BoolValueParser

    source§

    fn default() -> Self

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

    impl TypedValueParser for BoolValueParser

    §

    type Value = bool

    Argument’s value type
    source§

    fn parse_ref( diff --git a/clap_builder/builder/struct.BoolishValueParser.html b/clap_builder/builder/struct.BoolishValueParser.html index e4ad8d279..4b8230258 100644 --- a/clap_builder/builder/struct.BoolishValueParser.html +++ b/clap_builder/builder/struct.BoolishValueParser.html @@ -1,4 +1,4 @@ -BoolishValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::BoolishValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolishValueParser {}
    Expand description

    Parse bool-like string values, everything else is true

    +BoolishValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::BoolishValueParser

    source ·
    #[non_exhaustive]
    pub struct BoolishValueParser {}
    Expand description

    Parse bool-like string values, everything else is true

    See also:

    -

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Self

    Creates a new instance of an Command.

    +

    Implementations§

    source§

    impl Command

    §Basic API

    source

    pub fn new(name: impl Into<Str>) -> Self

    Creates a new instance of an Command.

    It is common, but not required, to use binary name as the name. This name will only be displayed to the user when they request to print version or help and usage information.

    See also command! and crate_name!.

    §Examples
    Command::new("My Program")
    -
    source

    pub fn arg(self, a: impl Into<Arg>) -> Self

    Adds an argument to the list of valid possibilities.

    +
    source

    pub fn arg(self, a: impl Into<Arg>) -> Self

    Adds an argument to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         // Adding a single "flag" argument with a short and help text, using Arg::new()
    @@ -48,14 +48,14 @@ 
    §Examples
    .arg( arg!(-c --config <CONFIG> "Optionally sets a config file to use") )
    -
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Self

    Adds multiple arguments to the list of valid possibilities.

    +
    source

    pub fn args(self, args: impl IntoIterator<Item = impl Into<Arg>>) -> Self

    Adds multiple arguments to the list of valid possibilities.

    §Examples
    Command::new("myprog")
         .args([
             arg!(-d --debug "turns on debugging info"),
             Arg::new("input").help("the input file to use")
         ])
    -
    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Self
    where +

    source

    pub fn mut_arg<F>(self, arg_id: impl AsRef<str>, f: F) -> Self
    where F: FnOnce(Arg) -> Arg,

    Allows one to mutate an Arg after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -76,7 +76,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "-B"]); assert!(res.is_ok());
    -

    source

    pub fn mut_args<F>(self, f: F) -> Self
    where +

    source

    pub fn mut_args<F>(self, f: F) -> Self
    where F: FnMut(Arg) -> Arg,

    Allows one to mutate all Args after they’ve been added to a Command.

    This does not affect the built-in --help or --version arguments.

    §Examples
    @@ -105,7 +105,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "--prefix-bar"]); assert!(res.is_ok());
    -
    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Self
    where +

    source

    pub fn mut_group<F>(self, arg_id: impl AsRef<str>, f: F) -> Self
    where F: FnOnce(ArgGroup) -> ArgGroup,

    Allows one to mutate an ArgGroup after it’s been added to a Command.

    §Panics

    If the argument is undefined

    @@ -120,7 +120,7 @@
    §Examples
    .args(["set-ver", "major", "minor","patch"]) .required(true)) .mut_group("vers", |a| a.required(false));
    -
    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Self
    where +

    source

    pub fn mut_subcommand<F>(self, name: impl AsRef<str>, f: F) -> Self
    where F: FnOnce(Self) -> Self,

    Allows one to mutate a Command after it’s been added as a subcommand.

    This can be useful for modifying auto-generated arguments of nested subcommands with Command::mut_arg.

    @@ -140,7 +140,7 @@
    §Examples
    let res = cmd.try_get_matches_from_mut(vec!["foo", "bar"]); assert!(res.is_ok());
    -
    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Self

    Adds an ArgGroup to the application.

    +
    source

    pub fn group(self, group: impl Into<ArgGroup>) -> Self

    Adds an ArgGroup to the application.

    ArgGroups are a family of related arguments. By placing them in a logical group, you can build easier requirement and exclusion rules.

    Example use cases:

    @@ -165,7 +165,7 @@
    §Examples
    .group(ArgGroup::new("vers") .args(["set-ver", "major", "minor","patch"]) .required(true))
    -
    source

    pub fn groups( +

    source

    pub fn groups( self, groups: impl IntoIterator<Item = impl Into<ArgGroup>>, ) -> Self

    Adds multiple ArgGroups to the Command at once.

    @@ -184,7 +184,7 @@
    §Examples
    ArgGroup::new("input") .args(["c", "i"]) ])
    -
    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Self

    Adds a subcommand to the list of valid possibilities.

    +
    source

    pub fn subcommand(self, subcmd: impl Into<Command>) -> Self

    Adds a subcommand to the list of valid possibilities.

    Subcommands are effectively sub-Commands, because they can contain their own arguments, subcommands, version, usage, etc. They also function just like Commands, in that they get their own auto generated help, version, and usage.

    @@ -198,7 +198,7 @@
    §Examples"config") .about("Controls configuration features") .arg(arg!(<config> "Required configuration file to use")))
    -
    source

    pub fn subcommands( +

    source

    pub fn subcommands( self, subcmds: impl IntoIterator<Item = impl Into<Self>>, ) -> Self

    Adds multiple subcommands to the list of valid possibilities.

    @@ -207,7 +207,7 @@
    §Examples"config").about("Controls configuration functionality") .arg(Arg::new("config_file")), Command::new("debug").about("Controls debug functionality")])
    -
    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Self

    Delay initialization for parts of the Command

    +
    source

    pub fn defer(self, deferred: fn(_: Command) -> Command) -> Self

    Delay initialization for parts of the Command

    This is useful for large applications to delay definitions of subcommands until they are being invoked.

    §Examples
    @@ -218,7 +218,7 @@
    §Examplesarg!(<config> "Required configuration file to use")) }) )
    -
    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    +
    source

    pub fn debug_assert(self)

    Catch problems earlier in the development cycle.

    Most error states are handled as asserts under the assumption they are programming mistake and not something to handle at runtime. Rather than relying on tests (manual or automated) that exhaustively test your CLI to ensure the asserts are evaluated, this will run those @@ -242,18 +242,18 @@

    §Exampleslet m = cmd().get_matches_from(vec!["foo", "-b"]); println!("{}", m.get_flag("bar")); }
    -
    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    +
    source

    pub fn error(&mut self, kind: ErrorKind, message: impl Display) -> Error

    Custom error message for post-parsing validation

    §Examples
    let mut cmd = Command::new("myprog");
     let err = cmd.error(ErrorKind::InvalidValue, "Some failure case");
    -
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches(self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    §Examples
    let matches = Command::new("myprog")
         // Args and options go here...
         .get_matches();
    -
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    +
    source

    pub fn get_matches_mut(&mut self) -> ArgMatches

    Parse env::args_os, exiting on failure.

    Like Command::get_matches but doesn’t consume the Command.

    §Panics

    If contradictory arguments or settings exist (debug builds).

    @@ -262,7 +262,7 @@
    §Examples// Args and options go here... ; let matches = cmd.get_matches_mut();
    -
    source

    pub fn try_get_matches(self) -> ClapResult<ArgMatches>

    Parse env::args_os, returning a clap::Result on failure.

    +
    source

    pub fn try_get_matches(self) -> ClapResult<ArgMatches>

    Parse env::args_os, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are used. It will return a clap::Error, where the kind is a ErrorKind::DisplayHelp or ErrorKind::DisplayVersion respectively. You must call @@ -274,7 +274,7 @@

    §Examples// Args and options go here... .try_get_matches() .unwrap_or_else(|e| e.exit());
    -
    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where +

    source

    pub fn get_matches_from<I, T>(self, itr: I) -> ArgMatches
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, exiting on failure.

    NOTE: The first argument will be parsed as the binary name unless @@ -287,7 +287,7 @@

    §Exampleslet matches = Command::new("myprog") // Args and options go here... .get_matches_from(arg_vec);
    -
    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> ClapResult<ArgMatches>
    where +

    source

    pub fn try_get_matches_from<I, T>(self, itr: I) -> ClapResult<ArgMatches>
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse the specified arguments, returning a clap::Result on failure.

    NOTE: This method WILL NOT exit when --help or --version (or short versions) are @@ -305,7 +305,7 @@

    §Examples// Args and options go here... .try_get_matches_from(arg_vec) .unwrap_or_else(|e| e.exit());
    -
    source

    pub fn try_get_matches_from_mut<I, T>( +

    source

    pub fn try_get_matches_from_mut<I, T>( &mut self, itr: I, ) -> ClapResult<ArgMatches>
    where @@ -327,17 +327,17 @@
    §Examples// Args and options go here... let matches = cmd.try_get_matches_from_mut(arg_vec) .unwrap_or_else(|e| e.exit());
    -

    source

    pub fn print_help(&mut self) -> Result<()>

    Prints the short help message (-h) to io::stdout().

    +
    source

    pub fn print_help(&mut self) -> Result<()>

    Prints the short help message (-h) to io::stdout().

    See also Command::print_long_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_help();
    -
    source

    pub fn print_long_help(&mut self) -> Result<()>

    Prints the long help message (--help) to io::stdout().

    +
    source

    pub fn print_long_help(&mut self) -> Result<()>

    Prints the long help message (--help) to io::stdout().

    See also Command::print_help.

    §Examples
    let mut cmd = Command::new("myprog");
     cmd.print_long_help();
    -
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    +
    source

    pub fn render_help(&mut self) -> StyledStr

    Render the short help message (-h) to a StyledStr

    See also Command::render_long_help.

    §Examples
    use std::io;
    @@ -345,7 +345,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_help(); println!("{help}");
    -
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    +
    source

    pub fn render_long_help(&mut self) -> StyledStr

    Render the long help message (--help) to a StyledStr.

    See also Command::render_help.

    §Examples
    use std::io;
    @@ -353,7 +353,7 @@ 
    §Exampleslet mut out = io::stdout(); let help = cmd.render_long_help(); println!("{help}");
    -
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    +
    source

    pub fn render_version(&self) -> String

    Version message rendered as if the user ran -V.

    See also Command::render_long_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -361,7 +361,7 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_version());
    -
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    +
    source

    pub fn render_long_version(&self) -> String

    Version message rendered as if the user ran --version.

    See also Command::render_version.

    §Coloring

    This function does not try to color the message nor it inserts any ANSI escape codes.

    @@ -369,15 +369,15 @@
    §Examples
    use std::io;
     let cmd = Command::new("myprog");
     println!("{}", cmd.render_long_version());
    -
    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    +
    source

    pub fn render_usage(&mut self) -> StyledStr

    Usage statement

    §Examples
    use std::io;
     let mut cmd = Command::new("myprog");
     println!("{}", cmd.render_usage());
    -
    source§

    impl Command

    §Application-wide Settings

    +
    source§

    impl Command

    §Application-wide Settings

    These settings will apply to the top-level command and all subcommands, by default. Some settings can be overridden in subcommands.

    -
    source

    pub fn no_binary_name(self, yes: bool) -> Self

    Specifies that the parser should not assume the first argument passed is the binary name.

    +
    source

    pub fn no_binary_name(self, yes: bool) -> Self

    Specifies that the parser should not assume the first argument passed is the binary name.

    This is normally the case when using a “daemon” style mode. For shells / REPLs, see Command::multicall.

    §Examples
    @@ -388,7 +388,7 @@
    §Exampleslet cmds: Vec<_> = m.get_many::<String>("cmd").unwrap().collect(); assert_eq!(cmds, ["command", "set"]);
    -
    source

    pub fn ignore_errors(self, yes: bool) -> Self

    Try not to fail on parse errors, like missing option values.

    +
    source

    pub fn ignore_errors(self, yes: bool) -> Self

    Try not to fail on parse errors, like missing option values.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let cmd = Command::new("cmd")
    @@ -404,13 +404,13 @@ 
    §Examplesassert_eq!(m.get_one::<String>("config").unwrap(), "file"); assert!(m.get_flag("f")); assert_eq!(m.get_one::<String>("stuff"), None);
    -
    source

    pub fn args_override_self(self, yes: bool) -> Self

    Replace prior occurrences of arguments rather than error

    +
    source

    pub fn args_override_self(self, yes: bool) -> Self

    Replace prior occurrences of arguments rather than error

    For any argument that would conflict with itself by default (e.g. ArgAction::Set, it will now override itself.

    This is the equivalent to saying the foo arg using Arg::overrides_with("foo") for all defined arguments.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Self

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg +

    source

    pub fn dont_delimit_trailing_values(self, yes: bool) -> Self

    Disables the automatic delimiting of values after -- or when Arg::trailing_var_arg was used.

    NOTE: The same thing can be done manually by setting the final positional argument to Arg::value_delimiter(None). Using this setting is safer, because it’s easier to locate @@ -420,7 +420,7 @@

    §Examples
    Command::new("myprog")
         .dont_delimit_trailing_values(true)
         .get_matches();
    -
    source

    pub fn color(self, color: ColorChoice) -> Self

    Sets when to color output.

    +
    source

    pub fn color(self, color: ColorChoice) -> Self

    Sets when to color output.

    To customize how the output is styled, see Command::styles.

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is ColorChoice::Auto.

    @@ -428,7 +428,7 @@
    §Examples
    Command::new("myprog")
         .color(ColorChoice::Never)
         .get_matches();
    -
    source

    pub fn styles(self, styles: Styles) -> Self

    Sets the Styles for terminal output

    +
    source

    pub fn styles(self, styles: Styles) -> Self

    Sets the Styles for terminal output

    NOTE: This choice is propagated to all child subcommands.

    NOTE: Default behaviour is Styles::default.

    §Examples
    @@ -440,7 +440,7 @@
    §Examples"myprog") .styles(STYLES) .get_matches();
    -
    source

    pub fn term_width(self, width: usize) -> Self

    Sets the terminal width at which to wrap help messages.

    +
    source

    pub fn term_width(self, width: usize) -> Self

    Sets the terminal width at which to wrap help messages.

    Using 0 will ignore terminal widths and use source formatting.

    Defaults to current terminal width when wrap_help feature flag is enabled. If current width cannot be determined, the default is 100.

    @@ -451,7 +451,7 @@
    §Examples§Examples
    Command::new("myprog")
         .term_width(80)
    -
    source

    pub fn max_term_width(self, width: usize) -> Self

    Limit the line length for wrapping help when using the current terminal’s width.

    +
    source

    pub fn max_term_width(self, width: usize) -> Self

    Limit the line length for wrapping help when using the current terminal’s width.

    This only applies when term_width is unset so that the current terminal’s width will be used. See Command::term_width for more details.

    Using 0 will ignore this, always respecting Command::term_width (default).

    @@ -461,7 +461,7 @@
    §Examples§Examples
    Command::new("myprog")
         .max_term_width(100)
    -
    source

    pub fn disable_version_flag(self, yes: bool) -> Self

    Disables -V and --version flag.

    +
    source

    pub fn disable_version_flag(self, yes: bool) -> Self

    Disables -V and --version flag.

    §Examples
    let res = Command::new("myprog")
         .version("1.0.0")
    @@ -495,7 +495,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayVersion);
    -
    source

    pub fn propagate_version(self, yes: bool) -> Self

    Specifies to use the version of the current command for all subcommands.

    +
    source

    pub fn propagate_version(self, yes: bool) -> Self

    Specifies to use the version of the current command for all subcommands.

    Defaults to false; subcommands have independent version strings from their parents.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    @@ -506,13 +506,13 @@
    §Examples// running `$ myprog test --version` will display // "myprog-test v1.1"
    -
    source

    pub fn next_line_help(self, yes: bool) -> Self

    Places the help string for all arguments and subcommands on the line after them.

    +
    source

    pub fn next_line_help(self, yes: bool) -> Self

    Places the help string for all arguments and subcommands on the line after them.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .next_line_help(true)
         .get_matches();
    -
    source

    pub fn disable_help_flag(self, yes: bool) -> Self

    Disables -h and --help flag.

    +
    source

    pub fn disable_help_flag(self, yes: bool) -> Self

    Disables -h and --help flag.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -547,7 +547,7 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::DisplayHelp);
    -
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Self

    Disables the help subcommand.

    +
    source

    pub fn disable_help_subcommand(self, yes: bool) -> Self

    Disables the help subcommand.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    let res = Command::new("myprog")
    @@ -560,13 +560,13 @@ 
    §Examples]); assert!(res.is_err()); assert_eq!(res.unwrap_err().kind(), ErrorKind::InvalidSubcommand);
    -
    source

    pub fn disable_colored_help(self, yes: bool) -> Self

    Disables colorized help messages.

    +
    source

    pub fn disable_colored_help(self, yes: bool) -> Self

    Disables colorized help messages.

    NOTE: This choice is propagated to all child subcommands.

    §Examples
    Command::new("myprog")
         .disable_colored_help(true)
         .get_matches();
    -
    source

    pub fn help_expected(self, yes: bool) -> Self

    Panic if help descriptions are omitted.

    +
    source

    pub fn help_expected(self, yes: bool) -> Self

    Panic if help descriptions are omitted.

    NOTE: When deriving Parser, you could instead check this at compile-time with #![deny(missing_docs)]

    NOTE: This choice is propagated to all child subcommands.

    @@ -588,19 +588,19 @@
    §Panics
    // Since the setting `help_expected` is activated, this will lead to // a panic (if you are in debug mode) )
    -
    source

    pub fn hide_possible_values(self, yes: bool) -> Self

    Tells clap not to print possible values when displaying help information.

    +
    source

    pub fn hide_possible_values(self, yes: bool) -> Self

    Tells clap not to print possible values when displaying help information.

    This can be useful if there are many values, or they are explained elsewhere.

    To set this per argument, see Arg::hide_possible_values.

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_long_args(self, yes: bool) -> Self

    Allow partial matches of long arguments or their aliases.

    +
    source

    pub fn infer_long_args(self, yes: bool) -> Self

    Allow partial matches of long arguments or their aliases.

    For example, to match an argument named --test, one could use --t, --te, --tes, and --test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match --te to --test there could not also be another argument or alias --temp because both start with --te

    NOTE: This choice is propagated to all child subcommands.

    -
    source

    pub fn infer_subcommands(self, yes: bool) -> Self

    Allow partial matches of subcommand names and their aliases.

    +
    source

    pub fn infer_subcommands(self, yes: bool) -> Self

    Allow partial matches of subcommand names and their aliases.

    For example, to match a subcommand named test, one could use t, te, tes, and test.

    NOTE: The match must not be ambiguous at all in order to succeed. i.e. to match te @@ -619,16 +619,16 @@

    §Examples"prog", "te" ]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source§

    impl Command

    §Command-specific Settings

    +
    source§

    impl Command

    §Command-specific Settings

    These apply only to the current command and are not inherited by subcommands.

    -
    source

    pub fn name(self, name: impl Into<Str>) -> Self

    (Re)Sets the program’s name.

    +
    source

    pub fn name(self, name: impl Into<Str>) -> Self

    (Re)Sets the program’s name.

    See Command::new for more details.

    §Examples
    let cmd = clap::command!()
         .name("foo");
     
     // continued logic goes here, such as `cmd.get_matches()` etc.
    -
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Self

    Overrides the runtime-determined name of the binary for help and error messages.

    +
    source

    pub fn bin_name(self, name: impl IntoResettable<String>) -> Self

    Overrides the runtime-determined name of the binary for help and error messages.

    This should only be used when absolutely necessary, such as when the binary name for your application is misleading, or perhaps not how the user should invoke your program.

    Pro-tip: When building things such as third party cargo @@ -639,11 +639,11 @@

    §Examples§Examples
    Command::new("My Program")
          .bin_name("my_binary")
    -
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Self

    Overrides the runtime-determined display name of the program for help and error messages.

    +
    source

    pub fn display_name(self, name: impl IntoResettable<String>) -> Self

    Overrides the runtime-determined display name of the program for help and error messages.

    §Examples
    Command::new("My Program")
          .display_name("my_program")
    -
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Self

    Sets the author(s) for the help message.

    +
    source

    pub fn author(self, author: impl IntoResettable<Str>) -> Self

    Sets the author(s) for the help message.

    Pro-tip: Use claps convenience macro [crate_authors!] to automatically set your application’s author(s) to the same thing as your crate at compile time.

    @@ -652,7 +652,7 @@
    §Examples§Examples
    Command::new("myprog")
          .author("Me, me@mymain.com")
    -
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Self

    Sets the program’s description for the short help (-h).

    +
    source

    pub fn about(self, about: impl IntoResettable<StyledStr>) -> Self

    Sets the program’s description for the short help (-h).

    If Command::long_about is not specified, this message will be displayed for --help.

    NOTE: Only Command::about (short format) is used in completion script generation in order to be concise.

    @@ -660,7 +660,7 @@
    §Examples§Examples
    Command::new("myprog")
         .about("Does really amazing things for great people")
    -
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Self

    Sets the program’s description for the long help (--help).

    +
    source

    pub fn long_about(self, long_about: impl IntoResettable<StyledStr>) -> Self

    Sets the program’s description for the long help (--help).

    If not set, Command::about will be used for long help in addition to short help (-h).

    NOTE: Only Command::about (short format) is used in completion @@ -671,14 +671,14 @@

    §Examples"Does really amazing things to great people. Now let's talk a little more in depth about how this subcommand really works. It may take about a few lines of text, but that's ok!")
    -
    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for after auto-generated short help (-h).

    +
    source

    pub fn after_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for after auto-generated short help (-h).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If Command::after_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .after_help("Does really amazing things for great people... but be careful with -R!")
    -
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for after auto-generated long help (--help).

    +
    source

    pub fn after_long_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for after auto-generated long help (--help).

    This is often used to describe how to use the arguments, caveats to be noted, or license and contact information.

    If not set, Command::after_help will be used for long help in addition to short help @@ -687,20 +687,20 @@

    §Examples
    Command::new("myprog")
         .after_long_help("Does really amazing things to great people... but be careful with -R, \
                          like, for real, be careful with this!")
    -
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for before auto-generated short help (-h).

    +
    source

    pub fn before_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for before auto-generated short help (-h).

    This is often used for header, copyright, or license information.

    If Command::before_long_help is not specified, this message will be displayed for --help.

    §Examples
    Command::new("myprog")
         .before_help("Some info I'd like to appear before the help info")
    -
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for before auto-generated long help (--help).

    +
    source

    pub fn before_long_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Free-form help text for before auto-generated long help (--help).

    This is often used for header, copyright, or license information.

    If not set, Command::before_help will be used for long help in addition to short help (-h).

    §Examples
    Command::new("myprog")
         .before_long_help("Some verbose and long info I'd like to appear before the help info")
    -
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Self

    Sets the version for the short version (-V) and help messages.

    +
    source

    pub fn version(self, ver: impl IntoResettable<Str>) -> Self

    Sets the version for the short version (-V) and help messages.

    If Command::long_version is not specified, this message will be displayed for --version.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -708,7 +708,7 @@

    §Examples§Examples
    Command::new("myprog")
         .version("v0.1.24")
    -
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Self

    Sets the version for the long version (--version) and help messages.

    +
    source

    pub fn long_version(self, ver: impl IntoResettable<Str>) -> Self

    Sets the version for the long version (--version) and help messages.

    If Command::version is not specified, this message will be displayed for -V.

    Pro-tip: Use claps convenience macro [crate_version!] to automatically set your application’s version to the same thing as your @@ -721,7 +721,7 @@

    §Examples)
    -
    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Self

    Overrides the clap generated usage string for help and error messages.

    +
    source

    pub fn override_usage(self, usage: impl IntoResettable<StyledStr>) -> Self

    Overrides the clap generated usage string for help and error messages.

    NOTE: Using this setting disables claps “context-aware” usage strings. After this setting is set, this will be the only usage string displayed to the user!

    @@ -744,7 +744,7 @@
    §Examples)
    -
    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Overrides the clap generated help message (both -h and --help).

    +
    source

    pub fn override_help(self, help: impl IntoResettable<StyledStr>) -> Self

    Overrides the clap generated help message (both -h and --help).

    This should only be used when the auto-generated message does not suffice.

    NOTE: This only replaces the help message for the current command, meaning if you are using subcommands, those help messages will @@ -767,7 +767,7 @@

    §Examples)
    -
    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Self

    Sets the help template to be used, overriding the default format.

    +
    source

    pub fn help_template(self, s: impl IntoResettable<StyledStr>) -> Self

    Sets the help template to be used, overriding the default format.

    NOTE: The template system is by design very simple. Therefore, the tags have to be written in the lowercase and without spacing.

    Tags are given inside curly brackets.

    @@ -811,23 +811,23 @@
    §Examples)
    -
    source

    pub fn flatten_help(self, yes: bool) -> Self

    Flatten subcommand help into the current command’s help

    +
    source

    pub fn flatten_help(self, yes: bool) -> Self

    Flatten subcommand help into the current command’s help

    This shows a summary of subcommands within the usage and help for the current command, similar to git stash --help showing information on push, pop, etc. To see more information, a user can still pass --help to the individual subcommands.

    -
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Self

    Set the default section heading for future args.

    +
    source

    pub fn next_help_heading(self, heading: impl IntoResettable<Str>) -> Self

    Set the default section heading for future args.

    This will be used for any arg that hasn’t had Arg::help_heading called.

    This is useful if the default Options or Arguments headings are not specific enough for one’s use case.

    For subcommands, see Command::subcommand_help_heading

    -
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Self

    Change the starting value for assigning future display orders for args.

    +
    source

    pub fn next_display_order(self, disp_ord: impl IntoResettable<usize>) -> Self

    Change the starting value for assigning future display orders for args.

    This will be used for any arg that hasn’t had Arg::display_order called.

    -
    source

    pub fn arg_required_else_help(self, yes: bool) -> Self

    Exit gracefully if no arguments are present (e.g. $ myprog).

    +
    source

    pub fn arg_required_else_help(self, yes: bool) -> Self

    Exit gracefully if no arguments are present (e.g. $ myprog).

    NOTE: subcommands count as arguments

    §Examples
    Command::new("myprog")
         .arg_required_else_help(true);
    -
    source

    pub fn allow_missing_positional(self, yes: bool) -> Self

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    +
    source

    pub fn allow_missing_positional(self, yes: bool) -> Self

    Allows one to implement two styles of CLIs where positionals can be used out of order.

    The first example is a CLI where the second to last positional argument is optional, but the final positional argument is required. Such as $ prog [optional] <required> where one of the two following usages is allowed:

    @@ -910,7 +910,7 @@
    §Examplesassert_eq!(m.get_one::<String>("foo"), None); assert_eq!(m.get_one::<String>("bar"), None); assert_eq!(m.get_many::<String>("baz").unwrap().collect::<Vec<_>>(), &["baz1", "baz2", "baz3"]);
    -
    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Self

    Sets the short version of the subcommand flag without the preceding -.

    +
    source§

    impl Command

    §Subcommand-specific Settings

    source

    pub fn short_flag(self, short: impl IntoResettable<char>) -> Self

    Sets the short version of the subcommand flag without the preceding -.

    Allows the subcommand to be used as if it were an Arg::short.

    §Examples
    let matches = Command::new("pacman")
    @@ -928,7 +928,7 @@ 
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Self

    Sets the long version of the subcommand flag without the preceding --.

    +
    source

    pub fn long_flag(self, long: impl Into<Str>) -> Self

    Sets the long version of the subcommand flag without the preceding --.

    Allows the subcommand to be used as if it were an Arg::long.

    NOTE: Any leading - characters will be stripped.

    §Examples
    @@ -951,7 +951,7 @@
    §Examplesassert_eq!(matches.subcommand_name().unwrap(), "sync"); let sync_matches = matches.subcommand_matches("sync").unwrap(); assert!(sync_matches.get_flag("search"));
    -
    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Self

    Sets a hidden alias to this subcommand.

    +
    source

    pub fn alias(self, name: impl IntoResettable<Str>) -> Self

    Sets a hidden alias to this subcommand.

    This allows the subcommand to be accessed via either the original name, or this given alias. This is more efficient and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all aliased variants.

    @@ -967,7 +967,7 @@
    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Self

    Add an alias, which functions as “hidden” short flag subcommand

    +
    source

    pub fn short_flag_alias(self, name: impl IntoResettable<char>) -> Self

    Add an alias, which functions as “hidden” short flag subcommand

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -977,7 +977,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Self

    Add an alias, which functions as a “hidden” long flag subcommand.

    +
    source

    pub fn long_flag_alias(self, name: impl IntoResettable<Str>) -> Self

    Add an alias, which functions as a “hidden” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -987,7 +987,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Self

    Sets multiple hidden aliases to this subcommand.

    +
    source

    pub fn aliases(self, names: impl IntoIterator<Item = impl Into<Str>>) -> Self

    Sets multiple hidden aliases to this subcommand.

    This allows the subcommand to be accessed via either the original name or any of the given aliases. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command and not all aliased variants.

    @@ -1006,7 +1006,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "do-tests"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn short_flag_aliases(self, names: impl IntoIterator<Item = char>) -> Self

    Add aliases, which function as “hidden” short flag subcommands.

    +
    source

    pub fn short_flag_aliases(self, names: impl IntoIterator<Item = char>) -> Self

    Add aliases, which function as “hidden” short flag subcommands.

    These will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -1019,7 +1019,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "-a"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn long_flag_aliases( +

    source

    pub fn long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Self

    Add aliases, which function as “hidden” long flag subcommands.

    @@ -1035,7 +1035,7 @@
    §Examplesfalse)) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Self

    Sets a visible alias to this subcommand.

    +
    source

    pub fn visible_alias(self, name: impl IntoResettable<Str>) -> Self

    Sets a visible alias to this subcommand.

    This allows the subcommand to be accessed via either the original name or the given alias. This is more efficient and easier than creating hidden subcommands as one only needs to check for @@ -1053,7 +1053,7 @@

    §Examples"do-stuff")) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_short_flag_alias(self, name: impl IntoResettable<char>) -> Self

    Add an alias, which functions as “visible” short flag subcommand

    +
    source

    pub fn visible_short_flag_alias(self, name: impl IntoResettable<char>) -> Self

    Add an alias, which functions as “visible” short flag subcommand

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -1064,7 +1064,7 @@
    §Examples'd')) .get_matches_from(vec!["myprog", "-d"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Self

    Add an alias, which functions as a “visible” long flag subcommand.

    +
    source

    pub fn visible_long_flag_alias(self, name: impl IntoResettable<Str>) -> Self

    Add an alias, which functions as a “visible” long flag subcommand.

    This will automatically dispatch as if this subcommand was used. This is more efficient, and easier than creating multiple hidden subcommands as one only needs to check for the existence of this command, and not all variants.

    @@ -1075,7 +1075,7 @@
    §Examples"testing")) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_aliases( +

    source

    pub fn visible_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Self

    Sets multiple visible aliases to this subcommand.

    @@ -1096,7 +1096,7 @@
    §Examples"do-stuff", "tests"])) .get_matches_from(vec!["myprog", "do-stuff"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_short_flag_aliases( +

    source

    pub fn visible_short_flag_aliases( self, names: impl IntoIterator<Item = char>, ) -> Self

    Add aliases, which function as visible short flag subcommands.

    @@ -1107,7 +1107,7 @@
    §Examples't'])) .get_matches_from(vec!["myprog", "-t"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn visible_long_flag_aliases( +

    source

    pub fn visible_long_flag_aliases( self, names: impl IntoIterator<Item = impl Into<Str>>, ) -> Self

    Add aliases, which function as visible long flag subcommands.

    @@ -1118,7 +1118,7 @@
    §Examples"testing", "testall", "test_all"])) .get_matches_from(vec!["myprog", "--testing"]); assert_eq!(m.subcommand_name(), Some("test"));
    -
    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Self

    Set the placement of this subcommand within the help.

    +
    source

    pub fn display_order(self, ord: impl IntoResettable<usize>) -> Self

    Set the placement of this subcommand within the help.

    Subcommands with a lower value will be displayed first in the help message. Those with the same display order will be sorted.

    Commands are automatically assigned a display order based on the order they are added to @@ -1149,13 +1149,13 @@

    §Examples
    source

    pub fn hide(self, yes: bool) -> Self

    Specifies that this subcommand should be hidden from help messages

    +
    source

    pub fn hide(self, yes: bool) -> Self

    Specifies that this subcommand should be hidden from help messages

    §Examples
    Command::new("myprog")
         .subcommand(
             Command::new("test").hide(true)
         )
    -
    source

    pub fn subcommand_required(self, yes: bool) -> Self

    If no subcommand is present at runtime, error and exit gracefully.

    +
    source

    pub fn subcommand_required(self, yes: bool) -> Self

    If no subcommand is present at runtime, error and exit gracefully.

    §Examples
    let err = Command::new("myprog")
         .subcommand_required(true)
    @@ -1165,7 +1165,7 @@ 
    §Examplesassert!(err.is_err()); assert_eq!(err.unwrap_err().kind(), ErrorKind::MissingSubcommand);
    -
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Self

    Assume unexpected positional arguments are a subcommand.

    +
    source

    pub fn allow_external_subcommands(self, yes: bool) -> Self

    Assume unexpected positional arguments are a subcommand.

    Arguments will be stored in the "" argument in the ArgMatches

    NOTE: Use this setting with caution, as a truly unexpected argument (i.e. one that is NOT an external subcommand) @@ -1191,7 +1191,7 @@

    §Examples_ => {}, }
    -
    source

    pub fn external_subcommand_value_parser( +

    source

    pub fn external_subcommand_value_parser( self, parser: impl IntoResettable<ValueParser>, ) -> Self

    Specifies how to parse external subcommand arguments.

    @@ -1234,7 +1234,7 @@
    §Examples_ => {}, }
    -
    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Self

    Specifies that use of an argument prevents the use of subcommands.

    +
    source

    pub fn args_conflicts_with_subcommands(self, yes: bool) -> Self

    Specifies that use of an argument prevents the use of subcommands.

    By default clap allows arguments between subcommands such as <cmd> [cmd_args] <subcmd> [subcmd_args] <subsubcmd> [subsubcmd_args].

    This setting disables that functionality and says that arguments can @@ -1248,7 +1248,7 @@

    §Examples§Examples
    Command::new("myprog")
         .args_conflicts_with_subcommands(true);
    -
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Self

    Prevent subcommands from being consumed as an arguments value.

    +
    source

    pub fn subcommand_precedence_over_arg(self, yes: bool) -> Self

    Prevent subcommands from being consumed as an arguments value.

    By default, if an option taking multiple values is followed by a subcommand, the subcommand will be parsed as another value.

    cmd --foo val1 val2 subcommand
    @@ -1287,7 +1287,7 @@ 
    §Examples&["1", "2", "3"] ); assert!(matches.subcommand_matches("sub").is_some());
    -
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Self

    Allows subcommands to override all requirements of the parent command.

    +
    source

    pub fn subcommand_negates_reqs(self, yes: bool) -> Self

    Allows subcommands to override all requirements of the parent command.

    For example, if you had a subcommand or top level application with a required argument that is only required as long as there is no subcommand present, using this setting would allow you to set those arguments to Arg::required(true) @@ -1316,7 +1316,7 @@

    §Examples"myprog", "test" ]); assert!(noerr.is_ok());
    -
    source

    pub fn multicall(self, yes: bool) -> Self

    Multiple-personality program dispatched on the binary name (argv[0])

    +
    source

    pub fn multicall(self, yes: bool) -> Self

    Multiple-personality program dispatched on the binary name (argv[0])

    A “multicall” executable is a single executable that contains a variety of applets, and decides which applet to run based on the name of the file. @@ -1410,7 +1410,7 @@

    §Examples// When called from a link named after an applet that applet is matched. let m = cmd.get_matches_from(&["/usr/bin/true"]); assert_eq!(m.subcommand_name(), Some("true"));
    -
    source

    pub fn subcommand_value_name(self, value_name: impl IntoResettable<Str>) -> Self

    Sets the value name used for subcommands when printing usage and help.

    +
    source

    pub fn subcommand_value_name(self, value_name: impl IntoResettable<Str>) -> Self

    Sets the value name used for subcommands when printing usage and help.

    By default, this is “COMMAND”.

    See also Command::subcommand_help_heading

    §Examples
    @@ -1448,7 +1448,7 @@
    §Examples
    source

    pub fn subcommand_help_heading(self, heading: impl IntoResettable<Str>) -> Self

    Sets the help heading used for subcommands when printing usage and help.

    +
    source

    pub fn subcommand_help_heading(self, heading: impl IntoResettable<Str>) -> Self

    Sets the help heading used for subcommands when printing usage and help.

    By default, this is “Commands”.

    See also Command::subcommand_value_name

    §Examples
    @@ -1486,84 +1486,84 @@
    §Examples
    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    -
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    -
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    -
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    -
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    -
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    -
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    -
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    -
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    -
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    -
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    -
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    -
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    -
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    -
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the visible aliases for this subcommand.

    -
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char> + '_

    Iterate through the visible short aliases for this subcommand.

    -
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the visible long aliases for this subcommand.

    -
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char> + '_

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    -
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the hidden aliases for this subcommand.

    -
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    -
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    -
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    -
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    -
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    -
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    -
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    -
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    +
    source§

    impl Command

    §Reflection

    source

    pub fn get_display_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn get_bin_name(&self) -> Option<&str>

    Get the name of the binary.

    +
    source

    pub fn set_bin_name(&mut self, name: impl Into<String>)

    Set binary name. Uses &mut self instead of self.

    +
    source

    pub fn get_name(&self) -> &str

    Get the name of the cmd.

    +
    source

    pub fn get_name_and_visible_aliases(&self) -> Vec<&str>

    Get all known names of the cmd (i.e. primary name and visible aliases).

    +
    source

    pub fn get_version(&self) -> Option<&str>

    Get the version of the cmd.

    +
    source

    pub fn get_long_version(&self) -> Option<&str>

    Get the long version of the cmd.

    +
    source

    pub fn get_display_order(&self) -> usize

    Get the placement within help

    +
    source

    pub fn get_author(&self) -> Option<&str>

    Get the authors of the cmd.

    +
    source

    pub fn get_short_flag(&self) -> Option<char>

    Get the short flag of the subcommand.

    +
    source

    pub fn get_long_flag(&self) -> Option<&str>

    Get the long flag of the subcommand.

    +
    source

    pub fn get_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::about.

    +
    source

    pub fn get_long_about(&self) -> Option<&StyledStr>

    Get the help message specified via Command::long_about.

    +
    source

    pub fn is_flatten_help_set(&self) -> bool

    Get the custom section heading specified via Command::flatten_help.

    +
    source

    pub fn get_next_help_heading(&self) -> Option<&str>

    Get the custom section heading specified via Command::next_help_heading.

    +
    source

    pub fn get_visible_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the visible aliases for this subcommand.

    +
    source

    pub fn get_visible_short_flag_aliases(&self) -> impl Iterator<Item = char> + '_

    Iterate through the visible short aliases for this subcommand.

    +
    source

    pub fn get_visible_long_flag_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the visible long aliases for this subcommand.

    +
    source

    pub fn get_all_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the set of all the aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_short_flag_aliases(&self) -> impl Iterator<Item = char> + '_

    Iterate through the set of all the short aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_all_long_flag_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the set of all the long aliases for this subcommand, both visible and hidden.

    +
    source

    pub fn get_aliases(&self) -> impl Iterator<Item = &str> + '_

    Iterate through the hidden aliases for this subcommand.

    +
    source

    pub fn get_color(&self) -> ColorChoice

    Should we color the output?

    +
    source

    pub fn get_styles(&self) -> &Styles

    Return the current Styles for the Command

    +
    source

    pub fn get_subcommands(&self) -> impl Iterator<Item = &Command>

    Iterate through the set of subcommands, getting a reference to each.

    +
    source

    pub fn get_subcommands_mut(&mut self) -> impl Iterator<Item = &mut Command>

    Iterate through the set of subcommands, getting a mutable reference to each.

    +
    source

    pub fn has_subcommands(&self) -> bool

    Returns true if this Command has subcommands.

    +
    source

    pub fn get_subcommand_help_heading(&self) -> Option<&str>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_subcommand_value_name(&self) -> Option<&str>

    Returns the subcommand value name.

    +
    source

    pub fn get_before_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_before_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn get_after_long_help(&self) -> Option<&StyledStr>

    Returns the help heading for listing subcommands.

    +
    source

    pub fn find_subcommand(&self, name: impl AsRef<OsStr>) -> Option<&Command>

    Find subcommand such that its name or one of aliases equals name.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn find_subcommand_mut( +

    source

    pub fn find_subcommand_mut( &mut self, name: impl AsRef<OsStr>, ) -> Option<&mut Command>

    Find subcommand such that its name or one of aliases equals name, returning a mutable reference to the subcommand.

    This does not recurse through subcommands of subcommands.

    -
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    -
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    -
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    -
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    -
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    +
    source

    pub fn get_groups(&self) -> impl Iterator<Item = &ArgGroup>

    Iterate through the set of groups.

    +
    source

    pub fn get_arguments(&self) -> impl Iterator<Item = &Arg>

    Iterate through the set of arguments.

    +
    source

    pub fn get_positionals(&self) -> impl Iterator<Item = &Arg>

    Iterate through the positionals arguments.

    +
    source

    pub fn get_opts(&self) -> impl Iterator<Item = &Arg>

    Iterate through the options.

    +
    source

    pub fn get_arg_conflicts_with(&self, arg: &Arg) -> Vec<&Arg>

    Get a list of all arguments the given argument conflicts with.

    If the provided argument is declared as global, the conflicts will be determined based on the propagation rules of global arguments.

    §Panics

    If the given arg contains a conflict with an argument that is unknown to this Command.

    -
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    -
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    -
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    -
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    -
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    -
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    -
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    -
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    -
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    -
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    -
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    -
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    -
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    +
    source

    pub fn is_no_binary_name_set(&self) -> bool

    Report whether Command::no_binary_name is set

    +
    source

    pub fn is_dont_delimit_trailing_values_set(&self) -> bool

    source

    pub fn is_disable_version_flag_set(&self) -> bool

    Report whether Command::disable_version_flag is set

    +
    source

    pub fn is_propagate_version_set(&self) -> bool

    Report whether Command::propagate_version is set

    +
    source

    pub fn is_next_line_help_set(&self) -> bool

    Report whether Command::next_line_help is set

    +
    source

    pub fn is_disable_help_flag_set(&self) -> bool

    Report whether Command::disable_help_flag is set

    +
    source

    pub fn is_disable_help_subcommand_set(&self) -> bool

    Report whether Command::disable_help_subcommand is set

    +
    source

    pub fn is_disable_colored_help_set(&self) -> bool

    Report whether Command::disable_colored_help is set

    +
    source

    pub fn is_arg_required_else_help_set(&self) -> bool

    Report whether Command::arg_required_else_help is set

    +
    source

    pub fn is_allow_missing_positional_set(&self) -> bool

    Report whether Command::allow_missing_positional is set

    +
    source

    pub fn is_hide_set(&self) -> bool

    Report whether Command::hide is set

    +
    source

    pub fn is_subcommand_required_set(&self) -> bool

    Report whether Command::subcommand_required is set

    +
    source

    pub fn is_allow_external_subcommands_set(&self) -> bool

    Report whether Command::allow_external_subcommands is set

    +
    source

    pub fn get_external_subcommand_value_parser(&self) -> Option<&ValueParser>

    Configured parser for values passed to an external subcommand

    §Example
    let cmd = clap::Command::new("raw")
         .external_subcommand_value_parser(clap::value_parser!(String));
     let value_parser = cmd.get_external_subcommand_value_parser();
     println!("{value_parser:?}");
    -
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    -
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    -
    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    +
    source

    pub fn is_args_conflicts_with_subcommands_set(&self) -> bool

    source

    pub fn is_subcommand_precedence_over_arg_set(&self) -> bool

    source

    pub fn is_subcommand_negates_reqs_set(&self) -> bool

    Report whether Command::subcommand_negates_reqs is set

    +
    source

    pub fn is_multicall_set(&self) -> bool

    Report whether Command::multicall is set

    +
    source§

    impl Command

    source

    pub fn build(&mut self)

    Prepare for introspecting on all included Commands

    Call this on the top-level Command when done building and before reading state for cases like completions, custom help output, etc.

    -

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Self

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Self

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Command

    source§

    fn clone(&self) -> Command

    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 Command

    source§

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

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

    impl Default for Command

    source§

    fn default() -> Self

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

    impl Display for Command

    source§

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

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

    impl From<&Command> for Command

    source§

    fn from(cmd: &Command) -> Self

    Converts to this type from the input type.
    source§

    impl Index<&Id> for Command

    §

    type Output = Arg

    The returned type after indexing.
    source§

    fn index(&self, key: &Id) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Command

    §

    impl !RefUnwindSafe for Command

    §

    impl Send for Command

    §

    impl Sync for Command

    §

    impl Unpin for Command

    §

    impl !UnwindSafe for Command

    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> CloneToUninit for T
    where diff --git a/clap_builder/builder/struct.EnumValueParser.html b/clap_builder/builder/struct.EnumValueParser.html index e16f2b878..7e27184b5 100644 --- a/clap_builder/builder/struct.EnumValueParser.html +++ b/clap_builder/builder/struct.EnumValueParser.html @@ -1,4 +1,4 @@ -EnumValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::EnumValueParser

    source ·
    pub struct EnumValueParser<E: ValueEnum + Clone + Send + Sync + 'static>(/* private fields */);
    Expand description

    Parse an ValueEnum value.

    +EnumValueParser in clap_builder::builder - Rust

    Struct clap_builder::builder::EnumValueParser

    source ·
    pub struct EnumValueParser<E: ValueEnum + Clone + Send + Sync + 'static>(/* private fields */);
    Expand description

    Parse an ValueEnum value.

    See also:

    • PossibleValuesParser
    • diff --git a/clap_builder/builder/struct.FalseyValueParser.html b/clap_builder/builder/struct.FalseyValueParser.html index 2f0f75ece..e475fef4b 100644 --- a/clap_builder/builder/struct.FalseyValueParser.html +++ b/clap_builder/builder/struct.FalseyValueParser.html @@ -1,4 +1,4 @@ -FalseyValueParser in clap_builder::builder - Rust

      Struct clap_builder::builder::FalseyValueParser

      source ·
      #[non_exhaustive]
      pub struct FalseyValueParser {}
      Expand description

      Parse false-like string values, everything else is true

      +FalseyValueParser in clap_builder::builder - Rust

      Struct clap_builder::builder::FalseyValueParser

      source ·
      #[non_exhaustive]
      pub struct FalseyValueParser {}
      Expand description

      Parse false-like string values, everything else is true

      See also:

      • ValueParser::bool for assuming non-false is true
      • diff --git a/clap_builder/builder/struct.MapValueParser.html b/clap_builder/builder/struct.MapValueParser.html index a6cc0d8a4..365d0b1bb 100644 --- a/clap_builder/builder/struct.MapValueParser.html +++ b/clap_builder/builder/struct.MapValueParser.html @@ -1,4 +1,4 @@ -MapValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::MapValueParser

        source ·
        pub struct MapValueParser<P, F> { /* private fields */ }
        Expand description

        Adapt a TypedValueParser from one value to another

        +MapValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::MapValueParser

        source ·
        pub struct MapValueParser<P, F> { /* private fields */ }
        Expand description

        Adapt a TypedValueParser from one value to another

        See TypedValueParser::map

        Trait Implementations§

        source§

        impl<P: Clone, F: Clone> Clone for MapValueParser<P, F>

        source§

        fn clone(&self) -> MapValueParser<P, F>

        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<P: Debug, F: Debug> Debug for MapValueParser<P, F>

        source§

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

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

        impl<P, F, T> TypedValueParser for MapValueParser<P, F>
        where P: TypedValueParser, diff --git a/clap_builder/builder/struct.NonEmptyStringValueParser.html b/clap_builder/builder/struct.NonEmptyStringValueParser.html index 464ca50ce..0ae30e26e 100644 --- a/clap_builder/builder/struct.NonEmptyStringValueParser.html +++ b/clap_builder/builder/struct.NonEmptyStringValueParser.html @@ -1,4 +1,4 @@ -NonEmptyStringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::NonEmptyStringValueParser

        source ·
        #[non_exhaustive]
        pub struct NonEmptyStringValueParser {}
        Expand description

        Parse non-empty string values

        +NonEmptyStringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::NonEmptyStringValueParser

        source ·
        #[non_exhaustive]
        pub struct NonEmptyStringValueParser {}
        Expand description

        Parse non-empty string values

        See also:

        Restrict a value to a certain interval. Read more
        source§

        impl PartialEq<&OsStr> for OsStr

        source§

        fn eq(&self, other: &&OsStr) -> 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 PartialEq<&str> for OsStr

        source§

        fn eq(&self, other: &&str) -> 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 PartialEq<OsStr> for &OsStr

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for &str

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for OsString

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for String

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for String

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsStr> for str

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<OsString> for OsStr

        source§

        fn eq(&self, other: &OsString) -> 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 PartialEq<String> for OsStr

        source§

        fn eq(&self, other: &String) -> 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 PartialEq<str> for OsStr

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<OsString> for OsStr

        source§

        fn eq(&self, other: &OsString) -> 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 PartialEq for OsStr

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<String> for OsStr

        source§

        fn eq(&self, other: &String) -> 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 PartialEq<str> for OsStr

        source§

        fn eq(&self, other: &str) -> 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 PartialEq for OsStr

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialOrd for OsStr

        source§

        fn partial_cmp(&self, other: &OsStr) -> Option<Ordering>

        This method returns an ordering between self and other values if one exists. Read more
        1.0.0 · source§

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

        This method tests less than (for self and other) and is used by the < operator. Read more
        1.0.0 · source§

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

        This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
        1.0.0 · source§

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

        This method tests greater than (for self and other) and is used by the > operator. Read more
        1.0.0 · source§

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

        This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
        source§

        impl Eq for OsStr

        source§

        impl StructuralPartialEq for OsStr

        Auto Trait Implementations§

        §

        impl Freeze for OsStr

        §

        impl RefUnwindSafe for OsStr

        §

        impl Send for OsStr

        §

        impl Sync for OsStr

        §

        impl Unpin for OsStr

        §

        impl UnwindSafe for OsStr

        Blanket Implementations§

        source§

        impl<T> Any for T
        where diff --git a/clap_builder/builder/struct.OsStringValueParser.html b/clap_builder/builder/struct.OsStringValueParser.html index e472b7a37..c2d418e75 100644 --- a/clap_builder/builder/struct.OsStringValueParser.html +++ b/clap_builder/builder/struct.OsStringValueParser.html @@ -1,4 +1,4 @@ -OsStringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::OsStringValueParser

        source ·
        #[non_exhaustive]
        pub struct OsStringValueParser {}
        Expand description

        Implementation for ValueParser::os_string

        +OsStringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::OsStringValueParser

        source ·
        #[non_exhaustive]
        pub struct OsStringValueParser {}
        Expand description

        Implementation for ValueParser::os_string

        Useful for composing new TypedValueParsers

        Implementations§

        source§

        impl OsStringValueParser

        source

        pub fn new() -> Self

        Implementation for ValueParser::os_string

        Trait Implementations§

        source§

        impl Clone for OsStringValueParser

        source§

        fn clone(&self) -> OsStringValueParser

        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 OsStringValueParser

        source§

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

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

        impl Default for OsStringValueParser

        source§

        fn default() -> Self

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

        impl TypedValueParser for OsStringValueParser

        §

        type Value = OsString

        Argument’s value type
        source§

        fn parse_ref( diff --git a/clap_builder/builder/struct.PathBufValueParser.html b/clap_builder/builder/struct.PathBufValueParser.html index 14829ea4d..fe04fa2c1 100644 --- a/clap_builder/builder/struct.PathBufValueParser.html +++ b/clap_builder/builder/struct.PathBufValueParser.html @@ -1,4 +1,4 @@ -PathBufValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::PathBufValueParser

        source ·
        #[non_exhaustive]
        pub struct PathBufValueParser {}
        Expand description

        Implementation for ValueParser::path_buf

        +PathBufValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::PathBufValueParser

        source ·
        #[non_exhaustive]
        pub struct PathBufValueParser {}
        Expand description

        Implementation for ValueParser::path_buf

        Useful for composing new TypedValueParsers

        Implementations§

        source§

        impl PathBufValueParser

        source

        pub fn new() -> Self

        Implementation for ValueParser::path_buf

        Trait Implementations§

        source§

        impl Clone for PathBufValueParser

        source§

        fn clone(&self) -> PathBufValueParser

        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 PathBufValueParser

        source§

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

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

        impl Default for PathBufValueParser

        source§

        fn default() -> Self

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

        impl TypedValueParser for PathBufValueParser

        §

        type Value = PathBuf

        Argument’s value type
        source§

        fn parse_ref( diff --git a/clap_builder/builder/struct.PossibleValue.html b/clap_builder/builder/struct.PossibleValue.html index b02e52bff..8868de54b 100644 --- a/clap_builder/builder/struct.PossibleValue.html +++ b/clap_builder/builder/struct.PossibleValue.html @@ -1,4 +1,4 @@ -PossibleValue in clap_builder::builder - Rust

        Struct clap_builder::builder::PossibleValue

        source ·
        pub struct PossibleValue { /* private fields */ }
        Expand description

        A possible value of an argument.

        +PossibleValue in clap_builder::builder - Rust

        Struct clap_builder::builder::PossibleValue

        source ·
        pub struct PossibleValue { /* private fields */ }
        Expand description

        A possible value of an argument.

        This is used for specifying possible values of Args.

        See also PossibleValuesParser

        NOTE: Most likely you can use strings, rather than PossibleValue as it is only required diff --git a/clap_builder/builder/struct.PossibleValuesParser.html b/clap_builder/builder/struct.PossibleValuesParser.html index 0df553aa5..2d151f7ee 100644 --- a/clap_builder/builder/struct.PossibleValuesParser.html +++ b/clap_builder/builder/struct.PossibleValuesParser.html @@ -1,4 +1,4 @@ -PossibleValuesParser in clap_builder::builder - Rust

        Struct clap_builder::builder::PossibleValuesParser

        source ·
        pub struct PossibleValuesParser(/* private fields */);
        Expand description

        Verify the value is from an enumerated set of PossibleValue.

        +PossibleValuesParser in clap_builder::builder - Rust

        Struct clap_builder::builder::PossibleValuesParser

        source ·
        pub struct PossibleValuesParser(/* private fields */);
        Expand description

        Verify the value is from an enumerated set of PossibleValue.

        See also:

        Restrict a value to a certain interval. Read more
        source§

        impl PartialEq<&OsStr> for Str

        source§

        fn eq(&self, other: &&OsStr) -> 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 PartialEq<OsStr> for Str

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<Str> for &OsStr

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<&str> for Str

        source§

        fn eq(&self, other: &&str) -> 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 PartialEq<Str> for &str

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for Id

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<Id> for Str

        source§

        fn eq(&self, other: &Id) -> 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 PartialEq<OsStr> for Str

        source§

        fn eq(&self, other: &OsStr) -> 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 PartialEq<Str> for &OsStr

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for &str

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for OsStr

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<Str> for Id

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for OsStr

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for String

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for String

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<Str> for str

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<String> for Str

        source§

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

        This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
        source§

        impl PartialEq<Str> for str

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq<String> for Str

        source§

        fn eq(&self, other: &String) -> 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 PartialEq<str> for Str

        source§

        fn eq(&self, other: &str) -> 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 PartialEq<str> for Str

        source§

        fn eq(&self, other: &str) -> 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 PartialEq for Str

        source§

        fn eq(&self, other: &Str) -> 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 PartialEq for Str

        source§

        fn eq(&self, other: &Str) -> 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 PartialOrd for Str

        source§

        fn partial_cmp(&self, other: &Str) -> Option<Ordering>

        This method returns an ordering between self and other values if one exists. Read more
        1.0.0 · source§

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

        This method tests less than (for self and other) and is used by the < operator. Read more
        1.0.0 · source§

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

        This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
        1.0.0 · source§

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

        This method tests greater than (for self and other) and is used by the > operator. Read more
        1.0.0 · source§

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

        This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
        source§

        impl Eq for Str

        source§

        impl StructuralPartialEq for Str

        Auto Trait Implementations§

        §

        impl Freeze for Str

        §

        impl RefUnwindSafe for Str

        §

        impl Send for Str

        §

        impl Sync for Str

        §

        impl Unpin for Str

        §

        impl UnwindSafe for Str

        Blanket Implementations§

        source§

        impl<T> Any for T
        where diff --git a/clap_builder/builder/struct.StringValueParser.html b/clap_builder/builder/struct.StringValueParser.html index a7964b8a1..e09095c9e 100644 --- a/clap_builder/builder/struct.StringValueParser.html +++ b/clap_builder/builder/struct.StringValueParser.html @@ -1,4 +1,4 @@ -StringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::StringValueParser

        source ·
        #[non_exhaustive]
        pub struct StringValueParser {}
        Expand description

        Implementation for ValueParser::string

        +StringValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::StringValueParser

        source ·
        #[non_exhaustive]
        pub struct StringValueParser {}
        Expand description

        Implementation for ValueParser::string

        Useful for composing new TypedValueParsers

        Implementations§

        source§

        impl StringValueParser

        source

        pub fn new() -> Self

        Implementation for ValueParser::string

        Trait Implementations§

        source§

        impl Clone for StringValueParser

        source§

        fn clone(&self) -> StringValueParser

        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 StringValueParser

        source§

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

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

        impl Default for StringValueParser

        source§

        fn default() -> Self

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

        impl TypedValueParser for StringValueParser

        §

        type Value = String

        Argument’s value type
        source§

        fn parse_ref( diff --git a/clap_builder/builder/struct.StyledStr.html b/clap_builder/builder/struct.StyledStr.html index 500328b4c..4f9bc255f 100644 --- a/clap_builder/builder/struct.StyledStr.html +++ b/clap_builder/builder/struct.StyledStr.html @@ -1,4 +1,4 @@ -StyledStr in clap_builder::builder - Rust

        Struct clap_builder::builder::StyledStr

        source ·
        pub struct StyledStr(/* private fields */);
        Expand description

        Terminal-styling container

        +StyledStr in clap_builder::builder - Rust

        Struct clap_builder::builder::StyledStr

        source ·
        pub struct StyledStr(/* private fields */);
        Expand description

        Terminal-styling container

        Styling may be encoded as ANSI Escape Code

        §Examples

        // `cstr!` converts tags to ANSI codes
        @@ -14,7 +14,7 @@ 

        §Examples

        Implementations§

        source§

        impl StyledStr

        source

        pub const fn new() -> Self

        Create an empty buffer

        source

        pub fn ansi(&self) -> impl Display + '_

        Display using ANSI Escape Code styling

        Trait Implementations§

        source§

        impl Clone for StyledStr

        source§

        fn clone(&self) -> StyledStr

        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 StyledStr

        source§

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

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

        impl Default for &StyledStr

        source§

        fn default() -> Self

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

        impl Default for StyledStr

        source§

        fn default() -> StyledStr

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

        impl Display for StyledStr

        Color-unaware printing. Never uses coloring.

        -
        source§

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

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

        impl From<&&'static str> for StyledStr

        source§

        fn from(name: &&'static str) -> Self

        Converts to this type from the input type.
        source§

        impl From<&String> for StyledStr

        source§

        fn from(name: &String) -> Self

        Converts to this type from the input type.
        source§

        impl From<&'static str> for StyledStr

        source§

        fn from(name: &'static str) -> Self

        Converts to this type from the input type.
        source§

        impl From<String> for StyledStr

        source§

        fn from(name: String) -> Self

        Converts to this type from the input type.
        source§

        impl IntoResettable<StyledStr> for Option<&'static str>

        source§

        fn into_resettable(self) -> Resettable<StyledStr>

        Convert to the intended resettable type
        source§

        impl Ord for StyledStr

        source§

        fn cmp(&self, other: &StyledStr) -> Ordering

        This method returns an Ordering between self and other. Read more
        1.21.0 · source§

        fn max(self, other: Self) -> Self
        where +
        source§

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

        Formats the value using the given formatter. Read more

        source§

        impl From<&&'static str> for StyledStr

        source§

        fn from(name: &&'static str) -> Self

        Converts to this type from the input type.
        source§

        impl From<&String> for StyledStr

        source§

        fn from(name: &String) -> Self

        Converts to this type from the input type.
        source§

        impl From<&'static str> for StyledStr

        source§

        fn from(name: &'static str) -> Self

        Converts to this type from the input type.
        source§

        impl From<String> for StyledStr

        source§

        fn from(name: String) -> Self

        Converts to this type from the input type.
        source§

        impl IntoResettable<StyledStr> for Option<&'static str>

        source§

        fn into_resettable(self) -> Resettable<StyledStr>

        Convert to the intended resettable type
        source§

        impl Ord for StyledStr

        source§

        fn cmp(&self, other: &StyledStr) -> Ordering

        This method returns an Ordering between self and other. Read more
        1.21.0 · source§

        fn max(self, other: Self) -> Self
        where Self: Sized,

        Compares and returns the maximum of two values. Read more
        1.21.0 · source§

        fn min(self, other: Self) -> Self
        where Self: Sized,

        Compares and returns the minimum of two values. Read more
        1.50.0 · source§

        fn clamp(self, min: Self, max: Self) -> Self
        where Self: Sized + PartialOrd,

        Restrict a value to a certain interval. Read more
        source§

        impl PartialEq for StyledStr

        source§

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

        This method tests for self and other values to be equal, and is used diff --git a/clap_builder/builder/struct.TryMapValueParser.html b/clap_builder/builder/struct.TryMapValueParser.html index fa235c411..7c178a192 100644 --- a/clap_builder/builder/struct.TryMapValueParser.html +++ b/clap_builder/builder/struct.TryMapValueParser.html @@ -1,4 +1,4 @@ -TryMapValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::TryMapValueParser

        source ·
        pub struct TryMapValueParser<P, F> { /* private fields */ }
        Expand description

        Adapt a TypedValueParser from one value to another

        +TryMapValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::TryMapValueParser

        source ·
        pub struct TryMapValueParser<P, F> { /* private fields */ }
        Expand description

        Adapt a TypedValueParser from one value to another

        See TypedValueParser::try_map

        Trait Implementations§

        source§

        impl<P: Clone, F: Clone> Clone for TryMapValueParser<P, F>

        source§

        fn clone(&self) -> TryMapValueParser<P, F>

        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<P: Debug, F: Debug> Debug for TryMapValueParser<P, F>

        source§

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

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

        impl<P, F, T, E> TypedValueParser for TryMapValueParser<P, F>
        where P: TypedValueParser, diff --git a/clap_builder/builder/struct.UnknownArgumentValueParser.html b/clap_builder/builder/struct.UnknownArgumentValueParser.html index 8d3cd0e8f..3052ba10a 100644 --- a/clap_builder/builder/struct.UnknownArgumentValueParser.html +++ b/clap_builder/builder/struct.UnknownArgumentValueParser.html @@ -1,4 +1,4 @@ -UnknownArgumentValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::UnknownArgumentValueParser

        source ·
        pub struct UnknownArgumentValueParser { /* private fields */ }
        Expand description

        When encountered, report ErrorKind::UnknownArgument

        +UnknownArgumentValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::UnknownArgumentValueParser

        source ·
        pub struct UnknownArgumentValueParser { /* private fields */ }
        Expand description

        When encountered, report ErrorKind::UnknownArgument

        Useful to help users migrate, either from old versions or similar tools.

        §Examples

        let cmd = Command::new("mycmd")
        diff --git a/clap_builder/builder/struct.ValueParser.html b/clap_builder/builder/struct.ValueParser.html
        index 93cdad2f7..80f450b65 100644
        --- a/clap_builder/builder/struct.ValueParser.html
        +++ b/clap_builder/builder/struct.ValueParser.html
        @@ -1,4 +1,4 @@
        -ValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::ValueParser

        source ·
        pub struct ValueParser(/* private fields */);
        Expand description

        Parse/validate argument values

        +ValueParser in clap_builder::builder - Rust

        Struct clap_builder::builder::ValueParser

        source ·
        pub struct ValueParser(/* private fields */);
        Expand description

        Parse/validate argument values

        Specified with Arg::value_parser.

        ValueParser defines how to convert a raw argument value into a validated and typed value for use within an application.

        @@ -158,7 +158,7 @@
        §Example
        P: Into<PossibleValue>,

        Create a ValueParser with PossibleValuesParser

        See PossibleValuesParser for more flexibility in creating the PossibleValues.

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("color")
        @@ -174,7 +174,7 @@ 

        §Examples

        let color: &String = m.get_one("color") .expect("default"); assert_eq!(color, "never");
        -
        source§

        fn from(values: [P; C]) -> Self

        Converts to this type from the input type.
        source§

        impl<P> From<P> for ValueParser
        where +
        source§

        fn from(values: [P; C]) -> Self

        Converts to this type from the input type.

        source§

        impl<P> From<P> for ValueParser
        where P: TypedValueParser + Send + Sync + 'static,

        Convert a TypedValueParser to ValueParser

        §Example

        let mut cmd = clap::Command::new("raw")
        @@ -193,10 +193,10 @@ 

        §Example

        let hostname: &String = m.get_one("hostname") .expect("required"); assert_eq!(hostname, "rust-lang.org");
        -
        source§

        fn from(p: P) -> Self

        Converts to this type from the input type.
        source§

        impl From<Range<i64>> for ValueParser

        Create an i64 ValueParser from a N..M range

        +
        source§

        fn from(p: P) -> Self

        Converts to this type from the input type.
        source§

        impl From<Range<i64>> for ValueParser

        Create an i64 ValueParser from a N..M range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -210,10 +210,10 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
        -
        source§

        fn from(value: Range<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFrom<i64>> for ValueParser

        Create an i64 ValueParser from a N.. range

        +
        source§

        fn from(value: Range<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFrom<i64>> for ValueParser

        Create an i64 ValueParser from a N.. range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -227,10 +227,10 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
        -
        source§

        fn from(value: RangeFrom<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFull> for ValueParser

        Create an i64 ValueParser from a .. range

        +
        source§

        fn from(value: RangeFrom<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFull> for ValueParser

        Create an i64 ValueParser from a .. range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -244,10 +244,10 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
        -
        source§

        fn from(value: RangeFull) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeInclusive<i64>> for ValueParser

        Create an i64 ValueParser from a N..=M range

        +
        source§

        fn from(value: RangeFull) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeInclusive<i64>> for ValueParser

        Create an i64 ValueParser from a N..=M range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -261,10 +261,10 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 3001);
        -
        source§

        fn from(value: RangeInclusive<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeTo<i64>> for ValueParser

        Create an i64 ValueParser from a ..M range

        +
        source§

        fn from(value: RangeInclusive<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeTo<i64>> for ValueParser

        Create an i64 ValueParser from a ..M range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -278,10 +278,10 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 80);
        -
        source§

        fn from(value: RangeTo<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeToInclusive<i64>> for ValueParser

        Create an i64 ValueParser from a ..=M range

        +
        source§

        fn from(value: RangeTo<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeToInclusive<i64>> for ValueParser

        Create an i64 ValueParser from a ..=M range

        See RangedI64ValueParser for more control over the output type.

        See also RangedU64ValueParser

        -

        §Examples

        +

        §Examples

        let mut cmd = clap::Command::new("raw")
             .arg(
                 clap::Arg::new("port")
        @@ -295,7 +295,7 @@ 

        §Examples

        let port: i64 = *m.get_one("port") .expect("required"); assert_eq!(port, 80);
        -
        source§

        fn from(value: RangeToInclusive<i64>) -> Self

        Converts to this type from the input type.
        source§

        impl<P> From<Vec<P>> for ValueParser
        where +
        source§

        fn from(value: RangeToInclusive<i64>) -> Self

        Converts to this type from the input type.

        source§

        impl<P> From<Vec<P>> for ValueParser
        where P: Into<PossibleValue>,

        Create a ValueParser with PossibleValuesParser

        See PossibleValuesParser for more flexibility in creating the PossibleValues.

        @@ -316,7 +316,7 @@

        §Examples

        let color: &String = m.get_one("color") .expect("default"); assert_eq!(color, "never");
        -
        source§

        fn from(values: Vec<P>) -> Self

        Converts to this type from the input type.
        source§

        impl IntoResettable<ValueParser> for Option<ValueParser>

        source§

        fn into_resettable(self) -> Resettable<ValueParser>

        Convert to the intended resettable type

        Auto Trait Implementations§

        Blanket Implementations§

        source§

        impl<T> Any for T
        where +
        source§

        fn from(values: Vec<P>) -> Self

        Converts to this type from the input type.

        source§

        impl IntoResettable<ValueParser> for Option<ValueParser>

        source§

        fn into_resettable(self) -> Resettable<ValueParser>

        Convert to the intended resettable type

        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> CloneToUninit for T
        where diff --git a/clap_builder/builder/struct.ValueRange.html b/clap_builder/builder/struct.ValueRange.html index 6c5ab3f46..68457ca86 100644 --- a/clap_builder/builder/struct.ValueRange.html +++ b/clap_builder/builder/struct.ValueRange.html @@ -1,4 +1,4 @@ -ValueRange in clap_builder::builder - Rust

        Struct clap_builder::builder::ValueRange

        source ·
        pub struct ValueRange { /* private fields */ }
        Expand description

        Values per occurrence for an argument

        +ValueRange in clap_builder::builder - Rust

        Struct clap_builder::builder::ValueRange

        source ·
        pub struct ValueRange { /* private fields */ }
        Expand description

        Values per occurrence for an argument

        Implementations§

        source§

        impl ValueRange

        source

        pub const EMPTY: Self = _

        Nor argument values, or a flag

        source

        pub const SINGLE: Self = _

        A single argument value, the most common case for options

        source

        pub fn new(range: impl Into<Self>) -> Self

        Create a range

        @@ -23,7 +23,7 @@
        §Examples
        let range = ValueRange::new(0); assert!(!range.takes_values());
        -

        Trait Implementations§

        source§

        impl Clone for ValueRange

        source§

        fn clone(&self) -> ValueRange

        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 ValueRange

        source§

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

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

        impl Default for ValueRange

        source§

        fn default() -> Self

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

        impl Display for ValueRange

        source§

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

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

        impl From<Range<usize>> for ValueRange

        source§

        fn from(range: Range<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFrom<usize>> for ValueRange

        source§

        fn from(range: RangeFrom<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFull> for ValueRange

        source§

        fn from(_: RangeFull) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeInclusive<usize>> for ValueRange

        source§

        fn from(range: RangeInclusive<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeTo<usize>> for ValueRange

        source§

        fn from(range: RangeTo<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeToInclusive<usize>> for ValueRange

        source§

        fn from(range: RangeToInclusive<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<usize> for ValueRange

        source§

        fn from(fixed: usize) -> Self

        Converts to this type from the input type.
        source§

        impl Hash for ValueRange

        source§

        fn hash<__H: Hasher>(&self, state: &mut __H)

        Feeds this value into the given Hasher. Read more
        1.3.0 · source§

        fn hash_slice<H>(data: &[Self], state: &mut H)
        where +

        Trait Implementations§

        source§

        impl Clone for ValueRange

        source§

        fn clone(&self) -> ValueRange

        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 ValueRange

        source§

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

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

        impl Default for ValueRange

        source§

        fn default() -> Self

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

        impl Display for ValueRange

        source§

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

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

        impl From<Range<usize>> for ValueRange

        source§

        fn from(range: Range<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFrom<usize>> for ValueRange

        source§

        fn from(range: RangeFrom<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeFull> for ValueRange

        source§

        fn from(_: RangeFull) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeInclusive<usize>> for ValueRange

        source§

        fn from(range: RangeInclusive<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeTo<usize>> for ValueRange

        source§

        fn from(range: RangeTo<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<RangeToInclusive<usize>> for ValueRange

        source§

        fn from(range: RangeToInclusive<usize>) -> Self

        Converts to this type from the input type.
        source§

        impl From<usize> for ValueRange

        source§

        fn from(fixed: usize) -> Self

        Converts to this type from the input type.
        source§

        impl Hash for ValueRange

        source§

        fn hash<__H: Hasher>(&self, state: &mut __H)

        Feeds this value into the given Hasher. Read more
        1.3.0 · source§

        fn hash_slice<H>(data: &[Self], state: &mut H)
        where H: Hasher, Self: Sized,

        Feeds a slice of this type into the given Hasher. Read more
        source§

        impl PartialEq for ValueRange

        source§

        fn eq(&self, other: &ValueRange) -> 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 diff --git a/clap_builder/builder/styling/enum.AnsiColor.html b/clap_builder/builder/styling/enum.AnsiColor.html index e521f2e4a..8dd8d2b1f 100644 --- a/clap_builder/builder/styling/enum.AnsiColor.html +++ b/clap_builder/builder/styling/enum.AnsiColor.html @@ -1,4 +1,4 @@ -AnsiColor in clap_builder::builder::styling - Rust

        Enum clap_builder::builder::styling::AnsiColor

        source ·
        #[repr(u8)]
        pub enum AnsiColor { +AnsiColor in clap_builder::builder::styling - Rust

        Enum clap_builder::builder::styling::AnsiColor

        source ·
        #[repr(u8)]
        pub enum AnsiColor {
        Show 16 variants Black = 0, Red = 1, Green = 2, diff --git a/clap_builder/builder/styling/enum.Color.html b/clap_builder/builder/styling/enum.Color.html index 9ab3834fd..98e1277f1 100644 --- a/clap_builder/builder/styling/enum.Color.html +++ b/clap_builder/builder/styling/enum.Color.html @@ -1,4 +1,4 @@ -Color in clap_builder::builder::styling - Rust

        Enum clap_builder::builder::styling::Color

        source ·
        pub enum Color {
        +Color in clap_builder::builder::styling - Rust

        Enum clap_builder::builder::styling::Color

        source ·
        pub enum Color {
             Ansi(AnsiColor),
             Ansi256(Ansi256Color),
             Rgb(RgbColor),
        diff --git a/clap_builder/builder/styling/index.html b/clap_builder/builder/styling/index.html
        index 6c7c05cf4..58d41fe85 100644
        --- a/clap_builder/builder/styling/index.html
        +++ b/clap_builder/builder/styling/index.html
        @@ -1,2 +1,2 @@
        -clap_builder::builder::styling - Rust

        Module clap_builder::builder::styling

        source ·
        Expand description

        Terminal Styles for help and error output

        +clap_builder::builder::styling - Rust

        Module clap_builder::builder::styling

        source ·
        Expand description

        Terminal Styles for help and error output

        Structs§

        Enums§

        • Available 4-bit ANSI color palette codes
        • Any ANSI color code scheme
        \ No newline at end of file diff --git a/clap_builder/builder/styling/struct.Ansi256Color.html b/clap_builder/builder/styling/struct.Ansi256Color.html index a5117c92e..d6f646d00 100644 --- a/clap_builder/builder/styling/struct.Ansi256Color.html +++ b/clap_builder/builder/styling/struct.Ansi256Color.html @@ -1,4 +1,4 @@ -Ansi256Color in clap_builder::builder::styling - Rust

        Struct clap_builder::builder::styling::Ansi256Color

        source ·
        #[repr(transparent)]
        pub struct Ansi256Color(pub u8);
        Expand description

        256 (8-bit) color support

        +Ansi256Color in clap_builder::builder::styling - Rust

        Struct clap_builder::builder::styling::Ansi256Color

        source ·
        #[repr(transparent)]
        pub struct Ansi256Color(pub u8);
        Expand description

        256 (8-bit) color support

        • 0..16 are AnsiColor palette codes
        • 0..232 map to RgbColor color values
        • diff --git a/clap_builder/builder/styling/struct.EffectIter.html b/clap_builder/builder/styling/struct.EffectIter.html index f0f2885f5..54821a574 100644 --- a/clap_builder/builder/styling/struct.EffectIter.html +++ b/clap_builder/builder/styling/struct.EffectIter.html @@ -1,4 +1,4 @@ -EffectIter in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::EffectIter

          source ·
          pub struct EffectIter { /* private fields */ }
          Expand description

          Enumerate each enabled value in Effects

          +EffectIter in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::EffectIter

          source ·
          pub struct EffectIter { /* private fields */ }
          Expand description

          Enumerate each enabled value in Effects

          Trait Implementations§

          source§

          impl Clone for EffectIter

          source§

          fn clone(&self) -> EffectIter

          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 EffectIter

          source§

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

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

          impl Iterator for EffectIter

          §

          type Item = Effects

          The type of the elements being iterated over.
          source§

          fn next(&mut self) -> Option<<EffectIter as Iterator>::Item>

          Advances the iterator and returns the next value. Read more
          source§

          fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
          where diff --git a/clap_builder/builder/styling/struct.Effects.html b/clap_builder/builder/styling/struct.Effects.html index 973dad775..632d63456 100644 --- a/clap_builder/builder/styling/struct.Effects.html +++ b/clap_builder/builder/styling/struct.Effects.html @@ -1,4 +1,4 @@ -Effects in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Effects

          source ·
          pub struct Effects(/* private fields */);
          Expand description

          A set of text effects

          +Effects in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Effects

          source ·
          pub struct Effects(/* private fields */);
          Expand description

          A set of text effects

          §Examples

          let effects = anstyle::Effects::BOLD | anstyle::Effects::UNDERLINE;

          Implementations§

          source§

          impl Effects

          source

          pub const BOLD: Effects = _

          source

          pub const DIMMED: Effects = _

          source

          pub const ITALIC: Effects = _

          Not widely supported. Sometimes treated as inverse or blink

          diff --git a/clap_builder/builder/styling/struct.Reset.html b/clap_builder/builder/styling/struct.Reset.html index a71687c4f..0aa6518b2 100644 --- a/clap_builder/builder/styling/struct.Reset.html +++ b/clap_builder/builder/styling/struct.Reset.html @@ -1,4 +1,4 @@ -Reset in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Reset

          source ·
          pub struct Reset;
          Expand description

          Reset terminal formatting

          +Reset in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Reset

          source ·
          pub struct Reset;
          Expand description

          Reset terminal formatting

          Implementations§

          source§

          impl Reset

          source

          pub fn render(self) -> impl Display + Copy

          Render the ANSI code

          Reset also implements Display directly, so calling this method is optional.

          Trait Implementations§

          source§

          impl Clone for Reset

          source§

          fn clone(&self) -> Reset

          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 Reset

          source§

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

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

          impl Default for Reset

          source§

          fn default() -> Reset

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

          impl Display for Reset

          source§

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

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

          impl Hash for Reset

          source§

          fn hash<__H>(&self, state: &mut __H)
          where diff --git a/clap_builder/builder/styling/struct.RgbColor.html b/clap_builder/builder/styling/struct.RgbColor.html index 2b5cc829b..bdea3d2a6 100644 --- a/clap_builder/builder/styling/struct.RgbColor.html +++ b/clap_builder/builder/styling/struct.RgbColor.html @@ -1,4 +1,4 @@ -RgbColor in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::RgbColor

          source ·
          pub struct RgbColor(pub u8, pub u8, pub u8);
          Expand description

          24-bit ANSI RGB color codes

          +RgbColor in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::RgbColor

          source ·
          pub struct RgbColor(pub u8, pub u8, pub u8);
          Expand description

          24-bit ANSI RGB color codes

          Tuple Fields§

          §0: u8§1: u8§2: u8

          Implementations§

          source§

          impl RgbColor

          source

          pub fn on(self, background: impl Into<Color>) -> Style

          Create a Style with this as the foreground

          source

          pub const fn on_default(self) -> Style

          Create a Style with this as the foreground

          source

          pub const fn r(self) -> u8

          Red

          diff --git a/clap_builder/builder/styling/struct.Style.html b/clap_builder/builder/styling/struct.Style.html index 7d53ade71..861655bb9 100644 --- a/clap_builder/builder/styling/struct.Style.html +++ b/clap_builder/builder/styling/struct.Style.html @@ -1,4 +1,4 @@ -Style in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Style

          source ·
          pub struct Style { /* private fields */ }
          Expand description

          ANSI Text styling

          +Style in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Style

          source ·
          pub struct Style { /* private fields */ }
          Expand description

          ANSI Text styling

          You can print a Style to render the corresponding ANSI code. Using the alternate flag # will render the ANSI reset code, if needed. Together, this makes it convenient to render styles using inline format arguments.

          diff --git a/clap_builder/builder/styling/struct.Styles.html b/clap_builder/builder/styling/struct.Styles.html index 8d71f4aca..f877bc380 100644 --- a/clap_builder/builder/styling/struct.Styles.html +++ b/clap_builder/builder/styling/struct.Styles.html @@ -1,4 +1,4 @@ -Styles in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Styles

          source ·
          pub struct Styles { /* private fields */ }
          Expand description

          Terminal styling definitions

          +Styles in clap_builder::builder::styling - Rust

          Struct clap_builder::builder::styling::Styles

          source ·
          pub struct Styles { /* private fields */ }
          Expand description

          Terminal styling definitions

          See also Command::styles.

          §Example

          clap v3 styling

          @@ -25,7 +25,7 @@

          §Example

          source

          pub const fn get_placeholder(&self) -> &Style

          Descriptions within command-line syntax, e.g. value_name

          source

          pub const fn get_valid(&self) -> &Style

          Highlight suggested usage

          source

          pub const fn get_invalid(&self) -> &Style

          Highlight invalid usage

          -

          Trait Implementations§

          source§

          impl Clone for Styles

          source§

          fn clone(&self) -> Styles

          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 Styles

          source§

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

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

          impl Default for &Styles

          source§

          fn default() -> Self

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

          impl Default for Styles

          source§

          fn default() -> Self

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

          Auto Trait Implementations§

          §

          impl Freeze for Styles

          §

          impl RefUnwindSafe for Styles

          §

          impl Send for Styles

          §

          impl Sync for Styles

          §

          impl Unpin for Styles

          §

          impl UnwindSafe for Styles

          Blanket Implementations§

          source§

          impl<T> Any for T
          where +

          Trait Implementations§

          source§

          impl Clone for Styles

          source§

          fn clone(&self) -> Styles

          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 Styles

          source§

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

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

          impl Default for &Styles

          source§

          fn default() -> Self

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

          impl Default for Styles

          source§

          fn default() -> Self

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

          Auto Trait Implementations§

          §

          impl Freeze for Styles

          §

          impl RefUnwindSafe for Styles

          §

          impl Send for Styles

          §

          impl Sync for Styles

          §

          impl Unpin for Styles

          §

          impl UnwindSafe for Styles

          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> CloneToUninit for T
          where diff --git a/clap_builder/builder/trait.IntoResettable.html b/clap_builder/builder/trait.IntoResettable.html index 5637e64f2..443761f73 100644 --- a/clap_builder/builder/trait.IntoResettable.html +++ b/clap_builder/builder/trait.IntoResettable.html @@ -1,4 +1,4 @@ -IntoResettable in clap_builder::builder - Rust

          Trait clap_builder::builder::IntoResettable

          source ·
          pub trait IntoResettable<T> {
          +IntoResettable in clap_builder::builder - Rust

          Trait clap_builder::builder::IntoResettable

          source ·
          pub trait IntoResettable<T> {
               // Required method
               fn into_resettable(self) -> Resettable<T>;
           }
          Expand description

          Convert to the intended resettable type

          diff --git a/clap_builder/builder/trait.TypedValueParser.html b/clap_builder/builder/trait.TypedValueParser.html index a80e8b98a..5979f2036 100644 --- a/clap_builder/builder/trait.TypedValueParser.html +++ b/clap_builder/builder/trait.TypedValueParser.html @@ -1,4 +1,4 @@ -TypedValueParser in clap_builder::builder - Rust

          Trait clap_builder::builder::TypedValueParser

          source ·
          pub trait TypedValueParser: Clone + Send + Sync + 'static {
          +TypedValueParser in clap_builder::builder - Rust

          Trait clap_builder::builder::TypedValueParser

          source ·
          pub trait TypedValueParser: Clone + Send + Sync + 'static {
               type Value: Send + Sync + Clone;
           
               // Required method
          diff --git a/clap_builder/builder/trait.ValueParserFactory.html b/clap_builder/builder/trait.ValueParserFactory.html
          index cb0eb9b1c..f25770592 100644
          --- a/clap_builder/builder/trait.ValueParserFactory.html
          +++ b/clap_builder/builder/trait.ValueParserFactory.html
          @@ -1,4 +1,4 @@
          -ValueParserFactory in clap_builder::builder - Rust

          Trait clap_builder::builder::ValueParserFactory

          source ·
          pub trait ValueParserFactory {
          +ValueParserFactory in clap_builder::builder - Rust

          Trait clap_builder::builder::ValueParserFactory

          source ·
          pub trait ValueParserFactory {
               type Parser;
           
               // Required method
          @@ -43,4 +43,4 @@ 

          §Example

          T: ValueParserFactory + Send + Sync + Clone, <T as ValueParserFactory>::Parser: TypedValueParser<Value = T>,

          source§

          impl<T> ValueParserFactory for Wrapping<T>

          Implementors§

          \ No newline at end of file + <T as ValueParserFactory>::Parser: TypedValueParser<Value = T>,

          Implementors§

          \ No newline at end of file diff --git a/clap_builder/enum.ColorChoice.html b/clap_builder/enum.ColorChoice.html index 362389ccc..4c46b79ad 100644 --- a/clap_builder/enum.ColorChoice.html +++ b/clap_builder/enum.ColorChoice.html @@ -1,4 +1,4 @@ -ColorChoice in clap_builder - Rust

          Enum clap_builder::ColorChoice

          source ·
          pub enum ColorChoice {
          +ColorChoice in clap_builder - Rust

          Enum clap_builder::ColorChoice

          source ·
          pub enum ColorChoice {
               Auto,
               Always,
               Never,
          @@ -20,9 +20,9 @@ 

          §Examples

          .color(ColorChoice::Never) .get_matches();

          Implementations§

          source§

          impl ColorChoice

          source

          pub fn possible_values() -> impl Iterator<Item = PossibleValue>

          Report all possible_values

          -

          Trait Implementations§

          source§

          impl Clone for ColorChoice

          source§

          fn clone(&self) -> ColorChoice

          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 ColorChoice

          source§

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

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

          impl Default for ColorChoice

          source§

          fn default() -> Self

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

          impl Display for ColorChoice

          source§

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

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

          impl FromStr for ColorChoice

          §

          type Err = String

          The associated error which can be returned from parsing.
          source§

          fn from_str(s: &str) -> Result<Self, Self::Err>

          Parses a string s to return a value of this type. Read more
          source§

          impl PartialEq for ColorChoice

          source§

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

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

          Trait Implementations§

          source§

          impl Clone for ColorChoice

          source§

          fn clone(&self) -> ColorChoice

          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 ColorChoice

          source§

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

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

          impl Default for ColorChoice

          source§

          fn default() -> Self

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

          impl Display for ColorChoice

          source§

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

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

          impl FromStr for ColorChoice

          §

          type Err = String

          The associated error which can be returned from parsing.
          source§

          fn from_str(s: &str) -> Result<Self, Self::Err>

          Parses a string s to return a value of this type. Read more
          source§

          impl PartialEq for ColorChoice

          source§

          fn eq(&self, other: &ColorChoice) -> 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 ValueEnum for ColorChoice

          source§

          fn value_variants<'a>() -> &'a [Self]

          All possible argument values, in display order.
          source§

          fn to_possible_value(&self) -> Option<PossibleValue>

          The canonical argument value. Read more
          source§

          fn from_str(input: &str, ignore_case: bool) -> Result<Self, String>

          Parse an argument into Self.
          source§

          impl Copy for ColorChoice

          source§

          impl Eq for ColorChoice

          source§

          impl StructuralPartialEq for ColorChoice

          Auto Trait Implementations§

          Blanket Implementations§

          source§

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

          source§

          impl ValueEnum for ColorChoice

          source§

          fn value_variants<'a>() -> &'a [Self]

          All possible argument values, in display order.
          source§

          fn to_possible_value(&self) -> Option<PossibleValue>

          The canonical argument value. Read more
          source§

          fn from_str(input: &str, ignore_case: bool) -> Result<Self, String>

          Parse an argument into Self.
          source§

          impl Copy for ColorChoice

          source§

          impl Eq for ColorChoice

          source§

          impl StructuralPartialEq for ColorChoice

          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> CloneToUninit for T
          where diff --git a/clap_builder/error/enum.ContextKind.html b/clap_builder/error/enum.ContextKind.html index ec758896c..8108f4f07 100644 --- a/clap_builder/error/enum.ContextKind.html +++ b/clap_builder/error/enum.ContextKind.html @@ -1,4 +1,4 @@ -ContextKind in clap_builder::error - Rust

          Enum clap_builder::error::ContextKind

          source ·
          #[non_exhaustive]
          pub enum ContextKind { +ContextKind in clap_builder::error - Rust

          Enum clap_builder::error::ContextKind

          source ·
          #[non_exhaustive]
          pub enum ContextKind {
          Show 17 variants InvalidSubcommand, InvalidArg, PriorArg, @@ -35,7 +35,7 @@
          §

          Usage

          A usage string

          §

          Custom

          An opaque message to the user

          Implementations§

          source§

          impl ContextKind

          source

          pub fn as_str(self) -> Option<&'static str>

          End-user description of the error case, where relevant

          -

          Trait Implementations§

          source§

          impl Clone for ContextKind

          source§

          fn clone(&self) -> ContextKind

          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 ContextKind

          source§

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

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

          impl Display for ContextKind

          source§

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

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

          impl Hash for ContextKind

          source§

          fn hash<__H: Hasher>(&self, state: &mut __H)

          Feeds this value into the given Hasher. Read more
          1.3.0 · source§

          fn hash_slice<H>(data: &[Self], state: &mut H)
          where +

          Trait Implementations§

          source§

          impl Clone for ContextKind

          source§

          fn clone(&self) -> ContextKind

          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 ContextKind

          source§

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

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

          impl Display for ContextKind

          source§

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

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

          impl Hash for ContextKind

          source§

          fn hash<__H: Hasher>(&self, state: &mut __H)

          Feeds this value into the given Hasher. Read more
          1.3.0 · source§

          fn hash_slice<H>(data: &[Self], state: &mut H)
          where H: Hasher, Self: Sized,

          Feeds a slice of this type into the given Hasher. Read more
          source§

          impl PartialEq for ContextKind

          source§

          fn eq(&self, other: &ContextKind) -> 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 diff --git a/clap_builder/error/enum.ContextValue.html b/clap_builder/error/enum.ContextValue.html index 656e608d1..2f22850a8 100644 --- a/clap_builder/error/enum.ContextValue.html +++ b/clap_builder/error/enum.ContextValue.html @@ -1,4 +1,4 @@ -ContextValue in clap_builder::error - Rust

          Enum clap_builder::error::ContextValue

          source ·
          #[non_exhaustive]
          pub enum ContextValue { +ContextValue in clap_builder::error - Rust

          Enum clap_builder::error::ContextValue

          source ·
          #[non_exhaustive]
          pub enum ContextValue { None, Bool(bool), String(String), diff --git a/clap_builder/error/enum.ErrorKind.html b/clap_builder/error/enum.ErrorKind.html index 332dbd3cb..ad99de91e 100644 --- a/clap_builder/error/enum.ErrorKind.html +++ b/clap_builder/error/enum.ErrorKind.html @@ -1,4 +1,4 @@ -ErrorKind in clap_builder::error - Rust

          Enum clap_builder::error::ErrorKind

          source ·
          #[non_exhaustive]
          pub enum ErrorKind { +ErrorKind in clap_builder::error - Rust

          Enum clap_builder::error::ErrorKind

          source ·
          #[non_exhaustive]
          pub enum ErrorKind {
          Show 17 variants InvalidValue, UnknownArgument, InvalidSubcommand, diff --git a/clap_builder/error/index.html b/clap_builder/error/index.html index 1b7e55fba..5d9192c81 100644 --- a/clap_builder/error/index.html +++ b/clap_builder/error/index.html @@ -1,2 +1,2 @@ -clap_builder::error - Rust

          Module clap_builder::error

          source ·
          Expand description

          Error reporting

          +clap_builder::error - Rust

          Module clap_builder::error

          source ·
          Expand description

          Error reporting

          Re-exports§

          Structs§

          Enums§

          Traits§

          • Defines how to format an error for displaying to the user

          Type Aliases§

          \ No newline at end of file diff --git a/clap_builder/error/struct.Error.html b/clap_builder/error/struct.Error.html index c0edc7ce9..bbca3cd31 100644 --- a/clap_builder/error/struct.Error.html +++ b/clap_builder/error/struct.Error.html @@ -1,4 +1,4 @@ -Error in clap_builder::error - Rust

          Struct clap_builder::error::Error

          source ·
          pub struct Error<F: ErrorFormatter = DefaultFormatter> { /* private fields */ }
          Expand description

          Command Line Argument Parser Error

          +Error in clap_builder::error - Rust

          Struct clap_builder::error::Error

          source ·
          pub struct Error<F: ErrorFormatter = DefaultFormatter> { /* private fields */ }
          Expand description

          Command Line Argument Parser Error

          See Command::error to create an error.

          Implementations§

          source§

          impl<F: ErrorFormatter> Error<F>

          source

          pub fn raw(kind: ErrorKind, message: impl Display) -> Self

          Create an unformatted error

          This is for you need to pass the error up to diff --git a/clap_builder/error/struct.KindFormatter.html b/clap_builder/error/struct.KindFormatter.html index 8b9598344..48bad416c 100644 --- a/clap_builder/error/struct.KindFormatter.html +++ b/clap_builder/error/struct.KindFormatter.html @@ -1,4 +1,4 @@ -KindFormatter in clap_builder::error - Rust

          Struct clap_builder::error::KindFormatter

          source ·
          #[non_exhaustive]
          pub struct KindFormatter;
          Expand description

          Report ErrorKind

          +KindFormatter in clap_builder::error - Rust

          Struct clap_builder::error::KindFormatter

          source ·
          #[non_exhaustive]
          pub struct KindFormatter;
          Expand description

          Report ErrorKind

          No context is included.

          NOTE: Consider removing the error-context default feature if using this to remove all overhead for RichFormatter.

          diff --git a/clap_builder/error/struct.RichFormatter.html b/clap_builder/error/struct.RichFormatter.html index da2e852f2..89744dd7e 100644 --- a/clap_builder/error/struct.RichFormatter.html +++ b/clap_builder/error/struct.RichFormatter.html @@ -1,4 +1,4 @@ -RichFormatter in clap_builder::error - Rust

          Struct clap_builder::error::RichFormatter

          source ·
          #[non_exhaustive]
          pub struct RichFormatter;
          Expand description

          Richly formatted error context

          +RichFormatter in clap_builder::error - Rust

          Struct clap_builder::error::RichFormatter

          source ·
          #[non_exhaustive]
          pub struct RichFormatter;
          Expand description

          Richly formatted error context

          This follows the rustc diagnostic style guide.

          Trait Implementations§

          source§

          impl ErrorFormatter for RichFormatter

          source§

          fn format_error(error: &Error<Self>) -> StyledStr

          Stylize the error for the terminal

          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/clap_builder/error/trait.ErrorFormatter.html b/clap_builder/error/trait.ErrorFormatter.html index 844f9b603..2b2a61266 100644 --- a/clap_builder/error/trait.ErrorFormatter.html +++ b/clap_builder/error/trait.ErrorFormatter.html @@ -1,4 +1,4 @@ -ErrorFormatter in clap_builder::error - Rust

          Trait clap_builder::error::ErrorFormatter

          source ·
          pub trait ErrorFormatter: Sized {
          +ErrorFormatter in clap_builder::error - Rust

          Trait clap_builder::error::ErrorFormatter

          source ·
          pub trait ErrorFormatter: Sized {
               // Required method
               fn format_error(error: &Error<Self>) -> StyledStr;
           }
          Expand description

          Defines how to format an error for displaying to the user

          diff --git a/clap_builder/error/type.Result.html b/clap_builder/error/type.Result.html index fe6e00680..625145658 100644 --- a/clap_builder/error/type.Result.html +++ b/clap_builder/error/type.Result.html @@ -1,4 +1,4 @@ -Result in clap_builder::error - Rust

          Type Alias clap_builder::error::Result

          source ·
          pub type Result<T, E = Error> = Result<T, E>;
          Expand description

          Short hand for Result type

          +Result in clap_builder::error - Rust

          Type Alias clap_builder::error::Result

          source ·
          pub type Result<T, E = Error> = Result<T, E>;
          Expand description

          Short hand for Result type

          Aliased Type§

          enum Result<T, E = Error> {
               Ok(T),
               Err(E),
          diff --git a/clap_builder/index.html b/clap_builder/index.html
          index 0e3b92c8c..909210da5 100644
          --- a/clap_builder/index.html
          +++ b/clap_builder/index.html
          @@ -1,4 +1,4 @@
          -clap_builder - Rust

          Crate clap_builder

          source ·
          Expand description

          §clap_builder

          +clap_builder - Rust

          Crate clap_builder

          source ·
          Expand description

          §clap_builder

          Builder implementation for clap.

          docs.rs

          Restrict a value to a certain interval. Read more
          source§

          impl PartialEq<&str> for Id

          source§

          fn eq(&self, other: &&str) -> 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 PartialEq<Id> for &str

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Id> for &str

          source§

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

          This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
          source§

          impl PartialEq<Id> for Str

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Id> for String

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Id> for str

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Str> for Id

          source§

          fn eq(&self, other: &Str) -> 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 PartialEq<Id> for Str

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Id> for String

          source§

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

          This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
          source§

          impl PartialEq<String> for Id

          source§

          fn eq(&self, other: &String) -> 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 PartialEq<Id> for str

          source§

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

          This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
          source§

          impl PartialEq<str> for Id

          source§

          fn eq(&self, other: &str) -> 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 PartialEq for Id

          source§

          fn eq(&self, other: &Id) -> 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 PartialEq<Str> for Id

          source§

          fn eq(&self, other: &Str) -> 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 PartialEq<String> for Id

          source§

          fn eq(&self, other: &String) -> 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 PartialEq<str> for Id

          source§

          fn eq(&self, other: &str) -> 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 PartialEq for Id

          source§

          fn eq(&self, other: &Id) -> 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 PartialOrd for Id

          source§

          fn partial_cmp(&self, other: &Id) -> Option<Ordering>

          This method returns an ordering between self and other values if one exists. Read more
          1.0.0 · source§

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

          This method tests less than (for self and other) and is used by the < operator. Read more
          1.0.0 · source§

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

          This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
          1.0.0 · source§

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

          This method tests greater than (for self and other) and is used by the > operator. Read more
          1.0.0 · source§

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

          This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
          source§

          impl Eq for Id

          source§

          impl StructuralPartialEq for Id

          Auto Trait Implementations§

          §

          impl Freeze for Id

          §

          impl RefUnwindSafe for Id

          §

          impl Send for Id

          §

          impl Sync for Id

          §

          impl Unpin for Id

          §

          impl UnwindSafe for Id

          Blanket Implementations§

          source§

          impl<T> Any for T
          where diff --git a/clap_builder/trait.Args.html b/clap_builder/trait.Args.html index bb3a5a00f..f2f5dd244 100644 --- a/clap_builder/trait.Args.html +++ b/clap_builder/trait.Args.html @@ -1,4 +1,4 @@ -Args in clap_builder - Rust

          Trait clap_builder::Args

          source ·
          pub trait Args: FromArgMatches + Sized {
          +Args in clap_builder - Rust

          Trait clap_builder::Args

          source ·
          pub trait Args: FromArgMatches + Sized {
               // Required methods
               fn augment_args(cmd: Command) -> Command;
               fn augment_args_for_update(cmd: Command) -> Command;
          diff --git a/clap_builder/trait.CommandFactory.html b/clap_builder/trait.CommandFactory.html
          index 5df38ab46..e5da0b42e 100644
          --- a/clap_builder/trait.CommandFactory.html
          +++ b/clap_builder/trait.CommandFactory.html
          @@ -1,4 +1,4 @@
          -CommandFactory in clap_builder - Rust

          Trait clap_builder::CommandFactory

          source ·
          pub trait CommandFactory: Sized {
          +CommandFactory in clap_builder - Rust

          Trait clap_builder::CommandFactory

          source ·
          pub trait CommandFactory: Sized {
               // Required methods
               fn command() -> Command;
               fn command_for_update() -> Command;
          diff --git a/clap_builder/trait.FromArgMatches.html b/clap_builder/trait.FromArgMatches.html
          index c5889bc8d..58c2ef5a3 100644
          --- a/clap_builder/trait.FromArgMatches.html
          +++ b/clap_builder/trait.FromArgMatches.html
          @@ -1,4 +1,4 @@
          -FromArgMatches in clap_builder - Rust

          Trait clap_builder::FromArgMatches

          source ·
          pub trait FromArgMatches: Sized {
          +FromArgMatches in clap_builder - Rust

          Trait clap_builder::FromArgMatches

          source ·
          pub trait FromArgMatches: Sized {
               // Required methods
               fn from_arg_matches(matches: &ArgMatches) -> Result<Self, Error>;
               fn update_from_arg_matches(
          diff --git a/clap_builder/trait.Parser.html b/clap_builder/trait.Parser.html
          index e1ea84de5..68fc7cb1a 100644
          --- a/clap_builder/trait.Parser.html
          +++ b/clap_builder/trait.Parser.html
          @@ -1,4 +1,4 @@
          -Parser in clap_builder - Rust

          Trait clap_builder::Parser

          source ·
          pub trait Parser: FromArgMatches + CommandFactory + Sized {
          +Parser in clap_builder - Rust

          Trait clap_builder::Parser

          source ·
          pub trait Parser: FromArgMatches + CommandFactory + Sized {
               // Provided methods
               fn parse() -> Self { ... }
               fn try_parse() -> Result<Self, Error> { ... }
          diff --git a/clap_builder/trait.Subcommand.html b/clap_builder/trait.Subcommand.html
          index 2fb0369fa..86410024d 100644
          --- a/clap_builder/trait.Subcommand.html
          +++ b/clap_builder/trait.Subcommand.html
          @@ -1,4 +1,4 @@
          -Subcommand in clap_builder - Rust

          Trait clap_builder::Subcommand

          source ·
          pub trait Subcommand: FromArgMatches + Sized {
          +Subcommand in clap_builder - Rust

          Trait clap_builder::Subcommand

          source ·
          pub trait Subcommand: FromArgMatches + Sized {
               // Required methods
               fn augment_subcommands(cmd: Command) -> Command;
               fn augment_subcommands_for_update(cmd: Command) -> Command;
          diff --git a/clap_builder/trait.ValueEnum.html b/clap_builder/trait.ValueEnum.html
          index 9930456ac..acc7f9fe5 100644
          --- a/clap_builder/trait.ValueEnum.html
          +++ b/clap_builder/trait.ValueEnum.html
          @@ -1,4 +1,4 @@
          -ValueEnum in clap_builder - Rust

          Trait clap_builder::ValueEnum

          source ·
          pub trait ValueEnum: Sized + Clone {
          +ValueEnum in clap_builder - Rust

          Trait clap_builder::ValueEnum

          source ·
          pub trait ValueEnum: Sized + Clone {
               // Required methods
               fn value_variants<'a>() -> &'a [Self];
               fn to_possible_value(&self) -> Option<PossibleValue>;
          diff --git a/clap_builder/type.Error.html b/clap_builder/type.Error.html
          index 318fb5895..0fa5ae1a8 100644
          --- a/clap_builder/type.Error.html
          +++ b/clap_builder/type.Error.html
          @@ -1,3 +1,3 @@
          -Error in clap_builder - Rust

          Type Alias clap_builder::Error

          source ·
          pub type Error = Error<DefaultFormatter>;
          Expand description

          Command Line Argument Parser Error

          +Error in clap_builder - Rust

          Type Alias clap_builder::Error

          source ·
          pub type Error = Error<DefaultFormatter>;
          Expand description

          Command Line Argument Parser Error

          See Command::error to create an error.

          Aliased Type§

          struct Error { /* private fields */ }
          \ No newline at end of file diff --git a/search-index.js b/search-index.js index bdd7e6bba..49ceff105 100644 --- a/search-index.js +++ b/search-index.js @@ -4,11 +4,11 @@ var searchIndex = new Map(JSON.parse('[\ ["anstyle_parse",{"t":"FKIFFFKFMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNN","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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"],[92,"anstyle_parse::state"],[159,"core::option"],[160,"anstyle_parse::params"],[161,"core::clone"],[162,"core::default"],[163,"core::cmp"],[164,"core::fmt"],[165,"core::result"],[166,"core::any"],[167,"anstyle_parse::state::definitions"]],"i":[0,0,0,0,0,0,0,0,2,7,8,9,21,12,9,7,8,21,12,9,7,8,12,9,7,8,12,9,7,8,12,9,7,8,11,12,9,7,8,12,9,7,8,11,11,12,9,7,8,21,12,9,7,8,11,21,12,9,7,8,21,12,12,12,12,9,21,11,11,11,21,0,12,9,7,8,21,12,9,7,8,21,12,9,7,8,21,12,9,7,8,11,0,26,27,27,27,27,26,26,26,26,26,26,26,26,26,27,26,26,27,26,27,27,27,27,27,27,26,27,27,27,26,0,27,26,26,27,26,27,26,27,26,27,26,26,27,27,26,27,26,27,26,27,26,27,26,27,0,26,27,26,26,27,27,26,27,26,27],"f":"````````{{{f{bd}}h}{{l{j}}}}{{{f{bn}}h}{{l{j}}}}{{{f{bA`}}h}{{l{j}}}}{{{f{b{Ab{c}}}}{f{be}}h}AddAf}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000{{{f{Ah}}}Ah}{{{f{{Ab{c}}}}}{{Ab{c}}}Aj}{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{be}}}Ad{}{}}000{{{f{c}}}Ad{}}000{{{f{bAf}}{f{Ah}}{f{{Al{h}}}}Anh}Ad}{{}Ah}{{}{{Ab{c}}}B`}{{}n}{{}A`}{{{f{Ah}}{f{Ah}}}An}{{{f{{Ab{c}}}}{f{{Ab{c}}}}}AnBb}{{{f{n}}{f{n}}}An}{{{f{A`}}{f{A`}}}An}{{{f{bAf}}{f{{Al{h}}}}Anh}Ad}{{{f{bAf}}h}Ad}{{{f{Ah}}{f{bBd}}}Bf}{{{f{{Ab{c}}}}{f{bBd}}}BfBh}{{{f{n}}{f{bBd}}}Bf}{{{f{A`}}{f{bBd}}}Bf}{cc{}}0000?{ce{}{}}00000{{{f{Ah}}}c{}}{{{f{Ah}}}An}{{{f{Ah}}}Bj}{{{f{Ah}}}Bl}{{}Ab}{{{f{bBj}}}{{l{c}}}{}}{{{f{bAf}}{f{{Al{{f{{Al{h}}}}}}}}An}Ad}{{{f{bAf}}j}Ad}>{{{f{Bj}}}{{Bn{Bl{l{Bl}}}}}}`{{{f{c}}}e{}{}}000{c{{C`{e}}}{}{}}000000000{{{f{c}}}Cb{}}0000{{{f{bAf}}}Ad}``````````````````````````````````{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{Cd}}}Cd}{{{f{Cf}}}Cf}{{{f{c}}{f{be}}}Ad{}{}}0{{{f{c}}}Ad{}}000{{}Cd}{{}Cf}{{{f{Cd}}{f{Cd}}}An}{{{f{Cf}}{f{Cf}}}An}{{{f{Cd}}{f{bBd}}}Bf}{{{f{Cf}}{f{bBd}}}Bf}{cc{}}0{ce{}{}}0{{Cdh}{{Bn{CdCf}}}}{{{f{c}}}e{}{}}0{h{{C`{Cdc}}}{}}{c{{C`{e}}}{}{}}0{h{{C`{Cfc}}}{}}11{{{f{c}}}Cb{}}0","D":"Dl","p":[[0,"mut"],[10,"CharAccumulator",0],[1,"reference"],[1,"u8"],[1,"char"],[6,"Option",159],[5,"AsciiParser",0],[5,"Utf8Parser",0],[5,"Parser",0],[1,"unit"],[10,"Perform",0],[5,"Params",0,160],[10,"Clone",161],[1,"slice"],[1,"bool"],[10,"Default",162],[10,"PartialEq",163],[5,"Formatter",164],[8,"Result",164],[10,"Debug",164],[5,"ParamsIter",0,160],[1,"usize"],[1,"tuple"],[6,"Result",165],[5,"TypeId",166],[6,"State",92,167],[6,"Action",92,167]],"r":[[3,160],[4,160],[92,167],[123,167]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHkACwAEAAAACgABAA0AFQAkAAcALgADAD0AAQBDAAAARwAAAEkAEgBdADMAlgAJAA=="}],\ ["anstyle_query",{"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"]],"i":[0,0,0,0,0,0,0,0,0],"f":"{{}{{d{b}}}}{{}b}00000`1","D":"Ad","p":[[1,"bool"],[6,"Option",9]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ ["bitflags",{"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,"bitflags::traits"],[111,"core::fmt"],[112,"core::option"],[113,"core::result"],[114,"core::any"]],"i":[3,0,0,2,3,2,0,0,2,2,0,2,7,7,2,2,2,2,2,2,2,2,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,7,2,2,2,2,7,7,0,2,2,2,2,7,7,0,2,2,2,2,2,2,2,2,7,7,7,2,2,7,0,0,14,15,14,15,14,15,14,15,14,15,14,15,15,14,15,14,15,14,15,0,0,0,18,18,18,18,18,18,0,0,0,18,18,18,20,0,0,0,18,18,18,23],"f":"````````{{}{{d{}{{b{c}}}}}f}0`{{{h{{d{}{{b{c}}}}}}}cf}{{{h{c}}}{{h{e}}}{}{}}{{{h{jc}}}{{h{je}}}{}{}}{{{d{}{{b{c}}}}}{{d{}{{b{c}}}}}f}0{{{h{{d{}{{b{c}}}}}}{d{}{{b{c}}}}}lf}0{{{d{}{{b{c}}}}{d{}{{b{c}}}}}{{d{}{{b{c}}}}}f}066{{{h{{n{c}}}}{h{jA`}}}AbAd}{cc{}}{c{{Af{{d{}{{b{c}}}}}}}f}0{c{{d{}{{b{c}}}}}f}00{{{h{Ah}}}{{Af{{d{}{{b{c}}}}}}}f}0{{{h{j{d{}{{b{c}}}}}}{d{}{{b{c}}}}}Ajf}06677{ce{}{}}{{{h{{d{}{{b{c}}}}}}}lf}000{{{h{{n{c}}}}}l{}}0`{{{h{{d{}{{b{c}}}}}}}{{Al{{d{}{{b{c}}}}}}}f}0{{{h{{d{}{{b{c}}}}}}}{{An{{d{}{{b{c}}}}}}}f}0{{{h{{n{c}}}}}{{h{Ah}}}{}}{{{h{Ah}}c}{{n{c}}}{}}`77{{{h{j{d{}{{b{c}}}}}}{d{}{{b{c}}}}l}Ajf}0>>88{c{{B`{e}}}{}{}}0{{{h{c}}}Bb{}}{{{d{}{{b{c}}}}{d{}{{b{c}}}}}{{d{}{{b{c}}}}}f}0{{{h{{n{c}}}}}{{h{c}}}{}}``{{{h{c}}}{{h{e}}}{}{}}0{{{h{jc}}}{{h{je}}}{}{}}0{cc{}}0>>>>{{{h{j{Al{c}}}}}{{Af{e}}}d{}}{{{h{j{An{c}}}}}{{Af{e}}}d{}}{{{h{{An{c}}}}}{{h{c}}}{}}999988```54{{}Bd}{{{h{Bd}}{h{jA`}}}Ab}05{{{h{Ah}}}{{B`{cBd}}}d}00{ce{}{}}{cBdBf}0{{{h{Ah}}}{{B`{BhBd}}}}{{{h{c}}e}{{B`{AjBj}}}dBl}00{c{{B`{e}}}{}{}}0{{{h{c}}}Bb{}}{{{h{Bn}}c}AbBl}","D":"Jf","p":[[17,"Bits"],[10,"Flags",0,110],[10,"Bits",0,110],[1,"reference"],[0,"mut"],[1,"bool"],[5,"Flag",0,110],[5,"Formatter",111],[8,"Result",111],[10,"Debug",111],[6,"Option",112],[1,"str"],[1,"unit"],[5,"Iter",66],[5,"IterNames",66],[6,"Result",113],[5,"TypeId",114],[5,"ParseError",87],[10,"Display",111],[10,"ParseHex",87],[5,"Error",111],[10,"Write",111],[10,"WriteHex",87]],"r":[[1,110],[2,110],[6,110],[7,110]],"b":[[93,"impl-Debug-for-ParseError"],[94,"impl-Display-for-ParseError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABsACgACAAAADQABABcAAAA9AAIARQADAE0AAwBSAAUAWwABAF4AAQBrAAIA"}],\ -["bluerobotics_ping",{"t":"PPGPPPCNNHNNNCCCNCCNNNNCCCCNNNNNNNPFPFPFPFFPFPFGFPFPFPFPFPFPFPFPFPFPFPFPFPFPFOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNPFPFFPFPFGPFFPFPFOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNOONOONNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOPPPFGGPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNFEEKNNNNNMMNNNNNNNNNNNNNPPPPGPPPPNNNNNNNNNNNNNNNNNKKSKKFKNNNNONNNNMMNNONNNNMNNMOMMNNOOMNNNNNONNNNNNFGPFPFFPFONNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNOONNNNNONNNNNNNNNNNNOONNNNNNNNNNNNOOONNNOONOONNOOOOOOOOONNNNNNNNNNOOOOOONNNNNONNNNNNNNNNNNNNNNNNOPFPFFPFPPFFPFPFPFPFGPFPFPFPFFPFPFPFPFPFPFPFPFPFPFPFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNONOONOOOOONONOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOPFPFFPFGPFFPFPFPFOOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNOONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNONNNNNNNNNNNNNNOOOONNOOOOOOOOONOOOONNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bluebps","Common","Messages","Omniscan450","Ping1D","Ping360","bluebps","borrow","borrow_mut","calculate_crc","clone","clone_into","clone_to_uninit","codec","common","decoder","deserialize","device","error","fmt","from","inner","into","message","omniscan450","ping1d","ping360","serialize","to_owned","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","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","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","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","serialize","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","common","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","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","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","serialize","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","clone","clone_into","clone_to_uninit","deserialize","eq","fmt","fmt","fmt","from","from","from","from","into","into","into","into","new","parse_byte","serialize","state","to_owned","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","fmt","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","clone","clone_into","clone_to_uninit","deserialize","fmt","from","from","from","from","into","serialize","to_owned","try_from","try_into","type_id","DeserializeGenericMessage","DeserializePayload","HEADER","MessageInfo","PingMessage","ProtocolMessage","SerializePayload","borrow","borrow_mut","calculate_crc","checksum","checksum","clone","clone_into","clone_to_uninit","default","deserialize","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","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","Device","Messages","OsMonoProfile","OsMonoProfileStruct","OsPingParams","OsPingParamsStruct","PingProtocolHead","SetSpeedOfSound","SetSpeedOfSoundStruct","analog_gain","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","channel_number","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","common","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","enable","eq","eq","eq","eq","eq","filter_duration_percent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","gain_index","gain_index","get_common","get_mut_common","id","id","id","inner","into","into","into","into","into","into","length_mm","length_mm","max_pwr_db","message_id","message_id_from_name","message_name","min_pwr_db","msec_per_ping","new","num_results","num_results","os_mono_profile","os_ping_params","ping_hz","ping_number","pulse_duration_sec","pulse_len_percent","pwr_results","reserved","reserved_1","reserved_2","reserved_3","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_speed_of_sound","sos_dmps","source_device_id","speed_of_sound","start_mm","start_mm","timestamp_ms","to_owned","to_owned","to_owned","to_owned","to_owned","transducer_heading_deg","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","vehicle_heading_deg","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","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","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","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","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","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","deserialize","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","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","serialize","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"],[34,"bluerobotics_ping::bluebps"],[554,"bluerobotics_ping::codec"],[565,"bluerobotics_ping::common"],[785,"bluerobotics_ping::decoder"],[841,"bluerobotics_ping::device"],[865,"bluerobotics_ping::error"],[891,"bluerobotics_ping::message"],[940,"bluerobotics_ping::omniscan450"],[1089,"bluerobotics_ping::ping1d"],[1765,"bluerobotics_ping::ping360"],[2018,"core::result"],[2019,"serde::de"],[2020,"core::fmt"],[2021,"core::option"],[2022,"serde::ser"],[2023,"alloc::vec"],[2024,"core::any"],[2025,"alloc::string"],[2026,"tokio::io::async_read"],[2027,"tokio::io::async_write"],[2028,"core::marker"],[2029,"bytes::bytes_mut"],[2030,"core::clone"],[2031,"tokio::sync::broadcast"],[2032,"tokio::sync::mpsc::error"],[2033,"tokio::sync::broadcast::error"],[2034,"std::io::error"],[2035,"std::io"]],"i":[6,6,0,6,6,6,0,6,6,0,6,6,6,0,0,0,6,0,0,6,6,6,6,0,0,0,0,6,6,6,6,6,6,6,39,0,39,0,39,0,39,0,0,39,0,39,0,0,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,26,26,26,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,17,26,26,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,26,33,17,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,40,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,18,18,35,35,36,36,20,20,37,37,38,38,39,39,40,40,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,17,26,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,17,35,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,24,30,31,20,37,38,39,39,39,17,32,17,17,22,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,18,18,35,35,36,36,20,20,37,37,38,38,39,39,40,17,17,17,17,17,17,17,17,17,23,40,17,33,17,17,25,28,29,34,18,36,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,17,21,22,23,24,25,26,27,28,29,30,31,32,33,34,18,35,36,20,37,38,39,40,33,0,50,50,50,50,50,50,50,50,50,50,59,0,59,0,0,59,0,59,0,0,59,0,0,59,0,59,0,56,58,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,60,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,57,61,55,55,52,53,54,55,56,57,58,59,60,55,55,55,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,61,52,53,54,55,56,57,58,59,61,52,53,54,55,56,57,58,59,60,59,59,59,54,54,61,61,53,52,55,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,61,60,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,52,52,52,64,64,62,0,0,0,63,63,62,62,0,64,64,64,63,65,62,63,64,65,62,63,64,62,62,62,62,62,62,63,64,65,62,63,64,65,62,63,64,65,65,62,65,62,65,62,63,64,65,62,63,64,65,62,63,64,0,0,0,0,43,43,66,43,43,66,66,43,43,66,66,66,43,66,66,43,43,43,66,66,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,14,14,14,14,14,14,14,14,14,74,75,14,14,14,14,14,14,14,67,14,14,77,14,77,77,14,14,14,14,78,14,14,14,14,14,14,14,14,14,14,14,14,0,0,84,0,84,0,0,84,0,81,86,81,82,83,84,85,86,81,82,83,84,85,81,81,82,83,84,85,81,82,83,84,85,81,82,83,84,85,86,81,82,83,85,81,81,82,82,83,83,84,84,85,85,82,81,82,83,84,85,82,86,81,82,83,84,85,86,81,82,83,84,85,81,82,86,86,81,82,83,84,86,81,82,83,84,85,81,82,81,84,84,84,81,82,86,81,82,86,86,81,81,81,82,81,81,82,82,82,81,81,82,82,83,83,84,84,85,86,81,85,83,81,82,81,81,82,83,84,85,81,86,81,82,83,84,85,86,81,82,83,84,85,86,81,82,83,84,85,81,115,0,115,0,0,115,0,115,115,0,0,115,0,115,0,115,0,115,0,0,115,0,115,0,115,0,115,0,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,91,93,106,117,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,89,89,90,90,91,91,92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,113,113,114,114,115,115,116,116,117,94,108,109,109,117,91,93,106,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,109,89,109,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,93,103,106,107,117,117,117,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,96,102,115,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,115,115,115,117,89,92,101,117,117,112,117,99,100,117,89,95,97,93,106,117,111,117,106,106,117,93,104,105,106,93,104,105,106,89,89,90,90,91,91,92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,113,113,114,114,115,115,116,117,117,117,117,117,117,117,116,117,90,98,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,93,106,113,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,114,126,0,126,0,0,126,0,0,126,0,0,126,0,126,0,126,0,119,122,125,118,118,123,118,120,119,121,122,123,124,125,126,127,118,120,119,121,122,123,124,125,126,127,120,119,121,122,123,124,125,126,127,120,119,121,122,123,124,125,126,127,120,119,121,122,123,124,125,126,127,118,119,125,119,125,120,119,121,122,123,124,125,127,119,121,120,120,119,119,121,121,122,122,123,123,124,124,125,125,126,126,127,127,118,120,119,121,122,123,124,125,126,127,118,120,119,121,122,123,124,125,126,127,118,120,119,121,122,123,124,125,126,127,119,121,122,125,118,118,120,119,121,122,123,124,125,120,126,118,120,119,121,122,123,124,125,126,127,126,126,126,119,121,122,125,118,118,119,121,119,121,122,125,120,122,123,118,119,121,122,125,120,120,119,119,121,121,122,122,123,123,124,124,125,125,126,126,127,118,127,119,121,119,121,120,119,121,122,123,124,125,126,127,118,122,119,121,122,125,119,121,122,125,118,120,119,121,122,123,124,125,126,127,118,120,119,121,122,123,124,125,126,127,118,120,119,121,122,123,124,125,126,127],"f":"```````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{h{f}}}}}j}{{{b{l}}}l}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}```{c{{A`{l}}}Ab}``{{{b{l}}{b{dAd}}}Af}{cc{}}{{{b{l}}}{{Ah{{b{c}}}}}{}}{ce{}{}}````{{{b{l}}c}A`Aj}{{{b{c}}}e{}{}}{{{b{Al}}}{{A`{lc}}}{}}{c{{A`{e}}}{}{}}{{{b{{An{f}}}}}{{A`{lc}}}{}}1{{{b{c}}}B`{}}``````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000{{{b{Bb}}}{{A`{BdBf}}}}{{{b{Bb}}}{{A`{BhBf}}}}``{{{b{Bj}}}Bj}{{{b{Bl}}}Bl}{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{D`}}}D`}{{{b{Db}}}Db}{{{b{Dd}}}Dd}{{{b{Bd}}}Bd}{{{b{Df}}}Df}{{{b{Dh}}}Dh}{{{b{Bh}}}Bh}{{{b{Dj}}}Dj}{{{b{Dl}}}Dl}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{c}}{b{de}}}n{}{}}000000000000000000000{{{b{c}}}n{}}000000000000000000000```{{{b{Bb}}}{{A`{CnBf}}}}{{{b{Bb}}}{{A`{ChBf}}}}{{}Bj}{{}Bl}{{}Bn}{{}C`}{{}Cb}{{}Cd}{{}Cf}{{}Ch}{{}Cj}{{}Cl}{{}Cn}{{}D`}{{}Db}{{}Dd}{{}Bd}{{}Df}{{}Dh}{{}Bh}{{}Dj}{{}Dl}{{}E`}{c{{A`{Bj}}}Ab}{{{b{{h{f}}}}}Bj}{{{b{{h{f}}}}}Bl}{c{{A`{Bl}}}Ab}{{{b{{h{f}}}}}Bn}{c{{A`{Bn}}}Ab}{{{b{{h{f}}}}}C`}{c{{A`{C`}}}Ab}{{{b{{h{f}}}}}Cb}{c{{A`{Cb}}}Ab}{c{{A`{Cd}}}Ab}{{{b{{h{f}}}}}Cd}{c{{A`{Cf}}}Ab}{{{b{{h{f}}}}}Cf}{{{b{{h{f}}}}}Ch}{c{{A`{Ch}}}Ab}{{{b{{h{f}}}}}Cj}{c{{A`{Cj}}}Ab}{c{{A`{Cl}}}Ab}{{{b{{h{f}}}}}Cl}{c{{A`{Cn}}}Ab}{{{b{{h{f}}}}}Cn}{c{{A`{D`}}}Ab}{{{b{{h{f}}}}}D`}{{{b{{h{f}}}}}Db}{c{{A`{Db}}}Ab}{c{{A`{Dd}}}Ab}{{{b{{h{f}}}}}Dd}{{{b{{h{f}}}}}Bd}{c{{A`{Bd}}}Ab}{c{{A`{Df}}}Ab}{{{b{{h{f}}}}}Df}{{{b{{h{f}}}}}Dh}{c{{A`{Dh}}}Ab}{{{b{{h{f}}}}}Bh}{c{{A`{Bh}}}Ab}{{{b{{h{f}}}}}Dj}{c{{A`{Dj}}}Ab}{{{b{{h{f}}}}}Dl}{c{{A`{Dl}}}Ab}{c{{A`{Dn}}}Ab}{{j{b{{h{f}}}}}{{A`{Dn{b{Eb}}}}}}{c{{A`{E`}}}Ab}`{{{b{Bj}}{b{Bj}}}Ed}{{{b{Bl}}{b{Bl}}}Ed}{{{b{Bn}}{b{Bn}}}Ed}{{{b{C`}}{b{C`}}}Ed}{{{b{Cb}}{b{Cb}}}Ed}{{{b{Cd}}{b{Cd}}}Ed}{{{b{Cf}}{b{Cf}}}Ed}{{{b{Ch}}{b{Ch}}}Ed}{{{b{Cj}}{b{Cj}}}Ed}{{{b{Cl}}{b{Cl}}}Ed}{{{b{Cn}}{b{Cn}}}Ed}{{{b{D`}}{b{D`}}}Ed}{{{b{Db}}{b{Db}}}Ed}{{{b{Dd}}{b{Dd}}}Ed}{{{b{Bd}}{b{Bd}}}Ed}{{{b{Df}}{b{Df}}}Ed}{{{b{Dh}}{b{Dh}}}Ed}{{{b{Bh}}{b{Bh}}}Ed}{{{b{Dj}}{b{Dj}}}Ed}{{{b{Dl}}{b{Dl}}}Ed}{{{b{Dn}}{b{Dn}}}Ed}{{{b{E`}}{b{E`}}}Ed}{{{b{Bb}}}{{A`{nBf}}}}{{{b{Bb}}}{{A`{DbBf}}}}`{{{b{Bb}}{b{dAd}}}Af}{{{b{Bj}}{b{dAd}}}Af}{{{b{Bl}}{b{dAd}}}Af}{{{b{Bn}}{b{dAd}}}Af}{{{b{C`}}{b{dAd}}}Af}{{{b{Cb}}{b{dAd}}}Af}{{{b{Cd}}{b{dAd}}}Af}{{{b{Cf}}{b{dAd}}}Af}{{{b{Ch}}{b{dAd}}}Af}{{{b{Cj}}{b{dAd}}}Af}{{{b{Cl}}{b{dAd}}}Af}{{{b{Cn}}{b{dAd}}}Af}{{{b{D`}}{b{dAd}}}Af}{{{b{Db}}{b{dAd}}}Af}{{{b{Dd}}{b{dAd}}}Af}{{{b{Bd}}{b{dAd}}}Af}{{{b{Df}}{b{dAd}}}Af}{{{b{Dh}}{b{dAd}}}Af}{{{b{Bh}}{b{dAd}}}Af}{{{b{Dj}}{b{dAd}}}Af}{{{b{Dl}}{b{dAd}}}Af}{{{b{Dn}}{b{dAd}}}Af}{{{b{E`}}{b{dAd}}}Af}{cc{}}0000000000000000000000{{{b{Bb}}}{{b{Ef}}}}{{{b{dBb}}}{{b{dEf}}}}`{{}j}0000000000000000000{{{b{Dn}}}{{Ah{{b{c}}}}}{}}{ce{}{}}0000000000000000000000``````{{{b{Dn}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Dn}}}{{b{Eb}}}}{cBb{EjElEnF`}}`{{{b{Bb}}f}{{A`{nBf}}}}{{{b{Bb}}}{{A`{nBf}}}}`{{{b{Bj}}}{{An{f}}}}{{{b{Bj}}c}A`Aj}{{{b{Bl}}c}A`Aj}{{{b{Bl}}}{{An{f}}}}{{{b{Bn}}}{{An{f}}}}{{{b{Bn}}c}A`Aj}{{{b{C`}}}{{An{f}}}}{{{b{C`}}c}A`Aj}{{{b{Cb}}}{{An{f}}}}{{{b{Cb}}c}A`Aj}{{{b{Cd}}c}A`Aj}{{{b{Cd}}}{{An{f}}}}{{{b{Cf}}c}A`Aj}{{{b{Cf}}}{{An{f}}}}{{{b{Ch}}c}A`Aj}{{{b{Ch}}}{{An{f}}}}{{{b{Cj}}c}A`Aj}{{{b{Cj}}}{{An{f}}}}{{{b{Cl}}}{{An{f}}}}{{{b{Cl}}c}A`Aj}{{{b{Cn}}c}A`Aj}{{{b{Cn}}}{{An{f}}}}{{{b{D`}}c}A`Aj}{{{b{D`}}}{{An{f}}}}{{{b{Db}}c}A`Aj}{{{b{Db}}}{{An{f}}}}{{{b{Dd}}}{{An{f}}}}{{{b{Dd}}c}A`Aj}{{{b{Bd}}}{{An{f}}}}{{{b{Bd}}c}A`Aj}{{{b{Df}}}{{An{f}}}}{{{b{Df}}c}A`Aj}{{{b{Dh}}}{{An{f}}}}{{{b{Dh}}c}A`Aj}{{{b{Bh}}c}A`Aj}{{{b{Bh}}}{{An{f}}}}{{{b{Dj}}}{{An{f}}}}{{{b{Dj}}c}A`Aj}{{{b{Dl}}c}A`Aj}{{{b{Dl}}}{{An{f}}}}{{{b{Dn}}}{{An{f}}}}{{{b{Dn}}c}A`Aj}{{{b{E`}}c}A`Aj}{{{b{Bb}}j}{{A`{nBf}}}}000{{{b{Bb}}Fb}{{A`{nBf}}}}1011``{{{b{Bb}}}{{A`{CdBf}}}}`{{{b{Bb}}}{{A`{DlBf}}}}{{{b{Bb}}}{{A`{CjBf}}}}``````{{{b{c}}}e{}{}}000000000000000000000{c{{A`{e}}}{}{}}000000000000000000000000000000000000000000000{{{b{c}}}B`{}}0000000000000000000000``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{dFd}}{b{dFf}}}{{A`{{Ah{c}}e}}}{}{}}{{{b{dFd}}Al{b{dFf}}}{{A`{nc}}}{}}{cc{}}{ce{}{}}{{}Fd}887```````````````````66666666665555555555{{{b{Fh}}}Fh}{{{b{Fj}}}Fj}{{{b{Fl}}}Fl}{{{b{Fn}}}Fn}{{{b{G`}}}G`}{{{b{Gb}}}Gb}{{{b{Gd}}}Gd}{{{b{Gf}}}Gf}{{{b{Gh}}}Gh}{{{b{c}}{b{de}}}n{}{}}00000000{{{b{c}}}n{}}00000000`{{}Fh}{{}Fj}{{}Fl}{{}Fn}{{}G`}{{}Gb}{{}Gd}{{}Gh}{{{b{{h{f}}}}}Fh}{c{{A`{Fh}}}Ab}{c{{A`{Fj}}}Ab}{{{b{{h{f}}}}}Fj}{c{{A`{Fl}}}Ab}{{{b{{h{f}}}}}Fl}{c{{A`{Fn}}}Ab}{{{b{{h{f}}}}}Fn}{c{{A`{G`}}}Ab}{{{b{{h{f}}}}}G`}{{{b{{h{f}}}}}Gb}{c{{A`{Gb}}}Ab}{c{{A`{Gd}}}Ab}{{{b{{h{f}}}}}Gd}{{j{b{{h{f}}}}}{{A`{Gf{b{Eb}}}}}}{c{{A`{Gf}}}Ab}{c{{A`{Gh}}}Ab}``{{{b{Gj}}}{{A`{FnBf}}}}``{{{b{Fh}}{b{Fh}}}Ed}{{{b{Fj}}{b{Fj}}}Ed}{{{b{Fl}}{b{Fl}}}Ed}{{{b{Fn}}{b{Fn}}}Ed}{{{b{G`}}{b{G`}}}Ed}{{{b{Gb}}{b{Gb}}}Ed}{{{b{Gd}}{b{Gd}}}Ed}{{{b{Gf}}{b{Gf}}}Ed}{{{b{Gh}}{b{Gh}}}Ed}```{{{b{Gj}}{b{dAd}}}Af}{{{b{Fh}}{b{dAd}}}Af}{{{b{Fj}}{b{dAd}}}Af}{{{b{Fl}}{b{dAd}}}Af}{{{b{Fn}}{b{dAd}}}Af}{{{b{G`}}{b{dAd}}}Af}{{{b{Gb}}{b{dAd}}}Af}{{{b{Gd}}{b{dAd}}}Af}{{{b{Gf}}{b{dAd}}}Af}{{{b{Gh}}{b{dAd}}}Af}{cc{}}000000000{{{b{Gj}}}{{b{Ef}}}}{{{b{dGj}}}{{b{dEf}}}}{{}j}000000{{{b{Gf}}}{{Ah{{b{c}}}}}{}}{ce{}{}}000000000{{{b{Gf}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Gf}}}{{b{Eb}}}}``{cGj{EjElEnF`}}{{{b{Gj}}}{{A`{FhBf}}}}```{{{b{Fh}}c}A`Aj}{{{b{Fh}}}{{An{f}}}}{{{b{Fj}}c}A`Aj}{{{b{Fj}}}{{An{f}}}}{{{b{Fl}}}{{An{f}}}}{{{b{Fl}}c}A`Aj}{{{b{Fn}}}{{An{f}}}}{{{b{Fn}}c}A`Aj}{{{b{G`}}c}A`Aj}{{{b{G`}}}{{An{f}}}}{{{b{Gb}}}{{An{f}}}}{{{b{Gb}}c}A`Aj}{{{b{Gd}}}{{An{f}}}}{{{b{Gd}}c}A`Aj}{{{b{Gf}}}{{An{f}}}}{{{b{Gf}}c}A`Aj}{{{b{Gh}}c}A`Aj}{{{b{Gj}}f}{{A`{nBf}}}}`{{{b{c}}}e{}{}}00000000{c{{A`{e}}}{}{}}0000000000000000000{{{b{c}}}B`{}}000000000``````````````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Gl}}}Gl}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{c{{A`{Gl}}}Ab}{{{b{Gl}}{b{Gl}}}Ed}{{{b{Gl}}{b{dAd}}}Af}{{{b{Gn}}{b{dAd}}}Af}{{{b{H`}}{b{dAd}}}Af}{cc{}}000{ce{}{}}000{{}Hb}{{{b{dHb}}f}Gn}{{{b{Gl}}c}A`Aj}`{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}B`{}}000````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Hd}}}{{A`{FnBf}}}}{{{b{Ef}}{b{dAd}}}Af};{{{b{Hd}}}{{b{Ef}}}}{{{b{dHd}}}{{b{dEf}}}}<{cEf{EjElEnF`}}{{{b{Hd}}}{{A`{FhBf}}}}{{{b{Hd}}}{{A`{cBf}}}{HfHhHjF`}}{{{b{Hd}}j}{{A`{nBf}}}}{{{b{Ef}}Al}{{A`{nBf}}}}{{{b{Hd}}f}{{A`{nBf}}}}{{{b{Hd}}}{{Hl{Al}}}}>>={{{b{Hd}}{Hl{Al}}j}{{A`{nBf}}}}{{{b{Hd}}{Hl{Al}}}{{A`{cBf}}}{HfHhHjF`}}`````````>={{{b{Bf}}}Bf}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{c{{A`{Bf}}}Ab}{{{b{Bf}}{b{dAd}}}Af}{{{Hn{Al}}}Bf}{I`Bf}{IbBf}{cc{}}{ce{}{}}{{{b{Bf}}c}A`Aj}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}B`{}}```````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Al}}}j}0`{{{b{Al}}}Al}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{{}Al}{{{b{{h{f}}}}}Id}{{j{b{{h{f}}}}}{{A`{If{b{Eb}}}}}}{c{{A`{Al}}}Ab}{{{b{Al}}}f}`{{{b{Al}}{b{Al}}}Ed}{{{b{Al}}{b{dAd}}}Af}{cc{}}{{{b{Al}}}Ed}{{}j}{ce{}{}}{{{b{Al}}}Ih}{{{b{Ij}}}j}`{{{b{Eb}}}{{A`{jEh}}}}{{{b{Ij}}}{{b{Eb}}}}>{{{b{Al}}}{{b{{h{f}}}}}}``{{{b{Il}}}{{An{f}}}}{{{b{Al}}c}A`Aj}{{{b{Al}}}{{An{f}}}}{{{b{dAl}}f}n}{{{b{dAl}}{b{c}}}nIj}1`{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}B`{}}{{{b{dAl}}}n}{{{b{Al}}{b{dIn}}}{{J`{Ih}}}}``````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000`{{{b{Jb}}}Jb}{{{b{Jd}}}Jd}{{{b{Jf}}}Jf}{{{b{Jh}}}Jh}{{{b{Jj}}}Jj}{{{b{c}}{b{de}}}n{}{}}0000{{{b{c}}}n{}}0000`{{}Jb}{{}Jd}{{}Jf}{{}Jj}{c{{A`{Jb}}}Ab}{{{b{{h{f}}}}}Jb}{c{{A`{Jd}}}Ab}{{{b{{h{f}}}}}Jd}{c{{A`{Jf}}}Ab}{{{b{{h{f}}}}}Jf}{{j{b{{h{f}}}}}{{A`{Jh{b{Eb}}}}}}{c{{A`{Jh}}}Ab}{c{{A`{Jj}}}Ab}``{{{b{Jb}}{b{Jb}}}Ed}{{{b{Jd}}{b{Jd}}}Ed}{{{b{Jf}}{b{Jf}}}Ed}{{{b{Jh}}{b{Jh}}}Ed}{{{b{Jj}}{b{Jj}}}Ed}`{{{b{Jl}}{b{dAd}}}Af}{{{b{Jb}}{b{dAd}}}Af}{{{b{Jd}}{b{dAd}}}Af}{{{b{Jf}}{b{dAd}}}Af}{{{b{Jh}}{b{dAd}}}Af}{{{b{Jj}}{b{dAd}}}Af}{cc{}}00000``{{{b{Jl}}}{{b{Ef}}}}{{{b{dJl}}}{{b{dEf}}}}{{}j}00{{{b{Jh}}}{{Ah{{b{c}}}}}{}}{ce{}{}}00000```{{{b{Jh}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Jh}}}{{b{Eb}}}}``{cJl{EjElEnF`}}``{{{b{Jl}}}{{A`{JbBf}}}}{{{b{Jl}}FbFbFbJnJnJnJnK`jff}{{A`{nBf}}}}`````````{{{b{Jb}}c}A`Aj}{{{b{Jb}}}{{An{f}}}}{{{b{Jd}}}{{An{f}}}}{{{b{Jd}}c}A`Aj}{{{b{Jf}}}{{An{f}}}}{{{b{Jf}}c}A`Aj}{{{b{Jh}}c}A`Aj}{{{b{Jh}}}{{An{f}}}}{{{b{Jj}}c}A`Aj}{{{b{Jl}}Fb}{{A`{nBf}}}}``````{{{b{c}}}e{}{}}0000`{c{{A`{e}}}{}{}}00000000000{{{b{c}}}B`{}}00000````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000000000{{{b{Kb}}}Kb}{{{b{Kd}}}Kd}{{{b{Kf}}}Kf}{{{b{Kh}}}Kh}{{{b{Kj}}}Kj}{{{b{Kl}}}Kl}{{{b{Kn}}}Kn}{{{b{L`}}}L`}{{{b{Lb}}}Lb}{{{b{Ld}}}Ld}{{{b{Lf}}}Lf}{{{b{Lh}}}Lh}{{{b{Lj}}}Lj}{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{Mb}}}Mb}{{{b{Md}}}Md}{{{b{Mf}}}Mf}{{{b{Mh}}}Mh}{{{b{Mj}}}Mj}{{{b{Ml}}}Ml}{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{Nf}}}Nf}{{{b{Nh}}}Nh}{{{b{c}}{b{de}}}n{}{}}000000000000000000000000000{{{b{c}}}n{}}000000000000000000000000000````{{{b{Nj}}j}{{A`{nBf}}}}0{{}Kb}{{}Kd}{{}Kf}{{}Kh}{{}Kj}{{}Kl}{{}Kn}{{}L`}{{}Lb}{{}Ld}{{}Lf}{{}Lh}{{}Lj}{{}Ll}{{}Ln}{{}M`}{{}Mb}{{}Md}{{}Mf}{{}Mh}{{}Mj}{{}Ml}{{}Mn}{{}N`}{{}Nb}{{}Nd}{{}Nh}{{{b{{h{f}}}}}Kb}{c{{A`{Kb}}}Ab}{c{{A`{Kd}}}Ab}{{{b{{h{f}}}}}Kd}{c{{A`{Kf}}}Ab}{{{b{{h{f}}}}}Kf}{c{{A`{Kh}}}Ab}{{{b{{h{f}}}}}Kh}{{{b{{h{f}}}}}Kj}{c{{A`{Kj}}}Ab}{{{b{{h{f}}}}}Kl}{c{{A`{Kl}}}Ab}{c{{A`{Kn}}}Ab}{{{b{{h{f}}}}}Kn}{{{b{{h{f}}}}}L`}{c{{A`{L`}}}Ab}{c{{A`{Lb}}}Ab}{{{b{{h{f}}}}}Lb}{c{{A`{Ld}}}Ab}{{{b{{h{f}}}}}Ld}{{{b{{h{f}}}}}Lf}{c{{A`{Lf}}}Ab}{{{b{{h{f}}}}}Lh}{c{{A`{Lh}}}Ab}{c{{A`{Lj}}}Ab}{{{b{{h{f}}}}}Lj}{c{{A`{Ll}}}Ab}{{{b{{h{f}}}}}Ll}{{{b{{h{f}}}}}Ln}{c{{A`{Ln}}}Ab}{c{{A`{M`}}}Ab}{{{b{{h{f}}}}}M`}{c{{A`{Mb}}}Ab}{{{b{{h{f}}}}}Mb}{{{b{{h{f}}}}}Md}{c{{A`{Md}}}Ab}{{{b{{h{f}}}}}Mf}{c{{A`{Mf}}}Ab}{{{b{{h{f}}}}}Mh}{c{{A`{Mh}}}Ab}{c{{A`{Mj}}}Ab}{{{b{{h{f}}}}}Mj}{{{b{{h{f}}}}}Ml}{c{{A`{Ml}}}Ab}{c{{A`{Mn}}}Ab}{{{b{{h{f}}}}}Mn}{{{b{{h{f}}}}}N`}{c{{A`{N`}}}Ab}{{{b{{h{f}}}}}Nb}{c{{A`{Nb}}}Ab}{{{b{{h{f}}}}}Nd}{c{{A`{Nd}}}Ab}{{j{b{{h{f}}}}}{{A`{Nf{b{Eb}}}}}}{c{{A`{Nf}}}Ab}{c{{A`{Nh}}}Ab}`{{{b{Nj}}}{{A`{MhBf}}}}````{{{b{Nj}}}{{A`{KjBf}}}}```{{{b{Nj}}}{{A`{KfBf}}}}{{{b{Kb}}{b{Kb}}}Ed}{{{b{Kd}}{b{Kd}}}Ed}{{{b{Kf}}{b{Kf}}}Ed}{{{b{Kh}}{b{Kh}}}Ed}{{{b{Kj}}{b{Kj}}}Ed}{{{b{Kl}}{b{Kl}}}Ed}{{{b{Kn}}{b{Kn}}}Ed}{{{b{L`}}{b{L`}}}Ed}{{{b{Lb}}{b{Lb}}}Ed}{{{b{Ld}}{b{Ld}}}Ed}{{{b{Lf}}{b{Lf}}}Ed}{{{b{Lh}}{b{Lh}}}Ed}{{{b{Lj}}{b{Lj}}}Ed}{{{b{Ll}}{b{Ll}}}Ed}{{{b{Ln}}{b{Ln}}}Ed}{{{b{M`}}{b{M`}}}Ed}{{{b{Mb}}{b{Mb}}}Ed}{{{b{Md}}{b{Md}}}Ed}{{{b{Mf}}{b{Mf}}}Ed}{{{b{Mh}}{b{Mh}}}Ed}{{{b{Mj}}{b{Mj}}}Ed}{{{b{Ml}}{b{Ml}}}Ed}{{{b{Mn}}{b{Mn}}}Ed}{{{b{N`}}{b{N`}}}Ed}{{{b{Nb}}{b{Nb}}}Ed}{{{b{Nd}}{b{Nd}}}Ed}{{{b{Nf}}{b{Nf}}}Ed}{{{b{Nh}}{b{Nh}}}Ed}{{{b{Nj}}}{{A`{MjBf}}}}````{{{b{Nj}}{b{dAd}}}Af}{{{b{Kb}}{b{dAd}}}Af}{{{b{Kd}}{b{dAd}}}Af}{{{b{Kf}}{b{dAd}}}Af}{{{b{Kh}}{b{dAd}}}Af}{{{b{Kj}}{b{dAd}}}Af}{{{b{Kl}}{b{dAd}}}Af}{{{b{Kn}}{b{dAd}}}Af}{{{b{L`}}{b{dAd}}}Af}{{{b{Lb}}{b{dAd}}}Af}{{{b{Ld}}{b{dAd}}}Af}{{{b{Lf}}{b{dAd}}}Af}{{{b{Lh}}{b{dAd}}}Af}{{{b{Lj}}{b{dAd}}}Af}{{{b{Ll}}{b{dAd}}}Af}{{{b{Ln}}{b{dAd}}}Af}{{{b{M`}}{b{dAd}}}Af}{{{b{Mb}}{b{dAd}}}Af}{{{b{Md}}{b{dAd}}}Af}{{{b{Mf}}{b{dAd}}}Af}{{{b{Mh}}{b{dAd}}}Af}{{{b{Mj}}{b{dAd}}}Af}{{{b{Ml}}{b{dAd}}}Af}{{{b{Mn}}{b{dAd}}}Af}{{{b{N`}}{b{dAd}}}Af}{{{b{Nb}}{b{dAd}}}Af}{{{b{Nd}}{b{dAd}}}Af}{{{b{Nf}}{b{dAd}}}Af}{{{b{Nh}}{b{dAd}}}Af}{cc{}}0000000000000000000000000000{{{b{Nj}}}{{A`{MfBf}}}}`````{{{b{Nj}}}{{A`{KbBf}}}}{{{b{Nj}}}{{b{Ef}}}}{{{b{dNj}}}{{b{dEf}}}}{{{b{Nj}}}{{A`{nBf}}}}{{}j}0000000000000000000000000``{{{b{Nf}}}{{Ah{{b{c}}}}}{}}{ce{}{}}0000000000000000000000000000{{{b{Nf}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Nf}}}{{b{Eb}}}}{{{b{Nj}}}{{A`{LjBf}}}}```{cNj{EjElEnF`}}{{{b{Nj}}}{{A`{N`Bf}}}}`{{{b{Nj}}}{{A`{LhBf}}}}``{{{b{Nj}}}{{A`{KnBf}}}}`````{{{b{Nj}}}{{A`{MnBf}}}}`{{{b{Nj}}}{{A`{MdBf}}}}``{{{b{Nj}}}{{A`{MbBf}}}}````````{{{b{Kb}}c}A`Aj}{{{b{Kb}}}{{An{f}}}}{{{b{Kd}}}{{An{f}}}}{{{b{Kd}}c}A`Aj}{{{b{Kf}}}{{An{f}}}}{{{b{Kf}}c}A`Aj}{{{b{Kh}}c}A`Aj}{{{b{Kh}}}{{An{f}}}}{{{b{Kj}}c}A`Aj}{{{b{Kj}}}{{An{f}}}}{{{b{Kl}}c}A`Aj}{{{b{Kl}}}{{An{f}}}}{{{b{Kn}}c}A`Aj}{{{b{Kn}}}{{An{f}}}}{{{b{L`}}}{{An{f}}}}{{{b{L`}}c}A`Aj}{{{b{Lb}}}{{An{f}}}}{{{b{Lb}}c}A`Aj}{{{b{Ld}}}{{An{f}}}}{{{b{Ld}}c}A`Aj}{{{b{Lf}}c}A`Aj}{{{b{Lf}}}{{An{f}}}}{{{b{Lh}}c}A`Aj}{{{b{Lh}}}{{An{f}}}}{{{b{Lj}}c}A`Aj}{{{b{Lj}}}{{An{f}}}}{{{b{Ll}}}{{An{f}}}}{{{b{Ll}}c}A`Aj}{{{b{Ln}}}{{An{f}}}}{{{b{Ln}}c}A`Aj}{{{b{M`}}}{{An{f}}}}{{{b{M`}}c}A`Aj}{{{b{Mb}}}{{An{f}}}}{{{b{Mb}}c}A`Aj}{{{b{Md}}c}A`Aj}{{{b{Md}}}{{An{f}}}}{{{b{Mf}}c}A`Aj}{{{b{Mf}}}{{An{f}}}}{{{b{Mh}}}{{An{f}}}}{{{b{Mh}}c}A`Aj}{{{b{Mj}}}{{An{f}}}}{{{b{Mj}}c}A`Aj}{{{b{Ml}}}{{An{f}}}}{{{b{Ml}}c}A`Aj}{{{b{Mn}}}{{An{f}}}}{{{b{Mn}}c}A`Aj}{{{b{N`}}}{{An{f}}}}{{{b{N`}}c}A`Aj}{{{b{Nb}}c}A`Aj}{{{b{Nb}}}{{An{f}}}}{{{b{Nd}}c}A`Aj}{{{b{Nd}}}{{An{f}}}}{{{b{Nf}}c}A`Aj}{{{b{Nf}}}{{An{f}}}}{{{b{Nh}}c}A`Aj}{{{b{Nj}}f}{{A`{nBf}}}}000{{{b{Nj}}j}{{A`{nBf}}}}{{{b{Nj}}FbFb}{{A`{nBf}}}}{{{b{Nj}}Fb}{{A`{nBf}}}}`{{{b{Nj}}}{{A`{KdBf}}}}``{{{b{c}}}e{}{}}000000000000000000000000000{{{b{Nj}}}{{A`{NbBf}}}}```{c{{A`{e}}}{}{}}000000000000000000000000000000000000000000000000000000000{{{b{c}}}B`{}}0000000000000000000000000000{{{b{Nj}}}{{A`{NdBf}}}}``````````````````````{{{b{Nl}}}{{A`{NnBf}}}}{{{b{Nl}}ffjjjjjjff}{{A`{nBf}}}}`{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000{{{b{O`}}}O`}{{{b{Nn}}}Nn}{{{b{Ob}}}Ob}{{{b{Od}}}Od}{{{b{Of}}}Of}{{{b{Oh}}}Oh}{{{b{Oj}}}Oj}{{{b{Ol}}}Ol}{{{b{On}}}On}{{{b{c}}{b{de}}}n{}{}}00000000{{{b{c}}}n{}}00000000`````{{}O`}{{}Nn}{{}Ob}{{}Od}{{}Of}{{}Oh}{{}Oj}{{}On}``{c{{A`{O`}}}Ab}{{{b{{h{f}}}}}O`}{c{{A`{Nn}}}Ab}{{{b{{h{f}}}}}Nn}{c{{A`{Ob}}}Ab}{{{b{{h{f}}}}}Ob}{{{b{{h{f}}}}}Od}{c{{A`{Od}}}Ab}{{{b{{h{f}}}}}Of}{c{{A`{Of}}}Ab}{{{b{{h{f}}}}}Oh}{c{{A`{Oh}}}Ab}{{{b{{h{f}}}}}Oj}{c{{A`{Oj}}}Ab}{c{{A`{Ol}}}Ab}{{j{b{{h{f}}}}}{{A`{Ol{b{Eb}}}}}}{c{{A`{On}}}Ab}`{{{b{Nl}}}{{A`{OjBf}}}}{{{b{O`}}{b{O`}}}Ed}{{{b{Nn}}{b{Nn}}}Ed}{{{b{Ob}}{b{Ob}}}Ed}{{{b{Od}}{b{Od}}}Ed}{{{b{Of}}{b{Of}}}Ed}{{{b{Oh}}{b{Oh}}}Ed}{{{b{Oj}}{b{Oj}}}Ed}{{{b{Ol}}{b{Ol}}}Ed}{{{b{On}}{b{On}}}Ed}{{{b{Nl}}{b{dAd}}}Af}{{{b{O`}}{b{dAd}}}Af}{{{b{Nn}}{b{dAd}}}Af}{{{b{Ob}}{b{dAd}}}Af}{{{b{Od}}{b{dAd}}}Af}{{{b{Of}}{b{dAd}}}Af}{{{b{Oh}}{b{dAd}}}Af}{{{b{Oj}}{b{dAd}}}Af}{{{b{Ol}}{b{dAd}}}Af}{{{b{On}}{b{dAd}}}Af}{cc{}}000000000````{{{b{Nl}}}{{b{Ef}}}}{{{b{dNl}}}{{b{dEf}}}}{{}j}000000`{{{b{Ol}}}{{Ah{{b{c}}}}}{}}{ce{}{}}000000000{{{b{Ol}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Ol}}}{{b{Eb}}}}````{{{b{Nl}}}{{A`{nBf}}}}{cNl{EjElEnF`}}`````````{{{b{Nl}}ff}{{A`{nBf}}}}````{{{b{O`}}c}A`Aj}{{{b{O`}}}{{An{f}}}}{{{b{Nn}}}{{An{f}}}}{{{b{Nn}}c}A`Aj}{{{b{Ob}}c}A`Aj}{{{b{Ob}}}{{An{f}}}}{{{b{Od}}}{{An{f}}}}{{{b{Od}}c}A`Aj}{{{b{Of}}}{{An{f}}}}{{{b{Of}}c}A`Aj}{{{b{Oh}}}{{An{f}}}}{{{b{Oh}}c}A`Aj}{{{b{Oj}}}{{An{f}}}}{{{b{Oj}}c}A`Aj}{{{b{Ol}}}{{An{f}}}}{{{b{Ol}}c}A`Aj}{{{b{On}}c}A`Aj}{{{b{Nl}}ff}{{A`{nBf}}}}`````{{{b{c}}}e{}{}}00000000{{{b{Nl}}ffjjjjjff}{{A`{OjBf}}}}`````````{c{{A`{e}}}{}{}}0000000000000000000{{{b{c}}}B`{}}000000000","D":"CIn","p":[[1,"reference"],[0,"mut"],[1,"u8"],[1,"slice"],[1,"u16"],[6,"Messages",0],[1,"unit"],[6,"Result",2018],[10,"Deserializer",2019],[5,"Formatter",2020],[8,"Result",2020],[6,"Option",2021],[10,"Serializer",2022],[5,"ProtocolMessage",891],[5,"Vec",2023],[5,"TypeId",2024],[5,"Device",34],[5,"CellTimeoutStruct",34],[6,"PingError",865],[5,"CellVoltageMinStruct",34],[5,"EraseFlashStruct",34],[5,"SetLpfSampleFrequencyStruct",34],[5,"SetLpfSettingStruct",34],[5,"SetCurrentMaxStruct",34],[5,"SetTemperatureTimeoutStruct",34],[5,"StateStruct",34],[5,"ResetDefaultsStruct",34],[5,"CurrentTimeoutStruct",34],[5,"TemperatureTimeoutStruct",34],[5,"SetTemperatureMaxStruct",34],[5,"CurrentMaxStruct",34],[5,"SetStreamRateStruct",34],[5,"EventsStruct",34],[5,"SetCellVoltageTimeoutStruct",34],[5,"RebootStruct",34],[5,"SetCurrentTimeoutStruct",34],[5,"SetCellVoltageMinimumStruct",34],[5,"TemperatureMaxStruct",34],[6,"Messages",34],[5,"PingProtocolHead",34],[1,"str"],[1,"bool"],[5,"Common",841],[5,"String",2025],[10,"AsyncRead",2026],[10,"AsyncWrite",2027],[10,"Unpin",2028],[10,"Send",2028],[1,"u32"],[5,"PingCodec",554],[5,"BytesMut",2029],[5,"ProtocolVersionStruct",565],[5,"GeneralRequestStruct",565],[5,"NackStruct",565],[5,"DeviceInformationStruct",565],[5,"AckStruct",565],[5,"SetDeviceIdStruct",565],[5,"AsciiTextStruct",565],[6,"Messages",565],[5,"PingProtocolHead",565],[5,"Device",565],[6,"ParseError",785],[6,"DecoderResult",785],[6,"DecoderState",785],[5,"Decoder",785],[10,"PingDevice",841],[10,"MessageInfo",891],[10,"Sync",2028],[10,"Clone",2030],[5,"Receiver",2031],[5,"SendError",2032],[6,"RecvError",2033],[5,"Error",2034],[10,"DeserializePayload",891],[10,"DeserializeGenericMessage",891],[1,"usize"],[10,"PingMessage",891],[10,"SerializePayload",891],[10,"Write",2035],[8,"Result",2034],[5,"OsMonoProfileStruct",940],[5,"OsPingParamsStruct",940],[5,"SetSpeedOfSoundStruct",940],[6,"Messages",940],[5,"PingProtocolHead",940],[5,"Device",940],[1,"f32"],[1,"i16"],[5,"GeneralInfoStruct",1089],[5,"SpeedOfSoundStruct",1089],[5,"DistanceSimpleStruct",1089],[5,"SetModeAutoStruct",1089],[5,"DistanceStruct",1089],[5,"SetDeviceIdStruct",1089],[5,"PingIntervalStruct",1089],[5,"ContinuousStartStruct",1089],[5,"SetPingIntervalStruct",1089],[5,"SetSpeedOfSoundStruct",1089],[5,"SetPingEnableStruct",1089],[5,"PingEnableStruct",1089],[5,"ModeAutoStruct",1089],[5,"ContinuousStopStruct",1089],[5,"SetGainSettingStruct",1089],[5,"SetRangeStruct",1089],[5,"RangeStruct",1089],[5,"ProfileStruct",1089],[5,"GainSettingStruct",1089],[5,"DeviceIdStruct",1089],[5,"FirmwareVersionStruct",1089],[5,"GotoBootloaderStruct",1089],[5,"ProcessorTemperatureStruct",1089],[5,"PcbTemperatureStruct",1089],[5,"TransmitDurationStruct",1089],[5,"Voltage5Struct",1089],[6,"Messages",1089],[5,"PingProtocolHead",1089],[5,"Device",1089],[5,"Device",1765],[5,"AutoDeviceDataStruct",1765],[5,"SetDeviceIdStruct",1765],[5,"AutoTransmitStruct",1765],[5,"TransducerStruct",1765],[5,"ResetStruct",1765],[5,"MotorOffStruct",1765],[5,"DeviceDataStruct",1765],[6,"Messages",1765],[5,"PingProtocolHead",1765]],"r":[],"b":[[29,"impl-TryFrom%3C%26ProtocolMessage%3E-for-Messages"],[31,"impl-TryFrom%3C%26Vec%3Cu8%3E%3E-for-Messages"],[222,"impl-Deserialize%3C\'de%3E-for-EraseFlashStruct"],[223,"impl-DeserializePayload-for-EraseFlashStruct"],[224,"impl-DeserializePayload-for-SetLpfSampleFrequencyStruct"],[225,"impl-Deserialize%3C\'de%3E-for-SetLpfSampleFrequencyStruct"],[226,"impl-DeserializePayload-for-SetLpfSettingStruct"],[227,"impl-Deserialize%3C\'de%3E-for-SetLpfSettingStruct"],[228,"impl-DeserializePayload-for-SetCurrentMaxStruct"],[229,"impl-Deserialize%3C\'de%3E-for-SetCurrentMaxStruct"],[230,"impl-DeserializePayload-for-SetTemperatureTimeoutStruct"],[231,"impl-Deserialize%3C\'de%3E-for-SetTemperatureTimeoutStruct"],[232,"impl-Deserialize%3C\'de%3E-for-StateStruct"],[233,"impl-DeserializePayload-for-StateStruct"],[234,"impl-Deserialize%3C\'de%3E-for-ResetDefaultsStruct"],[235,"impl-DeserializePayload-for-ResetDefaultsStruct"],[236,"impl-DeserializePayload-for-CurrentTimeoutStruct"],[237,"impl-Deserialize%3C\'de%3E-for-CurrentTimeoutStruct"],[238,"impl-DeserializePayload-for-TemperatureTimeoutStruct"],[239,"impl-Deserialize%3C\'de%3E-for-TemperatureTimeoutStruct"],[240,"impl-Deserialize%3C\'de%3E-for-SetTemperatureMaxStruct"],[241,"impl-DeserializePayload-for-SetTemperatureMaxStruct"],[242,"impl-Deserialize%3C\'de%3E-for-CurrentMaxStruct"],[243,"impl-DeserializePayload-for-CurrentMaxStruct"],[244,"impl-Deserialize%3C\'de%3E-for-SetStreamRateStruct"],[245,"impl-DeserializePayload-for-SetStreamRateStruct"],[246,"impl-DeserializePayload-for-EventsStruct"],[247,"impl-Deserialize%3C\'de%3E-for-EventsStruct"],[248,"impl-Deserialize%3C\'de%3E-for-SetCellVoltageTimeoutStruct"],[249,"impl-DeserializePayload-for-SetCellVoltageTimeoutStruct"],[250,"impl-DeserializePayload-for-CellTimeoutStruct"],[251,"impl-Deserialize%3C\'de%3E-for-CellTimeoutStruct"],[252,"impl-Deserialize%3C\'de%3E-for-RebootStruct"],[253,"impl-DeserializePayload-for-RebootStruct"],[254,"impl-DeserializePayload-for-SetCurrentTimeoutStruct"],[255,"impl-Deserialize%3C\'de%3E-for-SetCurrentTimeoutStruct"],[256,"impl-DeserializePayload-for-CellVoltageMinStruct"],[257,"impl-Deserialize%3C\'de%3E-for-CellVoltageMinStruct"],[258,"impl-DeserializePayload-for-SetCellVoltageMinimumStruct"],[259,"impl-Deserialize%3C\'de%3E-for-SetCellVoltageMinimumStruct"],[260,"impl-DeserializePayload-for-TemperatureMaxStruct"],[261,"impl-Deserialize%3C\'de%3E-for-TemperatureMaxStruct"],[262,"impl-Deserialize%3C\'de%3E-for-Messages"],[263,"impl-DeserializeGenericMessage-for-Messages"],[398,"impl-SerializePayload-for-EraseFlashStruct"],[399,"impl-Serialize-for-EraseFlashStruct"],[400,"impl-Serialize-for-SetLpfSampleFrequencyStruct"],[401,"impl-SerializePayload-for-SetLpfSampleFrequencyStruct"],[402,"impl-SerializePayload-for-SetLpfSettingStruct"],[403,"impl-Serialize-for-SetLpfSettingStruct"],[404,"impl-SerializePayload-for-SetCurrentMaxStruct"],[405,"impl-Serialize-for-SetCurrentMaxStruct"],[406,"impl-SerializePayload-for-SetTemperatureTimeoutStruct"],[407,"impl-Serialize-for-SetTemperatureTimeoutStruct"],[408,"impl-Serialize-for-StateStruct"],[409,"impl-SerializePayload-for-StateStruct"],[410,"impl-Serialize-for-ResetDefaultsStruct"],[411,"impl-SerializePayload-for-ResetDefaultsStruct"],[412,"impl-Serialize-for-CurrentTimeoutStruct"],[413,"impl-SerializePayload-for-CurrentTimeoutStruct"],[414,"impl-Serialize-for-TemperatureTimeoutStruct"],[415,"impl-SerializePayload-for-TemperatureTimeoutStruct"],[416,"impl-SerializePayload-for-SetTemperatureMaxStruct"],[417,"impl-Serialize-for-SetTemperatureMaxStruct"],[418,"impl-Serialize-for-CurrentMaxStruct"],[419,"impl-SerializePayload-for-CurrentMaxStruct"],[420,"impl-Serialize-for-SetStreamRateStruct"],[421,"impl-SerializePayload-for-SetStreamRateStruct"],[422,"impl-Serialize-for-EventsStruct"],[423,"impl-SerializePayload-for-EventsStruct"],[424,"impl-SerializePayload-for-SetCellVoltageTimeoutStruct"],[425,"impl-Serialize-for-SetCellVoltageTimeoutStruct"],[426,"impl-SerializePayload-for-CellTimeoutStruct"],[427,"impl-Serialize-for-CellTimeoutStruct"],[428,"impl-SerializePayload-for-RebootStruct"],[429,"impl-Serialize-for-RebootStruct"],[430,"impl-SerializePayload-for-SetCurrentTimeoutStruct"],[431,"impl-Serialize-for-SetCurrentTimeoutStruct"],[432,"impl-Serialize-for-CellVoltageMinStruct"],[433,"impl-SerializePayload-for-CellVoltageMinStruct"],[434,"impl-SerializePayload-for-SetCellVoltageMinimumStruct"],[435,"impl-Serialize-for-SetCellVoltageMinimumStruct"],[436,"impl-Serialize-for-TemperatureMaxStruct"],[437,"impl-SerializePayload-for-TemperatureMaxStruct"],[438,"impl-SerializePayload-for-Messages"],[439,"impl-Serialize-for-Messages"],[640,"impl-DeserializePayload-for-ProtocolVersionStruct"],[641,"impl-Deserialize%3C\'de%3E-for-ProtocolVersionStruct"],[642,"impl-Deserialize%3C\'de%3E-for-GeneralRequestStruct"],[643,"impl-DeserializePayload-for-GeneralRequestStruct"],[644,"impl-Deserialize%3C\'de%3E-for-NackStruct"],[645,"impl-DeserializePayload-for-NackStruct"],[646,"impl-Deserialize%3C\'de%3E-for-DeviceInformationStruct"],[647,"impl-DeserializePayload-for-DeviceInformationStruct"],[648,"impl-Deserialize%3C\'de%3E-for-AckStruct"],[649,"impl-DeserializePayload-for-AckStruct"],[650,"impl-DeserializePayload-for-SetDeviceIdStruct"],[651,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[652,"impl-Deserialize%3C\'de%3E-for-AsciiTextStruct"],[653,"impl-DeserializePayload-for-AsciiTextStruct"],[654,"impl-DeserializeGenericMessage-for-Messages"],[655,"impl-Deserialize%3C\'de%3E-for-Messages"],[724,"impl-Serialize-for-ProtocolVersionStruct"],[725,"impl-SerializePayload-for-ProtocolVersionStruct"],[726,"impl-Serialize-for-GeneralRequestStruct"],[727,"impl-SerializePayload-for-GeneralRequestStruct"],[728,"impl-SerializePayload-for-NackStruct"],[729,"impl-Serialize-for-NackStruct"],[730,"impl-SerializePayload-for-DeviceInformationStruct"],[731,"impl-Serialize-for-DeviceInformationStruct"],[732,"impl-Serialize-for-AckStruct"],[733,"impl-SerializePayload-for-AckStruct"],[734,"impl-SerializePayload-for-SetDeviceIdStruct"],[735,"impl-Serialize-for-SetDeviceIdStruct"],[736,"impl-SerializePayload-for-AsciiTextStruct"],[737,"impl-Serialize-for-AsciiTextStruct"],[738,"impl-SerializePayload-for-Messages"],[739,"impl-Serialize-for-Messages"],[881,"impl-From%3CSendError%3CProtocolMessage%3E%3E-for-PingError"],[882,"impl-From%3CRecvError%3E-for-PingError"],[883,"impl-From%3CError%3E-for-PingError"],[983,"impl-Deserialize%3C\'de%3E-for-OsMonoProfileStruct"],[984,"impl-DeserializePayload-for-OsMonoProfileStruct"],[985,"impl-Deserialize%3C\'de%3E-for-OsPingParamsStruct"],[986,"impl-DeserializePayload-for-OsPingParamsStruct"],[987,"impl-Deserialize%3C\'de%3E-for-SetSpeedOfSoundStruct"],[988,"impl-DeserializePayload-for-SetSpeedOfSoundStruct"],[989,"impl-DeserializeGenericMessage-for-Messages"],[990,"impl-Deserialize%3C\'de%3E-for-Messages"],[1048,"impl-Serialize-for-OsMonoProfileStruct"],[1049,"impl-SerializePayload-for-OsMonoProfileStruct"],[1050,"impl-SerializePayload-for-OsPingParamsStruct"],[1051,"impl-Serialize-for-OsPingParamsStruct"],[1052,"impl-SerializePayload-for-SetSpeedOfSoundStruct"],[1053,"impl-Serialize-for-SetSpeedOfSoundStruct"],[1054,"impl-Serialize-for-Messages"],[1055,"impl-SerializePayload-for-Messages"],[1319,"impl-DeserializePayload-for-GeneralInfoStruct"],[1320,"impl-Deserialize%3C\'de%3E-for-GeneralInfoStruct"],[1321,"impl-Deserialize%3C\'de%3E-for-SpeedOfSoundStruct"],[1322,"impl-DeserializePayload-for-SpeedOfSoundStruct"],[1323,"impl-Deserialize%3C\'de%3E-for-DistanceSimpleStruct"],[1324,"impl-DeserializePayload-for-DistanceSimpleStruct"],[1325,"impl-Deserialize%3C\'de%3E-for-SetModeAutoStruct"],[1326,"impl-DeserializePayload-for-SetModeAutoStruct"],[1327,"impl-DeserializePayload-for-DistanceStruct"],[1328,"impl-Deserialize%3C\'de%3E-for-DistanceStruct"],[1329,"impl-DeserializePayload-for-SetDeviceIdStruct"],[1330,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[1331,"impl-Deserialize%3C\'de%3E-for-PingIntervalStruct"],[1332,"impl-DeserializePayload-for-PingIntervalStruct"],[1333,"impl-DeserializePayload-for-ContinuousStartStruct"],[1334,"impl-Deserialize%3C\'de%3E-for-ContinuousStartStruct"],[1335,"impl-Deserialize%3C\'de%3E-for-SetPingIntervalStruct"],[1336,"impl-DeserializePayload-for-SetPingIntervalStruct"],[1337,"impl-Deserialize%3C\'de%3E-for-SetSpeedOfSoundStruct"],[1338,"impl-DeserializePayload-for-SetSpeedOfSoundStruct"],[1339,"impl-DeserializePayload-for-SetPingEnableStruct"],[1340,"impl-Deserialize%3C\'de%3E-for-SetPingEnableStruct"],[1341,"impl-DeserializePayload-for-PingEnableStruct"],[1342,"impl-Deserialize%3C\'de%3E-for-PingEnableStruct"],[1343,"impl-Deserialize%3C\'de%3E-for-ModeAutoStruct"],[1344,"impl-DeserializePayload-for-ModeAutoStruct"],[1345,"impl-Deserialize%3C\'de%3E-for-ContinuousStopStruct"],[1346,"impl-DeserializePayload-for-ContinuousStopStruct"],[1347,"impl-DeserializePayload-for-SetGainSettingStruct"],[1348,"impl-Deserialize%3C\'de%3E-for-SetGainSettingStruct"],[1349,"impl-Deserialize%3C\'de%3E-for-SetRangeStruct"],[1350,"impl-DeserializePayload-for-SetRangeStruct"],[1351,"impl-Deserialize%3C\'de%3E-for-RangeStruct"],[1352,"impl-DeserializePayload-for-RangeStruct"],[1353,"impl-DeserializePayload-for-ProfileStruct"],[1354,"impl-Deserialize%3C\'de%3E-for-ProfileStruct"],[1355,"impl-DeserializePayload-for-GainSettingStruct"],[1356,"impl-Deserialize%3C\'de%3E-for-GainSettingStruct"],[1357,"impl-DeserializePayload-for-DeviceIdStruct"],[1358,"impl-Deserialize%3C\'de%3E-for-DeviceIdStruct"],[1359,"impl-Deserialize%3C\'de%3E-for-FirmwareVersionStruct"],[1360,"impl-DeserializePayload-for-FirmwareVersionStruct"],[1361,"impl-DeserializePayload-for-GotoBootloaderStruct"],[1362,"impl-Deserialize%3C\'de%3E-for-GotoBootloaderStruct"],[1363,"impl-Deserialize%3C\'de%3E-for-ProcessorTemperatureStruct"],[1364,"impl-DeserializePayload-for-ProcessorTemperatureStruct"],[1365,"impl-DeserializePayload-for-PcbTemperatureStruct"],[1366,"impl-Deserialize%3C\'de%3E-for-PcbTemperatureStruct"],[1367,"impl-DeserializePayload-for-TransmitDurationStruct"],[1368,"impl-Deserialize%3C\'de%3E-for-TransmitDurationStruct"],[1369,"impl-DeserializePayload-for-Voltage5Struct"],[1370,"impl-Deserialize%3C\'de%3E-for-Voltage5Struct"],[1371,"impl-DeserializeGenericMessage-for-Messages"],[1372,"impl-Deserialize%3C\'de%3E-for-Messages"],[1577,"impl-Serialize-for-GeneralInfoStruct"],[1578,"impl-SerializePayload-for-GeneralInfoStruct"],[1579,"impl-SerializePayload-for-SpeedOfSoundStruct"],[1580,"impl-Serialize-for-SpeedOfSoundStruct"],[1581,"impl-SerializePayload-for-DistanceSimpleStruct"],[1582,"impl-Serialize-for-DistanceSimpleStruct"],[1583,"impl-Serialize-for-SetModeAutoStruct"],[1584,"impl-SerializePayload-for-SetModeAutoStruct"],[1585,"impl-Serialize-for-DistanceStruct"],[1586,"impl-SerializePayload-for-DistanceStruct"],[1587,"impl-Serialize-for-SetDeviceIdStruct"],[1588,"impl-SerializePayload-for-SetDeviceIdStruct"],[1589,"impl-Serialize-for-PingIntervalStruct"],[1590,"impl-SerializePayload-for-PingIntervalStruct"],[1591,"impl-SerializePayload-for-ContinuousStartStruct"],[1592,"impl-Serialize-for-ContinuousStartStruct"],[1593,"impl-SerializePayload-for-SetPingIntervalStruct"],[1594,"impl-Serialize-for-SetPingIntervalStruct"],[1595,"impl-SerializePayload-for-SetSpeedOfSoundStruct"],[1596,"impl-Serialize-for-SetSpeedOfSoundStruct"],[1597,"impl-Serialize-for-SetPingEnableStruct"],[1598,"impl-SerializePayload-for-SetPingEnableStruct"],[1599,"impl-Serialize-for-PingEnableStruct"],[1600,"impl-SerializePayload-for-PingEnableStruct"],[1601,"impl-Serialize-for-ModeAutoStruct"],[1602,"impl-SerializePayload-for-ModeAutoStruct"],[1603,"impl-SerializePayload-for-ContinuousStopStruct"],[1604,"impl-Serialize-for-ContinuousStopStruct"],[1605,"impl-SerializePayload-for-SetGainSettingStruct"],[1606,"impl-Serialize-for-SetGainSettingStruct"],[1607,"impl-SerializePayload-for-SetRangeStruct"],[1608,"impl-Serialize-for-SetRangeStruct"],[1609,"impl-SerializePayload-for-RangeStruct"],[1610,"impl-Serialize-for-RangeStruct"],[1611,"impl-Serialize-for-ProfileStruct"],[1612,"impl-SerializePayload-for-ProfileStruct"],[1613,"impl-Serialize-for-GainSettingStruct"],[1614,"impl-SerializePayload-for-GainSettingStruct"],[1615,"impl-SerializePayload-for-DeviceIdStruct"],[1616,"impl-Serialize-for-DeviceIdStruct"],[1617,"impl-SerializePayload-for-FirmwareVersionStruct"],[1618,"impl-Serialize-for-FirmwareVersionStruct"],[1619,"impl-SerializePayload-for-GotoBootloaderStruct"],[1620,"impl-Serialize-for-GotoBootloaderStruct"],[1621,"impl-SerializePayload-for-ProcessorTemperatureStruct"],[1622,"impl-Serialize-for-ProcessorTemperatureStruct"],[1623,"impl-SerializePayload-for-PcbTemperatureStruct"],[1624,"impl-Serialize-for-PcbTemperatureStruct"],[1625,"impl-Serialize-for-TransmitDurationStruct"],[1626,"impl-SerializePayload-for-TransmitDurationStruct"],[1627,"impl-Serialize-for-Voltage5Struct"],[1628,"impl-SerializePayload-for-Voltage5Struct"],[1629,"impl-Serialize-for-Messages"],[1630,"impl-SerializePayload-for-Messages"],[1850,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[1851,"impl-DeserializePayload-for-SetDeviceIdStruct"],[1852,"impl-Deserialize%3C\'de%3E-for-AutoDeviceDataStruct"],[1853,"impl-DeserializePayload-for-AutoDeviceDataStruct"],[1854,"impl-Deserialize%3C\'de%3E-for-AutoTransmitStruct"],[1855,"impl-DeserializePayload-for-AutoTransmitStruct"],[1856,"impl-DeserializePayload-for-TransducerStruct"],[1857,"impl-Deserialize%3C\'de%3E-for-TransducerStruct"],[1858,"impl-DeserializePayload-for-ResetStruct"],[1859,"impl-Deserialize%3C\'de%3E-for-ResetStruct"],[1860,"impl-DeserializePayload-for-MotorOffStruct"],[1861,"impl-Deserialize%3C\'de%3E-for-MotorOffStruct"],[1862,"impl-DeserializePayload-for-DeviceDataStruct"],[1863,"impl-Deserialize%3C\'de%3E-for-DeviceDataStruct"],[1864,"impl-Deserialize%3C\'de%3E-for-Messages"],[1865,"impl-DeserializeGenericMessage-for-Messages"],[1946,"impl-Serialize-for-SetDeviceIdStruct"],[1947,"impl-SerializePayload-for-SetDeviceIdStruct"],[1948,"impl-SerializePayload-for-AutoDeviceDataStruct"],[1949,"impl-Serialize-for-AutoDeviceDataStruct"],[1950,"impl-Serialize-for-AutoTransmitStruct"],[1951,"impl-SerializePayload-for-AutoTransmitStruct"],[1952,"impl-SerializePayload-for-TransducerStruct"],[1953,"impl-Serialize-for-TransducerStruct"],[1954,"impl-SerializePayload-for-ResetStruct"],[1955,"impl-Serialize-for-ResetStruct"],[1956,"impl-SerializePayload-for-MotorOffStruct"],[1957,"impl-Serialize-for-MotorOffStruct"],[1958,"impl-SerializePayload-for-DeviceDataStruct"],[1959,"impl-Serialize-for-DeviceDataStruct"],[1960,"impl-SerializePayload-for-Messages"],[1961,"impl-Serialize-for-Messages"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABMGgwABABMAFgAAABgACwAlAAAAJwAAACkAAAArAAEALgAAADAAAgA0AAAANgAAADgAAAA6AAAAPAAAAD4AAABAAAAAQgAAAEQAAABGAAAASAAAAEoAAABMAAAAUQAtAIEAAACDAEIAygBWACQBFgBSAQEAVQEUAIcBAwCPASoAxAEAAM8BWgArAgQAMgIEADgCAAA6AgEAPQIAAD8CAQBCAgEARQIAAEkCSQCXAggAowIJALcCCQDLAgIA0AIAANUCEADnAicAEgMeADkDFgBRAwAAUwMBAFYDAABYAwIAXAMYAHcDGwCUAwEAlwMEAJ0DEgCxAwAAswMBALcDCwDEAx0A4wMEAOkDBQD3AwUABgQCAAsEAAAZBAgAJAQAACkEBAAvBBEAQgQAAEQEAABGBAEASQQBAE0EAABPBAAAUQQAAFMEAABVBAEAWAQAAFoEAABcBAAAXgQBAGEEAABjBAAAZQQAAGcEAABpBAAAawQAAG0EAABvBAAAcQQAAHMEAAB1BAAAdwQAAHkEjgANBVIAagUbAIsFHADMBQEAzwUZAOsFAAAJBgIAEAYAAB8GAAAqBjYAaAYAAGwGGwCMBlYA5gYAAOgGAADqBgEA7QYBAPAGAQDzBgAA9QYAAP0GMQAxBwcAOwcRAE4HEgBvBwgAeQcAAIQHAgCMBwAAmwcQAK0HAACyBwgAxQcdAA=="}],\ +["bluerobotics_ping",{"t":"PPGPPPCNNHNNNCCCNCCNNNNCCCCNNNNNNNPFPFPFPFFPFPFGFPFPFPFPFPFPFPFPFPFPFPFPFPFPFOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNNNNNNPFPFFPFPFGPFFPFPFOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNOONOONNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOPPPFGGPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNFEEKNNNNNMMNNNNNNNNNNNNNPPPPGPPPPNNNNNNNNNNNNNNNNNKKSKKFKNNNNONNNNMMNNONNNNMNNMOMMNNOOMNNNNNONNNNNNFGPFPFFPFONNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNOONNNNNONNNNNNNNNNNNOONNNNNNNNNNNNOOONNNOONOONNOOOOOOOOONNNNNNNNNNOOOOOONNNNNONNNNNNNNNNNNNNNNNNOPFPFFPFPPFFPFPFPFPFGPFPFPFPFFPFPFPFPFPFPFPFPFPFPFPFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNONOONOOOOONONOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOPFPFFPFGPFFPFPFPFOOONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNOONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNONNNNNNNNNNNNNNOOOONNOOOOOOOOONOOOONNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bluebps","Common","Messages","Omniscan450","Ping1D","Ping360","bluebps","borrow","borrow_mut","calculate_crc","clone","clone_into","clone_to_uninit","codec","common","decoder","deserialize","device","error","fmt","from","inner","into","message","omniscan450","ping1d","ping360","serialize","to_owned","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","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","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","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","serialize","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","common","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","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","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","serialize","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","clone","clone_into","clone_to_uninit","deserialize","eq","fmt","fmt","fmt","from","from","from","from","into","into","into","into","new","parse_byte","serialize","state","to_owned","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","fmt","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","clone","clone_into","clone_to_uninit","deserialize","fmt","from","from","from","from","into","serialize","to_owned","try_from","try_into","type_id","DeserializeGenericMessage","DeserializePayload","HEADER","MessageInfo","PingMessage","ProtocolMessage","SerializePayload","borrow","borrow_mut","calculate_crc","checksum","checksum","clone","clone_into","clone_to_uninit","default","deserialize","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","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","Device","Messages","OsMonoProfile","OsMonoProfileStruct","OsPingParams","OsPingParamsStruct","PingProtocolHead","SetSpeedOfSound","SetSpeedOfSoundStruct","analog_gain","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","channel_number","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","common","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destiny_device_id","enable","eq","eq","eq","eq","eq","filter_duration_percent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","gain_index","gain_index","get_common","get_mut_common","id","id","id","inner","into","into","into","into","into","into","length_mm","length_mm","max_pwr_db","message_id","message_id_from_name","message_name","min_pwr_db","msec_per_ping","new","num_results","num_results","os_mono_profile","os_ping_params","ping_hz","ping_number","pulse_duration_sec","pulse_len_percent","pwr_results","reserved","reserved_1","reserved_2","reserved_3","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_speed_of_sound","sos_dmps","source_device_id","speed_of_sound","start_mm","start_mm","timestamp_ms","to_owned","to_owned","to_owned","to_owned","to_owned","transducer_heading_deg","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","vehicle_heading_deg","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","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","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","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","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","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","deserialize","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","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","serialize","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"],[34,"bluerobotics_ping::bluebps"],[554,"bluerobotics_ping::codec"],[565,"bluerobotics_ping::common"],[785,"bluerobotics_ping::decoder"],[841,"bluerobotics_ping::device"],[865,"bluerobotics_ping::error"],[891,"bluerobotics_ping::message"],[940,"bluerobotics_ping::omniscan450"],[1089,"bluerobotics_ping::ping1d"],[1765,"bluerobotics_ping::ping360"],[2018,"core::result"],[2019,"serde::de"],[2020,"core::fmt"],[2021,"core::option"],[2022,"serde::ser"],[2023,"alloc::vec"],[2024,"core::any"],[2025,"alloc::string"],[2026,"tokio::io::async_read"],[2027,"tokio::io::async_write"],[2028,"core::marker"],[2029,"bytes::bytes_mut"],[2030,"core::clone"],[2031,"tokio::sync::broadcast"],[2032,"tokio::sync::broadcast::error"],[2033,"std::io::error"],[2034,"tokio::sync::mpsc::error"],[2035,"std::io"]],"i":[6,6,0,6,6,6,0,6,6,0,6,6,6,0,0,0,6,0,0,6,6,6,6,0,0,0,0,6,6,6,6,6,6,6,39,0,39,0,39,0,39,0,0,39,0,39,0,0,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,39,0,21,21,21,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,17,21,21,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,17,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,40,21,21,22,22,20,20,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,18,18,37,37,38,38,39,39,40,40,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,17,21,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,17,30,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,20,25,26,27,28,34,39,39,39,17,31,17,17,36,21,21,22,22,20,20,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,18,18,37,37,38,38,39,39,40,17,17,17,17,17,17,17,17,17,35,40,17,22,17,17,23,24,29,32,33,18,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,17,21,22,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,18,37,38,39,40,22,0,50,50,50,50,50,50,50,50,50,50,59,0,59,0,0,59,0,59,0,0,59,0,0,59,0,59,0,56,58,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,60,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,53,61,52,52,52,53,54,55,56,57,58,59,60,52,52,52,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,61,52,53,54,55,56,57,58,59,61,52,53,54,55,56,57,58,59,60,59,59,59,57,57,61,61,54,52,55,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,61,60,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,61,52,53,54,55,56,57,58,59,60,55,55,55,64,64,62,0,0,0,63,63,62,62,0,64,64,64,63,65,62,63,64,65,62,63,64,62,62,62,62,62,62,63,64,65,62,63,64,65,62,63,64,65,65,62,65,62,65,62,63,64,65,62,63,64,65,62,63,64,0,0,0,0,43,43,66,43,43,66,66,43,43,66,66,66,43,66,66,43,43,43,66,66,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,74,75,15,15,15,15,15,15,15,67,15,15,77,15,77,77,15,15,15,15,78,15,15,15,15,15,15,15,15,15,15,15,15,0,0,84,0,84,0,0,84,0,82,86,81,82,83,84,85,86,81,82,83,84,85,82,81,82,83,84,85,81,82,83,84,85,81,82,83,84,85,86,81,82,83,85,81,81,82,82,83,83,84,84,85,85,81,81,82,83,84,85,81,86,81,82,83,84,85,86,81,82,83,84,85,81,82,86,86,81,82,83,84,86,81,82,83,84,85,81,82,82,84,84,84,82,81,86,81,82,86,86,82,82,82,81,82,82,81,81,81,81,81,82,82,83,83,84,84,85,86,82,85,83,81,82,82,81,82,83,84,85,82,86,81,82,83,84,85,86,81,82,83,84,85,86,81,82,83,84,85,82,115,0,115,0,0,115,0,115,115,0,0,115,0,115,0,115,0,115,0,0,115,0,115,0,115,0,115,0,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,115,0,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,93,105,112,117,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,89,89,90,90,91,91,92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,113,113,114,114,115,115,116,116,117,107,110,104,104,117,93,105,112,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,98,104,98,104,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,98,105,109,112,114,117,117,117,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,90,101,115,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,115,115,115,117,89,96,98,117,117,92,117,94,108,117,98,103,111,105,112,117,102,117,112,112,117,95,105,106,112,95,105,106,112,89,89,90,90,91,91,92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,113,113,114,114,115,115,116,117,117,117,117,117,117,117,116,117,91,100,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,99,105,112,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,98,113,126,0,126,0,0,126,0,0,126,0,0,126,0,126,0,126,0,121,119,124,118,118,120,118,120,121,122,119,123,124,125,126,127,118,120,121,122,119,123,124,125,126,127,120,121,122,119,123,124,125,126,127,120,121,122,119,123,124,125,126,127,120,121,122,119,123,124,125,126,127,118,119,124,119,124,120,121,122,119,123,124,125,127,119,125,120,120,121,121,122,122,119,119,123,123,124,124,125,125,126,126,127,127,118,120,121,122,119,123,124,125,126,127,118,120,121,122,119,123,124,125,126,127,118,120,121,122,119,123,124,125,126,127,121,119,124,125,118,118,120,121,122,119,123,124,125,122,126,118,120,121,122,119,123,124,125,126,127,126,126,126,121,119,124,125,118,118,119,125,121,119,124,125,120,121,122,118,121,119,124,125,120,120,121,121,122,122,119,119,123,123,124,124,125,125,126,126,127,118,127,119,125,119,125,120,121,122,119,123,124,125,126,127,118,121,121,119,124,125,121,119,124,125,118,120,121,122,119,123,124,125,126,127,118,120,121,122,119,123,124,125,126,127,118,120,121,122,119,123,124,125,126,127],"f":"```````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{h{f}}}}}j}{{{b{l}}}l}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}```{c{{A`{l}}}Ab}``{{{b{l}}{b{dAd}}}Af}{cc{}}{{{b{l}}}{{Ah{{b{c}}}}}{}}{ce{}{}}````{{{b{l}}c}A`Aj}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}{{{b{{Al{f}}}}}{{A`{lc}}}{}}{{{b{An}}}{{A`{lc}}}{}}2{{{b{c}}}B`{}}``````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000{{{b{Bb}}}{{A`{BdBf}}}}{{{b{Bb}}}{{A`{BhBf}}}}``{{{b{Bj}}}Bj}{{{b{Bl}}}Bl}{{{b{Bh}}}Bh}{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{D`}}}D`}{{{b{Db}}}Db}{{{b{Dd}}}Dd}{{{b{Df}}}Df}{{{b{Dh}}}Dh}{{{b{Bd}}}Bd}{{{b{Dj}}}Dj}{{{b{Dl}}}Dl}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{c}}{b{de}}}n{}{}}000000000000000000000{{{b{c}}}n{}}000000000000000000000```{{{b{Bb}}}{{A`{ChBf}}}}{{{b{Bb}}}{{A`{BnBf}}}}{{}Bj}{{}Bl}{{}Bh}{{}Bn}{{}C`}{{}Cb}{{}Cd}{{}Cf}{{}Ch}{{}Cj}{{}Cl}{{}Cn}{{}D`}{{}Db}{{}Dd}{{}Df}{{}Dh}{{}Bd}{{}Dj}{{}Dl}{{}E`}{{{b{{h{f}}}}}Bj}{c{{A`{Bj}}}Ab}{c{{A`{Bl}}}Ab}{{{b{{h{f}}}}}Bl}{{{b{{h{f}}}}}Bh}{c{{A`{Bh}}}Ab}{c{{A`{Bn}}}Ab}{{{b{{h{f}}}}}Bn}{{{b{{h{f}}}}}C`}{c{{A`{C`}}}Ab}{{{b{{h{f}}}}}Cb}{c{{A`{Cb}}}Ab}{c{{A`{Cd}}}Ab}{{{b{{h{f}}}}}Cd}{c{{A`{Cf}}}Ab}{{{b{{h{f}}}}}Cf}{{{b{{h{f}}}}}Ch}{c{{A`{Ch}}}Ab}{c{{A`{Cj}}}Ab}{{{b{{h{f}}}}}Cj}{{{b{{h{f}}}}}Cl}{c{{A`{Cl}}}Ab}{{{b{{h{f}}}}}Cn}{c{{A`{Cn}}}Ab}{{{b{{h{f}}}}}D`}{c{{A`{D`}}}Ab}{{{b{{h{f}}}}}Db}{c{{A`{Db}}}Ab}{c{{A`{Dd}}}Ab}{{{b{{h{f}}}}}Dd}{c{{A`{Df}}}Ab}{{{b{{h{f}}}}}Df}{{{b{{h{f}}}}}Dh}{c{{A`{Dh}}}Ab}{c{{A`{Bd}}}Ab}{{{b{{h{f}}}}}Bd}{{{b{{h{f}}}}}Dj}{c{{A`{Dj}}}Ab}{{{b{{h{f}}}}}Dl}{c{{A`{Dl}}}Ab}{c{{A`{Dn}}}Ab}{{j{b{{h{f}}}}}{{A`{Dn{b{Eb}}}}}}{c{{A`{E`}}}Ab}`{{{b{Bj}}{b{Bj}}}Ed}{{{b{Bl}}{b{Bl}}}Ed}{{{b{Bh}}{b{Bh}}}Ed}{{{b{Bn}}{b{Bn}}}Ed}{{{b{C`}}{b{C`}}}Ed}{{{b{Cb}}{b{Cb}}}Ed}{{{b{Cd}}{b{Cd}}}Ed}{{{b{Cf}}{b{Cf}}}Ed}{{{b{Ch}}{b{Ch}}}Ed}{{{b{Cj}}{b{Cj}}}Ed}{{{b{Cl}}{b{Cl}}}Ed}{{{b{Cn}}{b{Cn}}}Ed}{{{b{D`}}{b{D`}}}Ed}{{{b{Db}}{b{Db}}}Ed}{{{b{Dd}}{b{Dd}}}Ed}{{{b{Df}}{b{Df}}}Ed}{{{b{Dh}}{b{Dh}}}Ed}{{{b{Bd}}{b{Bd}}}Ed}{{{b{Dj}}{b{Dj}}}Ed}{{{b{Dl}}{b{Dl}}}Ed}{{{b{Dn}}{b{Dn}}}Ed}{{{b{E`}}{b{E`}}}Ed}{{{b{Bb}}}{{A`{nBf}}}}{{{b{Bb}}}{{A`{BlBf}}}}`{{{b{Bb}}{b{dAd}}}Af}{{{b{Bj}}{b{dAd}}}Af}{{{b{Bl}}{b{dAd}}}Af}{{{b{Bh}}{b{dAd}}}Af}{{{b{Bn}}{b{dAd}}}Af}{{{b{C`}}{b{dAd}}}Af}{{{b{Cb}}{b{dAd}}}Af}{{{b{Cd}}{b{dAd}}}Af}{{{b{Cf}}{b{dAd}}}Af}{{{b{Ch}}{b{dAd}}}Af}{{{b{Cj}}{b{dAd}}}Af}{{{b{Cl}}{b{dAd}}}Af}{{{b{Cn}}{b{dAd}}}Af}{{{b{D`}}{b{dAd}}}Af}{{{b{Db}}{b{dAd}}}Af}{{{b{Dd}}{b{dAd}}}Af}{{{b{Df}}{b{dAd}}}Af}{{{b{Dh}}{b{dAd}}}Af}{{{b{Bd}}{b{dAd}}}Af}{{{b{Dj}}{b{dAd}}}Af}{{{b{Dl}}{b{dAd}}}Af}{{{b{Dn}}{b{dAd}}}Af}{{{b{E`}}{b{dAd}}}Af}{cc{}}0000000000000000000000{{{b{Bb}}}{{b{Ef}}}}{{{b{dBb}}}{{b{dEf}}}}`{{}j}0000000000000000000{{{b{Dn}}}{{Ah{{b{c}}}}}{}}{ce{}{}}0000000000000000000000``````{{{b{Dn}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Dn}}}{{b{Eb}}}}{cBb{EjElEnF`}}`{{{b{Bb}}f}{{A`{nBf}}}}{{{b{Bb}}}{{A`{nBf}}}}`{{{b{Bj}}c}A`Aj}{{{b{Bj}}}{{Al{f}}}}{{{b{Bl}}c}A`Aj}{{{b{Bl}}}{{Al{f}}}}{{{b{Bh}}c}A`Aj}{{{b{Bh}}}{{Al{f}}}}{{{b{Bn}}c}A`Aj}{{{b{Bn}}}{{Al{f}}}}{{{b{C`}}c}A`Aj}{{{b{C`}}}{{Al{f}}}}{{{b{Cb}}c}A`Aj}{{{b{Cb}}}{{Al{f}}}}{{{b{Cd}}c}A`Aj}{{{b{Cd}}}{{Al{f}}}}{{{b{Cf}}c}A`Aj}{{{b{Cf}}}{{Al{f}}}}{{{b{Ch}}}{{Al{f}}}}{{{b{Ch}}c}A`Aj}{{{b{Cj}}}{{Al{f}}}}{{{b{Cj}}c}A`Aj}{{{b{Cl}}}{{Al{f}}}}{{{b{Cl}}c}A`Aj}{{{b{Cn}}}{{Al{f}}}}{{{b{Cn}}c}A`Aj}{{{b{D`}}c}A`Aj}{{{b{D`}}}{{Al{f}}}}{{{b{Db}}}{{Al{f}}}}{{{b{Db}}c}A`Aj}{{{b{Dd}}}{{Al{f}}}}{{{b{Dd}}c}A`Aj}{{{b{Df}}}{{Al{f}}}}{{{b{Df}}c}A`Aj}{{{b{Dh}}c}A`Aj}{{{b{Dh}}}{{Al{f}}}}{{{b{Bd}}}{{Al{f}}}}{{{b{Bd}}c}A`Aj}{{{b{Dj}}}{{Al{f}}}}{{{b{Dj}}c}A`Aj}{{{b{Dl}}}{{Al{f}}}}{{{b{Dl}}c}A`Aj}{{{b{Dn}}c}A`Aj}{{{b{Dn}}}{{Al{f}}}}{{{b{E`}}c}A`Aj}{{{b{Bb}}j}{{A`{nBf}}}}000{{{b{Bb}}Fb}{{A`{nBf}}}}1011``{{{b{Bb}}}{{A`{BjBf}}}}`{{{b{Bb}}}{{A`{DdBf}}}}{{{b{Bb}}}{{A`{CjBf}}}}``````{{{b{c}}}e{}{}}000000000000000000000{c{{A`{e}}}{}{}}000000000000000000000000000000000000000000000{{{b{c}}}B`{}}0000000000000000000000``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{dFd}}{b{dFf}}}{{A`{{Ah{c}}e}}}{}{}}{{{b{dFd}}An{b{dFf}}}{{A`{nc}}}{}}{cc{}}{ce{}{}}{{}Fd}887```````````````````66666666665555555555{{{b{Fh}}}Fh}{{{b{Fj}}}Fj}{{{b{Fl}}}Fl}{{{b{Fn}}}Fn}{{{b{G`}}}G`}{{{b{Gb}}}Gb}{{{b{Gd}}}Gd}{{{b{Gf}}}Gf}{{{b{Gh}}}Gh}{{{b{c}}{b{de}}}n{}{}}00000000{{{b{c}}}n{}}00000000`{{}Fh}{{}Fj}{{}Fl}{{}Fn}{{}G`}{{}Gb}{{}Gd}{{}Gh}{{{b{{h{f}}}}}Fh}{c{{A`{Fh}}}Ab}{c{{A`{Fj}}}Ab}{{{b{{h{f}}}}}Fj}{{{b{{h{f}}}}}Fl}{c{{A`{Fl}}}Ab}{c{{A`{Fn}}}Ab}{{{b{{h{f}}}}}Fn}{{{b{{h{f}}}}}G`}{c{{A`{G`}}}Ab}{{{b{{h{f}}}}}Gb}{c{{A`{Gb}}}Ab}{c{{A`{Gd}}}Ab}{{{b{{h{f}}}}}Gd}{{j{b{{h{f}}}}}{{A`{Gf{b{Eb}}}}}}{c{{A`{Gf}}}Ab}{c{{A`{Gh}}}Ab}``{{{b{Gj}}}{{A`{FhBf}}}}``{{{b{Fh}}{b{Fh}}}Ed}{{{b{Fj}}{b{Fj}}}Ed}{{{b{Fl}}{b{Fl}}}Ed}{{{b{Fn}}{b{Fn}}}Ed}{{{b{G`}}{b{G`}}}Ed}{{{b{Gb}}{b{Gb}}}Ed}{{{b{Gd}}{b{Gd}}}Ed}{{{b{Gf}}{b{Gf}}}Ed}{{{b{Gh}}{b{Gh}}}Ed}```{{{b{Gj}}{b{dAd}}}Af}{{{b{Fh}}{b{dAd}}}Af}{{{b{Fj}}{b{dAd}}}Af}{{{b{Fl}}{b{dAd}}}Af}{{{b{Fn}}{b{dAd}}}Af}{{{b{G`}}{b{dAd}}}Af}{{{b{Gb}}{b{dAd}}}Af}{{{b{Gd}}{b{dAd}}}Af}{{{b{Gf}}{b{dAd}}}Af}{{{b{Gh}}{b{dAd}}}Af}{cc{}}000000000{{{b{Gj}}}{{b{Ef}}}}{{{b{dGj}}}{{b{dEf}}}}{{}j}000000{{{b{Gf}}}{{Ah{{b{c}}}}}{}}{ce{}{}}000000000{{{b{Gf}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Gf}}}{{b{Eb}}}}``{cGj{EjElEnF`}}{{{b{Gj}}}{{A`{FnBf}}}}```{{{b{Fh}}}{{Al{f}}}}{{{b{Fh}}c}A`Aj}{{{b{Fj}}}{{Al{f}}}}{{{b{Fj}}c}A`Aj}{{{b{Fl}}c}A`Aj}{{{b{Fl}}}{{Al{f}}}}{{{b{Fn}}c}A`Aj}{{{b{Fn}}}{{Al{f}}}}{{{b{G`}}}{{Al{f}}}}{{{b{G`}}c}A`Aj}{{{b{Gb}}c}A`Aj}{{{b{Gb}}}{{Al{f}}}}{{{b{Gd}}c}A`Aj}{{{b{Gd}}}{{Al{f}}}}{{{b{Gf}}c}A`Aj}{{{b{Gf}}}{{Al{f}}}}{{{b{Gh}}c}A`Aj}{{{b{Gj}}f}{{A`{nBf}}}}`{{{b{c}}}e{}{}}00000000{c{{A`{e}}}{}{}}0000000000000000000{{{b{c}}}B`{}}000000000``````````````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Gl}}}Gl}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{c{{A`{Gl}}}Ab}{{{b{Gl}}{b{Gl}}}Ed}{{{b{Gl}}{b{dAd}}}Af}{{{b{Gn}}{b{dAd}}}Af}{{{b{H`}}{b{dAd}}}Af}{cc{}}000{ce{}{}}000{{}Hb}{{{b{dHb}}f}Gn}{{{b{Gl}}c}A`Aj}`{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0000000{{{b{c}}}B`{}}000````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Hd}}}{{A`{FhBf}}}}{{{b{Ef}}{b{dAd}}}Af};{{{b{Hd}}}{{b{Ef}}}}{{{b{dHd}}}{{b{dEf}}}}<{cEf{EjElEnF`}}{{{b{Hd}}}{{A`{FnBf}}}}{{{b{Hd}}}{{A`{cBf}}}{HfHhHjF`}}{{{b{Hd}}j}{{A`{nBf}}}}{{{b{Ef}}An}{{A`{nBf}}}}{{{b{Hd}}f}{{A`{nBf}}}}{{{b{Hd}}}{{Hl{An}}}}>>={{{b{Hd}}{Hl{An}}j}{{A`{nBf}}}}{{{b{Hd}}{Hl{An}}}{{A`{cBf}}}{HfHhHjF`}}`````````>={{{b{Bf}}}Bf}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{c{{A`{Bf}}}Ab}{{{b{Bf}}{b{dAd}}}Af}{HnBf}{I`Bf}{cc{}}{{{Ib{An}}}Bf}{ce{}{}}{{{b{Bf}}c}A`Aj}{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}B`{}}```````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{An}}}j}0`{{{b{An}}}An}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{{}An}{{{b{{h{f}}}}}Id}{{j{b{{h{f}}}}}{{A`{If{b{Eb}}}}}}{c{{A`{An}}}Ab}{{{b{An}}}f}`{{{b{An}}{b{An}}}Ed}{{{b{An}}{b{dAd}}}Af}{cc{}}{{{b{An}}}Ed}{{}j}{ce{}{}}{{{b{An}}}Ih}{{{b{Ij}}}j}`{{{b{Eb}}}{{A`{jEh}}}}{{{b{Ij}}}{{b{Eb}}}}>{{{b{An}}}{{b{{h{f}}}}}}``{{{b{Il}}}{{Al{f}}}}{{{b{An}}c}A`Aj}{{{b{An}}}{{Al{f}}}}{{{b{dAn}}f}n}{{{b{dAn}}{b{c}}}nIj}1`{{{b{c}}}e{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}B`{}}{{{b{dAn}}}n}{{{b{An}}{b{dIn}}}{{J`{Ih}}}}``````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000`{{{b{Jb}}}Jb}{{{b{Jd}}}Jd}{{{b{Jf}}}Jf}{{{b{Jh}}}Jh}{{{b{Jj}}}Jj}{{{b{c}}{b{de}}}n{}{}}0000{{{b{c}}}n{}}0000`{{}Jb}{{}Jd}{{}Jf}{{}Jj}{c{{A`{Jb}}}Ab}{{{b{{h{f}}}}}Jb}{{{b{{h{f}}}}}Jd}{c{{A`{Jd}}}Ab}{c{{A`{Jf}}}Ab}{{{b{{h{f}}}}}Jf}{{j{b{{h{f}}}}}{{A`{Jh{b{Eb}}}}}}{c{{A`{Jh}}}Ab}{c{{A`{Jj}}}Ab}``{{{b{Jb}}{b{Jb}}}Ed}{{{b{Jd}}{b{Jd}}}Ed}{{{b{Jf}}{b{Jf}}}Ed}{{{b{Jh}}{b{Jh}}}Ed}{{{b{Jj}}{b{Jj}}}Ed}`{{{b{Jl}}{b{dAd}}}Af}{{{b{Jb}}{b{dAd}}}Af}{{{b{Jd}}{b{dAd}}}Af}{{{b{Jf}}{b{dAd}}}Af}{{{b{Jh}}{b{dAd}}}Af}{{{b{Jj}}{b{dAd}}}Af}{cc{}}00000``{{{b{Jl}}}{{b{Ef}}}}{{{b{dJl}}}{{b{dEf}}}}{{}j}00{{{b{Jh}}}{{Ah{{b{c}}}}}{}}{ce{}{}}00000```{{{b{Jh}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Jh}}}{{b{Eb}}}}``{cJl{EjElEnF`}}``{{{b{Jl}}}{{A`{JdBf}}}}{{{b{Jl}}FbFbFbJnJnJnJnK`jff}{{A`{nBf}}}}`````````{{{b{Jb}}}{{Al{f}}}}{{{b{Jb}}c}A`Aj}{{{b{Jd}}}{{Al{f}}}}{{{b{Jd}}c}A`Aj}{{{b{Jf}}}{{Al{f}}}}{{{b{Jf}}c}A`Aj}{{{b{Jh}}c}A`Aj}{{{b{Jh}}}{{Al{f}}}}{{{b{Jj}}c}A`Aj}{{{b{Jl}}Fb}{{A`{nBf}}}}``````{{{b{c}}}e{}{}}0000`{c{{A`{e}}}{}{}}00000000000{{{b{c}}}B`{}}00000````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000000000{{{b{Kb}}}Kb}{{{b{Kd}}}Kd}{{{b{Kf}}}Kf}{{{b{Kh}}}Kh}{{{b{Kj}}}Kj}{{{b{Kl}}}Kl}{{{b{Kn}}}Kn}{{{b{L`}}}L`}{{{b{Lb}}}Lb}{{{b{Ld}}}Ld}{{{b{Lf}}}Lf}{{{b{Lh}}}Lh}{{{b{Lj}}}Lj}{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{Mb}}}Mb}{{{b{Md}}}Md}{{{b{Mf}}}Mf}{{{b{Mh}}}Mh}{{{b{Mj}}}Mj}{{{b{Ml}}}Ml}{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{Nf}}}Nf}{{{b{Nh}}}Nh}{{{b{c}}{b{de}}}n{}{}}000000000000000000000000000{{{b{c}}}n{}}000000000000000000000000000````{{{b{Nj}}j}{{A`{nBf}}}}0{{}Kb}{{}Kd}{{}Kf}{{}Kh}{{}Kj}{{}Kl}{{}Kn}{{}L`}{{}Lb}{{}Ld}{{}Lf}{{}Lh}{{}Lj}{{}Ll}{{}Ln}{{}M`}{{}Mb}{{}Md}{{}Mf}{{}Mh}{{}Mj}{{}Ml}{{}Mn}{{}N`}{{}Nb}{{}Nd}{{}Nh}{c{{A`{Kb}}}Ab}{{{b{{h{f}}}}}Kb}{c{{A`{Kd}}}Ab}{{{b{{h{f}}}}}Kd}{c{{A`{Kf}}}Ab}{{{b{{h{f}}}}}Kf}{{{b{{h{f}}}}}Kh}{c{{A`{Kh}}}Ab}{{{b{{h{f}}}}}Kj}{c{{A`{Kj}}}Ab}{{{b{{h{f}}}}}Kl}{c{{A`{Kl}}}Ab}{c{{A`{Kn}}}Ab}{{{b{{h{f}}}}}Kn}{c{{A`{L`}}}Ab}{{{b{{h{f}}}}}L`}{c{{A`{Lb}}}Ab}{{{b{{h{f}}}}}Lb}{{{b{{h{f}}}}}Ld}{c{{A`{Ld}}}Ab}{c{{A`{Lf}}}Ab}{{{b{{h{f}}}}}Lf}{c{{A`{Lh}}}Ab}{{{b{{h{f}}}}}Lh}{c{{A`{Lj}}}Ab}{{{b{{h{f}}}}}Lj}{c{{A`{Ll}}}Ab}{{{b{{h{f}}}}}Ll}{c{{A`{Ln}}}Ab}{{{b{{h{f}}}}}Ln}{c{{A`{M`}}}Ab}{{{b{{h{f}}}}}M`}{c{{A`{Mb}}}Ab}{{{b{{h{f}}}}}Mb}{c{{A`{Md}}}Ab}{{{b{{h{f}}}}}Md}{{{b{{h{f}}}}}Mf}{c{{A`{Mf}}}Ab}{c{{A`{Mh}}}Ab}{{{b{{h{f}}}}}Mh}{c{{A`{Mj}}}Ab}{{{b{{h{f}}}}}Mj}{{{b{{h{f}}}}}Ml}{c{{A`{Ml}}}Ab}{{{b{{h{f}}}}}Mn}{c{{A`{Mn}}}Ab}{{{b{{h{f}}}}}N`}{c{{A`{N`}}}Ab}{c{{A`{Nb}}}Ab}{{{b{{h{f}}}}}Nb}{{{b{{h{f}}}}}Nd}{c{{A`{Nd}}}Ab}{{j{b{{h{f}}}}}{{A`{Nf{b{Eb}}}}}}{c{{A`{Nf}}}Ab}{c{{A`{Nh}}}Ab}`{{{b{Nj}}}{{A`{MfBf}}}}````{{{b{Nj}}}{{A`{MbBf}}}}```{{{b{Nj}}}{{A`{KjBf}}}}{{{b{Kb}}{b{Kb}}}Ed}{{{b{Kd}}{b{Kd}}}Ed}{{{b{Kf}}{b{Kf}}}Ed}{{{b{Kh}}{b{Kh}}}Ed}{{{b{Kj}}{b{Kj}}}Ed}{{{b{Kl}}{b{Kl}}}Ed}{{{b{Kn}}{b{Kn}}}Ed}{{{b{L`}}{b{L`}}}Ed}{{{b{Lb}}{b{Lb}}}Ed}{{{b{Ld}}{b{Ld}}}Ed}{{{b{Lf}}{b{Lf}}}Ed}{{{b{Lh}}{b{Lh}}}Ed}{{{b{Lj}}{b{Lj}}}Ed}{{{b{Ll}}{b{Ll}}}Ed}{{{b{Ln}}{b{Ln}}}Ed}{{{b{M`}}{b{M`}}}Ed}{{{b{Mb}}{b{Mb}}}Ed}{{{b{Md}}{b{Md}}}Ed}{{{b{Mf}}{b{Mf}}}Ed}{{{b{Mh}}{b{Mh}}}Ed}{{{b{Mj}}{b{Mj}}}Ed}{{{b{Ml}}{b{Ml}}}Ed}{{{b{Mn}}{b{Mn}}}Ed}{{{b{N`}}{b{N`}}}Ed}{{{b{Nb}}{b{Nb}}}Ed}{{{b{Nd}}{b{Nd}}}Ed}{{{b{Nf}}{b{Nf}}}Ed}{{{b{Nh}}{b{Nh}}}Ed}{{{b{Nj}}}{{A`{M`Bf}}}}````{{{b{Nj}}{b{dAd}}}Af}{{{b{Kb}}{b{dAd}}}Af}{{{b{Kd}}{b{dAd}}}Af}{{{b{Kf}}{b{dAd}}}Af}{{{b{Kh}}{b{dAd}}}Af}{{{b{Kj}}{b{dAd}}}Af}{{{b{Kl}}{b{dAd}}}Af}{{{b{Kn}}{b{dAd}}}Af}{{{b{L`}}{b{dAd}}}Af}{{{b{Lb}}{b{dAd}}}Af}{{{b{Ld}}{b{dAd}}}Af}{{{b{Lf}}{b{dAd}}}Af}{{{b{Lh}}{b{dAd}}}Af}{{{b{Lj}}{b{dAd}}}Af}{{{b{Ll}}{b{dAd}}}Af}{{{b{Ln}}{b{dAd}}}Af}{{{b{M`}}{b{dAd}}}Af}{{{b{Mb}}{b{dAd}}}Af}{{{b{Md}}{b{dAd}}}Af}{{{b{Mf}}{b{dAd}}}Af}{{{b{Mh}}{b{dAd}}}Af}{{{b{Mj}}{b{dAd}}}Af}{{{b{Ml}}{b{dAd}}}Af}{{{b{Mn}}{b{dAd}}}Af}{{{b{N`}}{b{dAd}}}Af}{{{b{Nb}}{b{dAd}}}Af}{{{b{Nd}}{b{dAd}}}Af}{{{b{Nf}}{b{dAd}}}Af}{{{b{Nh}}{b{dAd}}}Af}{cc{}}0000000000000000000000000000{{{b{Nj}}}{{A`{MjBf}}}}`````{{{b{Nj}}}{{A`{LdBf}}}}{{{b{Nj}}}{{b{Ef}}}}{{{b{dNj}}}{{b{dEf}}}}{{{b{Nj}}}{{A`{nBf}}}}{{}j}0000000000000000000000000``{{{b{Nf}}}{{Ah{{b{c}}}}}{}}{ce{}{}}0000000000000000000000000000{{{b{Nf}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Nf}}}{{b{Eb}}}}{{{b{Nj}}}{{A`{KbBf}}}}```{cNj{EjElEnF`}}{{{b{Nj}}}{{A`{KhBf}}}}`{{{b{Nj}}}{{A`{KlBf}}}}``{{{b{Nj}}}{{A`{MnBf}}}}`````{{{b{Nj}}}{{A`{LlBf}}}}`{{{b{Nj}}}{{A`{N`Bf}}}}``{{{b{Nj}}}{{A`{KnBf}}}}````````{{{b{Kb}}}{{Al{f}}}}{{{b{Kb}}c}A`Aj}{{{b{Kd}}}{{Al{f}}}}{{{b{Kd}}c}A`Aj}{{{b{Kf}}}{{Al{f}}}}{{{b{Kf}}c}A`Aj}{{{b{Kh}}}{{Al{f}}}}{{{b{Kh}}c}A`Aj}{{{b{Kj}}}{{Al{f}}}}{{{b{Kj}}c}A`Aj}{{{b{Kl}}c}A`Aj}{{{b{Kl}}}{{Al{f}}}}{{{b{Kn}}c}A`Aj}{{{b{Kn}}}{{Al{f}}}}{{{b{L`}}c}A`Aj}{{{b{L`}}}{{Al{f}}}}{{{b{Lb}}c}A`Aj}{{{b{Lb}}}{{Al{f}}}}{{{b{Ld}}}{{Al{f}}}}{{{b{Ld}}c}A`Aj}{{{b{Lf}}}{{Al{f}}}}{{{b{Lf}}c}A`Aj}{{{b{Lh}}c}A`Aj}{{{b{Lh}}}{{Al{f}}}}{{{b{Lj}}c}A`Aj}{{{b{Lj}}}{{Al{f}}}}{{{b{Ll}}}{{Al{f}}}}{{{b{Ll}}c}A`Aj}{{{b{Ln}}c}A`Aj}{{{b{Ln}}}{{Al{f}}}}{{{b{M`}}c}A`Aj}{{{b{M`}}}{{Al{f}}}}{{{b{Mb}}}{{Al{f}}}}{{{b{Mb}}c}A`Aj}{{{b{Md}}c}A`Aj}{{{b{Md}}}{{Al{f}}}}{{{b{Mf}}c}A`Aj}{{{b{Mf}}}{{Al{f}}}}{{{b{Mh}}c}A`Aj}{{{b{Mh}}}{{Al{f}}}}{{{b{Mj}}}{{Al{f}}}}{{{b{Mj}}c}A`Aj}{{{b{Ml}}c}A`Aj}{{{b{Ml}}}{{Al{f}}}}{{{b{Mn}}c}A`Aj}{{{b{Mn}}}{{Al{f}}}}{{{b{N`}}c}A`Aj}{{{b{N`}}}{{Al{f}}}}{{{b{Nb}}c}A`Aj}{{{b{Nb}}}{{Al{f}}}}{{{b{Nd}}c}A`Aj}{{{b{Nd}}}{{Al{f}}}}{{{b{Nf}}c}A`Aj}{{{b{Nf}}}{{Al{f}}}}{{{b{Nh}}c}A`Aj}{{{b{Nj}}f}{{A`{nBf}}}}000{{{b{Nj}}j}{{A`{nBf}}}}{{{b{Nj}}FbFb}{{A`{nBf}}}}{{{b{Nj}}Fb}{{A`{nBf}}}}`{{{b{Nj}}}{{A`{LhBf}}}}``{{{b{c}}}e{}{}}000000000000000000000000000{{{b{Nj}}}{{A`{LfBf}}}}```{c{{A`{e}}}{}{}}000000000000000000000000000000000000000000000000000000000{{{b{c}}}B`{}}0000000000000000000000000000{{{b{Nj}}}{{A`{NbBf}}}}``````````````````````{{{b{Nl}}}{{A`{NnBf}}}}{{{b{Nl}}ffjjjjjjff}{{A`{nBf}}}}`{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000{{{b{O`}}}O`}{{{b{Ob}}}Ob}{{{b{Od}}}Od}{{{b{Nn}}}Nn}{{{b{Of}}}Of}{{{b{Oh}}}Oh}{{{b{Oj}}}Oj}{{{b{Ol}}}Ol}{{{b{On}}}On}{{{b{c}}{b{de}}}n{}{}}00000000{{{b{c}}}n{}}00000000`````{{}O`}{{}Ob}{{}Od}{{}Nn}{{}Of}{{}Oh}{{}Oj}{{}On}``{{{b{{h{f}}}}}O`}{c{{A`{O`}}}Ab}{c{{A`{Ob}}}Ab}{{{b{{h{f}}}}}Ob}{c{{A`{Od}}}Ab}{{{b{{h{f}}}}}Od}{c{{A`{Nn}}}Ab}{{{b{{h{f}}}}}Nn}{{{b{{h{f}}}}}Of}{c{{A`{Of}}}Ab}{c{{A`{Oh}}}Ab}{{{b{{h{f}}}}}Oh}{c{{A`{Oj}}}Ab}{{{b{{h{f}}}}}Oj}{{j{b{{h{f}}}}}{{A`{Ol{b{Eb}}}}}}{c{{A`{Ol}}}Ab}{c{{A`{On}}}Ab}`{{{b{Nl}}}{{A`{OhBf}}}}{{{b{O`}}{b{O`}}}Ed}{{{b{Ob}}{b{Ob}}}Ed}{{{b{Od}}{b{Od}}}Ed}{{{b{Nn}}{b{Nn}}}Ed}{{{b{Of}}{b{Of}}}Ed}{{{b{Oh}}{b{Oh}}}Ed}{{{b{Oj}}{b{Oj}}}Ed}{{{b{Ol}}{b{Ol}}}Ed}{{{b{On}}{b{On}}}Ed}{{{b{Nl}}{b{dAd}}}Af}{{{b{O`}}{b{dAd}}}Af}{{{b{Ob}}{b{dAd}}}Af}{{{b{Od}}{b{dAd}}}Af}{{{b{Nn}}{b{dAd}}}Af}{{{b{Of}}{b{dAd}}}Af}{{{b{Oh}}{b{dAd}}}Af}{{{b{Oj}}{b{dAd}}}Af}{{{b{Ol}}{b{dAd}}}Af}{{{b{On}}{b{dAd}}}Af}{cc{}}000000000````{{{b{Nl}}}{{b{Ef}}}}{{{b{dNl}}}{{b{dEf}}}}{{}j}000000`{{{b{Ol}}}{{Ah{{b{c}}}}}{}}{ce{}{}}000000000{{{b{Ol}}}j}{{{b{Eb}}}{{A`{jEh}}}}{{{b{Ol}}}{{b{Eb}}}}````{{{b{Nl}}}{{A`{nBf}}}}{cNl{EjElEnF`}}`````````{{{b{Nl}}ff}{{A`{nBf}}}}````{{{b{O`}}c}A`Aj}{{{b{O`}}}{{Al{f}}}}{{{b{Ob}}}{{Al{f}}}}{{{b{Ob}}c}A`Aj}{{{b{Od}}c}A`Aj}{{{b{Od}}}{{Al{f}}}}{{{b{Nn}}}{{Al{f}}}}{{{b{Nn}}c}A`Aj}{{{b{Of}}}{{Al{f}}}}{{{b{Of}}c}A`Aj}{{{b{Oh}}c}A`Aj}{{{b{Oh}}}{{Al{f}}}}{{{b{Oj}}c}A`Aj}{{{b{Oj}}}{{Al{f}}}}{{{b{Ol}}}{{Al{f}}}}{{{b{Ol}}c}A`Aj}{{{b{On}}c}A`Aj}{{{b{Nl}}ff}{{A`{nBf}}}}`````{{{b{c}}}e{}{}}00000000{{{b{Nl}}ffjjjjjff}{{A`{OhBf}}}}`````````{c{{A`{e}}}{}{}}0000000000000000000{{{b{c}}}B`{}}000000000","D":"CIn","p":[[1,"reference"],[0,"mut"],[1,"u8"],[1,"slice"],[1,"u16"],[6,"Messages",0],[1,"unit"],[6,"Result",2018],[10,"Deserializer",2019],[5,"Formatter",2020],[8,"Result",2020],[6,"Option",2021],[10,"Serializer",2022],[5,"Vec",2023],[5,"ProtocolMessage",891],[5,"TypeId",2024],[5,"Device",34],[5,"CellTimeoutStruct",34],[6,"PingError",865],[5,"CellVoltageMinStruct",34],[5,"StateStruct",34],[5,"EventsStruct",34],[5,"CurrentTimeoutStruct",34],[5,"SetTemperatureTimeoutStruct",34],[5,"SetCurrentMaxStruct",34],[5,"SetCellVoltageMinimumStruct",34],[5,"SetTemperatureMaxStruct",34],[5,"CurrentMaxStruct",34],[5,"TemperatureTimeoutStruct",34],[5,"RebootStruct",34],[5,"SetStreamRateStruct",34],[5,"SetCellVoltageTimeoutStruct",34],[5,"SetCurrentTimeoutStruct",34],[5,"TemperatureMaxStruct",34],[5,"SetLpfSettingStruct",34],[5,"SetLpfSampleFrequencyStruct",34],[5,"ResetDefaultsStruct",34],[5,"EraseFlashStruct",34],[6,"Messages",34],[5,"PingProtocolHead",34],[1,"str"],[1,"bool"],[5,"Common",841],[5,"String",2025],[10,"AsyncRead",2026],[10,"AsyncWrite",2027],[10,"Unpin",2028],[10,"Send",2028],[1,"u32"],[5,"PingCodec",554],[5,"BytesMut",2029],[5,"DeviceInformationStruct",565],[5,"SetDeviceIdStruct",565],[5,"GeneralRequestStruct",565],[5,"ProtocolVersionStruct",565],[5,"AckStruct",565],[5,"NackStruct",565],[5,"AsciiTextStruct",565],[6,"Messages",565],[5,"PingProtocolHead",565],[5,"Device",565],[6,"ParseError",785],[6,"DecoderResult",785],[6,"DecoderState",785],[5,"Decoder",785],[10,"PingDevice",841],[10,"MessageInfo",891],[10,"Sync",2028],[10,"Clone",2030],[5,"Receiver",2031],[6,"RecvError",2032],[5,"Error",2033],[5,"SendError",2034],[10,"DeserializePayload",891],[10,"DeserializeGenericMessage",891],[1,"usize"],[10,"PingMessage",891],[10,"SerializePayload",891],[10,"Write",2035],[8,"Result",2033],[5,"OsPingParamsStruct",940],[5,"OsMonoProfileStruct",940],[5,"SetSpeedOfSoundStruct",940],[6,"Messages",940],[5,"PingProtocolHead",940],[5,"Device",940],[1,"f32"],[1,"i16"],[5,"ModeAutoStruct",1089],[5,"ContinuousStartStruct",1089],[5,"SetSpeedOfSoundStruct",1089],[5,"PcbTemperatureStruct",1089],[5,"DistanceSimpleStruct",1089],[5,"PingEnableStruct",1089],[5,"RangeStruct",1089],[5,"SetModeAutoStruct",1089],[5,"GotoBootloaderStruct",1089],[5,"GeneralInfoStruct",1089],[5,"TransmitDurationStruct",1089],[5,"SpeedOfSoundStruct",1089],[5,"ContinuousStopStruct",1089],[5,"ProcessorTemperatureStruct",1089],[5,"SetPingIntervalStruct",1089],[5,"FirmwareVersionStruct",1089],[5,"DistanceStruct",1089],[5,"SetRangeStruct",1089],[5,"DeviceIdStruct",1089],[5,"SetPingEnableStruct",1089],[5,"GainSettingStruct",1089],[5,"SetDeviceIdStruct",1089],[5,"PingIntervalStruct",1089],[5,"ProfileStruct",1089],[5,"Voltage5Struct",1089],[5,"SetGainSettingStruct",1089],[6,"Messages",1089],[5,"PingProtocolHead",1089],[5,"Device",1089],[5,"Device",1765],[5,"AutoDeviceDataStruct",1765],[5,"ResetStruct",1765],[5,"TransducerStruct",1765],[5,"SetDeviceIdStruct",1765],[5,"MotorOffStruct",1765],[5,"DeviceDataStruct",1765],[5,"AutoTransmitStruct",1765],[6,"Messages",1765],[5,"PingProtocolHead",1765]],"r":[],"b":[[30,"impl-TryFrom%3C%26Vec%3Cu8%3E%3E-for-Messages"],[31,"impl-TryFrom%3C%26ProtocolMessage%3E-for-Messages"],[222,"impl-DeserializePayload-for-StateStruct"],[223,"impl-Deserialize%3C\'de%3E-for-StateStruct"],[224,"impl-Deserialize%3C\'de%3E-for-EventsStruct"],[225,"impl-DeserializePayload-for-EventsStruct"],[226,"impl-DeserializePayload-for-CellVoltageMinStruct"],[227,"impl-Deserialize%3C\'de%3E-for-CellVoltageMinStruct"],[228,"impl-Deserialize%3C\'de%3E-for-CurrentTimeoutStruct"],[229,"impl-DeserializePayload-for-CurrentTimeoutStruct"],[230,"impl-DeserializePayload-for-SetTemperatureTimeoutStruct"],[231,"impl-Deserialize%3C\'de%3E-for-SetTemperatureTimeoutStruct"],[232,"impl-DeserializePayload-for-SetCurrentMaxStruct"],[233,"impl-Deserialize%3C\'de%3E-for-SetCurrentMaxStruct"],[234,"impl-Deserialize%3C\'de%3E-for-SetCellVoltageMinimumStruct"],[235,"impl-DeserializePayload-for-SetCellVoltageMinimumStruct"],[236,"impl-Deserialize%3C\'de%3E-for-SetTemperatureMaxStruct"],[237,"impl-DeserializePayload-for-SetTemperatureMaxStruct"],[238,"impl-DeserializePayload-for-CurrentMaxStruct"],[239,"impl-Deserialize%3C\'de%3E-for-CurrentMaxStruct"],[240,"impl-Deserialize%3C\'de%3E-for-TemperatureTimeoutStruct"],[241,"impl-DeserializePayload-for-TemperatureTimeoutStruct"],[242,"impl-DeserializePayload-for-RebootStruct"],[243,"impl-Deserialize%3C\'de%3E-for-RebootStruct"],[244,"impl-DeserializePayload-for-SetStreamRateStruct"],[245,"impl-Deserialize%3C\'de%3E-for-SetStreamRateStruct"],[246,"impl-DeserializePayload-for-SetCellVoltageTimeoutStruct"],[247,"impl-Deserialize%3C\'de%3E-for-SetCellVoltageTimeoutStruct"],[248,"impl-DeserializePayload-for-SetCurrentTimeoutStruct"],[249,"impl-Deserialize%3C\'de%3E-for-SetCurrentTimeoutStruct"],[250,"impl-Deserialize%3C\'de%3E-for-TemperatureMaxStruct"],[251,"impl-DeserializePayload-for-TemperatureMaxStruct"],[252,"impl-Deserialize%3C\'de%3E-for-SetLpfSettingStruct"],[253,"impl-DeserializePayload-for-SetLpfSettingStruct"],[254,"impl-DeserializePayload-for-SetLpfSampleFrequencyStruct"],[255,"impl-Deserialize%3C\'de%3E-for-SetLpfSampleFrequencyStruct"],[256,"impl-Deserialize%3C\'de%3E-for-CellTimeoutStruct"],[257,"impl-DeserializePayload-for-CellTimeoutStruct"],[258,"impl-DeserializePayload-for-ResetDefaultsStruct"],[259,"impl-Deserialize%3C\'de%3E-for-ResetDefaultsStruct"],[260,"impl-DeserializePayload-for-EraseFlashStruct"],[261,"impl-Deserialize%3C\'de%3E-for-EraseFlashStruct"],[262,"impl-Deserialize%3C\'de%3E-for-Messages"],[263,"impl-DeserializeGenericMessage-for-Messages"],[398,"impl-Serialize-for-StateStruct"],[399,"impl-SerializePayload-for-StateStruct"],[400,"impl-Serialize-for-EventsStruct"],[401,"impl-SerializePayload-for-EventsStruct"],[402,"impl-Serialize-for-CellVoltageMinStruct"],[403,"impl-SerializePayload-for-CellVoltageMinStruct"],[404,"impl-Serialize-for-CurrentTimeoutStruct"],[405,"impl-SerializePayload-for-CurrentTimeoutStruct"],[406,"impl-Serialize-for-SetTemperatureTimeoutStruct"],[407,"impl-SerializePayload-for-SetTemperatureTimeoutStruct"],[408,"impl-Serialize-for-SetCurrentMaxStruct"],[409,"impl-SerializePayload-for-SetCurrentMaxStruct"],[410,"impl-Serialize-for-SetCellVoltageMinimumStruct"],[411,"impl-SerializePayload-for-SetCellVoltageMinimumStruct"],[412,"impl-Serialize-for-SetTemperatureMaxStruct"],[413,"impl-SerializePayload-for-SetTemperatureMaxStruct"],[414,"impl-SerializePayload-for-CurrentMaxStruct"],[415,"impl-Serialize-for-CurrentMaxStruct"],[416,"impl-SerializePayload-for-TemperatureTimeoutStruct"],[417,"impl-Serialize-for-TemperatureTimeoutStruct"],[418,"impl-SerializePayload-for-RebootStruct"],[419,"impl-Serialize-for-RebootStruct"],[420,"impl-SerializePayload-for-SetStreamRateStruct"],[421,"impl-Serialize-for-SetStreamRateStruct"],[422,"impl-Serialize-for-SetCellVoltageTimeoutStruct"],[423,"impl-SerializePayload-for-SetCellVoltageTimeoutStruct"],[424,"impl-SerializePayload-for-SetCurrentTimeoutStruct"],[425,"impl-Serialize-for-SetCurrentTimeoutStruct"],[426,"impl-SerializePayload-for-TemperatureMaxStruct"],[427,"impl-Serialize-for-TemperatureMaxStruct"],[428,"impl-SerializePayload-for-SetLpfSettingStruct"],[429,"impl-Serialize-for-SetLpfSettingStruct"],[430,"impl-Serialize-for-SetLpfSampleFrequencyStruct"],[431,"impl-SerializePayload-for-SetLpfSampleFrequencyStruct"],[432,"impl-SerializePayload-for-CellTimeoutStruct"],[433,"impl-Serialize-for-CellTimeoutStruct"],[434,"impl-SerializePayload-for-ResetDefaultsStruct"],[435,"impl-Serialize-for-ResetDefaultsStruct"],[436,"impl-SerializePayload-for-EraseFlashStruct"],[437,"impl-Serialize-for-EraseFlashStruct"],[438,"impl-Serialize-for-Messages"],[439,"impl-SerializePayload-for-Messages"],[640,"impl-DeserializePayload-for-DeviceInformationStruct"],[641,"impl-Deserialize%3C\'de%3E-for-DeviceInformationStruct"],[642,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[643,"impl-DeserializePayload-for-SetDeviceIdStruct"],[644,"impl-DeserializePayload-for-GeneralRequestStruct"],[645,"impl-Deserialize%3C\'de%3E-for-GeneralRequestStruct"],[646,"impl-Deserialize%3C\'de%3E-for-ProtocolVersionStruct"],[647,"impl-DeserializePayload-for-ProtocolVersionStruct"],[648,"impl-DeserializePayload-for-AckStruct"],[649,"impl-Deserialize%3C\'de%3E-for-AckStruct"],[650,"impl-DeserializePayload-for-NackStruct"],[651,"impl-Deserialize%3C\'de%3E-for-NackStruct"],[652,"impl-Deserialize%3C\'de%3E-for-AsciiTextStruct"],[653,"impl-DeserializePayload-for-AsciiTextStruct"],[654,"impl-DeserializeGenericMessage-for-Messages"],[655,"impl-Deserialize%3C\'de%3E-for-Messages"],[724,"impl-SerializePayload-for-DeviceInformationStruct"],[725,"impl-Serialize-for-DeviceInformationStruct"],[726,"impl-SerializePayload-for-SetDeviceIdStruct"],[727,"impl-Serialize-for-SetDeviceIdStruct"],[728,"impl-Serialize-for-GeneralRequestStruct"],[729,"impl-SerializePayload-for-GeneralRequestStruct"],[730,"impl-Serialize-for-ProtocolVersionStruct"],[731,"impl-SerializePayload-for-ProtocolVersionStruct"],[732,"impl-SerializePayload-for-AckStruct"],[733,"impl-Serialize-for-AckStruct"],[734,"impl-Serialize-for-NackStruct"],[735,"impl-SerializePayload-for-NackStruct"],[736,"impl-Serialize-for-AsciiTextStruct"],[737,"impl-SerializePayload-for-AsciiTextStruct"],[738,"impl-Serialize-for-Messages"],[739,"impl-SerializePayload-for-Messages"],[881,"impl-From%3CRecvError%3E-for-PingError"],[882,"impl-From%3CError%3E-for-PingError"],[884,"impl-From%3CSendError%3CProtocolMessage%3E%3E-for-PingError"],[983,"impl-Deserialize%3C\'de%3E-for-OsPingParamsStruct"],[984,"impl-DeserializePayload-for-OsPingParamsStruct"],[985,"impl-DeserializePayload-for-OsMonoProfileStruct"],[986,"impl-Deserialize%3C\'de%3E-for-OsMonoProfileStruct"],[987,"impl-Deserialize%3C\'de%3E-for-SetSpeedOfSoundStruct"],[988,"impl-DeserializePayload-for-SetSpeedOfSoundStruct"],[989,"impl-DeserializeGenericMessage-for-Messages"],[990,"impl-Deserialize%3C\'de%3E-for-Messages"],[1048,"impl-SerializePayload-for-OsPingParamsStruct"],[1049,"impl-Serialize-for-OsPingParamsStruct"],[1050,"impl-SerializePayload-for-OsMonoProfileStruct"],[1051,"impl-Serialize-for-OsMonoProfileStruct"],[1052,"impl-SerializePayload-for-SetSpeedOfSoundStruct"],[1053,"impl-Serialize-for-SetSpeedOfSoundStruct"],[1054,"impl-Serialize-for-Messages"],[1055,"impl-SerializePayload-for-Messages"],[1319,"impl-Deserialize%3C\'de%3E-for-ModeAutoStruct"],[1320,"impl-DeserializePayload-for-ModeAutoStruct"],[1321,"impl-Deserialize%3C\'de%3E-for-ContinuousStartStruct"],[1322,"impl-DeserializePayload-for-ContinuousStartStruct"],[1323,"impl-Deserialize%3C\'de%3E-for-SetSpeedOfSoundStruct"],[1324,"impl-DeserializePayload-for-SetSpeedOfSoundStruct"],[1325,"impl-DeserializePayload-for-PcbTemperatureStruct"],[1326,"impl-Deserialize%3C\'de%3E-for-PcbTemperatureStruct"],[1327,"impl-DeserializePayload-for-DistanceSimpleStruct"],[1328,"impl-Deserialize%3C\'de%3E-for-DistanceSimpleStruct"],[1329,"impl-DeserializePayload-for-PingEnableStruct"],[1330,"impl-Deserialize%3C\'de%3E-for-PingEnableStruct"],[1331,"impl-Deserialize%3C\'de%3E-for-RangeStruct"],[1332,"impl-DeserializePayload-for-RangeStruct"],[1333,"impl-Deserialize%3C\'de%3E-for-SetModeAutoStruct"],[1334,"impl-DeserializePayload-for-SetModeAutoStruct"],[1335,"impl-Deserialize%3C\'de%3E-for-GotoBootloaderStruct"],[1336,"impl-DeserializePayload-for-GotoBootloaderStruct"],[1337,"impl-DeserializePayload-for-GeneralInfoStruct"],[1338,"impl-Deserialize%3C\'de%3E-for-GeneralInfoStruct"],[1339,"impl-Deserialize%3C\'de%3E-for-TransmitDurationStruct"],[1340,"impl-DeserializePayload-for-TransmitDurationStruct"],[1341,"impl-Deserialize%3C\'de%3E-for-SpeedOfSoundStruct"],[1342,"impl-DeserializePayload-for-SpeedOfSoundStruct"],[1343,"impl-Deserialize%3C\'de%3E-for-ContinuousStopStruct"],[1344,"impl-DeserializePayload-for-ContinuousStopStruct"],[1345,"impl-Deserialize%3C\'de%3E-for-ProcessorTemperatureStruct"],[1346,"impl-DeserializePayload-for-ProcessorTemperatureStruct"],[1347,"impl-Deserialize%3C\'de%3E-for-SetPingIntervalStruct"],[1348,"impl-DeserializePayload-for-SetPingIntervalStruct"],[1349,"impl-Deserialize%3C\'de%3E-for-FirmwareVersionStruct"],[1350,"impl-DeserializePayload-for-FirmwareVersionStruct"],[1351,"impl-Deserialize%3C\'de%3E-for-DistanceStruct"],[1352,"impl-DeserializePayload-for-DistanceStruct"],[1353,"impl-Deserialize%3C\'de%3E-for-SetRangeStruct"],[1354,"impl-DeserializePayload-for-SetRangeStruct"],[1355,"impl-DeserializePayload-for-DeviceIdStruct"],[1356,"impl-Deserialize%3C\'de%3E-for-DeviceIdStruct"],[1357,"impl-Deserialize%3C\'de%3E-for-SetPingEnableStruct"],[1358,"impl-DeserializePayload-for-SetPingEnableStruct"],[1359,"impl-Deserialize%3C\'de%3E-for-GainSettingStruct"],[1360,"impl-DeserializePayload-for-GainSettingStruct"],[1361,"impl-DeserializePayload-for-SetDeviceIdStruct"],[1362,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[1363,"impl-DeserializePayload-for-PingIntervalStruct"],[1364,"impl-Deserialize%3C\'de%3E-for-PingIntervalStruct"],[1365,"impl-DeserializePayload-for-ProfileStruct"],[1366,"impl-Deserialize%3C\'de%3E-for-ProfileStruct"],[1367,"impl-Deserialize%3C\'de%3E-for-Voltage5Struct"],[1368,"impl-DeserializePayload-for-Voltage5Struct"],[1369,"impl-DeserializePayload-for-SetGainSettingStruct"],[1370,"impl-Deserialize%3C\'de%3E-for-SetGainSettingStruct"],[1371,"impl-DeserializeGenericMessage-for-Messages"],[1372,"impl-Deserialize%3C\'de%3E-for-Messages"],[1577,"impl-SerializePayload-for-ModeAutoStruct"],[1578,"impl-Serialize-for-ModeAutoStruct"],[1579,"impl-SerializePayload-for-ContinuousStartStruct"],[1580,"impl-Serialize-for-ContinuousStartStruct"],[1581,"impl-SerializePayload-for-SetSpeedOfSoundStruct"],[1582,"impl-Serialize-for-SetSpeedOfSoundStruct"],[1583,"impl-SerializePayload-for-PcbTemperatureStruct"],[1584,"impl-Serialize-for-PcbTemperatureStruct"],[1585,"impl-SerializePayload-for-DistanceSimpleStruct"],[1586,"impl-Serialize-for-DistanceSimpleStruct"],[1587,"impl-Serialize-for-PingEnableStruct"],[1588,"impl-SerializePayload-for-PingEnableStruct"],[1589,"impl-Serialize-for-RangeStruct"],[1590,"impl-SerializePayload-for-RangeStruct"],[1591,"impl-Serialize-for-SetModeAutoStruct"],[1592,"impl-SerializePayload-for-SetModeAutoStruct"],[1593,"impl-Serialize-for-GotoBootloaderStruct"],[1594,"impl-SerializePayload-for-GotoBootloaderStruct"],[1595,"impl-SerializePayload-for-GeneralInfoStruct"],[1596,"impl-Serialize-for-GeneralInfoStruct"],[1597,"impl-SerializePayload-for-TransmitDurationStruct"],[1598,"impl-Serialize-for-TransmitDurationStruct"],[1599,"impl-Serialize-for-SpeedOfSoundStruct"],[1600,"impl-SerializePayload-for-SpeedOfSoundStruct"],[1601,"impl-Serialize-for-ContinuousStopStruct"],[1602,"impl-SerializePayload-for-ContinuousStopStruct"],[1603,"impl-SerializePayload-for-ProcessorTemperatureStruct"],[1604,"impl-Serialize-for-ProcessorTemperatureStruct"],[1605,"impl-Serialize-for-SetPingIntervalStruct"],[1606,"impl-SerializePayload-for-SetPingIntervalStruct"],[1607,"impl-Serialize-for-FirmwareVersionStruct"],[1608,"impl-SerializePayload-for-FirmwareVersionStruct"],[1609,"impl-SerializePayload-for-DistanceStruct"],[1610,"impl-Serialize-for-DistanceStruct"],[1611,"impl-Serialize-for-SetRangeStruct"],[1612,"impl-SerializePayload-for-SetRangeStruct"],[1613,"impl-Serialize-for-DeviceIdStruct"],[1614,"impl-SerializePayload-for-DeviceIdStruct"],[1615,"impl-Serialize-for-SetPingEnableStruct"],[1616,"impl-SerializePayload-for-SetPingEnableStruct"],[1617,"impl-SerializePayload-for-GainSettingStruct"],[1618,"impl-Serialize-for-GainSettingStruct"],[1619,"impl-Serialize-for-SetDeviceIdStruct"],[1620,"impl-SerializePayload-for-SetDeviceIdStruct"],[1621,"impl-Serialize-for-PingIntervalStruct"],[1622,"impl-SerializePayload-for-PingIntervalStruct"],[1623,"impl-Serialize-for-ProfileStruct"],[1624,"impl-SerializePayload-for-ProfileStruct"],[1625,"impl-Serialize-for-Voltage5Struct"],[1626,"impl-SerializePayload-for-Voltage5Struct"],[1627,"impl-Serialize-for-SetGainSettingStruct"],[1628,"impl-SerializePayload-for-SetGainSettingStruct"],[1629,"impl-Serialize-for-Messages"],[1630,"impl-SerializePayload-for-Messages"],[1850,"impl-DeserializePayload-for-ResetStruct"],[1851,"impl-Deserialize%3C\'de%3E-for-ResetStruct"],[1852,"impl-Deserialize%3C\'de%3E-for-TransducerStruct"],[1853,"impl-DeserializePayload-for-TransducerStruct"],[1854,"impl-Deserialize%3C\'de%3E-for-SetDeviceIdStruct"],[1855,"impl-DeserializePayload-for-SetDeviceIdStruct"],[1856,"impl-Deserialize%3C\'de%3E-for-AutoDeviceDataStruct"],[1857,"impl-DeserializePayload-for-AutoDeviceDataStruct"],[1858,"impl-DeserializePayload-for-MotorOffStruct"],[1859,"impl-Deserialize%3C\'de%3E-for-MotorOffStruct"],[1860,"impl-Deserialize%3C\'de%3E-for-DeviceDataStruct"],[1861,"impl-DeserializePayload-for-DeviceDataStruct"],[1862,"impl-Deserialize%3C\'de%3E-for-AutoTransmitStruct"],[1863,"impl-DeserializePayload-for-AutoTransmitStruct"],[1864,"impl-DeserializeGenericMessage-for-Messages"],[1865,"impl-Deserialize%3C\'de%3E-for-Messages"],[1946,"impl-Serialize-for-ResetStruct"],[1947,"impl-SerializePayload-for-ResetStruct"],[1948,"impl-SerializePayload-for-TransducerStruct"],[1949,"impl-Serialize-for-TransducerStruct"],[1950,"impl-Serialize-for-SetDeviceIdStruct"],[1951,"impl-SerializePayload-for-SetDeviceIdStruct"],[1952,"impl-SerializePayload-for-AutoDeviceDataStruct"],[1953,"impl-Serialize-for-AutoDeviceDataStruct"],[1954,"impl-SerializePayload-for-MotorOffStruct"],[1955,"impl-Serialize-for-MotorOffStruct"],[1956,"impl-Serialize-for-DeviceDataStruct"],[1957,"impl-SerializePayload-for-DeviceDataStruct"],[1958,"impl-Serialize-for-AutoTransmitStruct"],[1959,"impl-SerializePayload-for-AutoTransmitStruct"],[1960,"impl-SerializePayload-for-Messages"],[1961,"impl-Serialize-for-Messages"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABMGhAABABMAFgAAABgACwAlAAAAJwAAACkAAAArAAEALgAAADAAAgA0AAAANgAAADgAAAA6AAAAPAAAAD4AAABAAAAAQgAAAEQAAABGAAAASAAAAEoAAABMAAAAUQAtAIEAAACDAEIAygBWACQBFgBSAQEAVQEUAIcBAwCPASoAxAEAAM8BWgArAgQAMgIEADgCAAA6AgEAPQIAAD8CAQBCAgEARQIAAEkCSQCXAggAowIJALcCCQDLAgIA0AIAANUCEADnAicAEgMeADkDFgBRAwAAUwMBAFYDAABYAwIAXAMXAHUDAAB3AxsAlAMBAJcDBACdAxIAsQMAALMDAQC3AwsAxAMdAOMDBADpAwUA9wMFAAYEAgALBAAAGQQIACQEAAApBAQALwQRAEIEAABEBAAARgQBAEkEAQBNBAAATwQAAFEEAABTBAAAVQQBAFgEAABaBAAAXAQAAF4EAQBhBAAAYwQAAGUEAABnBAAAaQQAAGsEAABtBAAAbwQAAHEEAABzBAAAdQQAAHcEAAB5BI4ADQVSAGoFGwCLBRwAzAUBAM8FGQDrBQAACQYCABAGAAAfBgAAKgY2AGgGAABsBhsAjAZWAOYGAADoBgAA6gYBAO0GAQDwBgEA8wYAAPUGAAD9BjEAMQcHADsHEQBOBxIAbwcIAHkHAACEBwIAjAcAAJsHEACtBwAAsgcIAMUHHQA="}],\ ["bytes",{"t":"EEFFNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKFFFFFFFMNNMNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","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","clone_to_uninit","clone_to_uninit","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","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","try_into_mut","try_reclaim","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"],[143,"bytes::buf"],[461,"bytes::bytes"],[462,"bytes::bytes_mut"],[463,"bytes::buf::uninit_slice"],[464,"core::cmp"],[465,"alloc::vec"],[466,"core::marker"],[467,"alloc::string"],[468,"core::iter::traits::collect"],[469,"core::fmt"],[470,"alloc::boxed"],[471,"core::hash"],[472,"core::option"],[473,"bytes::buf::buf_impl"],[474,"core::ops::range"],[475,"core::mem::maybe_uninit"],[476,"core::result"],[477,"core::any"],[478,"bytes::buf::chain"],[479,"bytes::buf::take"],[480,"bytes::buf::buf_mut"],[481,"bytes::buf::limit"],[482,"std::io"],[483,"bytes::buf::reader"],[484,"std::io::error"],[485,"bytes::buf::writer"],[486,"bytes::buf::iter"]],"i":[0,0,0,0,2,6,6,6,2,6,2,2,6,6,2,6,6,0,6,2,6,6,2,6,2,6,2,6,2,6,2,6,2,2,6,2,6,2,6,6,2,6,2,2,2,2,2,2,2,6,6,6,6,6,6,6,6,6,6,6,2,2,2,6,6,6,6,2,2,2,2,2,2,2,6,6,6,6,2,6,6,2,2,6,2,6,2,2,6,6,2,6,2,2,6,2,6,2,2,2,2,2,2,6,6,6,6,6,6,6,6,6,2,6,6,6,6,6,2,2,6,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,23,29,30,31,29,32,9,9,9,29,38,32,34,30,36,9,29,38,32,34,30,36,23,23,31,31,23,29,30,31,29,32,23,23,29,34,9,23,23,29,30,23,23,34,29,29,36,9,29,38,32,34,30,36,9,9,29,38,32,34,30,36,9,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,38,32,34,30,36,38,32,34,30,36,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,31,31,9,9,9,9,9,9,9,9,9,9,9,9,29,38,32,34,30,36,29,38,32,34,30,36,29,38,29,29,9,31,31,32,30,9,38,38,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,34,23,23,23,29,30,31,29,32,32,30,38,23,23,29,38,32,34,30,36,29,38,32,34,30,36,9,29,38,32,34,30,36,9,36,9,31,31],"f":"````{{{f{bd}}h}j}{{{f{bl}}h}j}0{{{f{bl}}}{{f{b{A`{n}}}}}}{{{f{d}}}{{f{{A`{n}}}}}}{{{f{l}}}{{f{{A`{n}}}}}}{{{f{c}}}{{f{e}}}{}{}}210{{{f{bc}}}{{f{be}}}{}{}}40`{{{f{l}}}h}43{{{f{bl}}}{{f{bAb}}}}{{{f{bd}}}j}{{{f{bl}}}j}{{{f{d}}}d}{{{f{l}}}l}{{{f{c}}{f{be}}}j{}{}}0{{{f{c}}}j{}}0{{{f{d}}{f{d}}}Ad}{{{f{l}}{f{l}}}Ad}{{{f{{A`{n}}}}}d}{{{f{bd}}h}d}{{{f{bl}}h}d}{{}d}{{}l}{{{f{d}}}{{f{{A`{n}}}}}}{{{f{l}}}{{f{{A`{n}}}}}}{{{f{bl}}}{{f{b{A`{n}}}}}}?>{{{f{d}}{f{{Af{n}}}}}Ah}{{{f{d}}{f{d}}}Ah}{{{f{d}}{f{{f{c}}}}}AhAj}{{{f{d}}{f{Al}}}Ah}{{{f{d}}{f{An}}}Ah}{{{f{d}}{f{{A`{n}}}}}Ah}{{{f{d}}{f{l}}}Ah}{{{f{l}}{f{An}}}Ah}{{{f{l}}{f{{Af{n}}}}}Ah}{{{f{l}}{f{Al}}}Ah}{{{f{l}}{f{l}}}Ah}{{{f{l}}{f{{A`{n}}}}}Ah}{{{f{l}}{f{d}}}Ah}{{{f{l}}{f{{f{c}}}}}AhAj}{{{f{bl}}c}j{{Bb{}{{B`{d}}}}}}{{{f{bl}}c}j{{Bb{}{{B`{n}}}}}}{{{f{bl}}c}j{{Bb{}{{B`{{f{n}}}}}}}}{{{f{bl}}{f{{A`{n}}}}}j}{{{f{d}}{f{bBd}}}Bf}00{{{f{l}}{f{bBd}}}Bf}00{ld}{{{f{{A`{n}}}}}d}1{{{f{An}}}d}{{{Af{n}}}d}{{{Bh{{A`{n}}}}}d}{cc{}}{Ald}{{{f{{A`{n}}}}}l}{dl}3{{{f{An}}}l}{cd{{Bb{}{{B`{n}}}}}}{cl{{Bb{}{{B`{n}}}}}}{cl{{Bb{}{{B`{{f{n}}}}}}}};{{{f{d}}{f{bc}}}jBj}{{{f{l}}{f{bc}}}jBj}{ce{}{}}0{{{f{d}}}c{}}{dc{}}{lc{}}{{{f{l}}}c{}}{{{f{d}}}Ah}{{{f{l}}}Ah}1{{{f{d}}}h}{{{f{l}}}h}{{}d}{{}l}{{{f{d}}{f{An}}}{{Bl{Ad}}}}{{{f{d}}{f{Al}}}{{Bl{Ad}}}}{{{f{d}}{f{{Af{n}}}}}{{Bl{Ad}}}}{{{f{d}}{f{d}}}{{Bl{Ad}}}}{{{f{d}}{f{{f{c}}}}}{{Bl{Ad}}}Aj}{{{f{d}}{f{{A`{n}}}}}{{Bl{Ad}}}}{{{f{l}}{f{An}}}{{Bl{Ad}}}}{{{f{l}}{f{l}}}{{Bl{Ad}}}}{{{f{l}}{f{{A`{n}}}}}{{Bl{Ad}}}}{{{f{l}}{f{{Af{n}}}}}{{Bl{Ad}}}}{{{f{l}}{f{{f{c}}}}}{{Bl{Ad}}}Aj}{{{f{l}}{f{Al}}}{{Bl{Ad}}}}{{{f{bl}}c}jBn}{{{f{bl}}nh}j}{{{f{bl}}{f{{A`{n}}}}}j}{{{f{d}}}h}{{{f{l}}}h}0{{{f{bl}}h}j}{{{f{bl}}hn}j}1{{{f{d}}c}d{{C`{h}}}}{{{f{d}}{f{{A`{n}}}}}d}{{{f{bl}}}{{f{b{A`{{Cb{n}}}}}}}}{{{f{bl}}}l}{{{f{bd}}h}d}{{{f{bl}}h}l}10{{{f{c}}}e{}{}}0{{{f{bd}}h}j}9{c{{Cd{e}}}{}{}}000{d{{Cd{ld}}}}{{{f{bl}}h}Ah}{{{f{c}}}Cf{}}0{{{f{bl}}l}j}{hl}{{{f{bl}}Ch}Bf}{{{f{bl}}{f{An}}}Bf}2`````````{{{f{bBn}}h}j}{{{f{b{Cj{ce}}}}h}jBnBn}{{{f{b{Cl{c}}}}h}jBn}{{{f{bCn}}h}j}{{{f{b{Cj{ce}}}}h}jCnCn}{{{f{b{D`{c}}}}h}jCn}{{{f{bAb}}}n}{{{f{bAb}}}{{f{b{A`{{Cb{n}}}}}}}}{{{f{c}}}{{f{e}}}{}{}}000000{{{f{bc}}}{{f{be}}}{}{}}000000{{Bnc}{{Cj{Bnc}}}Bn}0{{Cnc}{{Cj{Cnc}}}Cn}0{{{f{Bn}}}{{f{{A`{n}}}}}}{{{f{{Cj{ce}}}}}{{f{{A`{n}}}}}BnBn}{{{f{{Cl{c}}}}}{{f{{A`{n}}}}}Bn}{{{f{bCn}}}{{f{bAb}}}}{{{f{b{Cj{ce}}}}}{{f{bAb}}}CnCn}{{{f{b{D`{c}}}}}{{f{bAb}}}Cn}{{{f{Bn}}{f{b{A`{Db}}}}}h}0{{{f{{Cj{ce}}}}{f{b{A`{Db}}}}}hBnBn}{{{f{b{Dd{c}}}}h}j{BnAj}}{{{f{bAb}}{f{{A`{n}}}}}j}{{{f{bBn}}h}d}0{{{f{b{Cj{ce}}}}h}dBnBn}{{{f{b{Cl{c}}}}h}dBn}{{{f{bBn}}{f{b{A`{n}}}}}j}0{{{f{b{Dd{c}}}}}{{Df{{f{{A`{n}}}}}}}{BnAj}}{{{f{b{Cj{ce}}}}}{{f{bc}}}{}{}}{{{f{{Cj{ce}}}}}{{f{c}}}{}{}}{{{f{b{Dh{c}}}}}{{Df{j}}}{CnAj}}{{{f{Ab}}{f{bBd}}}Bf}{{{f{{Cj{ce}}}}{f{bBd}}}BfDjDj}{{{f{{Dl{c}}}}{f{bBd}}}BfDj}{{{f{{D`{c}}}}{f{bBd}}}BfDj}{{{f{{Dd{c}}}}{f{bBd}}}BfDj}{{{f{{Cl{c}}}}{f{bBd}}}BfDj}{{{f{{Dh{c}}}}{f{bBd}}}BfDj}{{{f{b{A`{{Cb{n}}}}}}}{{f{bAb}}}}{{{f{b{A`{n}}}}}{{f{bAb}}}}{cc{}}00000{{nh}{{f{bAb}}}}{{{f{bBn}}}Dn}00000{{{f{bBn}}}E`}00000{{{f{bBn}}}Eb}00000{{{f{bBn}}}Ed}00000{{{f{bBn}}}Ef}00000{{{f{bBn}}}Eh}00000{{{f{bBn}}}Ej}0{{{f{bBn}}h}Eh}00000{{{f{b{Dl{c}}}}}{{f{bc}}}{}}{{{f{b{D`{c}}}}}{{f{bc}}}{}}{{{f{b{Dd{c}}}}}{{f{bc}}}Bn}{{{f{b{Cl{c}}}}}{{f{bc}}}{}}{{{f{b{Dh{c}}}}}{{f{bc}}}Cn}{{{f{{Dl{c}}}}}{{f{c}}}{}}{{{f{{D`{c}}}}}{{f{c}}}{}}{{{f{{Dd{c}}}}}{{f{c}}}Bn}{{{f{{Cl{c}}}}}{{f{c}}}{}}{{{f{{Dh{c}}}}}{{f{c}}}Cn}{{{f{bBn}}}El}00000{{{f{bBn}}}En}00000{{{f{bBn}}}F`}00000{{{f{bBn}}}Fb}00000{{{f{bBn}}}n}0{{{f{bBn}}h}Fb}00000{{{f{Bn}}}Ah}0{{{f{Cn}}}Ah}0{{{f{Ab}}{Fd{h}}}{{f{Ab}}}}{{{f{Ab}}{Ff{h}}}{{f{Ab}}}}{{{f{Ab}}Fh}{{f{Ab}}}}{{{f{Ab}}{Fj{h}}}{{f{Ab}}}}{{{f{Ab}}{Fl{h}}}{{f{Ab}}}}{{{f{Ab}}{Fn{h}}}{{f{Ab}}}}{{{f{bAb}}{Fl{h}}}{{f{bAb}}}}{{{f{bAb}}{Fn{h}}}{{f{bAb}}}}{{{f{bAb}}Fh}{{f{bAb}}}}{{{f{bAb}}{Fd{h}}}{{f{bAb}}}}{{{f{bAb}}{Ff{h}}}{{f{bAb}}}}{{{f{bAb}}{Fj{h}}}{{f{bAb}}}}{ce{}{}}00000{{{Cj{ce}}}{{G`{ce}}}{}{}}{{{Dl{c}}}c{}}{{{D`{c}}}c{}}{{{Dd{c}}}cBn}{{{Cl{c}}}c{}}{{{Dh{c}}}cCn}{{{Cj{ce}}}gBnBn{}}7{{{f{b{Cj{ce}}}}}{{f{be}}}{}{}}{{{f{{Cj{ce}}}}}{{f{e}}}{}{}}{{{f{Ab}}}h}{{Cnh}{{D`{Cn}}}}0{{{f{{D`{c}}}}}h{}}{{{f{{Cl{c}}}}}h{}}{{{f{b{A`{n}}}}}{{f{bAb}}}}{c{{Dl{c}}}{}}{{{f{b{Dl{c}}}}}{{Bl{n}}}Bn}{{{f{bCn}}c}jBn}0{{{f{bCn}}nh}j}0{{{f{bCn}}Dn}j}00000{{{f{bCn}}E`}j}00000{{{f{bCn}}Eb}j}00000{{{f{bCn}}Ed}j}00000{{{f{bCn}}Ef}j}00000{{{f{bCn}}Eh}j}00000{{{f{bCn}}Ej}j}0{{{f{bCn}}Ehh}j}00000{{{f{bCn}}{f{{A`{n}}}}}j}0{{{f{bCn}}El}j}00000{{{f{bCn}}En}j}00000{{{f{bCn}}F`}j}00000{{{f{bCn}}Fb}j}00000{{{f{bCn}}n}j}0{{{f{bCn}}Fbh}j}00000{{{f{b{Dd{c}}}}{f{b{A`{n}}}}}{{Df{h}}}{BnAj}}{Bn{{Dd{Bn}}}}0{{{f{Bn}}}h}{{{f{{Cj{ce}}}}}hBnBn}{{{f{{Cl{c}}}}}hBn}{{{f{Cn}}}h}{{{f{{Cj{ce}}}}}hCnCn}{{{f{{D`{c}}}}}hCn}{{{f{b{D`{c}}}}h}j{}}{{{f{b{Cl{c}}}}h}j{}}{{{f{{Dl{c}}}}}{{G`{h{Bl{h}}}}}Bn}{{Bnh}{{Cl{Bn}}}}0{c{{Cd{e}}}{}{}}00000000000{{{f{c}}}Cf{}}000000{{{f{b{A`{{Cb{n}}}}}}}{{f{bAb}}}}{{{f{b{Dh{c}}}}{f{{A`{n}}}}}{{Df{h}}}{CnAj}}{{{f{bAb}}hn}j}{Cn{{Dh{Cn}}}}0","D":"BCb","p":[[0,"mut"],[5,"Bytes",0,461],[1,"reference"],[1,"usize"],[1,"unit"],[5,"BytesMut",0,462],[1,"u8"],[1,"slice"],[5,"UninitSlice",143,463],[6,"Ordering",464],[5,"Vec",465],[1,"bool"],[10,"Sized",466],[5,"String",467],[1,"str"],[17,"Item"],[10,"IntoIterator",468],[5,"Formatter",469],[8,"Result",469],[5,"Box",470],[10,"Hasher",471],[6,"Option",472],[10,"Buf",143,473],[10,"RangeBounds",474],[20,"MaybeUninit",475],[6,"Result",476],[5,"TypeId",477],[5,"Arguments",469],[5,"Chain",143,478],[5,"Take",143,479],[10,"BufMut",143,480],[5,"Limit",143,481],[5,"IoSlice",482],[5,"Reader",143,483],[8,"Result",484],[5,"Writer",143,485],[10,"Debug",469],[5,"IntoIter",143,486],[1,"f32"],[1,"f64"],[1,"i128"],[1,"i16"],[1,"i32"],[1,"i64"],[1,"i8"],[1,"u128"],[1,"u16"],[1,"u32"],[1,"u64"],[5,"RangeInclusive",474],[5,"RangeTo",474],[5,"RangeFull",474],[5,"RangeToInclusive",474],[5,"RangeFrom",474],[5,"Range",474],[1,"tuple"]],"r":[[0,473],[1,480],[2,461],[3,462],[143,473],[144,480],[145,478],[146,486],[147,481],[148,483],[149,479],[150,463],[151,485]],"b":[[42,"impl-PartialEq%3CVec%3Cu8%3E%3E-for-Bytes"],[43,"impl-PartialEq-for-Bytes"],[44,"impl-PartialEq%3C%26T%3E-for-Bytes"],[45,"impl-PartialEq%3CString%3E-for-Bytes"],[46,"impl-PartialEq%3Cstr%3E-for-Bytes"],[47,"impl-PartialEq%3C%5Bu8%5D%3E-for-Bytes"],[48,"impl-PartialEq%3CBytesMut%3E-for-Bytes"],[49,"impl-PartialEq%3Cstr%3E-for-BytesMut"],[50,"impl-PartialEq%3CVec%3Cu8%3E%3E-for-BytesMut"],[51,"impl-PartialEq%3CString%3E-for-BytesMut"],[52,"impl-PartialEq-for-BytesMut"],[53,"impl-PartialEq%3C%5Bu8%5D%3E-for-BytesMut"],[54,"impl-PartialEq%3CBytes%3E-for-BytesMut"],[55,"impl-PartialEq%3C%26T%3E-for-BytesMut"],[56,"impl-Extend%3CBytes%3E-for-BytesMut"],[57,"impl-Extend%3Cu8%3E-for-BytesMut"],[58,"impl-Extend%3C%26u8%3E-for-BytesMut"],[60,"impl-Debug-for-Bytes"],[61,"impl-UpperHex-for-Bytes"],[62,"impl-LowerHex-for-Bytes"],[63,"impl-Debug-for-BytesMut"],[64,"impl-LowerHex-for-BytesMut"],[65,"impl-UpperHex-for-BytesMut"],[67,"impl-From%3C%26%5Bu8%5D%3E-for-Bytes"],[68,"impl-From%3CBytesMut%3E-for-Bytes"],[69,"impl-From%3C%26str%3E-for-Bytes"],[70,"impl-From%3CVec%3Cu8%3E%3E-for-Bytes"],[71,"impl-From%3CBox%3C%5Bu8%5D%3E%3E-for-Bytes"],[73,"impl-From%3CString%3E-for-Bytes"],[74,"impl-From%3C%26%5Bu8%5D%3E-for-BytesMut"],[75,"impl-From%3CBytes%3E-for-BytesMut"],[77,"impl-From%3C%26str%3E-for-BytesMut"],[79,"impl-FromIterator%3Cu8%3E-for-BytesMut"],[80,"impl-FromIterator%3C%26u8%3E-for-BytesMut"],[86,"impl-IntoIterator-for-%26Bytes"],[87,"impl-IntoIterator-for-Bytes"],[88,"impl-IntoIterator-for-BytesMut"],[89,"impl-IntoIterator-for-%26BytesMut"],[97,"impl-PartialOrd%3Cstr%3E-for-Bytes"],[98,"impl-PartialOrd%3CString%3E-for-Bytes"],[99,"impl-PartialOrd%3CVec%3Cu8%3E%3E-for-Bytes"],[100,"impl-PartialOrd-for-Bytes"],[101,"impl-PartialOrd%3C%26T%3E-for-Bytes"],[102,"impl-PartialOrd%3C%5Bu8%5D%3E-for-Bytes"],[103,"impl-PartialOrd%3Cstr%3E-for-BytesMut"],[104,"impl-PartialOrd-for-BytesMut"],[105,"impl-PartialOrd%3C%5Bu8%5D%3E-for-BytesMut"],[106,"impl-PartialOrd%3CVec%3Cu8%3E%3E-for-BytesMut"],[107,"impl-PartialOrd%3C%26T%3E-for-BytesMut"],[108,"impl-PartialOrd%3CString%3E-for-BytesMut"],[206,"impl-From%3C%26mut+%5BMaybeUninit%3Cu8%3E%5D%3E-for-%26mut+UninitSlice"],[207,"impl-From%3C%26mut+%5Bu8%5D%3E-for-%26mut+UninitSlice"],[305,"impl-Index%3CRangeInclusive%3Cusize%3E%3E-for-UninitSlice"],[306,"impl-Index%3CRangeTo%3Cusize%3E%3E-for-UninitSlice"],[307,"impl-Index%3CRangeFull%3E-for-UninitSlice"],[308,"impl-Index%3CRangeToInclusive%3Cusize%3E%3E-for-UninitSlice"],[309,"impl-Index%3CRangeFrom%3Cusize%3E%3E-for-UninitSlice"],[310,"impl-Index%3CRange%3Cusize%3E%3E-for-UninitSlice"],[311,"impl-IndexMut%3CRangeFrom%3Cusize%3E%3E-for-UninitSlice"],[312,"impl-IndexMut%3CRange%3Cusize%3E%3E-for-UninitSlice"],[313,"impl-IndexMut%3CRangeFull%3E-for-UninitSlice"],[314,"impl-IndexMut%3CRangeInclusive%3Cusize%3E%3E-for-UninitSlice"],[315,"impl-IndexMut%3CRangeTo%3Cusize%3E%3E-for-UninitSlice"],[316,"impl-IndexMut%3CRangeToInclusive%3Cusize%3E%3E-for-UninitSlice"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAALQAIgABAAEABQAMABQAAgAZAAcAIgAZAD0ABQBEAAQASgABAE4AAwBTAAEAVwADAGIAEQB/AAEAgwADAIkAAQCNAAEAmgABAJ0AAQChAA0AtAABALcAAQC7AAEAwAABAMQAAADHAAkAMgELAEoBAQBVAQAAqAEAAKwBAQCvAQEAswEAALYBEgDKAQAA"}],\ ["cfg_if",{"t":"Q","n":["cfg_if"],"q":[[0,"cfg_if"]],"i":[0],"f":"`","D":"d","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ -["clap",{"t":"PPPFGFFKPGFKPPPPPPIPPKPPPPFPPKPPPKPPPKGPNNNNNNNNNNNNNNQNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMQMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNQNNMNNNNNNNNNNNNPPFGFGFFFPPPPPTPFPPFPPPPPKPFFFFPRFFFFFPGTPPPFFFFFKPFPPPRGFKFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNPPFGTTPPPPPPPPPPTGPTTTTFFPTTTPPFPFTFFTPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGGPFPPPPFKGPPPPPPPPPFPPPPPPPPIFPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPPPFFGFPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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_aliases","get_aliases","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_display_order","get_display_order","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_name_and_visible_aliases","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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"],[515,"clap::builder"],[1088,"clap::builder::styling"],[1343,"clap::error"],[1490,"clap::parser"],[1617,"clap::parser::MatchesError"],[1619,"clap_builder::builder::command"],[1620,"clap_builder::builder::styled_str"],[1621,"clap_builder::builder::resettable"],[1622,"clap_builder::builder::arg"],[1623,"clap_builder::builder::action"],[1624,"clap_builder::builder::str"],[1625,"core::convert"],[1626,"core::iter::traits::collect"],[1627,"clap_builder::builder::arg_group"],[1628,"clap_builder::util::id"],[1629,"clap_builder::parser::matches::arg_matches"],[1630,"alloc::string"],[1631,"clap_builder::builder::value_hint"],[1632,"clap_builder::util::color"],[1633,"core::cmp"],[1634,"clap_builder::builder::os_str"],[1635,"clap_builder::builder::arg_predicate"],[1636,"clap_builder::error::kind"],[1637,"clap_builder::error"],[1638,"core::fmt"],[1639,"clap_builder::builder::value_parser"],[1640,"core::option"],[1641,"std::ffi::os_str"],[1642,"core::result"],[1643,"clap_builder::derive"],[1644,"alloc::vec"],[1645,"core::iter::traits::iterator"],[1646,"core::any"],[1647,"core::clone"],[1648,"core::marker"],[1649,"clap_builder::builder::range"],[1650,"clap_builder::builder::possible_value"],[1651,"clap_builder::builder::styling"],[1652,"core::hash"],[1653,"core::ops::function"],[1654,"std::io::error"],[1655,"clap_builder::parser::error"],[1656,"clap_builder::parser::matches::value_source"],[1657,"std::path"],[1658,"core::ops::range"],[1659,"anstyle::style"],[1660,"core::error"],[1661,"alloc::boxed"],[1662,"clap_builder::util::any_value"],[1663,"anstyle::color"],[1664,"anstyle::effect"],[1665,"anstyle::reset"],[1666,"std::io"],[1667,"clap_builder::error::format"],[1668,"clap_builder::error::context"],[1669,"clap_builder"],[1670,"clap_builder::builder"]],"i":[20,19,5,0,0,0,0,0,20,0,0,0,19,19,19,5,19,19,0,19,19,0,5,5,5,19,0,20,19,0,5,5,5,0,19,19,19,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,124,124,125,125,1,1,1,1,5,4,11,1,19,13,12,12,20,5,4,11,1,19,13,12,20,1,0,5,4,11,1,19,13,12,20,5,4,11,1,19,13,12,20,5,4,11,1,19,19,13,12,20,20,4,12,1,126,0,126,4,11,4,11,13,1,4,11,1,19,13,12,20,4,4,4,4,4,4,4,4,1,1,1,1,1,1,4,1,1,4,11,19,13,12,12,12,12,12,20,0,1,4,1,1,1,1,5,4,4,11,1,1,19,13,12,12,20,20,5,4,4,11,11,1,1,19,13,12,12,12,12,12,12,20,38,38,39,19,20,1,4,1,1,4,1,4,1,1,4,1,1,11,1,1,1,1,1,1,13,4,1,4,1,1,13,1,4,4,4,11,4,4,1,4,1,4,1,13,1,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,124,4,1,125,1,19,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,19,13,12,20,5,19,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,63,63,0,4,12,20,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,19,13,12,20,39,20,4,1,12,20,4,13,5,4,11,1,19,13,12,20,13,1,1,1,13,13,13,13,5,4,11,1,19,13,12,20,63,63,13,13,13,63,5,4,11,1,19,13,12,20,63,38,38,4,4,4,4,4,0,13,4,39,20,1,4,1,4,1,1,1,4,4,1,1,19,5,0,0,0,0,0,0,0,19,19,19,5,19,51,19,0,23,19,0,19,5,5,5,19,0,23,0,0,0,0,19,127,0,0,0,0,0,60,0,51,5,5,5,0,0,0,0,0,0,19,0,19,19,60,100,0,0,0,0,5,53,53,70,2,22,22,22,6,6,6,6,6,31,31,23,22,22,53,51,60,6,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,51,60,60,6,2,72,72,73,73,74,74,75,76,77,77,80,80,82,82,83,83,84,84,85,85,86,87,70,56,22,60,6,2,22,53,51,6,2,2,72,73,74,75,77,80,82,83,84,85,56,56,22,6,51,23,22,22,22,22,22,22,53,51,60,6,6,6,6,6,6,6,2,56,31,23,22,53,51,51,60,6,6,2,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,31,31,31,31,31,31,31,31,31,23,23,22,22,22,22,22,22,22,22,53,53,51,51,51,51,51,51,51,51,60,60,60,60,6,6,6,6,6,2,2,2,2,2,72,73,74,75,76,76,77,77,80,80,82,83,84,85,86,87,70,56,56,56,53,56,56,53,53,56,56,56,22,51,60,6,56,53,53,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,3,31,22,51,60,6,6,6,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,53,56,100,53,51,51,31,53,51,2,72,73,74,75,76,77,80,82,83,84,85,31,100,72,73,74,76,86,100,100,72,73,74,75,76,77,80,82,83,84,85,86,87,70,100,70,22,60,6,2,31,56,56,31,100,75,76,82,83,84,86,87,77,80,51,31,56,0,70,70,51,22,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,51,6,2,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,100,31,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,56,56,127,2,2,111,111,0,0,112,112,113,113,113,113,113,113,113,113,113,113,112,0,113,112,112,112,112,0,0,113,112,112,112,113,113,0,111,0,112,0,0,112,113,113,110,91,112,91,112,91,91,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,113,112,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,111,111,113,113,114,114,110,110,112,112,115,116,116,91,91,111,113,114,110,112,116,91,112,112,116,91,91,91,111,113,114,110,112,115,116,91,91,91,111,113,114,110,112,115,116,116,91,91,111,111,111,111,111,111,113,114,114,114,110,110,112,115,116,91,91,114,110,91,91,91,91,111,113,114,110,112,116,91,91,114,112,111,113,114,110,112,115,116,91,114,115,91,113,112,91,91,112,112,91,115,111,113,114,110,111,113,114,110,111,113,114,110,112,116,91,110,112,112,116,91,111,113,114,110,111,113,114,110,91,112,91,112,91,112,91,111,113,114,110,112,115,116,91,116,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,91,91,91,91,120,28,121,0,0,120,0,28,28,28,128,0,0,0,120,28,120,120,28,28,120,28,28,0,120,28,28,28,121,121,128,120,0,0,121,121,121,121,120,120,120,120,120,28,28,120,28,120,120,120,28,28,29,120,28,123,129,29,120,121,28,123,129,29,120,121,28,120,121,28,120,121,28,120,120,121,28,28,29,120,121,28,29,29,29,29,120,120,121,121,28,28,29,119,123,129,123,129,29,29,29,120,121,28,29,120,28,29,123,129,29,120,121,28,29,29,29,29,29,29,120,121,28,29,120,121,28,123,129,29,120,121,28,123,129,29,120,121,28,123,129,29,120,121,28,29,29,0,69,69,67,69,0,0,0,0,67,0,0,0,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,69,69,65,45,54,59,69,67,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,58,65,45,54,59,58,65,45,54,59,58,65,45,54,59,69,58,65,45,54,59,67,58,65,45,54,59,69,67,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,130,130],"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{{{Al{Aj}}}Ad}{{{Al{Ah}}}{{Al{An}}}}0{bb}000;>>{{bc}b{{f{B`}}}}{{{Al{c}}}{{Al{e}}}{}{}}00000300{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000{{{Al{Bbb}}}Bd}`{{{Al{j}}}j}{{{Al{h}}}h}{{{Al{Af}}}Af}{{{Al{b}}}b}{{{Al{Bf}}}Bf}{{{Al{Aj}}}Aj}{{{Al{Ah}}}Ah}{{{Al{Bh}}}Bh}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000{{{Al{c}}}Bd{}}000000000{{{Al{h}}{Al{h}}}Bj}{{{Al{Ah}}{Al{Ah}}}Bj}{{bBh}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}}}}}}{{{Al{Aj}}{Al{An}}}Ad}{bBd}{{}h}{{}Af}8{{}Bf}{{}Aj}{{}Ah}{{}Bh}{{hc}h{{f{Bl}}}}{{hc}h{{n{Bl}}}}{{he}h{{n{Bl}}}{{Ab{}{{A`{c}}}}}}02{{hceg}h{{n{Ah}}}{{n{Bn}}}{{f{Bl}}}}{{hi}h{{n{Ah}}}{{n{Bn}}}{{f{Bl}}}{{Ab{}{{A`{{C`{ceg}}}}}}}}2{{b{Cd{b}{{Cb{b}}}}}b}{{bAd}b}000{{bc}b{{f{B`}}}}{{hc}h{{f{Cf}}}}{{bc}b{{f{Cf}}}}3{{{Al{h}}{Al{h}}}Ad}{{{Al{Af}}{Al{Af}}}Ad}{{{Al{Bf}}{Al{Bf}}}Ad}{{{Al{Aj}}{Al{Aj}}}Ad}{{{Al{Ah}}{Al{An}}}Ad}{{{Al{Ah}}{Al{{Al{An}}}}}Ad}{{{Al{Ah}}{Al{B`}}}Ad}{{{Al{Ah}}{Al{Ah}}}Ad}{{{Al{Ah}}{Al{l}}}Ad}{{{Al{Bh}}{Al{Bh}}}Ad}`{{{Al{Bbb}}Chc}CjCl}{{hAd}h}{{bc}b{{f{Cn}}}}{{{Al{b}}c}{{D`{{Al{b}}}}}{{Dd{Db}}}}{{{Al{Bbb}}c}{{D`{{Al{Bbb}}}}}{{Dd{Db}}}}{{bAd}b}{{{Al{j}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{h}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Af}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{b}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Bf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Aj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ah}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Bh}}{Al{BbDf}}}{{Dj{BdDh}}}}0{cc{}}{{{Al{h}}}h}11{{{Al{Af}}}Af}{{{Al{b}}}b}333{{{Al{l}}}Ah}{{{Al{{Al{An}}}}}Ah}5{{{Al{An}}}Ah}{{{Al{Ah}}}Ah}{lAh}8{{{Al{Aj}}}{{Dj{DlCj}}}}{{{Al{BbAj}}}{{Dj{DlCj}}}}{{{Al{An}}Ad}{{Dj{DnB`}}}}{{{Al{An}}}{{Dj{Bf}}}}{{{Al{An}}}{{Dj{Bh}}}}{{{Al{b}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{Al{j}}}}11{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}100{{{Al{h}}}{{D`{{E`{Ed}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{Ed}}}}}}}}{{{Al{b}}{Al{h}}}{{E`{{Al{h}}}}}}{{{Al{Af}}}{{`{{Eb{}{{A`{{Al{Ah}}}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{h}}}}}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}990{{{Al{b}}}Bh}{{{Al{Aj}}{Al{An}}}Ef}{{{Al{h}}}{{Al{{Eh{Bl}}}}}}3{{{Al{h}}}Cf}{{{Al{b}}}Cf}{{{Al{b}}}{{D`{{Al{Cn}}}}}}{{{Al{Aj}}{Al{An}}}Ad}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{Af}}}}}}}}}}{{{Al{h}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{Al{Ah}}}}{{{Al{Af}}}{{Al{Ah}}}}{{{Al{h}}}{{D`{Cf}}}}3{{{Al{b}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}?6?{{{Al{Aj}}{Al{An}}}{{D`{{Ej{c}}}}}{ElEnF`Fb}}{bAj}{{be}Aj{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Bbb}}}Aj}{{{Al{b}}}{{Al{An}}}}{{{Al{b}}}{{E`{{Al{An}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{D`{Ff}}}}{{{Al{Aj}}{Al{An}}}{{D`{{Fh{c}}}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{D`{{Al{c}}}}}{ElEnF`Fb}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{h}}}}}}}}}}0{{{Al{h}}}{{E`{Fj}}}}{{{Al{Aj}}{Al{An}}}{{D`{Fl}}}}{{{Al{Aj}}{Al{An}}}{{D`{Fn}}}}{{{Al{h}}}{{D`{Ed}}}}{{{Al{h}}}{{D`{{E`{Ed}}}}}}{{{Al{b}}}{{D`{Ed}}}}{{{Al{b}}}{{Al{G`}}}};;{{{Al{b}}}{{`{{Eb{}{{A`{{Al{b}}}}}}}}}}{{{Al{Bbb}}}{{`{{Eb{}{{A`{{Al{Bbb}}}}}}}}}}5{{{Al{h}}}Bf}{{{Al{h}}}{{D`{{Al{{Eh{l}}}}}}}}{{{Al{h}}}{{Al{Cn}}}}{{{Al{h}}}{{D`{{Al{l}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}0;{{{Al{b}}}{{`{{Eb{}{{A`{Ed}}}}}}}}{{hAd}h}{{hc}h{{f{Ah}}}}{{bc}b{{n{Af}}}}{{}{{D`{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{be}b{{n{Af}}}{{Ab{}{{A`{c}}}}}}{{{Al{An}}}Ad}{{{Al{b}}}Ad}{{{Al{Bf}}{Al{Bbc}}}BdGb}{{{Al{Ah}}{Al{Bbc}}}BdGb}{{hc}h{{f{d}}}}{{bAd}b}{{hc}h{{f{l}}}}{{bc}b{{f{d}}}}=2===2={{hc}h{{n{Ah}}}}{{Afc}Af{{n{Ah}}}}{{{Al{Aj}}}Gd}{{hAd}h}6{{hc}h{{f{Cf}}}}{{{Al{b}}{Al{Ah}}}Al}{{{Al{Aj}}{Al{An}}}{{D`{Cf}}}}{{{Al{Aj}}{Al{An}}}{{D`{Gf}}}}::{ce{}{}}0000000{j{{Gh{j}}}}{Bf{{Gh{Bf}}}}{c{{Gh{Ah}}}{}}{c{{Gh{l}}}{}}{c{{Gh{B`}}}{}}{{{Al{b}}}Ad}{{{Al{h}}}Ad}101111111010000010001{{{Al{BbAf}}}Ad}1221211{{{Al{Af}}}Ad}3332>{{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{{bCf}b}{{bAd}b}{{AfAd}Af}{{bce}b{{Dd{An}}}{{Gj{h}{{Cb{h}}}}}}{{bc}b{{Gl{h}{{Cb{h}}}}}}{{bce}b{{Dd{An}}}{{Gj{Af}{{Cb{Af}}}}}}{{bce}b{{Dd{An}}}{{Gj{b}{{Cb{b}}}}}}:{ch{{n{Ah}}}}{cAf{{n{Ah}}}}{cb{{n{l}}}}{{bc}b{{f{Cf}}}}={{hAd}h}::{{hc}h{{f{Ff}}}}{{bc}b{{f{d}}}}0{{hc}h{{f{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{}Gn}{eGn{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}`{{{Al{h}}{Al{h}}}{{D`{Bj}}}}{{{Al{Ah}}{Al{Ah}}}{{D`{Bj}}}}{{}{{`{{Eb{}{{A`{Fj}}}}}}}}{{{Al{Bbb}}}{{Dj{BdH`}}}}0{{bAd}b};{{{Al{BbAj}}{Al{An}}}{{D`{{Hb{c}}}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{D`{{Hd{c}}}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{D`{c}}}{ElEnF`Fb}}{{{Al{BbAj}}}{{D`{{C`{B`Aj}}}}}}{{{Al{Bbb}}}d}0{{{Al{b}}}B`}10{{hAd}h}0{{AfAd}Af}{{hce}h{{n{Ah}}}{{n{Bl}}}}{{hg}h{{n{Ah}}}{{n{Bl}}}{{Ab{}{{A`{{C`{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{Bn}}}{{n{Ah}}}}{{hg}h{{n{Bn}}}{{n{Ah}}}{{Ab{}{{A`{{C`{ce}}}}}}}}{{{Al{Bbb}}c}Bd{{n{B`}}}}{{hc}h{{f{Ed}}}}0{{hc}h{{Ab{}{{A`{Ed}}}}}}{{bc}b{{f{Ed}}}}0{{bc}b{{Ab{}{{A`{Ed}}}}}}{{bG`}b}{{bc}b{{n{b}}}}{{{Al{Aj}}}{{D`{{C`{{Al{An}}{Al{Aj}}}}}}}}{{bc}b{{f{l}}}}{{{Al{Aj}}{Al{An}}}{{D`{{Al{Aj}}}}}}{{{Al{Aj}}}{{D`{{Al{An}}}}}}{{bAd}b}003{{be}b{{n{b}}}{{Ab{}{{A`{c}}}}}}{{{Al{j}}}Ad}{{bCf}b}{{{Al{c}}}e{}{}}0000000{{{Al{Dn}}}{{D`{Fj}}}}{{{Al{Bh}}}{{D`{Fj}}}}{{{Al{c}}}B`{}}000{{hAd}h}{{{Al{Aj}}{Al{An}}}{{Dj{AdHf}}}}{c{{Dj{e}}}{}{}}0000000{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Ej{c}}}}Hf}}}{ElEnF`Fb}}{b{{Dj{AjCj}}}}{{be}{{Dj{AjCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Bbb}}e}{{Dj{AjCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Fh{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Al{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{Fl}}Hf}}}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{Fn}}Hf}}}}88888888{{}{{Dj{GnCj}}}}{e{{Dj{GnCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{{Hb{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{{Hd{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{c}}Hf}}}{ElEnF`Fb}}{{{Al{BbGn}}e}{{Dj{BdCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{c}}}Hh{}}0000000{{{Al{BbGn}}e}Bd{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{BbDl}}{Al{Aj}}}{{Dj{BdCj}}}}{{{Al{BbDl}}{Al{BbAj}}}{{Dj{BdCj}}}}{{hc}h{{f{Ed}}}}{{hc}h{{f{Bf}}}}{{hc}h{{f{l}}}}{{he}h{{n{l}}}{{Ab{}{{A`{c}}}}}}{{hc}h{{f{Cn}}}}`{{{Al{Aj}}{Al{An}}}{{D`{Hj}}}}3{{}{{Al{{Eh{Dn}}}}}}{{}{{Al{{Eh{Bh}}}}}}{{bc}b{{f{l}}}}605{{be}b{{n{l}}}{{Ab{}{{A`{c}}}}}}109{{hc}h{{Ab{}{{A`{Ed}}}}}}{{bc}b{{f{Ed}}}}{{bc}b{{Ab{}{{A`{Ed}}}}}}`````````````````````````````````````````````````````````````{{Fjc}Fj{{f{l}}}}{{Fje}Fj{{n{l}}}{{Ab{}{{A`{c}}}}}}{{Hlc}Hl{{n{d}}}}{{{Al{d}}}{{`{Cl}}}}{{{Al{Bl}}}{{Al{Db}}}}{{{Al{Bl}}}{{Al{Hn}}}}1{{{Al{l}}}{{Al{An}}}}{{{Al{l}}}{{Al{{Eh{Ef}}}}}}{{{Al{l}}}{{Al{Hn}}}}{{{Al{l}}}{{Al{Db}}}}3{{}Cn}{{{Al{c}}}{{Al{e}}}{}{}}007000050000000000000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000000000000000000{{{Al{Cn}}}Cn}{{{Al{Bn}}}Bn}{{{Al{Bl}}}Bl}{{{Al{Fj}}}Fj}{{{Al{Ff}}}Ff}{{{Al{{Gh{c}}}}}{{Gh{c}}}En}{{{Al{l}}}l}{{{Al{d}}}d}{{{Al{I`}}}I`}{{{Al{Ib}}}Ib}{{{Al{Id}}}Id}{{{Al{{If{c}}}}}{{If{c}}}{EnDnEnF`Fb}}{{{Al{Ih}}}Ih}{{{Al{{Ij{c}}}}}{{Ij{c}}}{En{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}}{{J`{c}}}{En{In{Jb}}}}{{{Al{Jd}}}Jd}{{{Al{Jf}}}Jf}{{{Al{Jh}}}Jh}{{{Al{Jj}}}Jj}{{{Al{{Jl{ce}}}}}{{Jl{ce}}}EnEn}{{{Al{{Jn{ce}}}}}{{Jn{ce}}}EnEn}{{{Al{Hl}}}Hl}{{{Al{G`}}}G`}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000000000000000000{{{Al{c}}}Bd{}}000000000000000000000000000000000{{{Al{Bl}}{Al{Bl}}}Bj}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}BjK`}{{{Al{l}}{Al{l}}}Bj}{{{Al{d}}{Al{d}}}Bj}{{}Bl}{{}Fj}{{}Ff}{{}l}{{}{{Al{d}}}}{{}d}{{}I`}{{}Ib}{{}Id}{{}{{If{c}}}{DnEnF`Fb}}{{}{{Ij{c}}}{{In{Il}}EnF`Fb}}{{}{{J`{c}}}{{In{Jb}}}}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}G`}{{}{{Al{G`}}}}{{{Al{Bl}}}{{Al{Db}}}}{{{Al{l}}}{{Al{An}}}}{{{Al{Ff}}}{{Kb{{Al{Cf}}}}}}{{{Al{Bn}}{Al{Bn}}}Ad}{{{Al{Bl}}{Al{An}}}Ad}{{{Al{Bl}}{Al{Bl}}}Ad}{{{Al{Bl}}{Al{B`}}}Ad}{{{Al{Bl}}{Al{{Al{Db}}}}}Ad}{{{Al{Bl}}{Al{{Al{An}}}}}Ad}{{{Al{Bl}}{Al{Fd}}}Ad}{{{Al{Fj}}{Al{Fj}}}Ad}{{{Al{Ff}}{Al{Ff}}}Ad}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}AdKd}{{{Al{l}}{Al{An}}}Ad}{{{Al{l}}{Al{Db}}}Ad}{{{Al{l}}{Al{l}}}Ad}{{{Al{l}}{Al{{Al{Db}}}}}Ad}{{{Al{l}}{Al{{Al{An}}}}}Ad}{{{Al{l}}{Al{Ah}}}Ad}{{{Al{l}}{Al{B`}}}Ad}{{{Al{d}}{Al{d}}}Ad}{{G`Kf}G`}{{{Al{Cn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Bn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Bl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Fj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ff}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{{Gh{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{l}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{d}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{I`}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ib}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Id}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{If{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{KhDnEnF`Fb}}{{{Al{Ih}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Ij{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{Kh{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{Kh{In{Jb}}}}{{{Al{Jd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jh}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Jl{ce}}}}{Al{BbDf}}}{{Dj{BdDh}}}KhKh}{{{Al{{Jn{ce}}}}{Al{BbDf}}}{{Dj{BdDh}}}KhKh}{{{Al{Hl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{G`}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Kj{Il}}}Cn}{{{Kl{Il}}}Cn}{{{E`{c}}}Cn{{n{Fj}}}}{cc{}}{{{Kn{c}}}Cn{{n{Fj}}}}{L`Cn}{{{Lb{Il}}}Cn}{{{Ld{Il}}}Cn}{{{Lf{Il}}}Cn}{cCn{LhF`Fb}}{cBn{{n{Bl}}}}7{{{Al{Bl}}}Bl}{{{Al{l}}}Bl}{{{Al{{Al{An}}}}}Bl}{lBl}{{{Al{{Al{Db}}}}}Bl}{{{Al{Db}}}Bl}={{{Al{An}}}Bl}>{cFj{{n{l}}}}{{{Lf{Cf}}}Ff}{{{Kl{Cf}}}Ff}{{{Lb{Cf}}}Ff}{cc{}}{L`Ff}{CfFf}{{{Ld{Cf}}}Ff}{{{Kj{Cf}}}Ff}{Ljc{}}{{{D`{c}}}{{Gh{c}}}{}}6{c{{Gh{c}}}{}}{{{Al{An}}}l}8{Ahl}{{{Al{{Al{An}}}}}l}{{{Al{l}}}l}{{{Al{An}}}d}<{{{Al{B`}}}d}{B`d}{{{Al{{Al{An}}}}}d}????{eIh{{n{Fj}}}{{Ab{}{{A`{c}}}}}}{cc{}}{c{{Ij{e}}}{{Ll{Il}}}{{In{Il}}EnF`Fb}}1{c{{J`{e}}}{{Ll{Jb}}}{{In{Jb}}}}222222222{{{Al{G`}}}{{Al{Kf}}}}0{{{Al{Fj}}}{{D`{{Al{d}}}}}}11{{{Al{Fj}}}{{Al{An}}}}{{{Al{Fj}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}333{{{Al{Bl}}{Al{Bbc}}}BdGb}{{{Al{Ff}}{Al{Bbc}}}BdGb}{{{Al{{Gh{c}}}}{Al{Bbe}}}BdLnGb}{{{Al{l}}{Al{Bbc}}}BdGb}{{G`Kf}G`}{{Fjc}Fj{{f{d}}}}{{FjAd}Fj}{ce{}{}}0000000000000000000000{f{{Gh{c}}}{}}{c{{Gh{Cn}}}{}}{c{{Gh{Bl}}}{}}{c{{Gh{Ff}}}{}}{{{Gh{c}}}{{Gh{c}}}{}}{c{{Gh{B`}}}{}}{c{{Gh{l}}}{}}{c{{Gh{Ah}}}{}}5{c{{Gh{d}}}{}}77777777777777<{{{Al{Fj}}}Ad}={{{Lh{}{{M`{c}}}}g}{{Jl{{Lh{}{{M`{c}}}}g}}}{F`FbEn}{F`FbEn}{{Mb{c}{{Cb{e}}}}En}}{{{Al{Fj}}{Al{An}}Ad}Ad}{{{Al{Ff}}}Cf}0{cCnLh}{cFj{{n{l}}}}{cFf{{n{Ff}}}}{{}d}{{}I`}{{}Ib}{{}Id}{{}{{If{c}}}{DnEnF`Fb}}{cIh{{n{Ih}}}}{{}{{Ij{c}}}{{In{Il}}EnF`Fb}}{{}{{J`{c}}}{{In{Jb}}}}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}Cn}{{{Al{{Lh{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{cCj}}}{F`FbEn}}{{{Al{I`}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Ib}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Id}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Ih}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{B`Cj}}}}{{{Al{{Jl{cg}}}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}Lh{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Lh{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}FdHj}{{Dj{cCj}}}{F`FbEn}}{{{Al{{Lh{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{cCj}}}{F`FbEn}}{{{Al{I`}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Ib}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Id}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{If{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{DnEnF`Fb}}{{{Al{Ih}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Ij{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{{In{Jb}}EnF`Fb}}{{{Al{Jd}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jf}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jh}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jj}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Jl{cg}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}Lh{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Jn{ci}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}Lh{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Al{Hl}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Lh{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}Hj}{{Dj{cCj}}}{F`FbEn}}{{{Al{Hl}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}Hj}{{Dj{Cj}}}}{{{Al{Bl}}{Al{Bl}}}{{D`{Bj}}}}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}{{D`{Bj}}}Mh}{{{Al{l}}{Al{l}}}{{D`{Bj}}}}{{{Al{d}}{Al{d}}}{{D`{Bj}}}}{{}Cn}{{G`Kf}G`}{{}G`}{{{Al{Cn}}}{{D`{{Mf{Eb}}}}}}{{{Al{{Lh{}{{M`{c}}}}}}}{{D`{{Mf{Eb}}}}}{F`FbEn}}{{{Al{{If{c}}}}}{{D`{{Mf{Eb}}}}}{DnEnF`Fb}}{{{Al{Ih}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jd}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jf}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jh}}}{{D`{{Mf{Eb}}}}}}{{{Al{{Jl{cg}}}}}{{D`{{Mf{Eb}}}}}Lh{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Jn{ci}}}}}{{D`{{Mf{Eb}}}}}Lh{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Ij{c}}e}{{Ij{c}}}{{In{Il}}EnF`Fb}{{Ll{Il}}}}{{{J`{c}}e}{{J`{c}}}{{In{Jb}}}{{Ll{Jb}}}}{{{Al{Ff}}}{{Kb{{Al{Cf}}}}}}><`{cHl{{n{d}}}}{cHl{{n{l}}}}{{{Al{Ff}}}Ad}{{{Al{Bl}}}Fd}{{{Al{c}}}e{}{}}0000000000000000000000{{{Al{c}}}B`{}}00{c{{Dj{e}}}{}{}}000000000000000000000000000000000000000000000{{{Lh{}{{M`{c}}}}i}{{Jn{{Lh{}{{M`{c}}}}i}}}{F`FbEn}{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{c}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Al{c}}}Hh{}}{{{Al{Cn}}}Mj}1111111111111111111111{{G`Kf}G`}0{{}c{}}{{{Al{Bbd}}Ed}{{Dj{BdDh}}}}{{{Al{Bbd}}{Al{An}}}{{Dj{BdDh}}}}````````````````````````````````````````{MlEf}{{Kf{D`{Mn}}}Kf}{{N`N`}N`}{{KfN`}Kf}{{{Al{BbN`}}N`}Bd}{{{Al{BbKf}}N`}Bd}{KfKf}0{{{Al{c}}}{{Al{e}}}{}{}}0000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000{{NbAd}Nb}{N`N`}{{{Al{Mn}}}Mn}{{{Al{Nb}}}Nb}{{{Al{Nd}}}Nd}{{{Al{Ml}}}Ml}{{{Al{N`}}}N`}{{{Al{Nf}}}Nf}{{{Al{Nh}}}Nh}{{{Al{Kf}}}Kf}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000{{{Al{c}}}Bd{}}00000000000000{{{Al{Mn}}{Al{Mn}}}Bj}{{{Al{Nb}}{Al{Nb}}}Bj}{{{Al{Nd}}{Al{Nd}}}Bj}{{{Al{Ml}}{Al{Ml}}}Bj}{{{Al{N`}}{Al{N`}}}Bj}{{{Al{Nh}}{Al{Nh}}}Bj}{{{Al{Kf}}{Al{Kf}}}Bj}{{N`N`}Ad}{{}N`}{{}Nh}{{}Kf}{KfKf}{{KfN`}Kf}{{{Al{Mn}}{Al{Mn}}}Ad}{{{Al{Nb}}{Al{Nb}}}Ad}{{{Al{Nd}}{Al{Nd}}}Ad}{{{Al{Ml}}{Al{Ml}}}Ad}{{{Al{N`}}{Al{N`}}}Ad}{{{Al{Nf}}{Al{Nf}}}Ad}{{{Al{Nh}}{Al{Nh}}}Ad}{{{Al{Kf}}{Al{Kf}}}Ad}{{{Al{Kf}}{Al{N`}}}Ad}{{Kf{D`{Mn}}}Kf}{{{Al{Mn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nb}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ml}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{N`}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nh}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Kf}}{Al{BbDf}}}{{Dj{BdDh}}}}0{EfMn}{NbMn}{cc{}}{MlMn}{{{C`{EfEfEf}}}Mn}{NdMn}33{EfNd}{NbNd}5{{{C`{EfEfEf}}}Ml}6666{N`Kf}2{MlEf}{Kf{{D`{Mn}}}}{KfN`}11{{{Al{Mn}}{Al{Bbc}}}BdGb}{{{Al{Nb}}{Al{Bbc}}}BdGb}{{{Al{Nd}}{Al{Bbc}}}BdGb}{{{Al{Ml}}{Al{Bbc}}}BdGb}{{{Al{N`}}{Al{Bbc}}}BdGb}{{{Al{Nh}}{Al{Bbc}}}BdGb}{{{Al{Kf}}{Al{Bbc}}}BdGb}{KfKf}{NdEf}{{N`N`}N`}{ce{}{}}0000000{Nd{{D`{Nb}}}}14{NbAd}{N`Ad}{KfAd}7{N`Nf}{{}N`}{{}Kf}{{{Al{BbNf}}}D`}{{Mnc}Kf{{n{Mn}}}}{{Nbc}Kf{{n{Mn}}}}{{Ndc}Kf{{n{Mn}}}}{{Mlc}Kf{{n{Mn}}}}{MnKf}{NbKf}{NdKf}{MlKf}{{{Al{Mn}}{Al{Mn}}}{{D`{Bj}}}}{{{Al{Nb}}{Al{Nb}}}{{D`{Bj}}}}{{{Al{Nd}}{Al{Nd}}}{{D`{Bj}}}}{{{Al{Ml}}{Al{Ml}}}{{D`{Bj}}}}{{{Al{N`}}{Al{N`}}}{{D`{Bj}}}}{{{Al{Nh}}{Al{Nh}}}{{D`{Bj}}}}{{{Al{Kf}}{Al{Kf}}}{{D`{Bj}}}}{MlEf}{{N`N`}N`}{N`{{`{ClNj}}}}{Nh{{`{ClNj}}}}{Kf{{`{ClNj}}}}{Mn{{`{ClNj}}}}{Nb{{`{ClNj}}}}{Nd{{`{ClNj}}}}{Ml{{`{ClNj}}}}32104{{N`N`Ad}N`}{KfKf}9{{KfN`}Kf}{{{Al{BbN`}}N`}Bd}{{{Al{BbKf}}N`}Bd}{{{Al{c}}}e{}{}}0000000{{{Al{c}}}B`{}}0{c{{Dj{e}}}{}{}}000000000000000{{{Al{c}}}Hh{}}00000007{{Kf{D`{Mn}}}Kf}{{Kf{Al{BbNl}}}{{Dj{BdH`}}}}0````````````````````````````````````````````````````{{{Cj{c}}}{{Cj{e}}}NnNn}{O`{{D`{{Al{An}}}}}}{Ch{{D`{{Al{An}}}}}}{{{Al{c}}}{{Al{e}}}{}{}}00000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}00000{{{Al{O`}}}O`}{{{Al{Ob}}}Ob}{{{Al{Ch}}}Ch}{{{Al{c}}{Al{Bbe}}}Bd{}{}}00{{{Al{c}}}Bd{}}0000{{{Al{{Cj{c}}}}}{{`{{Eb{}{{A`{{C`{O`{Al{Ob}}}}}}}}}}}Nn}{{{Al{O`}}{Al{O`}}}Ad}{{{Al{Ob}}{Al{Ob}}}Ad}{{{Al{Ch}}{Al{Ch}}}Ad}{{{Al{{Cj{c}}}}}LjNn}{{{Al{{Cj{c}}}}}OdNn}{{{Al{{Cj{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Nn}0{{{Al{O`}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Ob}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Ch}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Cj{c}}{Al{Bbb}}}{{Cj{c}}}Nn}{{{Al{{Cj{Nn}}}}}d}{{{Al{{Cj{Of}}}}}d}{{{Al{Cj}}}d}{cc{}}00{Dh{{Cj{c}}}Nn}{H`{{Cj{c}}}Nn}222{{{Al{{Cj{c}}}}O`}{{D`{{Al{Ob}}}}}Nn}{{{Al{O`}}{Al{Bbc}}}BdGb}{{{Al{Ch}}{Al{Bbc}}}BdGb}{{{Al{Bb{Cj{c}}}}O`Ob}{{D`{Ob}}}Nn}{ce{}{}}00000{{{Al{{Cj{c}}}}}ChNn}{Ch{{Cj{c}}}Nn}{{{Al{{Cj{c}}}}}{{Dj{BdH`}}}Nn}{{Chc}{{Cj{e}}}ClNn}{{{Al{{Cj{c}}}}}dNn}{{{Al{{Cj{c}}}}}{{D`{{Al{Md}}}}}Nn}{{{Al{c}}}e{}{}}00{{{Al{c}}}B`{}}000{c{{Dj{e}}}{}{}}00000000000{{{Al{c}}}Hh{}}00000{{{Al{{Cj{c}}}}}AdNn}{{{Cj{c}}{Al{b}}}{{Cj{c}}}Nn}`````````````{{{Al{c}}}{{Al{e}}}{}{}}000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}000000{{{Al{Hf}}}Hf}{{{Al{Gd}}}Gd}{{{Al{{Hb{c}}}}}{{Hb{c}}}En}{{{Al{{Ej{c}}}}}{{Ej{c}}}En}{{{Al{Fl}}}Fl}{{{Al{Gf}}}Gf}{{{Al{Hj}}}Hj}{{{Al{c}}{Al{Bbe}}}Bd{}{}}000000{{{Al{c}}}Bd{}}0000000{{{Al{Hj}}{Al{Hj}}}Bj}{{}{{Hb{c}}}{}}{{}{{Ej{c}}}{}}{{}Fl}{{}Gf}{{{Al{Hj}}{Al{Hj}}}Ad}{{{Al{Hf}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Gd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Hb{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{{Ej{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{Fl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Gf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Hj}}{Al{BbDf}}}{{Dj{BdDh}}}}{cc{}}000000{ce{}{}}00000000000{{{Al{BbGd}}}{{D`{{Al{Ah}}}}}}{{{Al{Bb{Hb{c}}}}}D`{}}{{{Al{Bb{Ej{c}}}}}D`{}}{{{Al{BbFl}}}{{D`{{Al{Db}}}}}}{{{Al{BbGf}}}{{D`{Cf}}}}43210{{{Al{Hj}}{Al{Hj}}}{{D`{Bj}}}}{{{Al{Gd}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{{Hb{c}}}}}{{C`{Cf{D`{Cf}}}}}{}}{{{Al{{Ej{c}}}}}{{C`{Cf{D`{Cf}}}}}{}}{{{Al{Fl}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{Gf}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{c}}}e{}{}}000000{{{Al{c}}}B`{}}{c{{Dj{e}}}{}{}}0000000000000{{{Al{c}}}Hh{}}000000``","D":"F@d","p":[[5,"Command",0,1619],[5,"StyledStr",515,1620],[10,"IntoResettable",515,1621],[5,"Arg",0,1622],[6,"ArgAction",0,1623],[5,"Str",515,1624],[10,"Into",1625],[17,"Item"],[10,"IntoIterator",1626],[1,"bool"],[5,"ArgGroup",0,1627],[5,"Id",0,1628],[5,"ArgMatches",0,1629],[1,"reference"],[1,"str"],[5,"String",1630],[0,"mut"],[1,"unit"],[6,"ValueHint",0,1631],[6,"ColorChoice",0,1632],[6,"Ordering",1633],[5,"OsStr",515,1634],[6,"ArgPredicate",515,1635],[1,"tuple"],[17,"Output"],[1,"fn"],[1,"usize"],[6,"ErrorKind",1343,1636],[5,"Error",1343,1637],[10,"Display",1638],[5,"ValueParser",515,1639],[6,"Option",1640],[5,"OsStr",1641],[10,"AsRef",1625],[5,"Formatter",1638],[5,"Error",1638],[6,"Result",1642],[10,"FromArgMatches",0,1643],[10,"ValueEnum",0,1643],[5,"Vec",1644],[10,"Iterator",1645],[1,"char"],[1,"u8"],[1,"slice"],[5,"ValuesRef",1490,1629],[10,"Any",1646],[10,"Clone",1647],[10,"Send",1648],[10,"Sync",1648],[5,"OsString",1641],[5,"ValueRange",515,1649],[5,"OccurrencesRef",1629],[5,"PossibleValue",515,1650],[5,"RawValues",1490,1629],[5,"RawOccurrences",1629],[5,"Styles",515,1651],[10,"Hasher",1652],[5,"IdsRef",1490,1629],[5,"Indices",1490,1629],[6,"Resettable",515,1621],[10,"FnOnce",1653],[10,"FnMut",1653],[10,"Parser",0,1643],[5,"Error",1654],[5,"Values",1490,1629],[5,"Occurrences",1629],[6,"MatchesError",1490,1655],[5,"TypeId",1646],[6,"ValueSource",1490,1656],[5,"UnknownArgumentValueParser",515,1639],[5,"Path",1657],[5,"StringValueParser",515,1639],[5,"OsStringValueParser",515,1639],[5,"PathBufValueParser",515,1639],[5,"EnumValueParser",515,1639],[5,"PossibleValuesParser",515,1639],[5,"RangedI64ValueParser",515,1639],[1,"i64"],[10,"TryFrom",1625],[5,"RangedU64ValueParser",515,1639],[1,"u64"],[5,"BoolValueParser",515,1639],[5,"FalseyValueParser",515,1639],[5,"BoolishValueParser",515,1639],[5,"NonEmptyStringValueParser",515,1639],[5,"MapValueParser",515,1639],[5,"TryMapValueParser",515,1639],[10,"Ord",1633],[6,"Bound",1658],[10,"PartialEq",1633],[5,"Style",1088,1659],[10,"Debug",1638],[5,"Range",1658],[5,"RangeToInclusive",1658],[1,"array"],[5,"RangeFull",1658],[5,"RangeFrom",1658],[5,"RangeInclusive",1658],[5,"RangeTo",1658],[10,"TypedValueParser",515,1639],[1,"never"],[10,"RangeBounds",1658],[10,"Hash",1652],[17,"Value"],[10,"Fn",1653],[10,"Error",1660],[5,"Box",1661],[10,"PartialOrd",1633],[5,"AnyValueId",1662],[5,"RgbColor",1088,1663],[6,"Color",1088,1663],[5,"Effects",1088,1664],[6,"AnsiColor",1088,1663],[5,"Ansi256Color",1088,1663],[5,"EffectIter",1088,1664],[5,"Reset",1088,1665],[10,"Copy",1648],[10,"Write",1666],[10,"ErrorFormatter",1343,1667],[6,"ContextKind",1343,1668],[6,"ContextValue",1343,1668],[1,"i32"],[5,"KindFormatter",1343,1667],[10,"Args",0],[10,"Subcommand",0],[10,"CommandFactory",0],[10,"ValueParserFactory",515],[8,"Result",1343],[5,"DefaultFormatter",1343],[15,"Downcast",1617]],"r":[[3,1622],[4,1623],[5,1627],[6,1629],[7,1643],[9,1632],[10,1619],[11,1643],[18,1669],[21,1643],[26,1628],[29,1643],[33,1643],[37,1643],[38,1631],[54,1669],[89,1669],[120,1669],[162,1669],[386,1669],[499,1669],[517,1622],[518,1623],[519,1627],[520,1635],[521,1639],[522,1639],[523,1619],[531,1639],[534,1639],[540,1621],[542,1639],[543,1639],[544,1634],[545,1639],[548,1639],[549,1650],[550,1639],[551,1639],[552,1639],[554,1621],[559,1624],[560,1639],[561,1620],[562,1651],[563,1639],[564,1639],[566,1639],[571,1631],[572,1639],[573,1639],[574,1649],[981,1670],[1090,1663],[1091,1663],[1105,1663],[1111,1664],[1112,1664],[1119,1665],[1121,1663],[1123,1659],[1124,1651],[1346,1668],[1347,1668],[1354,1637],[1355,1667],[1356,1636],[1366,1667],[1375,1637],[1376,1667],[1490,1629],[1495,1629],[1496,1629],[1497,1655],[1498,1629],[1500,1656],[1501,1629],[1502,1629]],"b":[[156,"impl-PartialEq%3Cstr%3E-for-Id"],[157,"impl-PartialEq%3C%26str%3E-for-Id"],[158,"impl-PartialEq%3CString%3E-for-Id"],[159,"impl-PartialEq-for-Id"],[160,"impl-PartialEq%3CStr%3E-for-Id"],[170,"impl-Display-for-Arg"],[171,"impl-Debug-for-Arg"],[173,"impl-Debug-for-Command"],[174,"impl-Display-for-Command"],[177,"impl-Display-for-Id"],[178,"impl-Debug-for-Id"],[179,"impl-Display-for-ColorChoice"],[180,"impl-Debug-for-ColorChoice"],[190,"impl-From%3C%26Str%3E-for-Id"],[191,"impl-From%3C%26%26str%3E-for-Id"],[193,"impl-From%3C%26str%3E-for-Id"],[194,"impl-From%3C%26Id%3E-for-Id"],[195,"impl-From%3CStr%3E-for-Id"],[581,"impl-AsRef%3CPath%3E-for-OsStr"],[582,"impl-AsRef%3COsStr%3E-for-OsStr"],[583,"impl-AsRef%3Cstr%3E-for-Str"],[584,"impl-AsRef%3C%5Bu8%5D%3E-for-Str"],[585,"impl-AsRef%3CPath%3E-for-Str"],[586,"impl-AsRef%3COsStr%3E-for-Str"],[725,"impl-Default-for-%26StyledStr"],[726,"impl-Default-for-StyledStr"],[737,"impl-Default-for-Styles"],[738,"impl-Default-for-%26Styles"],[743,"impl-PartialEq%3Cstr%3E-for-OsStr"],[744,"impl-PartialEq-for-OsStr"],[745,"impl-PartialEq%3CString%3E-for-OsStr"],[746,"impl-PartialEq%3C%26OsStr%3E-for-OsStr"],[747,"impl-PartialEq%3C%26str%3E-for-OsStr"],[748,"impl-PartialEq%3COsString%3E-for-OsStr"],[752,"impl-PartialEq%3Cstr%3E-for-Str"],[753,"impl-PartialEq%3COsStr%3E-for-Str"],[754,"impl-PartialEq-for-Str"],[755,"impl-PartialEq%3C%26OsStr%3E-for-Str"],[756,"impl-PartialEq%3C%26str%3E-for-Str"],[757,"impl-PartialEq%3CId%3E-for-Str"],[758,"impl-PartialEq%3CString%3E-for-Str"],[765,"impl-Display-for-ValueRange"],[766,"impl-Debug-for-ValueRange"],[768,"impl-Debug-for-Str"],[769,"impl-Display-for-Str"],[770,"impl-Debug-for-StyledStr"],[771,"impl-Display-for-StyledStr"],[787,"impl-From%3CRange%3Ci64%3E%3E-for-ValueParser"],[788,"impl-From%3CRangeToInclusive%3Ci64%3E%3E-for-ValueParser"],[789,"impl-From%3CVec%3CP%3E%3E-for-ValueParser"],[791,"impl-From%3C%5BP;+C%5D%3E-for-ValueParser"],[792,"impl-From%3CRangeFull%3E-for-ValueParser"],[793,"impl-From%3CRangeFrom%3Ci64%3E%3E-for-ValueParser"],[794,"impl-From%3CRangeInclusive%3Ci64%3E%3E-for-ValueParser"],[795,"impl-From%3CRangeTo%3Ci64%3E%3E-for-ValueParser"],[796,"impl-From%3CP%3E-for-ValueParser"],[799,"impl-From%3C%26OsStr%3E-for-OsStr"],[800,"impl-From%3C%26Str%3E-for-OsStr"],[801,"impl-From%3C%26%26str%3E-for-OsStr"],[802,"impl-From%3CStr%3E-for-OsStr"],[803,"impl-From%3C%26%26OsStr%3E-for-OsStr"],[804,"impl-From%3C%26OsStr%3E-for-OsStr"],[806,"impl-From%3C%26str%3E-for-OsStr"],[809,"impl-From%3CRangeTo%3Cusize%3E%3E-for-ValueRange"],[810,"impl-From%3CRangeToInclusive%3Cusize%3E%3E-for-ValueRange"],[811,"impl-From%3CRangeFrom%3Cusize%3E%3E-for-ValueRange"],[813,"impl-From%3CRangeFull%3E-for-ValueRange"],[814,"impl-From%3Cusize%3E-for-ValueRange"],[815,"impl-From%3CRangeInclusive%3Cusize%3E%3E-for-ValueRange"],[816,"impl-From%3CRange%3Cusize%3E%3E-for-ValueRange"],[818,"impl-From%3COption%3CT%3E%3E-for-Resettable%3CT%3E"],[820,"impl-From%3CT%3E-for-Resettable%3CT%3E"],[821,"impl-From%3C%26str%3E-for-Str"],[823,"impl-From%3CId%3E-for-Str"],[824,"impl-From%3C%26%26str%3E-for-Str"],[825,"impl-From%3C%26Str%3E-for-Str"],[826,"impl-From%3C%26str%3E-for-StyledStr"],[828,"impl-From%3C%26String%3E-for-StyledStr"],[829,"impl-From%3CString%3E-for-StyledStr"],[830,"impl-From%3C%26%26str%3E-for-StyledStr"],[1205,"impl-PartialEq-for-Style"],[1206,"impl-PartialEq%3CEffects%3E-for-Style"],[1214,"impl-Debug-for-Reset"],[1215,"impl-Display-for-Reset"],[1216,"impl-Debug-for-Style"],[1217,"impl-Display-for-Style"],[1218,"impl-From%3Cu8%3E-for-Color"],[1219,"impl-From%3CAnsiColor%3E-for-Color"],[1221,"impl-From%3CRgbColor%3E-for-Color"],[1222,"impl-From%3C(u8,+u8,+u8)%3E-for-Color"],[1223,"impl-From%3CAnsi256Color%3E-for-Color"],[1226,"impl-From%3Cu8%3E-for-Ansi256Color"],[1227,"impl-From%3CAnsiColor%3E-for-Ansi256Color"],[1427,"impl-Display-for-Error%3CF%3E"],[1428,"impl-Debug-for-Error%3CF%3E"],[1429,"impl-Display-for-ContextKind"],[1430,"impl-Debug-for-ContextKind"],[1431,"impl-Display-for-ContextValue"],[1432,"impl-Debug-for-ContextValue"],[1433,"impl-Debug-for-ErrorKind"],[1434,"impl-Display-for-ErrorKind"],[1442,"impl-From%3CError%3E-for-Error%3CF%3E"],[1443,"impl-From%3CError%3E-for-Error%3CF%3E"],[1545,"impl-Display-for-MatchesError"],[1546,"impl-Debug-for-MatchesError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFEDSwA+AAAASAAQAFsAGwCBAAYAmQAJAKoACwC3AAAAugABAL8AAQDCAAIAyQABABsBAQAuAQAAOwEEAIQBAQC2AQcAvwEEAMYBBwDWAQcA5AEHAPgBAABGAgUATgKqAPoCHAAYAwYAIAMFACcDAAApAwMALgMFADUDAQA4AwMAPQMCAEQDAABGAwAASAMAAFwDAwB7AxYAqgMEALEDDQDAAwQAygMGANMDAADbA0cAJAQAACYEFQA/BAEARQQBAFEEAABUBAMAWwQAAGsEAwBxBA8AgwQlAKoEAgCvBAgAuQQLAMYEAgDLBAEAzgQAANMEAADXBAAA2QQHAO0EAAD2BAAA/wQGABYFJQB3BRYAjwUCAJQFBwCeBQEAowUBAKkFAQC3BRkA4AUxACAGMQA="}],\ -["clap_builder",{"t":"PEEEEKPGEKIKFPKKKEQNNMMMMNNNNNCNNNNNNNNMQMNNNNNNNNCNNNNNNNNNNNMNNNNNNNMNNNNNNNNNNCNNNNMNNNNNNNNNNNNNNNNNMNNQMNPPFGFGFFFPPPPPTPFPPFPPPPPKPFFFFPRFFFFFPGTPPPFFFEFKPFPPPRGFKFPEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNPPFGTTPPPPPPPPPPTGPTTTTFFPTTTPPFPFTFFTPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGGPEPPPPFKGPPPPPPPPPFPPPPPPPPIFPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPPPFFGFPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["Always","Arg","ArgAction","ArgGroup","ArgMatches","Args","Auto","ColorChoice","Command","CommandFactory","Error","FromArgMatches","Id","Never","Parser","Subcommand","ValueEnum","ValueHint","arg","as_ref","as_str","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","command","command","command_for_update","default","default","eq","eq","eq","eq","eq","eq","error","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_str","from_str","from_str","group_id","group_id","has_subcommand","hash","into","into","into_resettable","into_resettable","into_resettable","parse","parse","parse_from","parse_from","parser","partial_cmp","possible_values","to_owned","to_owned","to_possible_value","to_possible_value","to_string","to_string","try_from","try_from","try_into","try_into","try_parse","try_parse","try_parse_from","try_parse_from","try_update_from","try_update_from","type_id","type_id","update_from","update_from","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","value_parser","value_variants","value_variants","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","_AnonymousValueParser","_infer_ValueParser_for","about","action","after_help","after_long_help","alias","alias","alias","aliases","aliases","aliases","allow_external_subcommands","allow_hyphen_values","allow_missing_positional","allow_negative_numbers","and_suggest","ansi","arg","arg","arg_required_else_help","args","args","args_conflicts_with_subcommands","args_override_self","as_os_str","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_str","author","before_help","before_long_help","bin_name","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","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","build","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","color","conflicts_with","conflicts_with","conflicts_with_all","conflicts_with_all","debug_assert","default","default","default","default","default","default","default","default","default","default","default","default","default","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","deref","deref","disable_colored_help","disable_help_flag","disable_help_subcommand","disable_version_flag","display_name","display_order","display_order","dont_delimit_trailing_values","end_bound","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","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","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","from","from","from","from","from","from","from","from_str","get_about","get_action","get_after_help","get_after_long_help","get_aliases","get_aliases","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_default_values","get_display_name","get_display_order","get_display_order","get_external_subcommand_value_parser","get_groups","get_help","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_matches","get_matches_from","get_matches_mut","get_name","get_name","get_name_and_aliases","get_name_and_visible_aliases","get_next_help_heading","get_num_args","get_opts","get_positionals","get_possible_values","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","groups","groups","has_subcommands","hash","hash","hash","hash","hash","help","help","help_expected","help_heading","help_template","hide","hide","hide","hide_default_value","hide_long_help","hide_possible_values","hide_possible_values","hide_short_help","id","id","ignore_case","ignore_errors","index","index","infer_long_args","infer_subcommands","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_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","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_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","map","map","matches","max_term_width","max_values","min_values","multicall","multiple","mut_arg","mut_args","mut_group","mut_subcommand","name","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","next_display_order","next_help_heading","next_line_help","next_line_help","no_binary_name","num_args","os_string","override_help","override_usage","overrides_with","overrides_with_all","parse","parse","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_","parse_ref_","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_buf","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","print_help","print_long_help","propagate_version","range","range","raw","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","start_bound","string","styles","styling","subcommand","subcommand_help_heading","subcommand_negates_reqs","subcommand_precedence_over_arg","subcommand_required","subcommand_value_name","subcommands","suggest","suggest_arg","takes_values","takes_values","term_width","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_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","trailing_var_arg","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_get_matches","try_get_matches_from","try_get_matches_from_mut","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_map","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","type_id","type_id","type_id","type_id","value_delimiter","value_hint","value_name","value_names","value_parser","value_parser","value_terminator","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","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","borrow_mut","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","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","cmp","cmp","contains","default","default","default","default","default","dimmed","effects","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","fg_color","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_ansi","g","get_bg_color","get_effects","get_error","get_fg_color","get_header","get_invalid","get_literal","get_placeholder","get_underline_color","get_usage","get_valid","hash","hash","hash","hash","hash","hash","hash","header","hidden","index","insert","into","into","into","into","into","into","into","into","into","into_ansi","into_iter","invalid","invert","is_bright","is_plain","is_plain","italic","iter","literal","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","placeholder","plain","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","styled","sub","sub","sub_assign","sub_assign","to_owned","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_from","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","underline","underline_color","usage","valid","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","args_present","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","contains_id","default","default","default","default","default","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_count","get_flag","get_many","get_occurrences","get_one","get_raw","get_raw_occurrences","ids","index_of","indices_of","into","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","remove_many","remove_occurrences","remove_one","remove_subcommand","size_hint","size_hint","size_hint","size_hint","size_hint","subcommand","subcommand_matches","subcommand_name","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_contains_id","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_many","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_remove_many","try_remove_occurrences","try_remove_one","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value_source","actual","expected"],"q":[[0,"clap_builder"],[110,"clap_builder::builder"],[1011,"clap_builder::builder::styling"],[1296,"clap_builder::error"],[1443,"clap_builder::parser"],[1613,"clap_builder::parser::MatchesError"],[1615,"clap_builder::util::id"],[1616,"clap_builder::builder::command"],[1617,"clap_builder::util::color"],[1618,"core::cmp"],[1619,"clap_builder::builder::str"],[1620,"alloc::string"],[1621,"core::fmt"],[1622,"clap_builder::parser::matches::arg_matches"],[1623,"clap_builder::derive"],[1624,"core::result"],[1625,"core::option"],[1626,"core::hash"],[1627,"clap_builder::builder::resettable"],[1628,"std::ffi::os_str"],[1629,"core::convert"],[1630,"core::clone"],[1631,"core::iter::traits::collect"],[1632,"clap_builder::builder::possible_value"],[1633,"core::iter::traits::iterator"],[1634,"core::any"],[1635,"clap_builder::builder::styled_str"],[1636,"clap_builder::builder::arg"],[1637,"clap_builder::builder::action"],[1638,"clap_builder::builder::value_parser"],[1639,"clap_builder::builder::arg_group"],[1640,"clap_builder::builder::os_str"],[1641,"std::path"],[1642,"clap_builder::builder::arg_predicate"],[1643,"clap_builder::builder::range"],[1644,"clap_builder::builder::value_hint"],[1645,"core::marker"],[1646,"core::ops::range"],[1647,"clap_builder::error::kind"],[1648,"alloc::vec"],[1649,"core::ops::function"],[1650,"clap_builder::parser::matches::value_source"],[1651,"core::error"],[1652,"alloc::boxed"],[1653,"std::io::error"],[1654,"anstyle::color"],[1655,"anstyle::style"],[1656,"anstyle::effect"],[1657,"anstyle::reset"],[1658,"std::io"],[1659,"clap_builder::error::format"],[1660,"clap_builder::error::context"],[1661,"clap_builder::parser::error"]],"i":[6,0,0,0,0,0,6,0,0,0,0,0,0,6,0,0,0,0,0,1,1,125,125,126,126,1,1,6,1,6,0,1,6,1,6,1,6,6,1,127,0,127,1,6,1,1,1,1,1,6,0,1,1,6,6,1,1,1,1,1,1,6,15,15,15,18,18,6,125,125,126,1,1,6,1,1,1,22,22,22,22,0,1,6,1,6,18,6,1,6,1,6,1,6,22,22,22,22,22,22,1,6,22,22,15,15,15,0,18,6,46,35,0,0,0,0,0,0,0,46,46,46,35,46,45,46,0,44,46,0,46,35,35,35,46,0,44,0,0,0,0,46,128,0,0,0,0,0,21,0,45,35,35,35,0,0,0,0,0,0,46,0,46,46,21,83,0,0,0,0,35,0,0,4,34,4,4,34,4,28,34,4,28,4,34,4,34,36,32,38,4,4,38,4,4,4,39,39,39,10,10,10,10,10,4,4,4,4,43,43,35,34,38,44,4,39,39,28,45,21,10,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,45,21,21,10,32,46,46,47,47,48,48,49,49,50,53,54,54,57,57,59,59,60,60,61,61,62,62,63,64,36,34,39,21,10,32,4,34,38,34,38,4,34,38,4,39,28,45,10,32,32,46,47,48,49,50,54,57,59,60,61,62,34,34,34,34,34,34,34,34,4,39,10,4,4,4,4,4,34,4,4,45,34,38,44,39,39,39,39,39,39,28,45,21,10,10,10,10,10,10,10,32,46,4,34,4,4,4,4,43,35,34,34,38,44,4,4,39,28,45,45,21,10,10,32,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,43,43,43,43,43,43,43,43,43,35,34,34,38,38,44,44,4,4,39,39,39,39,39,39,39,39,28,28,45,45,45,45,45,45,45,45,21,21,21,21,10,10,10,10,10,32,32,32,32,32,46,47,48,49,50,53,53,54,54,57,57,59,60,61,62,63,64,36,46,4,34,4,4,34,4,34,4,4,34,4,4,38,4,4,4,4,4,4,34,4,34,4,4,4,34,28,34,34,38,34,34,4,34,4,34,4,4,4,4,4,28,28,4,4,34,4,4,34,34,34,4,4,4,4,4,4,34,34,34,34,34,4,34,4,4,34,4,34,34,4,34,4,4,39,45,21,10,46,34,28,4,34,4,34,4,28,34,34,34,4,34,34,38,34,4,34,4,4,4,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,33,43,35,39,45,21,10,10,10,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,34,4,34,4,4,4,4,4,4,4,34,4,34,34,34,34,34,4,28,34,34,34,4,38,34,4,4,34,4,34,34,38,4,4,4,34,34,34,4,4,4,4,34,4,83,83,28,4,45,45,4,38,4,4,4,4,4,43,34,38,4,28,45,32,47,48,49,50,53,54,57,59,60,61,62,4,4,34,4,4,34,43,4,4,34,34,83,83,47,48,49,53,63,83,83,83,47,48,49,50,53,54,57,59,60,61,62,63,64,36,83,83,36,34,39,21,10,32,43,43,83,83,50,53,59,60,61,63,64,4,4,4,54,57,34,4,4,4,4,4,34,34,38,34,34,34,34,34,34,34,38,38,34,34,4,34,34,34,4,4,4,45,43,4,0,4,4,4,4,4,4,4,36,36,35,45,4,39,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,34,4,45,10,32,34,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,4,4,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,83,83,43,43,35,34,38,44,4,39,28,45,21,10,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,34,34,34,34,128,34,34,4,34,4,34,4,4,4,34,34,4,4,32,32,102,102,0,0,103,103,104,104,104,104,104,104,104,104,104,104,103,0,104,103,103,103,103,0,0,104,103,103,103,104,104,0,102,0,103,0,0,103,104,104,100,101,103,101,103,101,101,101,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,104,103,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,102,102,104,104,105,105,100,100,103,103,106,107,107,101,101,88,102,104,105,100,103,107,101,103,103,107,101,88,88,101,101,102,104,105,100,103,106,107,101,101,88,101,102,104,105,100,103,106,107,107,101,101,88,102,102,102,102,102,102,104,105,105,105,100,100,103,106,107,101,101,88,105,100,101,101,88,101,88,88,88,88,101,88,88,102,104,105,100,103,107,101,88,101,105,103,102,104,105,100,103,106,107,101,88,105,106,88,101,104,103,101,101,103,88,103,101,106,102,104,105,100,102,104,105,100,102,104,105,100,103,107,101,88,88,100,103,103,107,101,102,104,105,100,102,104,105,100,101,103,101,88,103,101,103,101,102,104,105,100,103,106,107,101,88,107,101,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,101,101,88,88,101,101,113,72,114,0,0,113,0,72,72,72,99,0,0,0,113,72,113,113,72,72,113,72,72,0,113,72,72,72,114,114,99,113,0,0,114,114,114,114,113,113,113,113,113,72,72,113,72,113,113,113,72,72,111,113,72,116,117,111,113,114,72,116,117,111,113,114,72,113,114,72,113,114,72,113,113,114,72,72,111,113,114,72,111,111,111,111,113,113,114,114,72,72,111,112,116,117,116,117,111,111,111,113,114,72,111,113,72,111,116,117,111,113,114,72,111,111,111,111,111,111,113,114,72,111,113,114,72,116,117,111,113,114,72,116,117,111,113,114,72,116,117,111,113,114,72,111,111,0,94,94,118,94,0,0,0,0,118,0,0,0,14,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,94,94,14,14,120,121,122,123,14,94,118,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,14,14,14,14,14,14,14,14,14,14,118,14,119,120,121,122,123,94,119,120,121,122,123,119,120,121,122,123,119,120,121,122,123,94,14,14,14,14,119,120,121,122,123,14,14,14,118,14,119,120,121,122,123,94,118,14,118,14,119,120,121,122,123,94,14,14,14,14,14,118,14,119,120,121,122,123,94,14,14,14,118,14,119,120,121,122,123,94,14,129,129],"f":"```````````````````{{{d{b}}}{{d{f}}}}0{hh}000{{{d{c}}}{{d{e}}}{}{}}20{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{b}}}b}{{{d{l}}}l}{{{d{c}}{d{je}}}n{}{}}0{{{d{c}}}n{}}00{{{d{b}}{d{b}}}A`}{{}h}`0{{}b}{{}l}{{{d{b}}{d{{d{f}}}}}Ab}{{{d{b}}{d{Ad}}}Ab}{{{d{b}}{d{f}}}Ab}{{{d{b}}{d{b}}}Ab}{{{d{b}}{d{Af}}}Ab}{{{d{l}}{d{l}}}Ab}`{{{d{b}}{d{jAh}}}Aj}0{{{d{l}}{d{jAh}}}Aj}0?{{{d{f}}}b}{{{d{{d{f}}}}}b}{Adb}{cc{}}{{{d{Ad}}}b}1{{{d{Al}}}{{Bb{AnB`}}}}{{{d{jAl}}}{{Bb{AnB`}}}}0{{{d{f}}Ab}{{Bb{BdAf}}}}0{{{d{f}}}{{Bb{lc}}}{}}{{}{{Bf{b}}}}0{{{d{f}}}Ab}{{{d{b}}{d{jc}}}nBh}{ce{}{}}0{c{{Bj{Ad}}}{}}{c{{Bj{Af}}}{}}{c{{Bj{b}}}{}}{{}Bl}0{eBl{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0`{{{d{b}}{d{b}}}{{Bf{A`}}}}{{}{{`{{Cj{}{{Cd{Ch}}}}}}}}{{{d{c}}}e{}{}}0{{{d{Bd}}}{{Bf{Ch}}}}{{{d{l}}}{{Bf{Ch}}}}{{{d{c}}}Af{}}0{c{{Bb{e}}}{}{}}000{{}{{Bb{BlB`}}}}0{e{{Bb{BlB`}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{jBl}}e}{{Bb{nB`}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{c}}}Cl{}}0{{{d{jBl}}e}n{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{jAn}}{d{Al}}}{{Bb{nB`}}}}{{{d{jAn}}{d{jAl}}}{{Bb{nB`}}}}0`{{}{{d{{Cn{Bd}}}}}}{{}{{d{{Cn{l}}}}}}```````````````````````````````````````````````````````````````{{hc}h{{Db{D`}}}}{{Ddc}Dd{{Db{Df}}}}11{{Ddc}Dd{{Db{Ad}}}}{{hc}h{{Db{Ad}}}}{{Chc}Ch{{Db{Ad}}}}{{Dde}Dd{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}{{Che}Ch{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}{{hAb}h}{{DdAb}Dd}10{{Dhc}Dh{{C`{D`}}}}{{{d{D`}}}{{`{Dj}}}}{{Dlc}Dl{{Db{b}}}}{{hc}h{{C`{Dd}}}}5{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Dd}}}{{Cf{}{{Cd{c}}}}}}77{{{d{Dn}}}{{d{E`}}}}{{{d{Dn}}}{{d{Eb}}}}1{{{d{Ad}}}{{d{E`}}}}{{{d{Ad}}}{{d{Eb}}}}{{{d{Ad}}}{{d{{Cn{Ed}}}}}}{{{d{Ad}}}{{d{f}}}}0{{hc}h{{Db{Ad}}}}{{hc}h{{Db{D`}}}}0{{hc}h{{Db{Af}}}}{{}Ef}{{{d{c}}}{{d{e}}}{}{}}000000:000050000000000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000000000000000000{{{d{jh}}}n}{{{d{Ef}}}Ef}{{{d{Df}}}Df}{{{d{Dd}}}Dd}{{{d{Dl}}}Dl}{{{d{Eh}}}Eh}{{{d{h}}}h}{{{d{Dn}}}Dn}{{{d{Ch}}}Ch}{{{d{Ej}}}Ej}{{{d{{Bj{c}}}}}{{Bj{c}}}Cb}{{{d{Ad}}}Ad}{{{d{D`}}}D`}{{{d{El}}}El}{{{d{En}}}En}{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{{d{{Fd{c}}}}}{{Fd{c}}}{CbBdCbFfFh}}{{{d{Fj}}}Fj}{{{d{{Fl{c}}}}}{{Fl{c}}}{Cb{G`{Fn}}CbFfFh}}{{{d{{Gb{c}}}}}{{Gb{c}}}{Cb{G`{Gd}}}}{{{d{Gf}}}Gf}{{{d{Gh}}}Gh}{{{d{Gj}}}Gj}{{{d{Gl}}}Gl}{{{d{{Gn{ce}}}}}{{Gn{ce}}}CbCb}{{{d{{H`{ce}}}}}{{H`{ce}}}CbCb}{{{d{Dh}}}Dh}{{{d{c}}{d{je}}}n{}{}}00000000000000000000000000{{{d{c}}}n{}}00000000000000000000000000000000000000{{{d{Dd}}{d{Dd}}}A`}{{{d{Dn}}{d{Dn}}}A`}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}A`Hb}{{{d{Ad}}{d{Ad}}}A`}{{{d{D`}}{d{D`}}}A`}{{hl}h}{{Ddc}Dd{{Db{b}}}}{{Dlc}Dl{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{hn}{{}Dd}{{}Dl}{{}h}{{}Dn}{{}Ch}{{}Ej}{{}Ad}{{}D`}{{}{{d{D`}}}}{{}El}{{}En}{{}F`}{{}Fb}{{}{{Fd{c}}}{BdCbFfFh}}{{}{{Fl{c}}}{{G`{Fn}}CbFfFh}}{{}{{Gb{c}}}{{G`{Gd}}}}{{}Gf}{{}Gh}{{}Gj}{{}Gl}{{Ddc}Dd{{Db{Dn}}}}{{Ddc}Dd{{C`{Dn}}}}{{Dde}Dd{{C`{Dn}}}{{Cf{}{{Cd{c}}}}}}02{{Ddceg}Dd{{C`{b}}}{{C`{Eh}}}{{Db{Dn}}}}{{Ddi}Dd{{C`{b}}}{{C`{Eh}}}{{Db{Dn}}}{{Cf{}{{Cd{{Hd{ceg}}}}}}}}2{{h{Hh{h}{{Hf{h}}}}}h}{{{d{Dn}}}{{d{E`}}}}{{{d{Ad}}}{{d{f}}}}{{hAb}h}000{{hc}h{{Db{Af}}}}{{Ddc}Dd{{Db{Hj}}}}{{hc}h{{Db{Hj}}}}3{{{d{Ej}}}{{Hl{{d{Hj}}}}}}{{{d{Dd}}{d{Dd}}}Ab}{{{d{Dl}}{d{Dl}}}Ab}{{{d{Eh}}{d{Eh}}}Ab}{{{d{Dn}}{d{{d{f}}}}}Ab}{{{d{Dn}}{d{Af}}}Ab}{{{d{Dn}}{d{Bn}}}Ab}{{{d{Dn}}{d{f}}}Ab}{{{d{Dn}}{d{Dn}}}Ab}{{{d{Dn}}{d{{d{E`}}}}}Ab}{{{d{Ch}}{d{Ch}}}Ab}{{{d{Ej}}{d{Ej}}}Ab}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}AbHn}{{{d{Ad}}{d{Ad}}}Ab}{{{d{Ad}}{d{f}}}Ab}{{{d{Ad}}{d{{d{E`}}}}}Ab}{{{d{Ad}}{d{Af}}}Ab}{{{d{Ad}}{d{E`}}}Ab}{{{d{Ad}}{d{{d{f}}}}}Ab}{{{d{Ad}}{d{b}}}Ab}{{{d{D`}}{d{D`}}}Ab}{{{d{El}}{d{El}}}Ab}{{{d{jh}}I`c}B`Dj}{{DdAb}Dd}{{hc}h{{Db{Ef}}}}{{{d{h}}c}{{Bf{{d{h}}}}}{{Ib{E`}}}}{{{d{jh}}c}{{Bf{{d{jh}}}}}{{Ib{E`}}}}{{hAb}h}{{{d{Ef}}{d{jAh}}}{{Bb{nId}}}}{{{d{Df}}{d{jAh}}}Aj}{{{d{Dd}}{d{jAh}}}Aj}{{{d{Dd}}{d{jAh}}}{{Bb{nId}}}}{{{d{Dl}}{d{jAh}}}Aj}{{{d{Eh}}{d{jAh}}}Aj}{{{d{h}}{d{jAh}}}Aj}0{{{d{Dn}}{d{jAh}}}Aj}{{{d{Ch}}{d{jAh}}}Aj}{{{d{Ej}}{d{jAh}}}Aj}0{{{d{{Bj{c}}}}{d{jAh}}}AjIf}{{{d{Ad}}{d{jAh}}}Aj}0{{{d{D`}}{d{jAh}}}Aj}0{{{d{El}}{d{jAh}}}Aj}{{{d{En}}{d{jAh}}}Aj}{{{d{F`}}{d{jAh}}}Aj}{{{d{Fb}}{d{jAh}}}Aj}{{{d{{Fd{c}}}}{d{jAh}}}Aj{IfBdCbFfFh}}{{{d{Fj}}{d{jAh}}}Aj}{{{d{{Fl{c}}}}{d{jAh}}}Aj{If{G`{Fn}}CbFfFh}}{{{d{{Gb{c}}}}{d{jAh}}}Aj{If{G`{Gd}}}}{{{d{Gf}}{d{jAh}}}Aj}{{{d{Gh}}{d{jAh}}}Aj}{{{d{Gj}}{d{jAh}}}Aj}{{{d{Gl}}{d{jAh}}}Aj}{{{d{{Gn{ce}}}}{d{jAh}}}AjIfIf}{{{d{{H`{ce}}}}{d{jAh}}}AjIfIf}{{{d{Dh}}{d{jAh}}}Aj}{{{Ih{Fn}}}Ef}{cc{}}{IjEf}{{{Il{Fn}}}Ef}{{{In{Fn}}}Ef}{{{J`{c}}}Ef{{C`{Ch}}}}{{{Jb{Fn}}}Ef}{{{Jd{Fn}}}Ef}{cEf{JfFfFh}}{{{Jh{c}}}Ef{{C`{Ch}}}}88{{{d{Dd}}}Dd}{{{d{Dl}}}Dl}::{cEh{{C`{Dn}}}}{{{d{h}}}h}<{{{d{Ad}}}Dn}{{{d{E`}}}Dn}{{{d{Dn}}}Dn}{{{d{f}}}Dn}{{{d{{d{E`}}}}}Dn}{AdDn}{{{d{{d{f}}}}}Dn}{cc{}}0{cCh{{C`{Ad}}}}1{IjEj}{{{In{Hj}}}Ej}{{{Jd{Hj}}}Ej}{{{Ih{Hj}}}Ej}{{{Jb{Hj}}}Ej}{HjEj}{{{Il{Hj}}}Ej}8{{{Bf{c}}}{{Bj{c}}}{}}{c{{Bj{c}}}{}}{Jjc{}};{bAd}{{{d{{d{f}}}}}Ad}{{{d{Ad}}}Ad}{{{d{f}}}Ad}{AfD`}{cc{}}{{{d{Af}}}D`}{{{d{f}}}D`}{{{d{{d{f}}}}}D`}33333{eFj{{C`{Ch}}}{{Cf{}{{Cd{c}}}}}}44{c{{Fl{e}}}{{Jl{Fn}}}{{G`{Fn}}CbFfFh}}5{c{{Gb{e}}}{{Jl{Gd}}}{{G`{Gd}}}}6666666{{{d{f}}}{{Bb{Elc}}}{}}{{{d{h}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{d{Df}}}}11{{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}100{{{d{Dd}}}{{Bf{{Jh{Jn}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{Jn}}}}}}}}{{{d{h}}{d{Dd}}}{{Jh{{d{Dd}}}}}}{{{d{Dl}}}{{`{{Cj{}{{Cd{{d{b}}}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dd}}}}}}}}}}{{{d{h}}}{{Bf{{d{f}}}}}}990{{{d{h}}}l}{{{d{Dd}}}{{d{{Cn{Dn}}}}}}2{{{d{Dd}}}Hj}{{{d{h}}}Hj}{{{d{h}}}{{Bf{{d{Ef}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dl}}}}}}}}}}{{{d{Dd}}}{{Bf{{d{D`}}}}}}{{{d{Ch}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{Bf{{d{f}}}}}}{{{d{Dd}}}{{d{b}}}}{{{d{Dl}}}{{d{b}}}}{{{d{Dd}}}{{Bf{Hj}}}}3{{{d{h}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}>7>{hAl}{{he}Al{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}{{{d{jh}}}Al}{{{d{h}}}{{d{f}}}}{{{d{Ch}}}{{d{f}}}}{{{d{Ch}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}{{{d{h}}}{{Jh{{d{f}}}}}}{{{d{h}}}{{Bf{{d{f}}}}}}{{{d{Dd}}}{{Bf{Ej}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dd}}}}}}}}}}0{{{d{Dd}}}{{Jh{Ch}}}}{{{d{Dd}}}{{Bf{Jn}}}}{{{d{Dd}}}{{Bf{{Jh{Jn}}}}}}{{{d{h}}}{{Bf{Jn}}}}{{{d{h}}}{{d{K`}}}}77{{{d{h}}}{{`{{Cj{}{{Cd{{d{h}}}}}}}}}}{{{d{jh}}}{{`{{Cj{}{{Cd{{d{jh}}}}}}}}}}5{{{d{Dd}}}El}{{{d{Dd}}}{{Bf{{d{{Cn{Ad}}}}}}}}{{{d{Dd}}}{{d{Ef}}}}{{{d{Dd}}}{{Bf{{d{Ad}}}}}}={{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}0:{{{d{h}}}{{`{{Cj{}{{Cd{Jn}}}}}}}}{{DdAb}Dd}{{Ddc}Dd{{Db{b}}}}{{hc}h{{C`{Dl}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Dl}}}{{Cf{}{{Cd{c}}}}}}{{{d{h}}}Ab}{{{d{Dn}}{d{jc}}}nBh}{{{d{Ej}}{d{jc}}}nBh}{{{d{{Bj{c}}}}{d{je}}}nKbBh}{{{d{Ad}}{d{jc}}}nBh}{{{d{El}}{d{jc}}}nBh}{{Ddc}Dd{{Db{D`}}}}{{Chc}Ch{{Db{D`}}}}{{hAb}h}{{Ddc}Dd{{Db{Ad}}}}{{hc}h{{Db{D`}}}}?2{{ChAb}Ch}{{DdAb}Dd}0040{{Ddc}Dd{{C`{b}}}}{{Dlc}Dl{{C`{b}}}}26{{Ddc}Dd{{Db{Hj}}}}{{{d{h}}{d{b}}}{{d{c}}}{}}88{ce{}{}}00000000000000000000000000{Db{{Bj{c}}}{}}{c{{Bj{Ef}}}{}}{Df{{Bj{Df}}}}{c{{Bj{Dn}}}{}}{c{{Bj{Ej}}}{}}{{{Bj{c}}}{{Bj{c}}}{}}{c{{Bj{Af}}}{}}3{c{{Bj{Ad}}}{}}{c{{Bj{b}}}{}}{c{{Bj{D`}}}{}}{El{{Bj{El}}}}99999999999999{{{d{h}}}Ab}{{{d{Dd}}}Ab}10111111101000001{{{d{Ch}}}Ab}1112{{{d{jDl}}}Ab}2332322{{{d{Dl}}}Ab}4443{{DdAb}Dd}{{Ddc}Dd{{Db{Ad}}}}{{hc}h{{Db{D`}}}}{{hc}h{{C`{Ad}}}}{{hc}h{{Db{Ad}}}}{{he}h{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}{{Ddc}Dd{{Db{D`}}}}2{{{Jf{}{{Kd{c}}}}g}{{Gn{{Jf{}{{Kd{c}}}}g}}}{FfFhCb}{FfFhCb}{{Kf{c}{{Hf{e}}}}Cb}}0{{{d{Ch}}{d{f}}Ab}Ab}{{hHj}h}{{{d{Ej}}}Hj}0{{hAb}h}{{DlAb}Dl}{{hce}h{{Ib{f}}}{{Kh{Dd}{{Hf{Dd}}}}}}{{hc}h{{Kj{Dd}{{Hf{Dd}}}}}}{{hce}h{{Ib{f}}}{{Kh{Dl}{{Hf{Dl}}}}}}{{hce}h{{Ib{f}}}{{Kh{h}{{Hf{h}}}}}}={cEfJf}{cDd{{C`{b}}}}{cDl{{C`{b}}}}{ch{{C`{Ad}}}}{cCh{{C`{Ad}}}}{cEj{{C`{Ej}}}}{{}D`}{{}En}{{}F`}{{}Fb}{{}{{Fd{c}}}{BdCbFfFh}}{cFj{{C`{Fj}}}}{{}{{Fl{c}}}{{G`{Fn}}CbFfFh}}{{}{{Gb{c}}}{{G`{Gd}}}}{{}Gf}{{}Gh}{{}Gj}{{}Gl}{{hc}h{{Db{Hj}}}}{{hc}h{{Db{Ad}}}}{{DdAb}Dd}{{hAb}h}0{{Ddc}Dd{{Db{Ej}}}}{{}Ef}{{hc}h{{Db{D`}}}}0{{Ddc}Dd{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{{d{{Jf{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{FfFhCb}}0{{{d{En}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{F`}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{Fb}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{Fj}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{AfB`}}}}{{{d{{Gn{cg}}}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{iB`}}}Jf{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}{}}{{{d{{Jf{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}BnKl}{{Bb{cB`}}}{FfFhCb}}0{{{d{{Jf{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{FfFhCb}}{{{d{En}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{F`}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Fb}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Fd{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{BdCbFfFh}{}}{{{d{Fj}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Fl{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{{G`{Fn}}CbFfFh}{}}{{{d{{Gb{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{{G`{Gd}}CbFfFh}{}}{{{d{Gf}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gj}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gl}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Gn{cg}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{iB`}}}Jf{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}{}}{{{d{{H`{ci}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{kB`}}}Jf{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{}{{Hf{{Bb{eg}}}}}}CbFfFh}{}}{{{d{Dh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Jf{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}Kl}{{Bb{cB`}}}{FfFhCb}}0{{{d{Dh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}Kl}{{Bb{cB`}}}{}}{{{d{Dd}}{d{Dd}}}{{Bf{A`}}}}{{{d{Dn}}{d{Dn}}}{{Bf{A`}}}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}{{Bf{A`}}}Lb}{{{d{Ad}}{d{Ad}}}{{Bf{A`}}}}{{{d{D`}}{d{D`}}}{{Bf{A`}}}}{{}Ef}{{{d{Ef}}}{{Bf{{L`{Cj}}}}}}{{{d{{Jf{}{{Kd{c}}}}}}}{{Bf{{L`{Cj}}}}}{FfFhCb}}0{{{d{{Fd{c}}}}}{{Bf{{L`{Cj}}}}}{BdCbFfFh}}{{{d{Fj}}}{{Bf{{L`{Cj}}}}}}{{{d{Gf}}}{{Bf{{L`{Cj}}}}}}{{{d{Gh}}}{{Bf{{L`{Cj}}}}}}{{{d{Gj}}}{{Bf{{L`{Cj}}}}}}{{{d{{Gn{cg}}}}}{{Bf{{L`{Cj}}}}}Jf{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}}{{{d{{H`{ci}}}}}{{Bf{{L`{Cj}}}}}Jf{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{}{{Hf{{Bb{eg}}}}}}CbFfFh}}{{{d{jh}}}{{Ld{n}}}}0{{hAb}h}{{{Fl{c}}e}{{Fl{c}}}{{G`{Fn}}CbFfFh}{{Jl{Fn}}}}{{{Gb{c}}e}{{Gb{c}}}{{G`{Gd}}}{{Jl{Gd}}}}{{DdAb}Dd}{{{d{jh}}}D`}0{{{d{h}}}Af}1022{{DlAb}Dl}{{Ddce}Dd{{C`{b}}}{{C`{Dn}}}}{{Ddg}Dd{{C`{b}}}{{C`{Dn}}}{{Cf{}{{Cd{{Hd{ce}}}}}}}}0{{Ddc}Dd{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}01{{Dlc}Dl{{Db{b}}}}{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{Ddce}Dd{{C`{Eh}}}{{C`{b}}}}{{Ddg}Dd{{C`{Eh}}}{{C`{b}}}{{Cf{}{{Cd{{Hd{ce}}}}}}}}{{{d{jh}}c}n{{C`{Af}}}}{{Ddc}Dd{{Db{Jn}}}}0{{Ddc}Dd{{Cf{}{{Cd{Jn}}}}}}{{hc}h{{Db{Jn}}}}0{{hc}h{{Cf{}{{Cd{Jn}}}}}}{{{d{Ej}}}{{Hl{{d{Hj}}}}}}{{}Ef}{{hK`}h}`{{hc}h{{C`{h}}}}{{hc}h{{Db{Ad}}}}{{hAb}h}001{{he}h{{C`{h}}}{{Cf{}{{Cd{c}}}}}}{cDh{{C`{D`}}}}{cDh{{C`{Ad}}}}{{{d{Df}}}Ab}{{{d{Ej}}}Ab}{{hHj}h}{{{d{Dn}}}Bn}{{{d{c}}}e{}{}}00000000000000000000000000{{{d{c}}}Af{}}0000{{DdAb}Dd}{c{{Bb{e}}}{}{}}00000000000000000000000000{h{{Lf{Al}}}}{{he}{{Lf{Al}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}{{{d{jh}}e}{{Lf{Al}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}333333333333333333333333333{{{Jf{}{{Kd{c}}}}i}{{H`{{Jf{}{{Kd{c}}}}i}}}{FfFhCb}{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{c}{{Hf{{Bb{eg}}}}}}CbFfFh}}0{{{d{c}}}Cl{}}`00000000000000000000000000{{Ddc}Dd{{Db{Jn}}}}{{Ddc}Dd{{Db{El}}}}{{Ddc}Dd{{Db{Ad}}}}{{Dde}Dd{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}{{}c{}}{{Ddc}Dd{{Db{Ef}}}}3{{hc}h{{Db{Ad}}}}403{{he}h{{C`{Ad}}}{{Cf{}{{Cd{c}}}}}}107{{Ddc}Dd{{Cf{}{{Cd{Jn}}}}}}{{hc}h{{Db{Jn}}}}{{hc}h{{Cf{}{{Cd{Jn}}}}}}{{{d{jD`}}Jn}{{Bb{nId}}}}{{{d{jD`}}{d{f}}}{{Bb{nId}}}}````````````````````````````````````````{LhEd}{{Lj{Bf{Ll}}}Lj}{{LnLn}Ln}{{LjLn}Lj}{{{d{jLn}}Ln}n}{{{d{jLj}}Ln}n}{LjLj}0{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{M`Ab}M`}{LnLn}{{{d{Ll}}}Ll}{{{d{M`}}}M`}{{{d{Mb}}}Mb}{{{d{Lh}}}Lh}{{{d{Ln}}}Ln}{{{d{Md}}}Md}{{{d{Mf}}}Mf}{{{d{Lj}}}Lj}{{{d{K`}}}K`}{{{d{c}}{d{je}}}n{}{}}00000000{{{d{c}}}n{}}000000000000000{{{d{Ll}}{d{Ll}}}A`}{{{d{M`}}{d{M`}}}A`}{{{d{Mb}}{d{Mb}}}A`}{{{d{Lh}}{d{Lh}}}A`}{{{d{Ln}}{d{Ln}}}A`}{{{d{Mf}}{d{Mf}}}A`}{{{d{Lj}}{d{Lj}}}A`}{{LnLn}Ab}{{}Ln}{{}Mf}{{}Lj}{{}K`}{{}{{d{K`}}}}{LjLj}{{LjLn}Lj}{{{d{Ll}}{d{Ll}}}Ab}{{{d{M`}}{d{M`}}}Ab}{{{d{Mb}}{d{Mb}}}Ab}{{{d{Lh}}{d{Lh}}}Ab}{{{d{Ln}}{d{Ln}}}Ab}{{{d{Md}}{d{Md}}}Ab}{{{d{Mf}}{d{Mf}}}Ab}{{{d{Lj}}{d{Ln}}}Ab}{{{d{Lj}}{d{Lj}}}Ab}{{K`Lj}K`}{{Lj{Bf{Ll}}}Lj}{{{d{Ll}}{d{jAh}}}{{Bb{nId}}}}{{{d{M`}}{d{jAh}}}{{Bb{nId}}}}{{{d{Mb}}{d{jAh}}}{{Bb{nId}}}}{{{d{Lh}}{d{jAh}}}{{Bb{nId}}}}{{{d{Ln}}{d{jAh}}}{{Bb{nId}}}}{{{d{Md}}{d{jAh}}}{{Bb{nId}}}}{{{d{Mf}}{d{jAh}}}{{Bb{nId}}}}0{{{d{Lj}}{d{jAh}}}{{Bb{nId}}}}0{{{d{K`}}{d{jAh}}}Aj}{LhLl}{M`Ll}{MbLl}{cc{}}{{{Hd{EdEdEd}}}Ll}{EdLl}2{EdMb}{M`Mb}4{{{Hd{EdEdEd}}}Lh}55555{LnLj}62{LhEd}{Lj{{Bf{Ll}}}}{LjLn}{{{d{K`}}}{{d{Lj}}}}20000200{{{d{Ll}}{d{jc}}}nBh}{{{d{M`}}{d{jc}}}nBh}{{{d{Mb}}{d{jc}}}nBh}{{{d{Lh}}{d{jc}}}nBh}{{{d{Ln}}{d{jc}}}nBh}{{{d{Mf}}{d{jc}}}nBh}{{{d{Lj}}{d{jc}}}nBh}{{K`Lj}K`}{LjLj}{MbEd}{{LnLn}Ln}{ce{}{}}00000000{Mb{{Bf{M`}}}}154{M`Ab}{LnAb}{LjAb}7{LnMd}9{{}Ln}{{}Lj}{{{d{jMd}}}Bf}{{Llc}Lj{{C`{Ll}}}}{{M`c}Lj{{C`{Ll}}}}{{Mbc}Lj{{C`{Ll}}}}{{Lhc}Lj{{C`{Ll}}}}{LlLj}{M`Lj}{MbLj}{LhLj}{{{d{Ll}}{d{Ll}}}{{Bf{A`}}}}{{{d{M`}}{d{M`}}}{{Bf{A`}}}}{{{d{Mb}}{d{Mb}}}{{Bf{A`}}}}{{{d{Lh}}{d{Lh}}}{{Bf{A`}}}}{{{d{Ln}}{d{Ln}}}{{Bf{A`}}}}{{{d{Mf}}{d{Mf}}}{{Bf{A`}}}}{{{d{Lj}}{d{Lj}}}{{Bf{A`}}}}{{K`Lj}K`}{{}K`}{LhEd}{{LnLn}Ln}{Ln{{`{DjMh}}}}{Mf{{`{DjMh}}}}{Lj{{`{DjMh}}}}{Ll{{`{DjMh}}}}{M`{{`{DjMh}}}}{Mb{{`{DjMh}}}}{Lh{{`{DjMh}}}}32104{{LnLnAb}Ln}{LjLj};9{{LjLn}Lj}{{{d{jLn}}Ln}n}{{{d{jLj}}Ln}n}{{{d{c}}}e{}{}}00000000{{{d{c}}}Af{}}0{c{{Bb{e}}}{}{}}00000000000000000{{{d{c}}}Cl{}}000000007{{Lj{Bf{Ll}}}Lj}{{K`Lj}K`}0{{Lj{d{jMj}}}{{Bb{nMl}}}}0````````````````````````````````````````````````````{{{Mn{c}}}{{Mn{e}}}N`N`}{Nb{{Bf{{d{f}}}}}}{I`{{Bf{{d{f}}}}}}{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{Nb}}}Nb}{{{d{Nd}}}Nd}{{{d{I`}}}I`}{{{d{c}}{d{je}}}n{}{}}00{{{d{c}}}n{}}0000{{{d{{Mn{c}}}}}{{`{{Cj{}{{Cd{{Hd{Nb{d{Nd}}}}}}}}}}}N`}{{{d{Nb}}{d{Nb}}}Ab}{{{d{Nd}}{d{Nd}}}Ab}{{{d{I`}}{d{I`}}}Ab}{{{d{{Mn{c}}}}}JjN`}{{{d{{Mn{c}}}}}NfN`}{{{d{{Mn{c}}}}{d{jAh}}}{{Lf{nId}}}N`}{{{d{{Mn{c}}}}{d{jAh}}}AjN`}{{{d{Nb}}{d{jAh}}}Aj}0{{{d{Nd}}{d{jAh}}}Aj}0{{{d{I`}}{d{jAh}}}Aj}0{{{Mn{c}}{d{jh}}}{{Mn{c}}}N`}{{{d{{Mn{N`}}}}}D`}{{{d{{Mn{Nh}}}}}D`}{{{d{{Mn{Nj}}}}}D`}{cc{}}00{Id{{Mn{c}}}N`}{Ml{{Mn{c}}}N`}222{{{d{{Mn{c}}}}Nb}{{Bf{{d{Nd}}}}}N`}{{{d{Nb}}{d{jc}}}nBh}{{{d{I`}}{d{jc}}}nBh}{{{d{j{Mn{c}}}}NbNd}{{Bf{Nd}}}N`}{ce{}{}}00000{{{d{{Mn{c}}}}}I`N`}{I`{{Mn{c}}}N`}{{{d{{Mn{c}}}}}{{Ld{n}}}N`}{{I`c}{{Mn{e}}}DjN`}{{{d{{Mn{c}}}}}D`N`}{{{d{{Mn{c}}}}}{{Bf{{d{Kn}}}}}N`}{{{d{c}}}e{}{}}00{{{d{c}}}Af{}}000{c{{Bb{e}}}{}{}}00000000000{{{d{c}}}Cl{}}00000{{{d{{Mn{c}}}}}AbN`}{{{Mn{c}}{d{h}}}{{Mn{c}}}N`}`````````````{{{d{Al}}}Ab}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{jc}}}{{d{je}}}{}{}}0000000{{{d{Nl}}}Nl}{{{d{Al}}}Al}{{{d{Nn}}}Nn}{{{d{{O`{c}}}}}{{O`{c}}}Cb}{{{d{{Ob{c}}}}}{{Ob{c}}}Cb}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Kl}}}Kl}{{{d{c}}{d{je}}}n{}{}}0000000{{{d{c}}}n{}}00000000{{{d{Kl}}{d{Kl}}}A`}{{{d{Al}}{d{f}}}Ab}{{}Al}{{}{{O`{c}}}{}}{{}{{Ob{c}}}{}}{{}Od}{{}Of}{{{d{Al}}{d{Al}}}Ab}{{{d{Kl}}{d{Kl}}}Ab}{{{d{Nl}}{d{jAh}}}Aj}0{{{d{Al}}{d{jAh}}}Aj}{{{d{Nn}}{d{jAh}}}Aj}{{{d{{O`{c}}}}{d{jAh}}}AjIf}{{{d{{Ob{c}}}}{d{jAh}}}AjIf}{{{d{Od}}{d{jAh}}}Aj}{{{d{Of}}{d{jAh}}}Aj}{{{d{Kl}}{d{jAh}}}Aj}{cc{}}0000000{{{d{Al}}{d{f}}}Ed}{{{d{Al}}{d{f}}}Ab}{{{d{Al}}{d{f}}}{{Bf{{Ob{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{{`{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{{d{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{Od}}}}{{{d{Al}}{d{f}}}{{Bf{`}}}}{{{d{Al}}}Nn}{{{d{Al}}{d{f}}}{{Bf{Hj}}}}{{{d{Al}}{d{f}}}{{Bf{Of}}}}{ce{}{}}000000000000{{{d{jNn}}}{{Bf{{d{b}}}}}}{{{d{j{O`{c}}}}}{{Bf{e}}}{}{}}{{{d{j{Ob{c}}}}}{{Bf{e}}}{}{}}{{{d{jOd}}}{{Bf{{d{E`}}}}}}{{{d{jOf}}}{{Bf{Hj}}}}43210{{{d{Kl}}{d{Kl}}}{{Bf{A`}}}}{{{d{jAl}}{d{f}}}{{Bf{{O`{c}}}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bf{{`{c}}}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bf{c}}}{OhCbFfFh}}{{{d{jAl}}}{{Bf{{Hd{AfAl}}}}}}{{{d{Nn}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{{O`{c}}}}}{{Hd{Hj{Bf{Hj}}}}}{}}{{{d{{Ob{c}}}}}{{Hd{Hj{Bf{Hj}}}}}{}}{{{d{Od}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{Of}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{Al}}}{{Bf{{Hd{{d{f}}{d{Al}}}}}}}}{{{d{Al}}{d{f}}}{{Bf{{d{Al}}}}}}{{{d{Al}}}{{Bf{{d{f}}}}}}{{{d{c}}}e{}{}}0000000{{{d{c}}}Af{}}{{{d{Al}}{d{f}}}{{Bb{AbNl}}}}{c{{Bb{e}}}{}{}}0000000{{{d{Al}}{d{f}}}{{Bb{{Bf{{Ob{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{{`{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{{d{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{Od}}Nl}}}}{{{d{Al}}{d{f}}}{{Bb{{Bf{`}}Nl}}}}55555555{{{d{jAl}}{d{f}}}{{Bb{{Bf{{O`{c}}}}Nl}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bb{{Bf{{`{c}}}}Nl}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bb{{Bf{c}}Nl}}}{OhCbFfFh}}{{{d{c}}}Cl{}}0000000{{{d{Al}}{d{f}}}{{Bf{Kl}}}}``","D":"ENh","p":[[5,"Id",0,1615],[1,"reference"],[1,"str"],[5,"Command",110,1616],[0,"mut"],[6,"ColorChoice",0,1617],[1,"unit"],[6,"Ordering",1618],[1,"bool"],[5,"Str",110,1619],[5,"String",1620],[5,"Formatter",1621],[8,"Result",1621],[5,"ArgMatches",1443,1622],[10,"FromArgMatches",0,1623],[8,"Error",0],[6,"Result",1624],[10,"ValueEnum",0,1623],[6,"Option",1625],[10,"Hasher",1626],[6,"Resettable",110,1627],[10,"Parser",0,1623],[5,"OsString",1628],[10,"Into",1629],[10,"Clone",1630],[17,"Item"],[10,"IntoIterator",1631],[5,"PossibleValue",110,1632],[10,"Iterator",1633],[5,"TypeId",1634],[1,"slice"],[5,"StyledStr",110,1635],[10,"IntoResettable",110,1627],[5,"Arg",110,1636],[6,"ArgAction",110,1637],[5,"UnknownArgumentValueParser",110,1638],[10,"Display",1621],[5,"ArgGroup",110,1639],[5,"OsStr",110,1640],[5,"OsStr",1628],[5,"Path",1641],[1,"u8"],[5,"ValueParser",110,1638],[6,"ArgPredicate",110,1642],[5,"ValueRange",110,1643],[6,"ValueHint",110,1644],[5,"StringValueParser",110,1638],[5,"OsStringValueParser",110,1638],[5,"PathBufValueParser",110,1638],[5,"EnumValueParser",110,1638],[10,"Send",1645],[10,"Sync",1645],[5,"PossibleValuesParser",110,1638],[5,"RangedI64ValueParser",110,1638],[1,"i64"],[10,"TryFrom",1629],[5,"RangedU64ValueParser",110,1638],[1,"u64"],[5,"BoolValueParser",110,1638],[5,"FalseyValueParser",110,1638],[5,"BoolishValueParser",110,1638],[5,"NonEmptyStringValueParser",110,1638],[5,"MapValueParser",110,1638],[5,"TryMapValueParser",110,1638],[10,"Ord",1618],[1,"tuple"],[17,"Output"],[1,"fn"],[1,"usize"],[6,"Bound",1646],[10,"PartialEq",1618],[6,"ErrorKind",1296,1647],[10,"AsRef",1629],[5,"Error",1621],[10,"Debug",1621],[5,"RangeToInclusive",1646],[5,"RangeFull",1646],[5,"RangeFrom",1646],[5,"RangeInclusive",1646],[1,"array"],[5,"Range",1646],[5,"RangeTo",1646],[10,"TypedValueParser",110,1638],[5,"Vec",1648],[1,"never"],[10,"RangeBounds",1646],[1,"char"],[5,"Styles",1011],[10,"Hash",1626],[17,"Value"],[10,"Fn",1649],[10,"FnOnce",1649],[10,"FnMut",1649],[6,"ValueSource",1443,1650],[10,"Error",1651],[5,"Box",1652],[10,"PartialOrd",1618],[8,"Result",1653],[8,"Result",1296],[5,"RgbColor",1011,1654],[5,"Style",1011,1655],[6,"Color",1011,1654],[5,"Effects",1011,1656],[6,"AnsiColor",1011,1654],[5,"Ansi256Color",1011,1654],[5,"EffectIter",1011,1656],[5,"Reset",1011,1657],[10,"Copy",1645],[10,"Write",1658],[5,"Error",1653],[5,"Error",1296],[10,"ErrorFormatter",1296,1659],[6,"ContextKind",1296,1660],[6,"ContextValue",1296,1660],[1,"i32"],[5,"KindFormatter",1296,1659],[5,"RichFormatter",1296,1659],[6,"MatchesError",1443,1661],[5,"IdsRef",1443,1622],[5,"Values",1443,1622],[5,"ValuesRef",1443,1622],[5,"RawValues",1443,1622],[5,"Indices",1443,1622],[10,"Any",1634],[10,"Args",0],[10,"Subcommand",0],[10,"CommandFactory",0],[10,"ValueParserFactory",110],[15,"Downcast",1613]],"r":[[1,1636],[2,1637],[3,1639],[4,1622],[5,1623],[7,1617],[8,1616],[9,1623],[11,1623],[12,1615],[14,1623],[15,1623],[16,1623],[17,1644],[112,1636],[113,1637],[114,1639],[115,1642],[116,1638],[117,1638],[118,1616],[126,1638],[129,1638],[135,1627],[137,1638],[138,1638],[139,1640],[140,1638],[143,1638],[144,1632],[145,1638],[146,1638],[147,1638],[149,1627],[154,1619],[155,1638],[156,1635],[157,1011],[158,1638],[159,1638],[161,1638],[166,1644],[167,1638],[168,1638],[169,1643],[171,1638],[172,1638],[1013,1654],[1014,1654],[1028,1654],[1034,1656],[1035,1656],[1042,1657],[1044,1654],[1046,1655],[1299,1660],[1300,1660],[1308,1659],[1309,1647],[1319,1659],[1329,1659],[1443,1622],[1448,1622],[1449,1622],[1450,1661],[1451,1622],[1453,1650],[1454,1622],[1455,1622]],"b":[[44,"impl-PartialEq%3C%26str%3E-for-Id"],[45,"impl-PartialEq%3CStr%3E-for-Id"],[46,"impl-PartialEq%3Cstr%3E-for-Id"],[47,"impl-PartialEq-for-Id"],[48,"impl-PartialEq%3CString%3E-for-Id"],[51,"impl-Display-for-Id"],[52,"impl-Debug-for-Id"],[53,"impl-Debug-for-ColorChoice"],[54,"impl-Display-for-ColorChoice"],[55,"impl-From%3C%26Id%3E-for-Id"],[56,"impl-From%3C%26str%3E-for-Id"],[57,"impl-From%3C%26%26str%3E-for-Id"],[58,"impl-From%3CStr%3E-for-Id"],[60,"impl-From%3C%26Str%3E-for-Id"],[197,"impl-AsRef%3CPath%3E-for-OsStr"],[198,"impl-AsRef%3COsStr%3E-for-OsStr"],[199,"impl-AsRef%3COsStr%3E-for-Str"],[200,"impl-AsRef%3CPath%3E-for-Str"],[201,"impl-AsRef%3C%5Bu8%5D%3E-for-Str"],[202,"impl-AsRef%3Cstr%3E-for-Str"],[377,"impl-Default-for-StyledStr"],[378,"impl-Default-for-%26StyledStr"],[413,"impl-PartialEq%3C%26str%3E-for-OsStr"],[414,"impl-PartialEq%3CString%3E-for-OsStr"],[415,"impl-PartialEq%3COsString%3E-for-OsStr"],[416,"impl-PartialEq%3Cstr%3E-for-OsStr"],[417,"impl-PartialEq-for-OsStr"],[418,"impl-PartialEq%3C%26OsStr%3E-for-OsStr"],[422,"impl-PartialEq-for-Str"],[423,"impl-PartialEq%3Cstr%3E-for-Str"],[424,"impl-PartialEq%3C%26OsStr%3E-for-Str"],[425,"impl-PartialEq%3CString%3E-for-Str"],[426,"impl-PartialEq%3COsStr%3E-for-Str"],[427,"impl-PartialEq%3C%26str%3E-for-Str"],[428,"impl-PartialEq%3CId%3E-for-Str"],[439,"impl-Display-for-Arg"],[440,"impl-Debug-for-Arg"],[443,"impl-Debug-for-Command"],[444,"impl-Display-for-Command"],[447,"impl-Display-for-ValueRange"],[448,"impl-Debug-for-ValueRange"],[450,"impl-Display-for-Str"],[451,"impl-Debug-for-Str"],[452,"impl-Display-for-StyledStr"],[453,"impl-Debug-for-StyledStr"],[469,"impl-From%3CRangeToInclusive%3Ci64%3E%3E-for-ValueParser"],[471,"impl-From%3CRangeFull%3E-for-ValueParser"],[472,"impl-From%3CRangeFrom%3Ci64%3E%3E-for-ValueParser"],[473,"impl-From%3CRangeInclusive%3Ci64%3E%3E-for-ValueParser"],[474,"impl-From%3C%5BP;+C%5D%3E-for-ValueParser"],[475,"impl-From%3CRange%3Ci64%3E%3E-for-ValueParser"],[476,"impl-From%3CRangeTo%3Ci64%3E%3E-for-ValueParser"],[477,"impl-From%3CP%3E-for-ValueParser"],[478,"impl-From%3CVec%3CP%3E%3E-for-ValueParser"],[488,"impl-From%3C%26Str%3E-for-OsStr"],[489,"impl-From%3C%26OsStr%3E-for-OsStr"],[490,"impl-From%3C%26OsStr%3E-for-OsStr"],[491,"impl-From%3C%26str%3E-for-OsStr"],[492,"impl-From%3C%26%26OsStr%3E-for-OsStr"],[493,"impl-From%3CStr%3E-for-OsStr"],[494,"impl-From%3C%26%26str%3E-for-OsStr"],[499,"impl-From%3CRangeFull%3E-for-ValueRange"],[500,"impl-From%3CRangeInclusive%3Cusize%3E%3E-for-ValueRange"],[501,"impl-From%3CRangeTo%3Cusize%3E%3E-for-ValueRange"],[502,"impl-From%3CRangeToInclusive%3Cusize%3E%3E-for-ValueRange"],[503,"impl-From%3CRange%3Cusize%3E%3E-for-ValueRange"],[504,"impl-From%3Cusize%3E-for-ValueRange"],[505,"impl-From%3CRangeFrom%3Cusize%3E%3E-for-ValueRange"],[507,"impl-From%3COption%3CT%3E%3E-for-Resettable%3CT%3E"],[508,"impl-From%3CT%3E-for-Resettable%3CT%3E"],[511,"impl-From%3CId%3E-for-Str"],[512,"impl-From%3C%26%26str%3E-for-Str"],[513,"impl-From%3C%26Str%3E-for-Str"],[514,"impl-From%3C%26str%3E-for-Str"],[515,"impl-From%3CString%3E-for-StyledStr"],[517,"impl-From%3C%26String%3E-for-StyledStr"],[518,"impl-From%3C%26str%3E-for-StyledStr"],[519,"impl-From%3C%26%26str%3E-for-StyledStr"],[1124,"impl-Default-for-Styles"],[1125,"impl-Default-for-%26Styles"],[1135,"impl-PartialEq%3CEffects%3E-for-Style"],[1136,"impl-PartialEq-for-Style"],[1145,"impl-Display-for-Reset"],[1146,"impl-Debug-for-Reset"],[1147,"impl-Debug-for-Style"],[1148,"impl-Display-for-Style"],[1150,"impl-From%3CRgbColor%3E-for-Color"],[1151,"impl-From%3CAnsiColor%3E-for-Color"],[1152,"impl-From%3CAnsi256Color%3E-for-Color"],[1154,"impl-From%3C(u8,+u8,+u8)%3E-for-Color"],[1155,"impl-From%3Cu8%3E-for-Color"],[1157,"impl-From%3Cu8%3E-for-Ansi256Color"],[1158,"impl-From%3CAnsiColor%3E-for-Ansi256Color"],[1380,"impl-Debug-for-Error%3CF%3E"],[1381,"impl-Display-for-Error%3CF%3E"],[1382,"impl-Display-for-ContextKind"],[1383,"impl-Debug-for-ContextKind"],[1384,"impl-Display-for-ContextValue"],[1385,"impl-Debug-for-ContextValue"],[1386,"impl-Debug-for-ErrorKind"],[1387,"impl-Display-for-ErrorKind"],[1395,"impl-From%3CError%3E-for-Error%3CF%3E"],[1396,"impl-From%3CError%3E-for-Error%3CF%3E"],[1507,"impl-Display-for-MatchesError"],[1508,"impl-Debug-for-MatchesError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsDWgACAAMACQAAABIAAAAUAAAAGgAEACAABwArAAcANAAHAD0AAABEAAAASAAAAEsAAgBTAAAAVQABAFgABgBlAAEAbgAAAJ4AAACsAAEAxgAFANIANwALAWEAcwETAJABAQCaARUAtgEgANgBBwDiAQEA5gEBAOkBBgDyAQAA9AEGAPwBAgAAAgQABgICAA4CAAARAgAAEwIAABsCAABmAgQAfQIAAJwCGAAOAwQAFgMNACYDBQAwAwYAVwMAAGgDHwCJAxoApwMaAMQDAADGAxkA8gMBAPgDAQAEBAAABwQDAA4EAAAeBAMAJAQRADgEKABiBAQAaQQIAHQEDQCDBAEAhgQBAIkEAACPBAAAlAQAAJsEAACeBAYAswQAAL4EAADHBAYA4QQpABcFAABIBRYAYAUCAGUFBwBvBQEAdAUBAHoFAQCIBRkAsgUpAN0FDwAHBg8AGwYEACMGCAAtBgcAOgYHAEUGBwA="}],\ +["clap",{"t":"PPPFGFFKPGFKPPPPPPIPPKPPPPFPPKPPPKPPPKGPNNNNNNNNNNNNNNQNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMQMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNQNNMNNNNNNNNNNNNPPFGFGFFFPPPPPTPFPPFPPPPPKPFFFFPRFFFFFPGTPPPFFFFFKPFPPPRGFKFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNPPFGTTPPPPPPPPPPTGPTTTTFFPTTTPPFPFTFFTPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGGPFPPPPFKGPPPPPPPPPFPPPPPPPPIFPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPPPFFGFPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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_aliases","get_aliases","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_display_order","get_display_order","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_name_and_visible_aliases","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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"],[515,"clap::builder"],[1088,"clap::builder::styling"],[1343,"clap::error"],[1490,"clap::parser"],[1617,"clap::parser::MatchesError"],[1619,"clap_builder::builder::command"],[1620,"clap_builder::builder::styled_str"],[1621,"clap_builder::builder::resettable"],[1622,"clap_builder::builder::arg"],[1623,"clap_builder::builder::action"],[1624,"clap_builder::builder::str"],[1625,"core::convert"],[1626,"core::iter::traits::collect"],[1627,"clap_builder::builder::arg_group"],[1628,"clap_builder::util::id"],[1629,"clap_builder::parser::matches::arg_matches"],[1630,"alloc::string"],[1631,"clap_builder::builder::value_hint"],[1632,"clap_builder::util::color"],[1633,"core::cmp"],[1634,"clap_builder::builder::os_str"],[1635,"clap_builder::builder::arg_predicate"],[1636,"clap_builder::error::kind"],[1637,"clap_builder::error"],[1638,"core::fmt"],[1639,"clap_builder::builder::value_parser"],[1640,"core::option"],[1641,"std::ffi::os_str"],[1642,"core::result"],[1643,"clap_builder::derive"],[1644,"alloc::vec"],[1645,"core::iter::traits::iterator"],[1646,"core::any"],[1647,"core::clone"],[1648,"core::marker"],[1649,"clap_builder::builder::range"],[1650,"clap_builder::builder::possible_value"],[1651,"clap_builder::builder::styling"],[1652,"core::hash"],[1653,"core::ops::function"],[1654,"std::io::error"],[1655,"clap_builder::parser::error"],[1656,"clap_builder::parser::matches::value_source"],[1657,"std::path"],[1658,"core::ops::range"],[1659,"anstyle::style"],[1660,"core::error"],[1661,"alloc::boxed"],[1662,"clap_builder::util::any_value"],[1663,"anstyle::color"],[1664,"anstyle::effect"],[1665,"anstyle::reset"],[1666,"std::io"],[1667,"clap_builder::error::format"],[1668,"clap_builder::error::context"],[1669,"clap_builder"],[1670,"clap_builder::builder"]],"i":[20,19,5,0,0,0,0,0,20,0,0,0,19,19,19,5,19,19,0,19,19,0,5,5,5,19,0,20,19,0,5,5,5,0,19,19,19,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,124,124,125,125,1,1,1,1,5,4,11,1,19,13,12,12,20,5,4,11,1,19,13,12,20,1,0,5,4,11,1,19,13,12,20,5,4,11,1,19,13,12,20,5,4,11,1,19,19,13,12,20,20,4,12,1,126,0,126,4,11,4,11,13,1,4,11,1,19,13,12,20,4,4,4,4,4,4,4,4,1,1,1,1,1,1,4,1,1,4,11,19,13,12,12,12,12,12,20,0,1,4,1,1,1,1,5,4,4,11,1,1,19,13,12,12,20,20,5,4,4,11,11,1,1,19,13,12,12,12,12,12,12,20,38,38,39,19,20,1,4,1,1,4,1,4,1,1,4,1,1,11,1,1,1,1,1,1,13,4,1,4,1,1,13,1,4,4,4,11,4,4,1,4,1,4,1,13,1,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,124,4,1,125,1,19,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,19,13,12,20,5,19,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,63,63,0,4,12,20,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,19,13,12,20,39,20,4,1,12,20,4,13,5,4,11,1,19,13,12,20,13,1,1,1,13,13,13,13,5,4,11,1,19,13,12,20,63,63,13,13,13,63,5,4,11,1,19,13,12,20,63,38,38,4,4,4,4,4,0,13,4,39,20,1,4,1,4,1,1,1,4,4,1,1,19,5,0,0,0,0,0,0,0,19,19,19,5,19,51,19,0,23,19,0,19,5,5,5,19,0,23,0,0,0,0,19,127,0,0,0,0,0,60,0,51,5,5,5,0,0,0,0,0,0,19,0,19,19,60,93,0,0,0,0,5,53,53,70,2,22,22,22,6,6,6,6,6,31,31,23,22,22,53,51,60,6,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,51,60,60,6,2,72,72,73,73,74,74,75,76,77,77,80,80,82,82,83,83,84,84,85,85,86,87,70,56,22,60,6,2,22,53,51,6,2,2,72,73,74,75,77,80,82,83,84,85,56,56,22,6,51,23,22,22,22,22,22,22,53,51,60,6,6,6,6,6,6,6,2,56,31,23,22,53,51,51,60,6,6,2,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,31,31,31,31,31,31,31,31,31,23,23,22,22,22,22,22,22,22,22,53,53,51,51,51,51,51,51,51,51,60,60,60,60,6,6,6,6,6,2,2,2,2,2,72,73,74,75,76,76,77,77,80,80,82,83,84,85,86,87,70,56,56,56,53,56,56,53,53,56,56,56,22,51,60,6,56,53,53,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,3,31,22,51,60,6,6,6,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,53,56,93,53,51,51,31,53,51,2,72,73,74,75,76,77,80,82,83,84,85,31,93,72,73,74,76,86,93,93,72,73,74,75,76,77,80,82,83,84,85,86,87,70,93,70,22,60,6,2,31,56,56,31,93,75,76,82,83,84,86,87,77,80,51,31,56,0,70,70,51,22,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,51,6,2,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,93,31,31,23,22,53,51,60,6,2,72,73,74,75,76,77,80,82,83,84,85,86,87,70,56,56,56,127,2,2,111,111,0,0,112,112,113,113,113,113,113,113,113,113,113,113,112,0,113,112,112,112,112,0,0,113,112,112,112,113,113,0,111,0,112,0,0,112,113,113,110,91,112,91,112,91,91,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,113,112,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,111,111,113,113,114,114,110,110,112,112,115,116,116,91,91,111,113,114,110,112,116,91,112,112,116,91,91,91,111,113,114,110,112,115,116,91,91,91,111,113,114,110,112,115,116,116,91,91,111,111,111,111,111,111,113,114,114,114,110,110,112,115,116,91,91,114,110,91,91,91,91,111,113,114,110,112,116,91,91,114,112,111,113,114,110,112,115,116,91,114,115,91,113,112,91,91,112,112,91,115,111,113,114,110,111,113,114,110,111,113,114,110,112,116,91,110,112,112,116,91,111,113,114,110,111,113,114,110,91,112,91,112,91,112,91,111,113,114,110,112,115,116,91,116,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,111,113,114,110,112,115,116,91,91,91,91,91,120,28,121,0,0,120,0,28,28,28,128,0,0,0,120,28,120,120,28,28,120,28,28,0,120,28,28,28,121,121,128,120,0,0,121,121,121,121,120,120,120,120,120,28,28,120,28,120,120,120,28,28,29,120,28,123,129,29,120,121,28,123,129,29,120,121,28,120,121,28,120,121,28,120,120,121,28,28,29,120,121,28,29,29,29,29,120,120,121,121,28,28,29,119,123,129,123,129,29,29,29,120,121,28,29,120,28,29,123,129,29,120,121,28,29,29,29,29,29,29,120,121,28,29,120,121,28,123,129,29,120,121,28,123,129,29,120,121,28,123,129,29,120,121,28,29,29,0,69,69,67,69,0,0,0,0,67,0,0,0,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,69,69,65,45,54,59,69,67,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,58,65,45,54,59,58,65,45,54,59,58,65,45,54,59,69,58,65,45,54,59,67,58,65,45,54,59,69,67,67,58,65,45,54,59,69,67,58,65,45,54,59,69,67,58,65,45,54,59,69,130,130],"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{{{Al{Aj}}}Ad}{{{Al{Ah}}}{{Al{An}}}}0{bb}000;>>{{bc}b{{f{B`}}}}{{{Al{c}}}{{Al{e}}}{}{}}00000300{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000{{{Al{Bbb}}}Bd}`{{{Al{j}}}j}{{{Al{h}}}h}{{{Al{Af}}}Af}{{{Al{b}}}b}{{{Al{Bf}}}Bf}{{{Al{Aj}}}Aj}{{{Al{Ah}}}Ah}{{{Al{Bh}}}Bh}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000{{{Al{c}}}Bd{}}000000000{{{Al{h}}{Al{h}}}Bj}{{{Al{Ah}}{Al{Ah}}}Bj}{{bBh}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}}}}}}{{{Al{Aj}}{Al{An}}}Ad}{bBd}{{}h}{{}Af}8{{}Bf}{{}Aj}{{}Ah}{{}Bh}{{hc}h{{f{Bl}}}}{{hc}h{{n{Bl}}}}{{he}h{{n{Bl}}}{{Ab{}{{A`{c}}}}}}02{{hceg}h{{n{Ah}}}{{n{Bn}}}{{f{Bl}}}}{{hi}h{{n{Ah}}}{{n{Bn}}}{{f{Bl}}}{{Ab{}{{A`{{C`{ceg}}}}}}}}2{{b{Cd{b}{{Cb{b}}}}}b}{{bAd}b}000{{bc}b{{f{B`}}}}{{hc}h{{f{Cf}}}}{{bc}b{{f{Cf}}}}3{{{Al{h}}{Al{h}}}Ad}{{{Al{Af}}{Al{Af}}}Ad}{{{Al{Bf}}{Al{Bf}}}Ad}{{{Al{Aj}}{Al{Aj}}}Ad}{{{Al{Ah}}{Al{Ah}}}Ad}{{{Al{Ah}}{Al{l}}}Ad}{{{Al{Ah}}{Al{B`}}}Ad}{{{Al{Ah}}{Al{{Al{An}}}}}Ad}{{{Al{Ah}}{Al{An}}}Ad}{{{Al{Bh}}{Al{Bh}}}Ad}`{{{Al{Bbb}}Chc}CjCl}{{hAd}h}{{bc}b{{f{Cn}}}}{{{Al{b}}c}{{D`{{Al{b}}}}}{{Dd{Db}}}}{{{Al{Bbb}}c}{{D`{{Al{Bbb}}}}}{{Dd{Db}}}}{{bAd}b}{{{Al{j}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{h}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Af}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{b}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Bf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Aj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ah}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Bh}}{Al{BbDf}}}{{Dj{BdDh}}}}0{cc{}}{{{Al{h}}}h}1{{{Al{Af}}}Af}22{{{Al{b}}}b}333{{{Al{Ah}}}Ah}{lAh}{{{Al{An}}}Ah}{{{Al{l}}}Ah}{{{Al{{Al{An}}}}}Ah}8{{{Al{Aj}}}{{Dj{DlCj}}}}{{{Al{BbAj}}}{{Dj{DlCj}}}}{{{Al{An}}Ad}{{Dj{DnB`}}}}{{{Al{An}}}{{Dj{Bf}}}}{{{Al{An}}}{{Dj{Bh}}}}{{{Al{b}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{Al{j}}}}11{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}100{{{Al{h}}}{{D`{{E`{Ed}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{Ed}}}}}}}}{{{Al{b}}{Al{h}}}{{E`{{Al{h}}}}}}{{{Al{Af}}}{{`{{Eb{}{{A`{{Al{Ah}}}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{h}}}}}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}990{{{Al{b}}}Bh}{{{Al{Aj}}{Al{An}}}Ef}{{{Al{h}}}{{Al{{Eh{Bl}}}}}}3{{{Al{h}}}Cf}{{{Al{b}}}Cf}{{{Al{b}}}{{D`{{Al{Cn}}}}}}{{{Al{Aj}}{Al{An}}}Ad}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{Af}}}}}}}}}}{{{Al{h}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{Al{Ah}}}}{{{Al{Af}}}{{Al{Ah}}}}{{{Al{h}}}{{D`{Cf}}}}3{{{Al{b}}}{{D`{{Al{d}}}}}}{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}?6?{{{Al{Aj}}{Al{An}}}{{D`{{Ej{c}}}}}{ElEnF`Fb}}{bAj}{{be}Aj{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Bbb}}}Aj}{{{Al{b}}}{{Al{An}}}}{{{Al{b}}}{{E`{{Al{An}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{D`{Ff}}}}{{{Al{Aj}}{Al{An}}}{{D`{{Fh{c}}}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{D`{{Al{c}}}}}{ElEnF`Fb}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{h}}}}}}}}}}0{{{Al{h}}}{{E`{Fj}}}}{{{Al{Aj}}{Al{An}}}{{D`{Fl}}}}{{{Al{Aj}}{Al{An}}}{{D`{Fn}}}}{{{Al{h}}}{{D`{Ed}}}}{{{Al{h}}}{{D`{{E`{Ed}}}}}}{{{Al{b}}}{{D`{Ed}}}}{{{Al{b}}}{{Al{G`}}}};;{{{Al{b}}}{{`{{Eb{}{{A`{{Al{b}}}}}}}}}}{{{Al{Bbb}}}{{`{{Eb{}{{A`{{Al{Bbb}}}}}}}}}}5{{{Al{h}}}Bf}{{{Al{h}}}{{D`{{Al{{Eh{l}}}}}}}}{{{Al{h}}}{{Al{Cn}}}}{{{Al{h}}}{{D`{{Al{l}}}}}}{{{Al{b}}}{{D`{{Al{An}}}}}}{{{Al{h}}}{{D`{{E`{{Al{An}}}}}}}}{{{Al{b}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}0;{{{Al{b}}}{{`{{Eb{}{{A`{Ed}}}}}}}}{{hAd}h}{{hc}h{{f{Ah}}}}{{bc}b{{n{Af}}}}{{}{{D`{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{be}b{{n{Af}}}{{Ab{}{{A`{c}}}}}}{{{Al{An}}}Ad}{{{Al{b}}}Ad}{{{Al{Bf}}{Al{Bbc}}}BdGb}{{{Al{Ah}}{Al{Bbc}}}BdGb}{{hc}h{{f{d}}}}{{bAd}b}{{hc}h{{f{l}}}}{{bc}b{{f{d}}}}=2===2={{hc}h{{n{Ah}}}}{{Afc}Af{{n{Ah}}}}{{{Al{Aj}}}Gd}{{hAd}h}6{{hc}h{{f{Cf}}}}{{{Al{b}}{Al{Ah}}}Al}{{{Al{Aj}}{Al{An}}}{{D`{Cf}}}}{{{Al{Aj}}{Al{An}}}{{D`{Gf}}}}::{ce{}{}}0000000{j{{Gh{j}}}}{Bf{{Gh{Bf}}}}{c{{Gh{B`}}}{}}{c{{Gh{l}}}{}}{c{{Gh{Ah}}}{}}{{{Al{b}}}Ad}{{{Al{h}}}Ad}101111111010000010001{{{Al{BbAf}}}Ad}1221211{{{Al{Af}}}Ad}3332>{{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{{bCf}b}{{bAd}b}{{AfAd}Af}{{bce}b{{Dd{An}}}{{Gj{h}{{Cb{h}}}}}}{{bc}b{{Gl{h}{{Cb{h}}}}}}{{bce}b{{Dd{An}}}{{Gj{Af}{{Cb{Af}}}}}}{{bce}b{{Dd{An}}}{{Gj{b}{{Cb{b}}}}}}:{ch{{n{Ah}}}}{cAf{{n{Ah}}}}{cb{{n{l}}}}{{bc}b{{f{Cf}}}}={{hAd}h}::{{hc}h{{f{Ff}}}}{{bc}b{{f{d}}}}0{{hc}h{{f{Ah}}}}{{he}h{{n{Ah}}}{{Ab{}{{A`{c}}}}}}{{}Gn}{eGn{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}`{{{Al{h}}{Al{h}}}{{D`{Bj}}}}{{{Al{Ah}}{Al{Ah}}}{{D`{Bj}}}}{{}{{`{{Eb{}{{A`{Fj}}}}}}}}{{{Al{Bbb}}}{{Dj{BdH`}}}}0{{bAd}b};{{{Al{BbAj}}{Al{An}}}{{D`{{Hb{c}}}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{D`{{Hd{c}}}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{D`{c}}}{ElEnF`Fb}}{{{Al{BbAj}}}{{D`{{C`{B`Aj}}}}}}{{{Al{Bbb}}}d}0{{{Al{b}}}B`}10{{hAd}h}0{{AfAd}Af}{{hce}h{{n{Ah}}}{{n{Bl}}}}{{hg}h{{n{Ah}}}{{n{Bl}}}{{Ab{}{{A`{{C`{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{Bn}}}{{n{Ah}}}}{{hg}h{{n{Bn}}}{{n{Ah}}}{{Ab{}{{A`{{C`{ce}}}}}}}}{{{Al{Bbb}}c}Bd{{n{B`}}}}{{hc}h{{f{Ed}}}}0{{hc}h{{Ab{}{{A`{Ed}}}}}}{{bc}b{{f{Ed}}}}0{{bc}b{{Ab{}{{A`{Ed}}}}}}{{bG`}b}{{bc}b{{n{b}}}}{{{Al{Aj}}}{{D`{{C`{{Al{An}}{Al{Aj}}}}}}}}{{bc}b{{f{l}}}}{{{Al{Aj}}{Al{An}}}{{D`{{Al{Aj}}}}}}{{{Al{Aj}}}{{D`{{Al{An}}}}}}{{bAd}b}003{{be}b{{n{b}}}{{Ab{}{{A`{c}}}}}}{{{Al{j}}}Ad}{{bCf}b}{{{Al{c}}}e{}{}}0000000{{{Al{Dn}}}{{D`{Fj}}}}{{{Al{Bh}}}{{D`{Fj}}}}{{{Al{c}}}B`{}}000{{hAd}h}{{{Al{Aj}}{Al{An}}}{{Dj{AdHf}}}}{c{{Dj{e}}}{}{}}0000000{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Ej{c}}}}Hf}}}{ElEnF`Fb}}{b{{Dj{AjCj}}}}{{be}{{Dj{AjCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Bbb}}e}{{Dj{AjCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Fh{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{{Al{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{Fl}}Hf}}}}{{{Al{Aj}}{Al{An}}}{{Dj{{D`{Fn}}Hf}}}}88888888{{}{{Dj{GnCj}}}}{e{{Dj{GnCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{{Hb{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{{Hd{c}}}}Hf}}}{ElEnF`Fb}}{{{Al{BbAj}}{Al{An}}}{{Dj{{D`{c}}Hf}}}{ElEnF`Fb}}{{{Al{BbGn}}e}{{Dj{BdCj}}}{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{c}}}Hh{}}0000000{{{Al{BbGn}}e}Bd{{n{Fd}}En}{{Ab{}{{A`{c}}}}}}{{{Al{BbDl}}{Al{Aj}}}{{Dj{BdCj}}}}{{{Al{BbDl}}{Al{BbAj}}}{{Dj{BdCj}}}}{{hc}h{{f{Ed}}}}{{hc}h{{f{Bf}}}}{{hc}h{{f{l}}}}{{he}h{{n{l}}}{{Ab{}{{A`{c}}}}}}{{hc}h{{f{Cn}}}}`{{{Al{Aj}}{Al{An}}}{{D`{Hj}}}}3{{}{{Al{{Eh{Dn}}}}}}{{}{{Al{{Eh{Bh}}}}}}{{bc}b{{f{l}}}}605{{be}b{{n{l}}}{{Ab{}{{A`{c}}}}}}109{{hc}h{{Ab{}{{A`{Ed}}}}}}{{bc}b{{f{Ed}}}}{{bc}b{{Ab{}{{A`{Ed}}}}}}`````````````````````````````````````````````````````````````{{Fjc}Fj{{f{l}}}}{{Fje}Fj{{n{l}}}{{Ab{}{{A`{c}}}}}}{{Hlc}Hl{{n{d}}}}{{{Al{d}}}{{`{Cl}}}}{{{Al{Bl}}}{{Al{Db}}}}{{{Al{Bl}}}{{Al{Hn}}}}1{{{Al{l}}}{{Al{An}}}}{{{Al{l}}}{{Al{Db}}}}{{{Al{l}}}{{Al{{Eh{Ef}}}}}}{{{Al{l}}}{{Al{Hn}}}}3{{}Cn}{{{Al{c}}}{{Al{e}}}{}{}}007000500000000000000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000000000000000000{{{Al{Cn}}}Cn}{{{Al{Bn}}}Bn}{{{Al{Bl}}}Bl}{{{Al{Fj}}}Fj}{{{Al{Ff}}}Ff}{{{Al{{Gh{c}}}}}{{Gh{c}}}En}{{{Al{l}}}l}{{{Al{d}}}d}{{{Al{I`}}}I`}{{{Al{Ib}}}Ib}{{{Al{Id}}}Id}{{{Al{{If{c}}}}}{{If{c}}}{EnDnEnF`Fb}}{{{Al{Ih}}}Ih}{{{Al{{Ij{c}}}}}{{Ij{c}}}{En{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}}{{J`{c}}}{En{In{Jb}}}}{{{Al{Jd}}}Jd}{{{Al{Jf}}}Jf}{{{Al{Jh}}}Jh}{{{Al{Jj}}}Jj}{{{Al{{Jl{ce}}}}}{{Jl{ce}}}EnEn}{{{Al{{Jn{ce}}}}}{{Jn{ce}}}EnEn}{{{Al{Hl}}}Hl}{{{Al{G`}}}G`}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000000000000000000{{{Al{c}}}Bd{}}000000000000000000000000000000000{{{Al{Bl}}{Al{Bl}}}Bj}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}BjK`}{{{Al{l}}{Al{l}}}Bj}{{{Al{d}}{Al{d}}}Bj}{{}Bl}{{}Fj}{{}Ff}{{}l}{{}d}{{}{{Al{d}}}}{{}I`}{{}Ib}{{}Id}{{}{{If{c}}}{DnEnF`Fb}}{{}{{Ij{c}}}{{In{Il}}EnF`Fb}}{{}{{J`{c}}}{{In{Jb}}}}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}{{Al{G`}}}}{{}G`}{{{Al{Bl}}}{{Al{Db}}}}{{{Al{l}}}{{Al{An}}}}{{{Al{Ff}}}{{Kb{{Al{Cf}}}}}}{{{Al{Bn}}{Al{Bn}}}Ad}{{{Al{Bl}}{Al{Fd}}}Ad}{{{Al{Bl}}{Al{An}}}Ad}{{{Al{Bl}}{Al{{Al{Db}}}}}Ad}{{{Al{Bl}}{Al{Bl}}}Ad}{{{Al{Bl}}{Al{B`}}}Ad}{{{Al{Bl}}{Al{{Al{An}}}}}Ad}{{{Al{Fj}}{Al{Fj}}}Ad}{{{Al{Ff}}{Al{Ff}}}Ad}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}AdKd}{{{Al{l}}{Al{l}}}Ad}{{{Al{l}}{Al{B`}}}Ad}{{{Al{l}}{Al{{Al{Db}}}}}Ad}{{{Al{l}}{Al{An}}}Ad}{{{Al{l}}{Al{Db}}}Ad}{{{Al{l}}{Al{{Al{An}}}}}Ad}{{{Al{l}}{Al{Ah}}}Ad}{{{Al{d}}{Al{d}}}Ad}{{G`Kf}G`}{{{Al{Cn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Bn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Bl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Fj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ff}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{{Gh{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{l}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{d}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{I`}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ib}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Id}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{If{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{KhDnEnF`Fb}}{{{Al{Ih}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Ij{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{Kh{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}{Kh{In{Jb}}}}{{{Al{Jd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jh}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Jj}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Jl{ce}}}}{Al{BbDf}}}{{Dj{BdDh}}}KhKh}{{{Al{{Jn{ce}}}}{Al{BbDf}}}{{Dj{BdDh}}}KhKh}{{{Al{Hl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{G`}}{Al{BbDf}}}{{Dj{BdDh}}}}{cCn{KjF`Fb}}{{{Kl{Il}}}Cn}{KnCn}{{{L`{Il}}}Cn}{{{Lb{Il}}}Cn}{{{Ld{Il}}}Cn}{{{Lf{Il}}}Cn}{cc{}}{{{E`{c}}}Cn{{n{Fj}}}}{{{Lh{c}}}Cn{{n{Fj}}}}{cBn{{n{Bl}}}}3{{{Al{{Al{Db}}}}}Bl}4{{{Al{Db}}}Bl}{{{Al{{Al{An}}}}}Bl}{{{Al{Bl}}}Bl}{{{Al{l}}}Bl}{{{Al{An}}}Bl}{lBl}{cFj{{n{l}}}};{CfFf}{{{L`{Cf}}}Ff}{{{Lf{Cf}}}Ff}{{{Lb{Cf}}}Ff}?{{{Ld{Cf}}}Ff}{{{Kl{Cf}}}Ff}{KnFf}{{{D`{c}}}{{Gh{c}}}{}}{c{{Gh{c}}}{}}{cc{}}{Ljc{}}{{{Al{l}}}l}{{{Al{{Al{An}}}}}l}{{{Al{An}}}l}4{Ahl}{{{Al{{Al{An}}}}}d}{{{Al{B`}}}d}{{{Al{An}}}d}{B`d}999999{eIh{{n{Fj}}}{{Ab{}{{A`{c}}}}}}:{c{{Ij{e}}}{{Ll{Il}}}{{In{Il}}EnF`Fb}}{c{{J`{e}}}{{Ll{Jb}}}{{In{Jb}}}}<<<<<<<<<{{{Al{G`}}}{{Al{Kf}}}}0{{{Al{Fj}}}{{D`{{Al{d}}}}}}11{{{Al{Fj}}}{{Al{An}}}}{{{Al{Fj}}}{{`{{Eb{}{{A`{{Al{An}}}}}}}}}}333{{{Al{Bl}}{Al{Bbc}}}BdGb}{{{Al{Ff}}{Al{Bbc}}}BdGb}{{{Al{{Gh{c}}}}{Al{Bbe}}}BdLnGb}{{{Al{l}}{Al{Bbc}}}BdGb}{{G`Kf}G`}{{Fjc}Fj{{f{d}}}}{{FjAd}Fj}{ce{}{}}0000000000000000000000{f{{Gh{c}}}{}}{c{{Gh{Cn}}}{}}{c{{Gh{Bl}}}{}}{c{{Gh{Ff}}}{}}{{{Gh{c}}}{{Gh{c}}}{}}2{c{{Gh{l}}}{}}{c{{Gh{B`}}}{}}{c{{Gh{Ah}}}{}}{c{{Gh{d}}}{}}77777777777777<{{{Al{Fj}}}Ad}={{{Kj{}{{M`{c}}}}g}{{Jl{{Kj{}{{M`{c}}}}g}}}{F`FbEn}{F`FbEn}{{Mb{c}{{Cb{e}}}}En}}{{{Al{Fj}}{Al{An}}Ad}Ad}{{{Al{Ff}}}Cf}0{cCnKj}{cFj{{n{l}}}}{cFf{{n{Ff}}}}{{}d}{{}I`}{{}Ib}{{}Id}{{}{{If{c}}}{DnEnF`Fb}}{cIh{{n{Ih}}}}{{}{{Ij{c}}}{{In{Il}}EnF`Fb}}{{}{{J`{c}}}{{In{Jb}}}}{{}Jd}{{}Jf}{{}Jh}{{}Jj}{{}Cn}{{{Al{{Kj{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{cCj}}}{F`FbEn}}{{{Al{I`}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Ib}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Id}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}}{{{Al{Ih}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{B`Cj}}}}{{{Al{{Jl{cg}}}}{Al{b}}{D`{{Al{h}}}}Fd}{{Dj{Cj}}}Kj{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Kj{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}FdHj}{{Dj{cCj}}}{F`FbEn}}{{{Al{{Kj{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{cCj}}}{F`FbEn}}{{{Al{I`}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Ib}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Id}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{If{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{DnEnF`Fb}}{{{Al{Ih}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Ij{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{{In{Il}}EnF`Fb}}{{{Al{{J`{c}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}{{In{Jb}}EnF`Fb}}{{{Al{Jd}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jf}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jh}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{Jj}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Jl{cg}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}Kj{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Jn{ci}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}Kj{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Al{Hl}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}}{{Dj{Cj}}}}{{{Al{{Kj{}{{M`{c}}}}}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}Hj}{{Dj{cCj}}}{F`FbEn}}{{{Al{Hl}}{Al{b}}{D`{{Al{h}}}}{Al{Db}}Hj}{{Dj{Cj}}}}{{{Al{Bl}}{Al{Bl}}}{{D`{Bj}}}}{{{Al{{Gh{c}}}}{Al{{Gh{c}}}}}{{D`{Bj}}}Mh}{{{Al{l}}{Al{l}}}{{D`{Bj}}}}{{{Al{d}}{Al{d}}}{{D`{Bj}}}}{{}Cn}{{G`Kf}G`}{{}G`}{{{Al{Cn}}}{{D`{{Mf{Eb}}}}}}{{{Al{{Kj{}{{M`{c}}}}}}}{{D`{{Mf{Eb}}}}}{F`FbEn}}{{{Al{{If{c}}}}}{{D`{{Mf{Eb}}}}}{DnEnF`Fb}}{{{Al{Ih}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jd}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jf}}}{{D`{{Mf{Eb}}}}}}{{{Al{Jh}}}{{D`{{Mf{Eb}}}}}}{{{Al{{Jl{cg}}}}}{{D`{{Mf{Eb}}}}}Kj{F`FbEn}{{Mb{}{{Cb{e}}}}EnF`Fb}}{{{Al{{Jn{ci}}}}}{{D`{{Mf{Eb}}}}}Kj{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Ij{c}}e}{{Ij{c}}}{{In{Il}}EnF`Fb}{{Ll{Il}}}}{{{J`{c}}e}{{J`{c}}}{{In{Jb}}}{{Ll{Jb}}}}{{{Al{Ff}}}{{Kb{{Al{Cf}}}}}}><`{cHl{{n{d}}}}{cHl{{n{l}}}}{{{Al{Ff}}}Ad}{{{Al{Bl}}}Fd}{{{Al{c}}}e{}{}}0000000000000000000000{{{Al{c}}}B`{}}00{c{{Dj{e}}}{}{}}000000000000000000000000000000000000000000000{{{Kj{}{{M`{c}}}}i}{{Jn{{Kj{}{{M`{c}}}}i}}}{F`FbEn}{F`FbEn}{{n{{Mf{Md}}}}}{{Mb{c}{{Cb{{Dj{eg}}}}}}EnF`Fb}}{{{Al{c}}}Hh{}}{{{Al{Cn}}}Mj}1111111111111111111111{{G`Kf}G`}0{{}c{}}{{{Al{Bbd}}Ed}{{Dj{BdDh}}}}{{{Al{Bbd}}{Al{An}}}{{Dj{BdDh}}}}````````````````````````````````````````{MlEf}{{Kf{D`{Mn}}}Kf}{{N`N`}N`}{{KfN`}Kf}{{{Al{BbN`}}N`}Bd}{{{Al{BbKf}}N`}Bd}{KfKf}0{{{Al{c}}}{{Al{e}}}{}{}}0000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}0000000{{NbAd}Nb}{N`N`}{{{Al{Mn}}}Mn}{{{Al{Nb}}}Nb}{{{Al{Nd}}}Nd}{{{Al{Ml}}}Ml}{{{Al{N`}}}N`}{{{Al{Nf}}}Nf}{{{Al{Nh}}}Nh}{{{Al{Kf}}}Kf}{{{Al{c}}{Al{Bbe}}}Bd{}{}}0000000{{{Al{c}}}Bd{}}00000000000000{{{Al{Mn}}{Al{Mn}}}Bj}{{{Al{Nb}}{Al{Nb}}}Bj}{{{Al{Nd}}{Al{Nd}}}Bj}{{{Al{Ml}}{Al{Ml}}}Bj}{{{Al{N`}}{Al{N`}}}Bj}{{{Al{Nh}}{Al{Nh}}}Bj}{{{Al{Kf}}{Al{Kf}}}Bj}{{N`N`}Ad}{{}N`}{{}Nh}{{}Kf}{KfKf}{{KfN`}Kf}{{{Al{Mn}}{Al{Mn}}}Ad}{{{Al{Nb}}{Al{Nb}}}Ad}{{{Al{Nd}}{Al{Nd}}}Ad}{{{Al{Ml}}{Al{Ml}}}Ad}{{{Al{N`}}{Al{N`}}}Ad}{{{Al{Nf}}{Al{Nf}}}Ad}{{{Al{Nh}}{Al{Nh}}}Ad}{{{Al{Kf}}{Al{N`}}}Ad}{{{Al{Kf}}{Al{Kf}}}Ad}{{Kf{D`{Mn}}}Kf}{{{Al{Mn}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nb}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Ml}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{N`}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Nh}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Kf}}{Al{BbDf}}}{{Dj{BdDh}}}}0{NdMn}{MlMn}{cc{}}{{{C`{EfEfEf}}}Mn}{EfMn}{NbMn}33{NbNd}{EfNd}5{{{C`{EfEfEf}}}Ml}666{N`Kf}73{MlEf}{Kf{{D`{Mn}}}}{KfN`}11{{{Al{Mn}}{Al{Bbc}}}BdGb}{{{Al{Nb}}{Al{Bbc}}}BdGb}{{{Al{Nd}}{Al{Bbc}}}BdGb}{{{Al{Ml}}{Al{Bbc}}}BdGb}{{{Al{N`}}{Al{Bbc}}}BdGb}{{{Al{Nh}}{Al{Bbc}}}BdGb}{{{Al{Kf}}{Al{Bbc}}}BdGb}{KfKf}{NdEf}{{N`N`}N`}{ce{}{}}0000000{Nd{{D`{Nb}}}}14{NbAd}{N`Ad}{KfAd}7{N`Nf}{{}N`}{{}Kf}{{{Al{BbNf}}}D`}{{Mnc}Kf{{n{Mn}}}}{{Nbc}Kf{{n{Mn}}}}{{Ndc}Kf{{n{Mn}}}}{{Mlc}Kf{{n{Mn}}}}{MnKf}{NbKf}{NdKf}{MlKf}{{{Al{Mn}}{Al{Mn}}}{{D`{Bj}}}}{{{Al{Nb}}{Al{Nb}}}{{D`{Bj}}}}{{{Al{Nd}}{Al{Nd}}}{{D`{Bj}}}}{{{Al{Ml}}{Al{Ml}}}{{D`{Bj}}}}{{{Al{N`}}{Al{N`}}}{{D`{Bj}}}}{{{Al{Nh}}{Al{Nh}}}{{D`{Bj}}}}{{{Al{Kf}}{Al{Kf}}}{{D`{Bj}}}}{MlEf}{{N`N`}N`}{N`{{`{ClNj}}}}{Nh{{`{ClNj}}}}{Kf{{`{ClNj}}}}{Mn{{`{ClNj}}}}{Nb{{`{ClNj}}}}{Nd{{`{ClNj}}}}{Ml{{`{ClNj}}}}32104{{N`N`Ad}N`}{KfKf}9{{KfN`}Kf}{{{Al{BbN`}}N`}Bd}{{{Al{BbKf}}N`}Bd}{{{Al{c}}}e{}{}}0000000{{{Al{c}}}B`{}}0{c{{Dj{e}}}{}{}}000000000000000{{{Al{c}}}Hh{}}00000007{{Kf{D`{Mn}}}Kf}{{Kf{Al{BbNl}}}{{Dj{BdH`}}}}0````````````````````````````````````````````````````{{{Cj{c}}}{{Cj{e}}}NnNn}{O`{{D`{{Al{An}}}}}}{Ch{{D`{{Al{An}}}}}}{{{Al{c}}}{{Al{e}}}{}{}}00000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}00000{{{Al{O`}}}O`}{{{Al{Ob}}}Ob}{{{Al{Ch}}}Ch}{{{Al{c}}{Al{Bbe}}}Bd{}{}}00{{{Al{c}}}Bd{}}0000{{{Al{{Cj{c}}}}}{{`{{Eb{}{{A`{{C`{O`{Al{Ob}}}}}}}}}}}Nn}{{{Al{O`}}{Al{O`}}}Ad}{{{Al{Ob}}{Al{Ob}}}Ad}{{{Al{Ch}}{Al{Ch}}}Ad}{{{Al{{Cj{c}}}}}LjNn}{{{Al{{Cj{c}}}}}OdNn}{{{Al{{Cj{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Nn}0{{{Al{O`}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Ob}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Ch}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Cj{c}}{Al{Bbb}}}{{Cj{c}}}Nn}{{{Al{{Cj{Nn}}}}}d}{{{Al{{Cj{Of}}}}}d}{{{Al{Cj}}}d}{cc{}}00{Dh{{Cj{c}}}Nn}{H`{{Cj{c}}}Nn}222{{{Al{{Cj{c}}}}O`}{{D`{{Al{Ob}}}}}Nn}{{{Al{O`}}{Al{Bbc}}}BdGb}{{{Al{Ch}}{Al{Bbc}}}BdGb}{{{Al{Bb{Cj{c}}}}O`Ob}{{D`{Ob}}}Nn}{ce{}{}}00000{{{Al{{Cj{c}}}}}ChNn}{Ch{{Cj{c}}}Nn}{{{Al{{Cj{c}}}}}{{Dj{BdH`}}}Nn}{{Chc}{{Cj{e}}}ClNn}{{{Al{{Cj{c}}}}}dNn}{{{Al{{Cj{c}}}}}{{D`{{Al{Md}}}}}Nn}{{{Al{c}}}e{}{}}00{{{Al{c}}}B`{}}000{c{{Dj{e}}}{}{}}00000000000{{{Al{c}}}Hh{}}00000{{{Al{{Cj{c}}}}}AdNn}{{{Cj{c}}{Al{b}}}{{Cj{c}}}Nn}`````````````{{{Al{c}}}{{Al{e}}}{}{}}000000{{{Al{Bbc}}}{{Al{Bbe}}}{}{}}000000{{{Al{Hf}}}Hf}{{{Al{Gd}}}Gd}{{{Al{{Hb{c}}}}}{{Hb{c}}}En}{{{Al{{Ej{c}}}}}{{Ej{c}}}En}{{{Al{Fl}}}Fl}{{{Al{Gf}}}Gf}{{{Al{Hj}}}Hj}{{{Al{c}}{Al{Bbe}}}Bd{}{}}000000{{{Al{c}}}Bd{}}0000000{{{Al{Hj}}{Al{Hj}}}Bj}{{}{{Hb{c}}}{}}{{}{{Ej{c}}}{}}{{}Fl}{{}Gf}{{{Al{Hj}}{Al{Hj}}}Ad}{{{Al{Hf}}{Al{BbDf}}}{{Dj{BdDh}}}}0{{{Al{Gd}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{{Hb{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{{Ej{c}}}}{Al{BbDf}}}{{Dj{BdDh}}}Kh}{{{Al{Fl}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Gf}}{Al{BbDf}}}{{Dj{BdDh}}}}{{{Al{Hj}}{Al{BbDf}}}{{Dj{BdDh}}}}{cc{}}000000{ce{}{}}00000000000{{{Al{BbGd}}}{{D`{{Al{Ah}}}}}}{{{Al{Bb{Hb{c}}}}}D`{}}{{{Al{Bb{Ej{c}}}}}D`{}}{{{Al{BbFl}}}{{D`{{Al{Db}}}}}}{{{Al{BbGf}}}{{D`{Cf}}}}43210{{{Al{Hj}}{Al{Hj}}}{{D`{Bj}}}}{{{Al{Gd}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{{Hb{c}}}}}{{C`{Cf{D`{Cf}}}}}{}}{{{Al{{Ej{c}}}}}{{C`{Cf{D`{Cf}}}}}{}}{{{Al{Fl}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{Gf}}}{{C`{Cf{D`{Cf}}}}}}{{{Al{c}}}e{}{}}000000{{{Al{c}}}B`{}}{c{{Dj{e}}}{}{}}0000000000000{{{Al{c}}}Hh{}}000000``","D":"F@d","p":[[5,"Command",0,1619],[5,"StyledStr",515,1620],[10,"IntoResettable",515,1621],[5,"Arg",0,1622],[6,"ArgAction",0,1623],[5,"Str",515,1624],[10,"Into",1625],[17,"Item"],[10,"IntoIterator",1626],[1,"bool"],[5,"ArgGroup",0,1627],[5,"Id",0,1628],[5,"ArgMatches",0,1629],[1,"reference"],[1,"str"],[5,"String",1630],[0,"mut"],[1,"unit"],[6,"ValueHint",0,1631],[6,"ColorChoice",0,1632],[6,"Ordering",1633],[5,"OsStr",515,1634],[6,"ArgPredicate",515,1635],[1,"tuple"],[17,"Output"],[1,"fn"],[1,"usize"],[6,"ErrorKind",1343,1636],[5,"Error",1343,1637],[10,"Display",1638],[5,"ValueParser",515,1639],[6,"Option",1640],[5,"OsStr",1641],[10,"AsRef",1625],[5,"Formatter",1638],[5,"Error",1638],[6,"Result",1642],[10,"FromArgMatches",0,1643],[10,"ValueEnum",0,1643],[5,"Vec",1644],[10,"Iterator",1645],[1,"char"],[1,"u8"],[1,"slice"],[5,"ValuesRef",1490,1629],[10,"Any",1646],[10,"Clone",1647],[10,"Send",1648],[10,"Sync",1648],[5,"OsString",1641],[5,"ValueRange",515,1649],[5,"OccurrencesRef",1629],[5,"PossibleValue",515,1650],[5,"RawValues",1490,1629],[5,"RawOccurrences",1629],[5,"Styles",515,1651],[10,"Hasher",1652],[5,"IdsRef",1490,1629],[5,"Indices",1490,1629],[6,"Resettable",515,1621],[10,"FnOnce",1653],[10,"FnMut",1653],[10,"Parser",0,1643],[5,"Error",1654],[5,"Values",1490,1629],[5,"Occurrences",1629],[6,"MatchesError",1490,1655],[5,"TypeId",1646],[6,"ValueSource",1490,1656],[5,"UnknownArgumentValueParser",515,1639],[5,"Path",1657],[5,"StringValueParser",515,1639],[5,"OsStringValueParser",515,1639],[5,"PathBufValueParser",515,1639],[5,"EnumValueParser",515,1639],[5,"PossibleValuesParser",515,1639],[5,"RangedI64ValueParser",515,1639],[1,"i64"],[10,"TryFrom",1625],[5,"RangedU64ValueParser",515,1639],[1,"u64"],[5,"BoolValueParser",515,1639],[5,"FalseyValueParser",515,1639],[5,"BoolishValueParser",515,1639],[5,"NonEmptyStringValueParser",515,1639],[5,"MapValueParser",515,1639],[5,"TryMapValueParser",515,1639],[10,"Ord",1633],[6,"Bound",1658],[10,"PartialEq",1633],[5,"Style",1088,1659],[10,"Debug",1638],[10,"TypedValueParser",515,1639],[5,"RangeTo",1658],[5,"RangeFull",1658],[5,"Range",1658],[5,"RangeToInclusive",1658],[5,"RangeInclusive",1658],[5,"RangeFrom",1658],[1,"array"],[1,"never"],[10,"RangeBounds",1658],[10,"Hash",1652],[17,"Value"],[10,"Fn",1653],[10,"Error",1660],[5,"Box",1661],[10,"PartialOrd",1633],[5,"AnyValueId",1662],[5,"RgbColor",1088,1663],[6,"Color",1088,1663],[5,"Effects",1088,1664],[6,"AnsiColor",1088,1663],[5,"Ansi256Color",1088,1663],[5,"EffectIter",1088,1664],[5,"Reset",1088,1665],[10,"Copy",1648],[10,"Write",1666],[10,"ErrorFormatter",1343,1667],[6,"ContextKind",1343,1668],[6,"ContextValue",1343,1668],[1,"i32"],[5,"KindFormatter",1343,1667],[10,"Args",0],[10,"Subcommand",0],[10,"CommandFactory",0],[10,"ValueParserFactory",515],[8,"Result",1343],[5,"DefaultFormatter",1343],[15,"Downcast",1617]],"r":[[3,1622],[4,1623],[5,1627],[6,1629],[7,1643],[9,1632],[10,1619],[11,1643],[18,1669],[21,1643],[26,1628],[29,1643],[33,1643],[37,1643],[38,1631],[54,1669],[89,1669],[120,1669],[162,1669],[386,1669],[499,1669],[517,1622],[518,1623],[519,1627],[520,1635],[521,1639],[522,1639],[523,1619],[531,1639],[534,1639],[540,1621],[542,1639],[543,1639],[544,1634],[545,1639],[548,1639],[549,1650],[550,1639],[551,1639],[552,1639],[554,1621],[559,1624],[560,1639],[561,1620],[562,1651],[563,1639],[564,1639],[566,1639],[571,1631],[572,1639],[573,1639],[574,1649],[981,1670],[1090,1663],[1091,1663],[1105,1663],[1111,1664],[1112,1664],[1119,1665],[1121,1663],[1123,1659],[1124,1651],[1346,1668],[1347,1668],[1354,1637],[1355,1667],[1356,1636],[1366,1667],[1375,1637],[1376,1667],[1490,1629],[1495,1629],[1496,1629],[1497,1655],[1498,1629],[1500,1656],[1501,1629],[1502,1629]],"b":[[156,"impl-PartialEq-for-Id"],[157,"impl-PartialEq%3CStr%3E-for-Id"],[158,"impl-PartialEq%3CString%3E-for-Id"],[159,"impl-PartialEq%3C%26str%3E-for-Id"],[160,"impl-PartialEq%3Cstr%3E-for-Id"],[170,"impl-Debug-for-Arg"],[171,"impl-Display-for-Arg"],[173,"impl-Debug-for-Command"],[174,"impl-Display-for-Command"],[177,"impl-Debug-for-Id"],[178,"impl-Display-for-Id"],[179,"impl-Display-for-ColorChoice"],[180,"impl-Debug-for-ColorChoice"],[191,"impl-From%3C%26Id%3E-for-Id"],[192,"impl-From%3CStr%3E-for-Id"],[193,"impl-From%3C%26str%3E-for-Id"],[194,"impl-From%3C%26Str%3E-for-Id"],[195,"impl-From%3C%26%26str%3E-for-Id"],[581,"impl-AsRef%3CPath%3E-for-OsStr"],[582,"impl-AsRef%3COsStr%3E-for-OsStr"],[583,"impl-AsRef%3Cstr%3E-for-Str"],[584,"impl-AsRef%3COsStr%3E-for-Str"],[585,"impl-AsRef%3C%5Bu8%5D%3E-for-Str"],[586,"impl-AsRef%3CPath%3E-for-Str"],[725,"impl-Default-for-StyledStr"],[726,"impl-Default-for-%26StyledStr"],[737,"impl-Default-for-%26Styles"],[738,"impl-Default-for-Styles"],[743,"impl-PartialEq%3COsString%3E-for-OsStr"],[744,"impl-PartialEq%3Cstr%3E-for-OsStr"],[745,"impl-PartialEq%3C%26OsStr%3E-for-OsStr"],[746,"impl-PartialEq-for-OsStr"],[747,"impl-PartialEq%3CString%3E-for-OsStr"],[748,"impl-PartialEq%3C%26str%3E-for-OsStr"],[752,"impl-PartialEq-for-Str"],[753,"impl-PartialEq%3CString%3E-for-Str"],[754,"impl-PartialEq%3C%26OsStr%3E-for-Str"],[755,"impl-PartialEq%3Cstr%3E-for-Str"],[756,"impl-PartialEq%3COsStr%3E-for-Str"],[757,"impl-PartialEq%3C%26str%3E-for-Str"],[758,"impl-PartialEq%3CId%3E-for-Str"],[765,"impl-Display-for-ValueRange"],[766,"impl-Debug-for-ValueRange"],[768,"impl-Display-for-Str"],[769,"impl-Debug-for-Str"],[770,"impl-Debug-for-StyledStr"],[771,"impl-Display-for-StyledStr"],[787,"impl-From%3CP%3E-for-ValueParser"],[788,"impl-From%3CRangeTo%3Ci64%3E%3E-for-ValueParser"],[789,"impl-From%3CRangeFull%3E-for-ValueParser"],[790,"impl-From%3CRange%3Ci64%3E%3E-for-ValueParser"],[791,"impl-From%3CRangeToInclusive%3Ci64%3E%3E-for-ValueParser"],[792,"impl-From%3CRangeInclusive%3Ci64%3E%3E-for-ValueParser"],[793,"impl-From%3CRangeFrom%3Ci64%3E%3E-for-ValueParser"],[795,"impl-From%3CVec%3CP%3E%3E-for-ValueParser"],[796,"impl-From%3C%5BP;+C%5D%3E-for-ValueParser"],[799,"impl-From%3C%26%26OsStr%3E-for-OsStr"],[801,"impl-From%3C%26OsStr%3E-for-OsStr"],[802,"impl-From%3C%26%26str%3E-for-OsStr"],[803,"impl-From%3C%26OsStr%3E-for-OsStr"],[804,"impl-From%3C%26Str%3E-for-OsStr"],[805,"impl-From%3C%26str%3E-for-OsStr"],[806,"impl-From%3CStr%3E-for-OsStr"],[809,"impl-From%3Cusize%3E-for-ValueRange"],[810,"impl-From%3CRange%3Cusize%3E%3E-for-ValueRange"],[811,"impl-From%3CRangeFrom%3Cusize%3E%3E-for-ValueRange"],[812,"impl-From%3CRangeToInclusive%3Cusize%3E%3E-for-ValueRange"],[814,"impl-From%3CRangeInclusive%3Cusize%3E%3E-for-ValueRange"],[815,"impl-From%3CRangeTo%3Cusize%3E%3E-for-ValueRange"],[816,"impl-From%3CRangeFull%3E-for-ValueRange"],[817,"impl-From%3COption%3CT%3E%3E-for-Resettable%3CT%3E"],[818,"impl-From%3CT%3E-for-Resettable%3CT%3E"],[821,"impl-From%3C%26Str%3E-for-Str"],[822,"impl-From%3C%26%26str%3E-for-Str"],[823,"impl-From%3C%26str%3E-for-Str"],[825,"impl-From%3CId%3E-for-Str"],[826,"impl-From%3C%26%26str%3E-for-StyledStr"],[827,"impl-From%3C%26String%3E-for-StyledStr"],[828,"impl-From%3C%26str%3E-for-StyledStr"],[829,"impl-From%3CString%3E-for-StyledStr"],[1205,"impl-PartialEq%3CEffects%3E-for-Style"],[1206,"impl-PartialEq-for-Style"],[1214,"impl-Debug-for-Reset"],[1215,"impl-Display-for-Reset"],[1216,"impl-Debug-for-Style"],[1217,"impl-Display-for-Style"],[1218,"impl-From%3CAnsi256Color%3E-for-Color"],[1219,"impl-From%3CRgbColor%3E-for-Color"],[1221,"impl-From%3C(u8,+u8,+u8)%3E-for-Color"],[1222,"impl-From%3Cu8%3E-for-Color"],[1223,"impl-From%3CAnsiColor%3E-for-Color"],[1226,"impl-From%3CAnsiColor%3E-for-Ansi256Color"],[1227,"impl-From%3Cu8%3E-for-Ansi256Color"],[1427,"impl-Debug-for-Error%3CF%3E"],[1428,"impl-Display-for-Error%3CF%3E"],[1429,"impl-Display-for-ContextKind"],[1430,"impl-Debug-for-ContextKind"],[1431,"impl-Display-for-ContextValue"],[1432,"impl-Debug-for-ContextValue"],[1433,"impl-Debug-for-ErrorKind"],[1434,"impl-Display-for-ErrorKind"],[1442,"impl-From%3CError%3E-for-Error%3CF%3E"],[1443,"impl-From%3CError%3E-for-Error%3CF%3E"],[1545,"impl-Debug-for-MatchesError"],[1546,"impl-Display-for-MatchesError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFEDSQA+AAAASAAQAFsAGwCBAAYAmQAJAKoACwC3AAAAuQAAALwAAADAAAQAyQABABsBAQAuAQAAOwEEAIQBAQC2AQcAvwEEAMYBBwDWAQcA5AEHAPgBAABGAgUATgKqAPoCIAAcAwIAIAMAACIDBgAqAwMALwMEADUDAwA6AwQARQMAAEcDAQBcAwMAewMWAKoDBACxAw0AwAMEAMoDBgDTAwAA2wNHACQEAAAmBBUAPwQBAEUEAQBRBAAAVAQDAFsEAABrBAMAcQQPAIMEJQCqBAIArwQIALkECwDGBAIAywQBAM4EAADSBAAA1wQAANkEBwDtBAAA9gQAAP8EBgAWBSUAdwUWAI8FAgCUBQcAngUBAKMFAQCpBQEAtwUZAOAFMQAgBjEA"}],\ +["clap_builder",{"t":"PEEEEKPGEKIKFPKKKEQNNMMMMNNNNNCNNNNNNNNMQMNNNNNNNNCNNNNNNNNNNNMNNNNNNNMNNNNNNNNNNCNNNNMNNNNNNNNNNNNNNNNNMNNQMNPPFGFGFFFPPPPPTPFPPFPPPPPKPFFFFPRFFFFFPGTPPPFFFEFKPFPPPRGFKFPEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNPPFGTTPPPPPPPPPPTGPTTTTFFPTTTPPFPFTFFTPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGGPEPPPPFKGPPPPPPPPPFPPPPPPPPIFPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPPPPFFGFPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["Always","Arg","ArgAction","ArgGroup","ArgMatches","Args","Auto","ColorChoice","Command","CommandFactory","Error","FromArgMatches","Id","Never","Parser","Subcommand","ValueEnum","ValueHint","arg","as_ref","as_str","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","command","command","command_for_update","default","default","eq","eq","eq","eq","eq","eq","error","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_str","from_str","from_str","group_id","group_id","has_subcommand","hash","into","into","into_resettable","into_resettable","into_resettable","parse","parse","parse_from","parse_from","parser","partial_cmp","possible_values","to_owned","to_owned","to_possible_value","to_possible_value","to_string","to_string","try_from","try_from","try_into","try_into","try_parse","try_parse","try_parse_from","try_parse_from","try_update_from","try_update_from","type_id","type_id","update_from","update_from","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","value_parser","value_variants","value_variants","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","_AnonymousValueParser","_infer_ValueParser_for","about","action","after_help","after_long_help","alias","alias","alias","aliases","aliases","aliases","allow_external_subcommands","allow_hyphen_values","allow_missing_positional","allow_negative_numbers","and_suggest","ansi","arg","arg","arg_required_else_help","args","args","args_conflicts_with_subcommands","args_override_self","as_os_str","as_ref","as_ref","as_ref","as_ref","as_ref","as_ref","as_str","author","before_help","before_long_help","bin_name","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","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","build","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","color","conflicts_with","conflicts_with","conflicts_with_all","conflicts_with_all","debug_assert","default","default","default","default","default","default","default","default","default","default","default","default","default","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","deref","deref","disable_colored_help","disable_help_flag","disable_help_subcommand","disable_version_flag","display_name","display_order","display_order","dont_delimit_trailing_values","end_bound","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","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","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","from","from","from","from","from","from","from","from_str","get_about","get_action","get_after_help","get_after_long_help","get_aliases","get_aliases","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_default_values","get_display_name","get_display_order","get_display_order","get_external_subcommand_value_parser","get_groups","get_help","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_matches","get_matches_from","get_matches_mut","get_name","get_name","get_name_and_aliases","get_name_and_visible_aliases","get_next_help_heading","get_num_args","get_opts","get_positionals","get_possible_values","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","groups","groups","has_subcommands","hash","hash","hash","hash","hash","help","help","help_expected","help_heading","help_template","hide","hide","hide","hide_default_value","hide_long_help","hide_possible_values","hide_possible_values","hide_short_help","id","id","ignore_case","ignore_errors","index","index","infer_long_args","infer_subcommands","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_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","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_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","map","map","matches","max_term_width","max_values","min_values","multicall","multiple","mut_arg","mut_args","mut_group","mut_subcommand","name","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","next_display_order","next_help_heading","next_line_help","next_line_help","no_binary_name","num_args","os_string","override_help","override_usage","overrides_with","overrides_with_all","parse","parse","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_","parse_ref_","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_buf","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","possible_values","print_help","print_long_help","propagate_version","range","range","raw","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","start_bound","string","styles","styling","subcommand","subcommand_help_heading","subcommand_negates_reqs","subcommand_precedence_over_arg","subcommand_required","subcommand_value_name","subcommands","suggest","suggest_arg","takes_values","takes_values","term_width","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_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","trailing_var_arg","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_get_matches","try_get_matches_from","try_get_matches_from_mut","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_map","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","type_id","type_id","type_id","type_id","value_delimiter","value_hint","value_name","value_names","value_parser","value_parser","value_terminator","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","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","borrow_mut","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","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","cmp","cmp","contains","default","default","default","default","default","dimmed","effects","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","fg_color","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_ansi","g","get_bg_color","get_effects","get_error","get_fg_color","get_header","get_invalid","get_literal","get_placeholder","get_underline_color","get_usage","get_valid","hash","hash","hash","hash","hash","hash","hash","header","hidden","index","insert","into","into","into","into","into","into","into","into","into","into_ansi","into_iter","invalid","invert","is_bright","is_plain","is_plain","italic","iter","literal","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","placeholder","plain","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","styled","sub","sub","sub_assign","sub_assign","to_owned","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_from","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","underline","underline_color","usage","valid","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","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","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","args_present","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","contains_id","default","default","default","default","default","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_count","get_flag","get_many","get_occurrences","get_one","get_raw","get_raw_occurrences","ids","index_of","indices_of","into","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","remove_many","remove_occurrences","remove_one","remove_subcommand","size_hint","size_hint","size_hint","size_hint","size_hint","subcommand","subcommand_matches","subcommand_name","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_contains_id","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_many","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_remove_many","try_remove_occurrences","try_remove_one","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value_source","actual","expected"],"q":[[0,"clap_builder"],[110,"clap_builder::builder"],[1011,"clap_builder::builder::styling"],[1296,"clap_builder::error"],[1443,"clap_builder::parser"],[1613,"clap_builder::parser::MatchesError"],[1615,"clap_builder::util::id"],[1616,"clap_builder::builder::command"],[1617,"clap_builder::util::color"],[1618,"core::cmp"],[1619,"alloc::string"],[1620,"clap_builder::builder::str"],[1621,"core::fmt"],[1622,"clap_builder::parser::matches::arg_matches"],[1623,"clap_builder::derive"],[1624,"core::result"],[1625,"core::option"],[1626,"core::hash"],[1627,"clap_builder::builder::resettable"],[1628,"std::ffi::os_str"],[1629,"core::convert"],[1630,"core::clone"],[1631,"core::iter::traits::collect"],[1632,"clap_builder::builder::possible_value"],[1633,"core::iter::traits::iterator"],[1634,"core::any"],[1635,"clap_builder::builder::styled_str"],[1636,"clap_builder::builder::arg"],[1637,"clap_builder::builder::action"],[1638,"clap_builder::builder::value_parser"],[1639,"clap_builder::builder::arg_group"],[1640,"clap_builder::builder::os_str"],[1641,"std::path"],[1642,"clap_builder::builder::arg_predicate"],[1643,"clap_builder::builder::range"],[1644,"clap_builder::builder::value_hint"],[1645,"core::marker"],[1646,"core::ops::range"],[1647,"clap_builder::error::kind"],[1648,"alloc::vec"],[1649,"core::ops::function"],[1650,"clap_builder::parser::matches::value_source"],[1651,"core::error"],[1652,"alloc::boxed"],[1653,"std::io::error"],[1654,"anstyle::color"],[1655,"anstyle::style"],[1656,"anstyle::effect"],[1657,"anstyle::reset"],[1658,"std::io"],[1659,"clap_builder::error::format"],[1660,"clap_builder::error::context"],[1661,"clap_builder::parser::error"]],"i":[6,0,0,0,0,0,6,0,0,0,0,0,0,6,0,0,0,0,0,1,1,125,125,126,126,1,1,6,1,6,0,1,6,1,6,1,6,6,1,127,0,127,1,6,1,1,1,1,1,6,0,1,1,6,6,1,1,1,1,1,1,6,15,15,15,18,18,6,125,125,126,1,1,6,1,1,1,22,22,22,22,0,1,6,1,6,18,6,1,6,1,6,1,6,22,22,22,22,22,22,1,6,22,22,15,15,15,0,18,6,46,35,0,0,0,0,0,0,0,46,46,46,35,46,45,46,0,44,46,0,46,35,35,35,46,0,44,0,0,0,0,46,128,0,0,0,0,0,21,0,45,35,35,35,0,0,0,0,0,0,46,0,46,46,21,82,0,0,0,0,35,0,0,4,34,4,4,34,4,28,34,4,28,4,34,4,34,36,32,38,4,4,38,4,4,4,39,39,39,11,11,11,11,11,4,4,4,4,43,43,35,34,38,44,4,39,39,28,45,21,11,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,35,34,38,44,4,39,28,45,45,21,21,11,32,46,46,47,47,48,48,49,49,50,53,54,54,57,57,59,59,60,60,61,61,62,62,63,64,36,34,39,21,11,32,4,34,38,34,38,4,34,38,4,39,28,45,11,32,32,46,47,48,49,50,54,57,59,60,61,62,34,34,34,34,34,34,34,34,4,39,11,4,4,4,4,4,34,4,4,45,34,38,44,39,39,39,39,39,39,28,45,21,11,11,11,11,11,11,11,32,46,4,34,4,4,4,4,43,35,34,34,38,44,4,4,39,28,45,45,21,11,11,32,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,43,43,43,43,43,43,43,43,43,43,35,34,34,38,38,44,44,4,4,39,39,39,39,39,39,39,39,28,28,45,45,45,45,45,45,45,45,21,21,21,21,11,11,11,11,11,32,32,32,32,32,46,47,48,49,50,53,53,54,54,57,57,59,60,61,62,63,64,36,46,4,34,4,4,34,4,34,4,4,34,4,4,38,4,4,4,4,4,4,34,4,34,4,4,4,34,28,34,34,38,34,34,4,34,4,34,4,4,4,4,4,28,28,4,4,34,4,4,34,34,34,4,4,4,4,4,4,34,34,34,34,34,4,34,4,4,34,4,34,34,4,34,4,4,39,45,21,11,46,34,28,4,34,4,34,4,28,34,34,34,4,34,34,38,34,4,34,4,4,4,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,33,43,35,39,45,21,11,11,11,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,34,4,34,4,4,4,4,4,4,4,34,4,34,34,34,34,34,4,28,34,34,34,4,38,34,4,4,34,4,34,34,38,4,4,4,34,34,34,4,4,4,4,34,4,82,82,28,4,45,45,4,38,4,4,4,4,4,43,34,38,4,28,45,32,47,48,49,50,53,54,57,59,60,61,62,4,4,34,4,4,34,43,4,4,34,34,82,82,47,48,49,53,63,82,82,82,47,48,49,50,53,54,57,59,60,61,62,63,64,36,82,82,36,34,39,21,11,32,43,43,82,82,50,53,59,60,61,63,64,4,4,4,54,57,34,4,4,4,4,4,34,34,38,34,34,34,34,34,34,34,38,38,34,34,4,34,34,34,4,4,4,45,43,4,0,4,4,4,4,4,4,4,36,36,35,45,4,39,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,34,4,45,11,32,34,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,4,4,4,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,82,82,43,43,35,34,38,44,4,39,28,45,21,11,32,46,47,48,49,50,53,54,57,59,60,61,62,63,64,36,34,34,34,34,128,34,34,4,34,4,34,4,4,4,34,34,4,4,32,32,102,102,0,0,103,103,104,104,104,104,104,104,104,104,104,104,103,0,104,103,103,103,103,0,0,104,103,103,103,104,104,0,102,0,103,0,0,103,104,104,100,101,103,101,103,101,101,101,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,104,103,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,102,102,104,104,105,105,100,100,103,103,106,107,107,101,101,88,102,104,105,100,103,107,101,103,103,107,101,88,88,101,101,102,104,105,100,103,106,107,101,101,88,101,102,104,105,100,103,106,107,107,101,101,88,102,102,102,102,102,102,104,105,105,105,100,100,103,106,107,101,101,88,105,100,101,101,88,101,88,88,88,88,101,88,88,102,104,105,100,103,107,101,88,101,105,103,102,104,105,100,103,106,107,101,88,105,106,88,101,104,103,101,101,103,88,103,101,106,102,104,105,100,102,104,105,100,102,104,105,100,103,107,101,88,88,100,103,103,107,101,102,104,105,100,102,104,105,100,101,103,101,88,103,101,103,101,102,104,105,100,103,106,107,101,88,107,101,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,102,104,105,100,103,106,107,101,88,101,101,88,88,101,101,113,72,114,0,0,113,0,72,72,72,99,0,0,0,113,72,113,113,72,72,113,72,72,0,113,72,72,72,114,114,99,113,0,0,114,114,114,114,113,113,113,113,113,72,72,113,72,113,113,113,72,72,111,113,72,116,117,111,113,114,72,116,117,111,113,114,72,113,114,72,113,114,72,113,113,114,72,72,111,113,114,72,111,111,111,111,113,113,114,114,72,72,111,112,116,117,116,117,111,111,111,113,114,72,111,113,72,111,116,117,111,113,114,72,111,111,111,111,111,111,113,114,72,111,113,114,72,116,117,111,113,114,72,116,117,111,113,114,72,116,117,111,113,114,72,111,111,0,94,94,118,94,0,0,0,0,118,0,0,0,14,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,94,94,14,14,120,121,122,123,14,94,118,118,14,119,120,121,122,123,94,118,14,119,120,121,122,123,94,14,14,14,14,14,14,14,14,14,14,118,14,119,120,121,122,123,94,119,120,121,122,123,119,120,121,122,123,119,120,121,122,123,94,14,14,14,14,119,120,121,122,123,14,14,14,118,14,119,120,121,122,123,94,118,14,118,14,119,120,121,122,123,94,14,14,14,14,14,118,14,119,120,121,122,123,94,14,14,14,118,14,119,120,121,122,123,94,14,129,129],"f":"```````````````````{{{d{b}}}{{d{f}}}}0{hh}000{{{d{c}}}{{d{e}}}{}{}}20{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{b}}}b}{{{d{l}}}l}{{{d{c}}{d{je}}}n{}{}}0{{{d{c}}}n{}}00{{{d{b}}{d{b}}}A`}{{}h}`0{{}b}{{}l}{{{d{b}}{d{Ab}}}Ad}{{{d{b}}{d{f}}}Ad}{{{d{b}}{d{Af}}}Ad}{{{d{b}}{d{b}}}Ad}{{{d{b}}{d{{d{f}}}}}Ad}{{{d{l}}{d{l}}}Ad}`{{{d{b}}{d{jAh}}}Aj}0{{{d{l}}{d{jAh}}}Aj}0{{{d{{d{f}}}}}b}{{{d{f}}}b}{cc{}}{{{d{Af}}}b}{{{d{b}}}b}{Afb}3{{{d{Al}}}{{Bb{AnB`}}}}{{{d{jAl}}}{{Bb{AnB`}}}}0{{{d{f}}Ad}{{Bb{BdAb}}}}0{{{d{f}}}{{Bb{lc}}}{}}{{}{{Bf{b}}}}0{{{d{f}}}Ad}{{{d{b}}{d{jc}}}nBh}{ce{}{}}0{c{{Bj{b}}}{}}{c{{Bj{Af}}}{}}{c{{Bj{Ab}}}{}}{{}Bl}0{eBl{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0`{{{d{b}}{d{b}}}{{Bf{A`}}}}{{}{{`{{Cj{}{{Cd{Ch}}}}}}}}{{{d{c}}}e{}{}}0{{{d{Bd}}}{{Bf{Ch}}}}{{{d{l}}}{{Bf{Ch}}}}{{{d{c}}}Ab{}}0{c{{Bb{e}}}{}{}}000{{}{{Bb{BlB`}}}}0{e{{Bb{BlB`}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{jBl}}e}{{Bb{nB`}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{c}}}Cl{}}0{{{d{jBl}}e}n{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}0{{{d{jAn}}{d{Al}}}{{Bb{nB`}}}}{{{d{jAn}}{d{jAl}}}{{Bb{nB`}}}}0`{{}{{d{{Cn{Bd}}}}}}{{}{{d{{Cn{l}}}}}}```````````````````````````````````````````````````````````````{{hc}h{{Db{D`}}}}{{Ddc}Dd{{Db{Df}}}}11{{Ddc}Dd{{Db{Af}}}}{{hc}h{{Db{Af}}}}{{Chc}Ch{{Db{Af}}}}{{Dde}Dd{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}{{Che}Ch{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}{{hAd}h}{{DdAd}Dd}10{{Dhc}Dh{{C`{D`}}}}{{{d{D`}}}{{`{Dj}}}}{{Dlc}Dl{{Db{b}}}}{{hc}h{{C`{Dd}}}}5{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Dd}}}{{Cf{}{{Cd{c}}}}}}77{{{d{Dn}}}{{d{E`}}}}0{{{d{Dn}}}{{d{Eb}}}}{{{d{Af}}}{{d{f}}}}{{{d{Af}}}{{d{{Cn{Ed}}}}}}{{{d{Af}}}{{d{Eb}}}}{{{d{Af}}}{{d{E`}}}}3{{hc}h{{Db{Af}}}}{{hc}h{{Db{D`}}}}0{{hc}h{{Db{Ab}}}}{{}Ef}{{{d{c}}}{{d{e}}}{}{}}00000:0000800000000000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000000000000000000{{{d{jh}}}n}{{{d{Ef}}}Ef}{{{d{Df}}}Df}{{{d{Dd}}}Dd}{{{d{Dl}}}Dl}{{{d{Eh}}}Eh}{{{d{h}}}h}{{{d{Dn}}}Dn}{{{d{Ch}}}Ch}{{{d{Ej}}}Ej}{{{d{{Bj{c}}}}}{{Bj{c}}}Cb}{{{d{Af}}}Af}{{{d{D`}}}D`}{{{d{El}}}El}{{{d{En}}}En}{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{{d{{Fd{c}}}}}{{Fd{c}}}{CbBdCbFfFh}}{{{d{Fj}}}Fj}{{{d{{Fl{c}}}}}{{Fl{c}}}{Cb{G`{Fn}}CbFfFh}}{{{d{{Gb{c}}}}}{{Gb{c}}}{Cb{G`{Gd}}}}{{{d{Gf}}}Gf}{{{d{Gh}}}Gh}{{{d{Gj}}}Gj}{{{d{Gl}}}Gl}{{{d{{Gn{ce}}}}}{{Gn{ce}}}CbCb}{{{d{{H`{ce}}}}}{{H`{ce}}}CbCb}{{{d{Dh}}}Dh}{{{d{c}}{d{je}}}n{}{}}00000000000000000000000000{{{d{c}}}n{}}00000000000000000000000000000000000000{{{d{Dd}}{d{Dd}}}A`}{{{d{Dn}}{d{Dn}}}A`}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}A`Hb}{{{d{Af}}{d{Af}}}A`}{{{d{D`}}{d{D`}}}A`}{{hl}h}{{Ddc}Dd{{Db{b}}}}{{Dlc}Dl{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{hn}{{}Dd}{{}Dl}{{}h}{{}Dn}{{}Ch}{{}Ej}{{}Af}{{}D`}{{}{{d{D`}}}}{{}El}{{}En}{{}F`}{{}Fb}{{}{{Fd{c}}}{BdCbFfFh}}{{}{{Fl{c}}}{{G`{Fn}}CbFfFh}}{{}{{Gb{c}}}{{G`{Gd}}}}{{}Gf}{{}Gh}{{}Gj}{{}Gl}{{Ddc}Dd{{Db{Dn}}}}{{Ddc}Dd{{C`{Dn}}}}{{Dde}Dd{{C`{Dn}}}{{Cf{}{{Cd{c}}}}}}02{{Ddceg}Dd{{C`{b}}}{{C`{Eh}}}{{Db{Dn}}}}{{Ddi}Dd{{C`{b}}}{{C`{Eh}}}{{Db{Dn}}}{{Cf{}{{Cd{{Hd{ceg}}}}}}}}2{{h{Hh{h}{{Hf{h}}}}}h}{{{d{Dn}}}{{d{E`}}}}{{{d{Af}}}{{d{f}}}}{{hAd}h}000{{hc}h{{Db{Ab}}}}{{Ddc}Dd{{Db{Hj}}}}{{hc}h{{Db{Hj}}}}3{{{d{Ej}}}{{Hl{{d{Hj}}}}}}{{{d{Dd}}{d{Dd}}}Ad}{{{d{Dl}}{d{Dl}}}Ad}{{{d{Eh}}{d{Eh}}}Ad}{{{d{Dn}}{d{Dn}}}Ad}{{{d{Dn}}{d{{d{E`}}}}}Ad}{{{d{Dn}}{d{{d{f}}}}}Ad}{{{d{Dn}}{d{Bn}}}Ad}{{{d{Dn}}{d{Ab}}}Ad}{{{d{Dn}}{d{f}}}Ad}{{{d{Ch}}{d{Ch}}}Ad}{{{d{Ej}}{d{Ej}}}Ad}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}AdHn}{{{d{Af}}{d{{d{E`}}}}}Ad}{{{d{Af}}{d{b}}}Ad}{{{d{Af}}{d{Af}}}Ad}{{{d{Af}}{d{{d{f}}}}}Ad}{{{d{Af}}{d{f}}}Ad}{{{d{Af}}{d{E`}}}Ad}{{{d{Af}}{d{Ab}}}Ad}{{{d{D`}}{d{D`}}}Ad}{{{d{El}}{d{El}}}Ad}{{{d{jh}}I`c}B`Dj}{{DdAd}Dd}{{hc}h{{Db{Ef}}}}{{{d{h}}c}{{Bf{{d{h}}}}}{{Ib{E`}}}}{{{d{jh}}c}{{Bf{{d{jh}}}}}{{Ib{E`}}}}{{hAd}h}{{{d{Ef}}{d{jAh}}}{{Bb{nId}}}}{{{d{Df}}{d{jAh}}}Aj}{{{d{Dd}}{d{jAh}}}Aj}{{{d{Dd}}{d{jAh}}}{{Bb{nId}}}}{{{d{Dl}}{d{jAh}}}Aj}{{{d{Eh}}{d{jAh}}}Aj}{{{d{h}}{d{jAh}}}Aj}0{{{d{Dn}}{d{jAh}}}Aj}{{{d{Ch}}{d{jAh}}}Aj}{{{d{Ej}}{d{jAh}}}Aj}0{{{d{{Bj{c}}}}{d{jAh}}}AjIf}{{{d{Af}}{d{jAh}}}Aj}0{{{d{D`}}{d{jAh}}}Aj}0{{{d{El}}{d{jAh}}}Aj}{{{d{En}}{d{jAh}}}Aj}{{{d{F`}}{d{jAh}}}Aj}{{{d{Fb}}{d{jAh}}}Aj}{{{d{{Fd{c}}}}{d{jAh}}}Aj{IfBdCbFfFh}}{{{d{Fj}}{d{jAh}}}Aj}{{{d{{Fl{c}}}}{d{jAh}}}Aj{If{G`{Fn}}CbFfFh}}{{{d{{Gb{c}}}}{d{jAh}}}Aj{If{G`{Gd}}}}{{{d{Gf}}{d{jAh}}}Aj}{{{d{Gh}}{d{jAh}}}Aj}{{{d{Gj}}{d{jAh}}}Aj}{{{d{Gl}}{d{jAh}}}Aj}{{{d{{Gn{ce}}}}{d{jAh}}}AjIfIf}{{{d{{H`{ce}}}}{d{jAh}}}AjIfIf}{{{d{Dh}}{d{jAh}}}Aj}{{{Ih{Fn}}}Ef}{{{Ij{c}}}Ef{{C`{Ch}}}}{{{Il{Fn}}}Ef}{cc{}}{{{In{Fn}}}Ef}{J`Ef}{{{Jb{Fn}}}Ef}{cEf{JdFfFh}}{{{Jf{Fn}}}Ef}{{{Jh{c}}}Ef{{C`{Ch}}}}6{{{d{Dd}}}Dd}77{{{d{Dl}}}Dl}8{cEh{{C`{Dn}}}}9{{{d{h}}}h}{{{d{{d{E`}}}}}Dn}{{{d{f}}}Dn}{{{d{Dn}}}Dn}{{{d{Af}}}Dn}{{{d{E`}}}Dn}{{{d{{d{f}}}}}Dn}{AfDn}{cc{}}0{cCh{{C`{Af}}}}{{{Jf{Hj}}}Ej}{{{In{Hj}}}Ej}{J`Ej}{{{Jb{Hj}}}Ej}5{HjEj}{{{Ih{Hj}}}Ej}{{{Il{Hj}}}Ej}{Jjc{}}9{c{{Bj{c}}}{}}{{{Bf{c}}}{{Bj{c}}}{}}{{{d{f}}}Af}{bAf}{{{d{Af}}}Af}>{{{d{{d{f}}}}}Af}{{{d{Ab}}}D`}{{{d{f}}}D`}{AbD`}{cc{}}{{{d{{d{f}}}}}D`}111111{eFj{{C`{Ch}}}{{Cf{}{{Cd{c}}}}}}2{c{{Fl{e}}}{{Jl{Fn}}}{{G`{Fn}}CbFfFh}}3{c{{Gb{e}}}{{Jl{Gd}}}{{G`{Gd}}}}4444444{{{d{f}}}{{Bb{Elc}}}{}}{{{d{h}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{d{Df}}}}11{{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}100{{{d{Dd}}}{{Bf{{Jh{Jn}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{Jn}}}}}}}}{{{d{h}}{d{Dd}}}{{Jh{{d{Dd}}}}}}{{{d{Dl}}}{{`{{Cj{}{{Cd{{d{b}}}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dd}}}}}}}}}}{{{d{h}}}{{Bf{{d{f}}}}}}990{{{d{h}}}l}{{{d{Dd}}}{{d{{Cn{Dn}}}}}}2{{{d{Dd}}}Hj}{{{d{h}}}Hj}{{{d{h}}}{{Bf{{d{Ef}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dl}}}}}}}}}}{{{d{Dd}}}{{Bf{{d{D`}}}}}}{{{d{Ch}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{Bf{{d{f}}}}}}{{{d{Dd}}}{{d{b}}}}{{{d{Dl}}}{{d{b}}}}{{{d{Dd}}}{{Bf{Hj}}}}3{{{d{h}}}{{Bf{{d{D`}}}}}}{{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}>7>{hAl}{{he}Al{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}{{{d{jh}}}Al}{{{d{h}}}{{d{f}}}}{{{d{Ch}}}{{d{f}}}}{{{d{Ch}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}{{{d{h}}}{{Jh{{d{f}}}}}}{{{d{h}}}{{Bf{{d{f}}}}}}{{{d{Dd}}}{{Bf{Ej}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{Dd}}}}}}}}}}0{{{d{Dd}}}{{Jh{Ch}}}}{{{d{Dd}}}{{Bf{Jn}}}}{{{d{Dd}}}{{Bf{{Jh{Jn}}}}}}{{{d{h}}}{{Bf{Jn}}}}{{{d{h}}}{{d{K`}}}}77{{{d{h}}}{{`{{Cj{}{{Cd{{d{h}}}}}}}}}}{{{d{jh}}}{{`{{Cj{}{{Cd{{d{jh}}}}}}}}}}5{{{d{Dd}}}El}{{{d{Dd}}}{{Bf{{d{{Cn{Af}}}}}}}}{{{d{Dd}}}{{d{Ef}}}}{{{d{Dd}}}{{Bf{{d{Af}}}}}}={{{d{Dd}}}{{Bf{{Jh{{d{f}}}}}}}}{{{d{h}}}{{`{{Cj{}{{Cd{{d{f}}}}}}}}}}0:{{{d{h}}}{{`{{Cj{}{{Cd{Jn}}}}}}}}{{DdAd}Dd}{{Ddc}Dd{{Db{b}}}}{{hc}h{{C`{Dl}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{he}h{{C`{Dl}}}{{Cf{}{{Cd{c}}}}}}{{{d{h}}}Ad}{{{d{Dn}}{d{jc}}}nBh}{{{d{Ej}}{d{jc}}}nBh}{{{d{{Bj{c}}}}{d{je}}}nKbBh}{{{d{Af}}{d{jc}}}nBh}{{{d{El}}{d{jc}}}nBh}{{Ddc}Dd{{Db{D`}}}}{{Chc}Ch{{Db{D`}}}}{{hAd}h}{{Ddc}Dd{{Db{Af}}}}{{hc}h{{Db{D`}}}}?2{{ChAd}Ch}{{DdAd}Dd}0040{{Ddc}Dd{{C`{b}}}}{{Dlc}Dl{{C`{b}}}}26{{Ddc}Dd{{Db{Hj}}}}{{{d{h}}{d{b}}}{{d{c}}}{}}88{ce{}{}}00000000000000000000000000{Db{{Bj{c}}}{}}{c{{Bj{Ef}}}{}}{Df{{Bj{Df}}}}{c{{Bj{Dn}}}{}}{c{{Bj{Ej}}}{}}{{{Bj{c}}}{{Bj{c}}}{}}{c{{Bj{Af}}}{}}3{c{{Bj{Ab}}}{}}{c{{Bj{b}}}{}}{c{{Bj{D`}}}{}}{El{{Bj{El}}}}99999999999999{{{d{h}}}Ad}{{{d{Dd}}}Ad}10111111101000001{{{d{Ch}}}Ad}1112{{{d{jDl}}}Ad}2332322{{{d{Dl}}}Ad}4443{{DdAd}Dd}{{Ddc}Dd{{Db{Af}}}}{{hc}h{{Db{D`}}}}{{hc}h{{C`{Af}}}}{{hc}h{{Db{Af}}}}{{he}h{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}{{Ddc}Dd{{Db{D`}}}}2{{{Jd{}{{Kd{c}}}}g}{{Gn{{Jd{}{{Kd{c}}}}g}}}{FfFhCb}{FfFhCb}{{Kf{c}{{Hf{e}}}}Cb}}0{{{d{Ch}}{d{f}}Ad}Ad}{{hHj}h}{{{d{Ej}}}Hj}0{{hAd}h}{{DlAd}Dl}{{hce}h{{Ib{f}}}{{Kh{Dd}{{Hf{Dd}}}}}}{{hc}h{{Kj{Dd}{{Hf{Dd}}}}}}{{hce}h{{Ib{f}}}{{Kh{Dl}{{Hf{Dl}}}}}}{{hce}h{{Ib{f}}}{{Kh{h}{{Hf{h}}}}}}={cEfJd}{cDd{{C`{b}}}}{cDl{{C`{b}}}}{ch{{C`{Af}}}}{cCh{{C`{Af}}}}{cEj{{C`{Ej}}}}{{}D`}{{}En}{{}F`}{{}Fb}{{}{{Fd{c}}}{BdCbFfFh}}{cFj{{C`{Fj}}}}{{}{{Fl{c}}}{{G`{Fn}}CbFfFh}}{{}{{Gb{c}}}{{G`{Gd}}}}{{}Gf}{{}Gh}{{}Gj}{{}Gl}{{hc}h{{Db{Hj}}}}{{hc}h{{Db{Af}}}}{{DdAd}Dd}{{hAd}h}0{{Ddc}Dd{{Db{Ej}}}}{{}Ef}{{hc}h{{Db{D`}}}}0{{Ddc}Dd{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{{d{{Jd{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{FfFhCb}}0{{{d{En}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{F`}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{Fb}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{cB`}}}{}}{{{d{Fj}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{AbB`}}}}{{{d{{Gn{cg}}}}{d{h}}{Bf{{d{Dd}}}}Bn}{{Bb{iB`}}}Jd{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}{}}{{{d{{Jd{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}BnKl}{{Bb{cB`}}}{FfFhCb}}0{{{d{{Jd{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{FfFhCb}}{{{d{En}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{F`}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Fb}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Fd{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{BdCbFfFh}{}}{{{d{Fj}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Fl{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{{G`{Fn}}CbFfFh}{}}{{{d{{Gb{c}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{eB`}}}{{G`{Gd}}CbFfFh}{}}{{{d{Gf}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gj}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{Gl}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Gn{cg}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{iB`}}}Jd{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}{}}{{{d{{H`{ci}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{kB`}}}Jd{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{}{{Hf{{Bb{eg}}}}}}CbFfFh}{}}{{{d{Dh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}}{{Bb{cB`}}}{}}{{{d{{Jd{}{{Kd{c}}}}}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}Kl}{{Bb{cB`}}}{FfFhCb}}0{{{d{Dh}}{d{h}}{Bf{{d{Dd}}}}{d{E`}}Kl}{{Bb{cB`}}}{}}{{{d{Dd}}{d{Dd}}}{{Bf{A`}}}}{{{d{Dn}}{d{Dn}}}{{Bf{A`}}}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}{{Bf{A`}}}Lb}{{{d{Af}}{d{Af}}}{{Bf{A`}}}}{{{d{D`}}{d{D`}}}{{Bf{A`}}}}{{}Ef}{{{d{Ef}}}{{Bf{{L`{Cj}}}}}}{{{d{{Jd{}{{Kd{c}}}}}}}{{Bf{{L`{Cj}}}}}{FfFhCb}}0{{{d{{Fd{c}}}}}{{Bf{{L`{Cj}}}}}{BdCbFfFh}}{{{d{Fj}}}{{Bf{{L`{Cj}}}}}}{{{d{Gf}}}{{Bf{{L`{Cj}}}}}}{{{d{Gh}}}{{Bf{{L`{Cj}}}}}}{{{d{Gj}}}{{Bf{{L`{Cj}}}}}}{{{d{{Gn{cg}}}}}{{Bf{{L`{Cj}}}}}Jd{FfFhCb}{{Kf{}{{Hf{e}}}}CbFfFh}}{{{d{{H`{ci}}}}}{{Bf{{L`{Cj}}}}}Jd{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{}{{Hf{{Bb{eg}}}}}}CbFfFh}}{{{d{jh}}}{{Ld{n}}}}0{{hAd}h}{{{Fl{c}}e}{{Fl{c}}}{{G`{Fn}}CbFfFh}{{Jl{Fn}}}}{{{Gb{c}}e}{{Gb{c}}}{{G`{Gd}}}{{Jl{Gd}}}}{{DdAd}Dd}{{{d{jh}}}D`}0{{{d{h}}}Ab}1022{{DlAd}Dl}{{Ddce}Dd{{C`{b}}}{{C`{Dn}}}}{{Ddg}Dd{{C`{b}}}{{C`{Dn}}}{{Cf{}{{Cd{{Hd{ce}}}}}}}}0{{Ddc}Dd{{Db{b}}}}{{Dde}Dd{{C`{b}}}{{Cf{}{{Cd{c}}}}}}01{{Dlc}Dl{{Db{b}}}}{{Dle}Dl{{C`{b}}}{{Cf{}{{Cd{c}}}}}}{{Ddce}Dd{{C`{Eh}}}{{C`{b}}}}{{Ddg}Dd{{C`{Eh}}}{{C`{b}}}{{Cf{}{{Cd{{Hd{ce}}}}}}}}{{{d{jh}}c}n{{C`{Ab}}}}{{Ddc}Dd{{Db{Jn}}}}0{{Ddc}Dd{{Cf{}{{Cd{Jn}}}}}}{{hc}h{{Db{Jn}}}}0{{hc}h{{Cf{}{{Cd{Jn}}}}}}{{{d{Ej}}}{{Hl{{d{Hj}}}}}}{{}Ef}{{hK`}h}`{{hc}h{{C`{h}}}}{{hc}h{{Db{Af}}}}{{hAd}h}001{{he}h{{C`{h}}}{{Cf{}{{Cd{c}}}}}}{cDh{{C`{D`}}}}{cDh{{C`{Af}}}}{{{d{Df}}}Ad}{{{d{Ej}}}Ad}{{hHj}h}{{{d{Dn}}}Bn}{{{d{c}}}e{}{}}00000000000000000000000000{{{d{c}}}Ab{}}0000{{DdAd}Dd}{c{{Bb{e}}}{}{}}00000000000000000000000000{h{{Lf{Al}}}}{{he}{{Lf{Al}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}{{{d{jh}}e}{{Lf{Al}}}{{C`{Bn}}Cb}{{Cf{}{{Cd{c}}}}}}333333333333333333333333333{{{Jd{}{{Kd{c}}}}i}{{H`{{Jd{}{{Kd{c}}}}i}}}{FfFhCb}{FfFhCb}{{C`{{L`{Kn}}}}}{{Kf{c}{{Hf{{Bb{eg}}}}}}CbFfFh}}0{{{d{c}}}Cl{}}`00000000000000000000000000{{Ddc}Dd{{Db{Jn}}}}{{Ddc}Dd{{Db{El}}}}{{Ddc}Dd{{Db{Af}}}}{{Dde}Dd{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}{{}c{}}{{Ddc}Dd{{Db{Ef}}}}3{{hc}h{{Db{Af}}}}403{{he}h{{C`{Af}}}{{Cf{}{{Cd{c}}}}}}107{{Ddc}Dd{{Cf{}{{Cd{Jn}}}}}}{{hc}h{{Db{Jn}}}}{{hc}h{{Cf{}{{Cd{Jn}}}}}}{{{d{jD`}}Jn}{{Bb{nId}}}}{{{d{jD`}}{d{f}}}{{Bb{nId}}}}````````````````````````````````````````{LhEd}{{Lj{Bf{Ll}}}Lj}{{LnLn}Ln}{{LjLn}Lj}{{{d{jLn}}Ln}n}{{{d{jLj}}Ln}n}{LjLj}0{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{M`Ad}M`}{LnLn}{{{d{Ll}}}Ll}{{{d{M`}}}M`}{{{d{Mb}}}Mb}{{{d{Lh}}}Lh}{{{d{Ln}}}Ln}{{{d{Md}}}Md}{{{d{Mf}}}Mf}{{{d{Lj}}}Lj}{{{d{K`}}}K`}{{{d{c}}{d{je}}}n{}{}}00000000{{{d{c}}}n{}}000000000000000{{{d{Ll}}{d{Ll}}}A`}{{{d{M`}}{d{M`}}}A`}{{{d{Mb}}{d{Mb}}}A`}{{{d{Lh}}{d{Lh}}}A`}{{{d{Ln}}{d{Ln}}}A`}{{{d{Mf}}{d{Mf}}}A`}{{{d{Lj}}{d{Lj}}}A`}{{LnLn}Ad}{{}Ln}{{}Mf}{{}Lj}{{}{{d{K`}}}}{{}K`}{LjLj}{{LjLn}Lj}{{{d{Ll}}{d{Ll}}}Ad}{{{d{M`}}{d{M`}}}Ad}{{{d{Mb}}{d{Mb}}}Ad}{{{d{Lh}}{d{Lh}}}Ad}{{{d{Ln}}{d{Ln}}}Ad}{{{d{Md}}{d{Md}}}Ad}{{{d{Mf}}{d{Mf}}}Ad}{{{d{Lj}}{d{Ln}}}Ad}{{{d{Lj}}{d{Lj}}}Ad}{{K`Lj}K`}{{Lj{Bf{Ll}}}Lj}{{{d{Ll}}{d{jAh}}}{{Bb{nId}}}}{{{d{M`}}{d{jAh}}}{{Bb{nId}}}}{{{d{Mb}}{d{jAh}}}{{Bb{nId}}}}{{{d{Lh}}{d{jAh}}}{{Bb{nId}}}}{{{d{Ln}}{d{jAh}}}{{Bb{nId}}}}{{{d{Md}}{d{jAh}}}{{Bb{nId}}}}{{{d{Mf}}{d{jAh}}}{{Bb{nId}}}}0{{{d{Lj}}{d{jAh}}}{{Bb{nId}}}}0{{{d{K`}}{d{jAh}}}Aj}{cc{}}{M`Ll}{{{Hd{EdEdEd}}}Ll}{MbLl}{EdLl}{LhLl}5{EdMb}{M`Mb}7{{{Hd{EdEdEd}}}Lh}88888{LnLj}92{LhEd}{Lj{{Bf{Ll}}}}{LjLn}{{{d{K`}}}{{d{Lj}}}}20000200{{{d{Ll}}{d{jc}}}nBh}{{{d{M`}}{d{jc}}}nBh}{{{d{Mb}}{d{jc}}}nBh}{{{d{Lh}}{d{jc}}}nBh}{{{d{Ln}}{d{jc}}}nBh}{{{d{Mf}}{d{jc}}}nBh}{{{d{Lj}}{d{jc}}}nBh}{{K`Lj}K`}{LjLj}{MbEd}{{LnLn}Ln}{ce{}{}}00000000{Mb{{Bf{M`}}}}154{M`Ad}{LnAd}{LjAd}7{LnMd}9{{}Ln}{{}Lj}{{{d{jMd}}}Bf}{{Llc}Lj{{C`{Ll}}}}{{M`c}Lj{{C`{Ll}}}}{{Mbc}Lj{{C`{Ll}}}}{{Lhc}Lj{{C`{Ll}}}}{LlLj}{M`Lj}{MbLj}{LhLj}{{{d{Ll}}{d{Ll}}}{{Bf{A`}}}}{{{d{M`}}{d{M`}}}{{Bf{A`}}}}{{{d{Mb}}{d{Mb}}}{{Bf{A`}}}}{{{d{Lh}}{d{Lh}}}{{Bf{A`}}}}{{{d{Ln}}{d{Ln}}}{{Bf{A`}}}}{{{d{Mf}}{d{Mf}}}{{Bf{A`}}}}{{{d{Lj}}{d{Lj}}}{{Bf{A`}}}}{{K`Lj}K`}{{}K`}{LhEd}{{LnLn}Ln}{Ln{{`{DjMh}}}}{Mf{{`{DjMh}}}}{Lj{{`{DjMh}}}}{Ll{{`{DjMh}}}}{M`{{`{DjMh}}}}{Mb{{`{DjMh}}}}{Lh{{`{DjMh}}}}32104{{LnLnAd}Ln}{LjLj};9{{LjLn}Lj}{{{d{jLn}}Ln}n}{{{d{jLj}}Ln}n}{{{d{c}}}e{}{}}00000000{{{d{c}}}Ab{}}0{c{{Bb{e}}}{}{}}00000000000000000{{{d{c}}}Cl{}}000000007{{Lj{Bf{Ll}}}Lj}{{K`Lj}K`}0{{Lj{d{jMj}}}{{Bb{nMl}}}}0````````````````````````````````````````````````````{{{Mn{c}}}{{Mn{e}}}N`N`}{Nb{{Bf{{d{f}}}}}}{I`{{Bf{{d{f}}}}}}{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{Nb}}}Nb}{{{d{Nd}}}Nd}{{{d{I`}}}I`}{{{d{c}}{d{je}}}n{}{}}00{{{d{c}}}n{}}0000{{{d{{Mn{c}}}}}{{`{{Cj{}{{Cd{{Hd{Nb{d{Nd}}}}}}}}}}}N`}{{{d{Nb}}{d{Nb}}}Ad}{{{d{Nd}}{d{Nd}}}Ad}{{{d{I`}}{d{I`}}}Ad}{{{d{{Mn{c}}}}}JjN`}{{{d{{Mn{c}}}}}NfN`}{{{d{{Mn{c}}}}{d{jAh}}}{{Lf{nId}}}N`}{{{d{{Mn{c}}}}{d{jAh}}}AjN`}{{{d{Nb}}{d{jAh}}}Aj}0{{{d{Nd}}{d{jAh}}}Aj}0{{{d{I`}}{d{jAh}}}Aj}0{{{Mn{c}}{d{jh}}}{{Mn{c}}}N`}{{{d{{Mn{N`}}}}}D`}{{{d{{Mn{Nh}}}}}D`}{{{d{{Mn{Nj}}}}}D`}{cc{}}0{Ml{{Mn{c}}}N`}{Id{{Mn{c}}}N`}2222{{{d{{Mn{c}}}}Nb}{{Bf{{d{Nd}}}}}N`}{{{d{Nb}}{d{jc}}}nBh}{{{d{I`}}{d{jc}}}nBh}{{{d{j{Mn{c}}}}NbNd}{{Bf{Nd}}}N`}{ce{}{}}00000{{{d{{Mn{c}}}}}I`N`}{I`{{Mn{c}}}N`}{{{d{{Mn{c}}}}}{{Ld{n}}}N`}{{I`c}{{Mn{e}}}DjN`}{{{d{{Mn{c}}}}}D`N`}{{{d{{Mn{c}}}}}{{Bf{{d{Kn}}}}}N`}{{{d{c}}}e{}{}}00{{{d{c}}}Ab{}}000{c{{Bb{e}}}{}{}}00000000000{{{d{c}}}Cl{}}00000{{{d{{Mn{c}}}}}AdN`}{{{Mn{c}}{d{h}}}{{Mn{c}}}N`}`````````````{{{d{Al}}}Ad}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{jc}}}{{d{je}}}{}{}}0000000{{{d{Nl}}}Nl}{{{d{Al}}}Al}{{{d{Nn}}}Nn}{{{d{{O`{c}}}}}{{O`{c}}}Cb}{{{d{{Ob{c}}}}}{{Ob{c}}}Cb}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Kl}}}Kl}{{{d{c}}{d{je}}}n{}{}}0000000{{{d{c}}}n{}}00000000{{{d{Kl}}{d{Kl}}}A`}{{{d{Al}}{d{f}}}Ad}{{}Al}{{}{{O`{c}}}{}}{{}{{Ob{c}}}{}}{{}Od}{{}Of}{{{d{Al}}{d{Al}}}Ad}{{{d{Kl}}{d{Kl}}}Ad}{{{d{Nl}}{d{jAh}}}Aj}0{{{d{Al}}{d{jAh}}}Aj}{{{d{Nn}}{d{jAh}}}Aj}{{{d{{O`{c}}}}{d{jAh}}}AjIf}{{{d{{Ob{c}}}}{d{jAh}}}AjIf}{{{d{Od}}{d{jAh}}}Aj}{{{d{Of}}{d{jAh}}}Aj}{{{d{Kl}}{d{jAh}}}Aj}{cc{}}0000000{{{d{Al}}{d{f}}}Ed}{{{d{Al}}{d{f}}}Ad}{{{d{Al}}{d{f}}}{{Bf{{Ob{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{{`{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{{d{c}}}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bf{Od}}}}{{{d{Al}}{d{f}}}{{Bf{`}}}}{{{d{Al}}}Nn}{{{d{Al}}{d{f}}}{{Bf{Hj}}}}{{{d{Al}}{d{f}}}{{Bf{Of}}}}{ce{}{}}000000000000{{{d{jNn}}}{{Bf{{d{b}}}}}}{{{d{j{O`{c}}}}}{{Bf{e}}}{}{}}{{{d{j{Ob{c}}}}}{{Bf{e}}}{}{}}{{{d{jOd}}}{{Bf{{d{E`}}}}}}{{{d{jOf}}}{{Bf{Hj}}}}43210{{{d{Kl}}{d{Kl}}}{{Bf{A`}}}}{{{d{jAl}}{d{f}}}{{Bf{{O`{c}}}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bf{{`{c}}}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bf{c}}}{OhCbFfFh}}{{{d{jAl}}}{{Bf{{Hd{AbAl}}}}}}{{{d{Nn}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{{O`{c}}}}}{{Hd{Hj{Bf{Hj}}}}}{}}{{{d{{Ob{c}}}}}{{Hd{Hj{Bf{Hj}}}}}{}}{{{d{Od}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{Of}}}{{Hd{Hj{Bf{Hj}}}}}}{{{d{Al}}}{{Bf{{Hd{{d{f}}{d{Al}}}}}}}}{{{d{Al}}{d{f}}}{{Bf{{d{Al}}}}}}{{{d{Al}}}{{Bf{{d{f}}}}}}{{{d{c}}}e{}{}}0000000{{{d{c}}}Ab{}}{{{d{Al}}{d{f}}}{{Bb{AdNl}}}}{c{{Bb{e}}}{}{}}0000000{{{d{Al}}{d{f}}}{{Bb{{Bf{{Ob{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{{`{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{{d{c}}}}Nl}}}{OhCbFfFh}}{{{d{Al}}{d{f}}}{{Bb{{Bf{Od}}Nl}}}}{{{d{Al}}{d{f}}}{{Bb{{Bf{`}}Nl}}}}55555555{{{d{jAl}}{d{f}}}{{Bb{{Bf{{O`{c}}}}Nl}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bb{{Bf{{`{c}}}}Nl}}}{OhCbFfFh}}{{{d{jAl}}{d{f}}}{{Bb{{Bf{c}}Nl}}}{OhCbFfFh}}{{{d{c}}}Cl{}}0000000{{{d{Al}}{d{f}}}{{Bf{Kl}}}}``","D":"ENh","p":[[5,"Id",0,1615],[1,"reference"],[1,"str"],[5,"Command",110,1616],[0,"mut"],[6,"ColorChoice",0,1617],[1,"unit"],[6,"Ordering",1618],[5,"String",1619],[1,"bool"],[5,"Str",110,1620],[5,"Formatter",1621],[8,"Result",1621],[5,"ArgMatches",1443,1622],[10,"FromArgMatches",0,1623],[8,"Error",0],[6,"Result",1624],[10,"ValueEnum",0,1623],[6,"Option",1625],[10,"Hasher",1626],[6,"Resettable",110,1627],[10,"Parser",0,1623],[5,"OsString",1628],[10,"Into",1629],[10,"Clone",1630],[17,"Item"],[10,"IntoIterator",1631],[5,"PossibleValue",110,1632],[10,"Iterator",1633],[5,"TypeId",1634],[1,"slice"],[5,"StyledStr",110,1635],[10,"IntoResettable",110,1627],[5,"Arg",110,1636],[6,"ArgAction",110,1637],[5,"UnknownArgumentValueParser",110,1638],[10,"Display",1621],[5,"ArgGroup",110,1639],[5,"OsStr",110,1640],[5,"OsStr",1628],[5,"Path",1641],[1,"u8"],[5,"ValueParser",110,1638],[6,"ArgPredicate",110,1642],[5,"ValueRange",110,1643],[6,"ValueHint",110,1644],[5,"StringValueParser",110,1638],[5,"OsStringValueParser",110,1638],[5,"PathBufValueParser",110,1638],[5,"EnumValueParser",110,1638],[10,"Send",1645],[10,"Sync",1645],[5,"PossibleValuesParser",110,1638],[5,"RangedI64ValueParser",110,1638],[1,"i64"],[10,"TryFrom",1629],[5,"RangedU64ValueParser",110,1638],[1,"u64"],[5,"BoolValueParser",110,1638],[5,"FalseyValueParser",110,1638],[5,"BoolishValueParser",110,1638],[5,"NonEmptyStringValueParser",110,1638],[5,"MapValueParser",110,1638],[5,"TryMapValueParser",110,1638],[10,"Ord",1618],[1,"tuple"],[17,"Output"],[1,"fn"],[1,"usize"],[6,"Bound",1646],[10,"PartialEq",1618],[6,"ErrorKind",1296,1647],[10,"AsRef",1629],[5,"Error",1621],[10,"Debug",1621],[5,"RangeTo",1646],[1,"array"],[5,"RangeInclusive",1646],[5,"RangeToInclusive",1646],[5,"RangeFull",1646],[5,"Range",1646],[10,"TypedValueParser",110,1638],[5,"RangeFrom",1646],[5,"Vec",1648],[1,"never"],[10,"RangeBounds",1646],[1,"char"],[5,"Styles",1011],[10,"Hash",1626],[17,"Value"],[10,"Fn",1649],[10,"FnOnce",1649],[10,"FnMut",1649],[6,"ValueSource",1443,1650],[10,"Error",1651],[5,"Box",1652],[10,"PartialOrd",1618],[8,"Result",1653],[8,"Result",1296],[5,"RgbColor",1011,1654],[5,"Style",1011,1655],[6,"Color",1011,1654],[5,"Effects",1011,1656],[6,"AnsiColor",1011,1654],[5,"Ansi256Color",1011,1654],[5,"EffectIter",1011,1656],[5,"Reset",1011,1657],[10,"Copy",1645],[10,"Write",1658],[5,"Error",1653],[5,"Error",1296],[10,"ErrorFormatter",1296,1659],[6,"ContextKind",1296,1660],[6,"ContextValue",1296,1660],[1,"i32"],[5,"KindFormatter",1296,1659],[5,"RichFormatter",1296,1659],[6,"MatchesError",1443,1661],[5,"IdsRef",1443,1622],[5,"Values",1443,1622],[5,"ValuesRef",1443,1622],[5,"RawValues",1443,1622],[5,"Indices",1443,1622],[10,"Any",1634],[10,"Args",0],[10,"Subcommand",0],[10,"CommandFactory",0],[10,"ValueParserFactory",110],[15,"Downcast",1613]],"r":[[1,1636],[2,1637],[3,1639],[4,1622],[5,1623],[7,1617],[8,1616],[9,1623],[11,1623],[12,1615],[14,1623],[15,1623],[16,1623],[17,1644],[112,1636],[113,1637],[114,1639],[115,1642],[116,1638],[117,1638],[118,1616],[126,1638],[129,1638],[135,1627],[137,1638],[138,1638],[139,1640],[140,1638],[143,1638],[144,1632],[145,1638],[146,1638],[147,1638],[149,1627],[154,1620],[155,1638],[156,1635],[157,1011],[158,1638],[159,1638],[161,1638],[166,1644],[167,1638],[168,1638],[169,1643],[171,1638],[172,1638],[1013,1654],[1014,1654],[1028,1654],[1034,1656],[1035,1656],[1042,1657],[1044,1654],[1046,1655],[1299,1660],[1300,1660],[1308,1659],[1309,1647],[1319,1659],[1329,1659],[1443,1622],[1448,1622],[1449,1622],[1450,1661],[1451,1622],[1453,1650],[1454,1622],[1455,1622]],"b":[[44,"impl-PartialEq%3CString%3E-for-Id"],[45,"impl-PartialEq%3Cstr%3E-for-Id"],[46,"impl-PartialEq%3CStr%3E-for-Id"],[47,"impl-PartialEq-for-Id"],[48,"impl-PartialEq%3C%26str%3E-for-Id"],[51,"impl-Display-for-Id"],[52,"impl-Debug-for-Id"],[53,"impl-Display-for-ColorChoice"],[54,"impl-Debug-for-ColorChoice"],[55,"impl-From%3C%26%26str%3E-for-Id"],[56,"impl-From%3C%26str%3E-for-Id"],[58,"impl-From%3C%26Str%3E-for-Id"],[59,"impl-From%3C%26Id%3E-for-Id"],[60,"impl-From%3CStr%3E-for-Id"],[197,"impl-AsRef%3COsStr%3E-for-OsStr"],[198,"impl-AsRef%3CPath%3E-for-OsStr"],[199,"impl-AsRef%3Cstr%3E-for-Str"],[200,"impl-AsRef%3C%5Bu8%5D%3E-for-Str"],[201,"impl-AsRef%3CPath%3E-for-Str"],[202,"impl-AsRef%3COsStr%3E-for-Str"],[377,"impl-Default-for-StyledStr"],[378,"impl-Default-for-%26StyledStr"],[413,"impl-PartialEq-for-OsStr"],[414,"impl-PartialEq%3C%26OsStr%3E-for-OsStr"],[415,"impl-PartialEq%3C%26str%3E-for-OsStr"],[416,"impl-PartialEq%3COsString%3E-for-OsStr"],[417,"impl-PartialEq%3CString%3E-for-OsStr"],[418,"impl-PartialEq%3Cstr%3E-for-OsStr"],[422,"impl-PartialEq%3C%26OsStr%3E-for-Str"],[423,"impl-PartialEq%3CId%3E-for-Str"],[424,"impl-PartialEq-for-Str"],[425,"impl-PartialEq%3C%26str%3E-for-Str"],[426,"impl-PartialEq%3Cstr%3E-for-Str"],[427,"impl-PartialEq%3COsStr%3E-for-Str"],[428,"impl-PartialEq%3CString%3E-for-Str"],[439,"impl-Display-for-Arg"],[440,"impl-Debug-for-Arg"],[443,"impl-Display-for-Command"],[444,"impl-Debug-for-Command"],[447,"impl-Debug-for-ValueRange"],[448,"impl-Display-for-ValueRange"],[450,"impl-Display-for-Str"],[451,"impl-Debug-for-Str"],[452,"impl-Debug-for-StyledStr"],[453,"impl-Display-for-StyledStr"],[469,"impl-From%3CRangeTo%3Ci64%3E%3E-for-ValueParser"],[470,"impl-From%3C%5BP;+C%5D%3E-for-ValueParser"],[471,"impl-From%3CRangeInclusive%3Ci64%3E%3E-for-ValueParser"],[473,"impl-From%3CRangeToInclusive%3Ci64%3E%3E-for-ValueParser"],[474,"impl-From%3CRangeFull%3E-for-ValueParser"],[475,"impl-From%3CRange%3Ci64%3E%3E-for-ValueParser"],[476,"impl-From%3CP%3E-for-ValueParser"],[477,"impl-From%3CRangeFrom%3Ci64%3E%3E-for-ValueParser"],[478,"impl-From%3CVec%3CP%3E%3E-for-ValueParser"],[488,"impl-From%3C%26%26OsStr%3E-for-OsStr"],[489,"impl-From%3C%26str%3E-for-OsStr"],[490,"impl-From%3C%26OsStr%3E-for-OsStr"],[491,"impl-From%3C%26Str%3E-for-OsStr"],[492,"impl-From%3C%26OsStr%3E-for-OsStr"],[493,"impl-From%3C%26%26str%3E-for-OsStr"],[494,"impl-From%3CStr%3E-for-OsStr"],[498,"impl-From%3CRangeFrom%3Cusize%3E%3E-for-ValueRange"],[499,"impl-From%3CRangeToInclusive%3Cusize%3E%3E-for-ValueRange"],[500,"impl-From%3CRangeFull%3E-for-ValueRange"],[501,"impl-From%3CRange%3Cusize%3E%3E-for-ValueRange"],[503,"impl-From%3Cusize%3E-for-ValueRange"],[504,"impl-From%3CRangeTo%3Cusize%3E%3E-for-ValueRange"],[505,"impl-From%3CRangeInclusive%3Cusize%3E%3E-for-ValueRange"],[508,"impl-From%3CT%3E-for-Resettable%3CT%3E"],[509,"impl-From%3COption%3CT%3E%3E-for-Resettable%3CT%3E"],[510,"impl-From%3C%26str%3E-for-Str"],[511,"impl-From%3CId%3E-for-Str"],[512,"impl-From%3C%26Str%3E-for-Str"],[514,"impl-From%3C%26%26str%3E-for-Str"],[515,"impl-From%3C%26String%3E-for-StyledStr"],[516,"impl-From%3C%26str%3E-for-StyledStr"],[517,"impl-From%3CString%3E-for-StyledStr"],[519,"impl-From%3C%26%26str%3E-for-StyledStr"],[1124,"impl-Default-for-%26Styles"],[1125,"impl-Default-for-Styles"],[1135,"impl-PartialEq%3CEffects%3E-for-Style"],[1136,"impl-PartialEq-for-Style"],[1145,"impl-Display-for-Reset"],[1146,"impl-Debug-for-Reset"],[1147,"impl-Debug-for-Style"],[1148,"impl-Display-for-Style"],[1151,"impl-From%3CAnsiColor%3E-for-Color"],[1152,"impl-From%3C(u8,+u8,+u8)%3E-for-Color"],[1153,"impl-From%3CAnsi256Color%3E-for-Color"],[1154,"impl-From%3Cu8%3E-for-Color"],[1155,"impl-From%3CRgbColor%3E-for-Color"],[1157,"impl-From%3Cu8%3E-for-Ansi256Color"],[1158,"impl-From%3CAnsiColor%3E-for-Ansi256Color"],[1380,"impl-Debug-for-Error%3CF%3E"],[1381,"impl-Display-for-Error%3CF%3E"],[1382,"impl-Debug-for-ContextKind"],[1383,"impl-Display-for-ContextKind"],[1384,"impl-Display-for-ContextValue"],[1385,"impl-Debug-for-ContextValue"],[1386,"impl-Display-for-ErrorKind"],[1387,"impl-Debug-for-ErrorKind"],[1394,"impl-From%3CError%3E-for-Error%3CF%3E"],[1395,"impl-From%3CError%3E-for-Error%3CF%3E"],[1507,"impl-Display-for-MatchesError"],[1508,"impl-Debug-for-MatchesError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsDWwACAAMACQAAABIAAAAUAAAAGgAEACAABwArAAcANAAFADsAAgBEAAAASAAAAEsAAgBTAAAAVQABAFgABgBlAAEAbgAAAJ4AAACsAAEAxgAFANIANwALAWEAcwETAJABAQCaARUAtgEiANoBBQDhAQAA5AEAAOYBAADoAQcA8gEEAPgBAwD9AQQAAwIDAAgCAAAPAgAAEQIAABMCAAAbAgAAZgIEAH0CAACcAhgADgMEABYDDQAmAwUAMAMGAFcDAABoAx8AiQMaAKcDGgDEAwAAxgMZAPIDAQD4AwEABAQAAAcEAwAOBAAAHgQDACQEEQA4BCgAYgQEAGkECAB0BAoAgAQEAIYEAQCJBAAAjwQAAJQEAACbBAAAngQGALMEAAC+BAAAxwQGAOEEKQAXBQAASAUWAGAFAgBlBQcAbwUBAHMFAQB6BQEAiAUZALIFKQDdBQ8ABwYPABsGBAAjBggALQYHADoGBwBFBgcA"}],\ ["clap_derive",{"t":"YYYY","n":["Args","Parser","Subcommand","ValueEnum"],"q":[[0,"clap_derive"]],"i":[0,0,0,0],"f":"````","D":"j","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ ["clap_lex",{"t":"FPPKFFGFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNMNNNNN","n":["ArgCursor","Current","End","OsStrExt","ParsedArg","RawArgs","SeekFrom","ShortFlags","Start","advance_by","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","contains","cursor","default","display","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_args","hash","insert","into","into","into","into","into","into_iter","is_empty","is_empty","is_end","is_escape","is_long","is_negative_number","is_negative_number","is_short","is_stdio","new","next","next","next_flag","next_os","next_value_os","partial_cmp","partial_cmp","peek","peek_os","remaining","seek","split","split_once","starts_with","strip_prefix","to_long","to_owned","to_owned","to_owned","to_owned","to_owned","to_short","to_value","to_value_os","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_str","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"clap_lex"],[117,"core::result"],[118,"std::io"],[119,"core::cmp"],[120,"clap_lex::ext"],[121,"core::fmt"],[122,"core::option"],[123,"std::ffi::os_str"],[124,"core::convert"],[125,"core::iter::traits::iterator"],[126,"core::hash"],[127,"core::iter::traits::collect"],[128,"core::str::error"],[129,"core::any"]],"i":[0,10,10,0,0,0,0,0,10,2,7,8,9,2,10,7,8,9,2,10,7,8,9,2,10,7,8,9,2,10,7,8,9,2,10,10,8,9,12,7,7,9,7,8,9,10,12,7,8,9,2,10,7,7,8,9,2,10,7,9,7,7,8,9,2,10,2,9,2,7,9,9,9,2,9,9,7,7,2,2,7,2,8,9,7,7,7,7,12,12,12,12,9,7,8,9,2,10,9,9,9,7,8,9,2,10,7,8,9,2,10,12,7,8,9,2,10],"f":"`````````{{{f{bd}}h}{{l{jh}}}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000{{{f{n}}}n}{{{f{A`}}}A`}{{{f{Ab}}}Ab}{{{f{d}}}d}{{{f{Ad}}}Ad}{{{f{c}}{f{be}}}j{}{}}0000{{{f{c}}}j{}}00000{{{f{A`}}{f{A`}}}Af}{{{f{Ab}}{f{Ab}}}Af}{{{f{Ah}}{f{Aj}}}Al}{{{f{n}}}A`}{{}n}{{{f{Ab}}}{{`{An}}}}{{{f{n}}{f{n}}}Al}{{{f{A`}}{f{A`}}}Al}{{{f{Ab}}{f{Ab}}}Al}{{{f{Ad}}{f{Ad}}}Al}{{{f{Ah}}{f{Aj}}}{{B`{h}}}}{{{f{n}}{f{bBb}}}Bd}{{{f{A`}}{f{bBb}}}Bd}{{{f{Ab}}{f{bBb}}}Bd}{{{f{d}}{f{bBb}}}Bd}{{{f{Ad}}{f{bBb}}}{{l{jBf}}}}{cc{}}{en{{Bj{Bh}}}{{Bn{}{{Bl{c}}}}}}1111={{{f{Ab}}{f{bc}}}jC`}{{{f{bn}}{f{A`}}e}j{{Bj{Bh}}}{{Cb{}{{Bl{c}}}}}}{ce{}{}}00000{{{f{Ab}}}Al}{{{f{d}}}Al}{{{f{n}}{f{A`}}}Al}222122{en{{Bj{Bh}}}{{Cb{}{{Bl{c}}}}}}{{{f{n}}{f{bA`}}}{{B`{Ab}}}}{{{f{bd}}}{{B`{c}}}{}}{{{f{bd}}}{{B`{{l{Cd{f{Cf}}}}}}}}{{{f{n}}{f{bA`}}}{{B`{{f{Cf}}}}}}{{{f{bd}}}{{B`{{f{Cf}}}}}}{{{f{A`}}{f{A`}}}{{B`{Af}}}}{{{f{Ab}}{f{Ab}}}{{B`{Af}}}}{{{f{n}}{f{A`}}}{{B`{Ab}}}}{{{f{n}}{f{A`}}}{{B`{{f{Cf}}}}}}{{{f{n}}{f{bA`}}}{{`{{Bn{}{{Bl{{f{Cf}}}}}}}}}}{{{f{n}}{f{bA`}}Ad}j}`{{{f{Ah}}{f{Aj}}}{{B`{{Ch{{f{Cf}}{f{Cf}}}}}}}}{{{f{Ah}}{f{Aj}}}Al}{{{f{Ah}}{f{Aj}}}{{B`{{f{Cf}}}}}}{{{f{Ab}}}{{B`{{Ch{{l{{f{Aj}}{f{Cf}}}}{B`{{f{Cf}}}}}}}}}}{{{f{c}}}e{}{}}0000{{{f{Ab}}}{{B`{d}}}}{{{f{Ab}}}{{l{{f{Aj}}{f{Cf}}}}}}{{{f{Ab}}}{{f{Cf}}}}{c{{l{e}}}{}{}}000000000{{{f{Ah}}}{{l{{f{Aj}}Cj}}}}{{{f{c}}}Cl{}}0000","D":"Fl","p":[[0,"mut"],[5,"ShortFlags",0],[1,"reference"],[1,"usize"],[1,"unit"],[6,"Result",117],[5,"RawArgs",0],[5,"ArgCursor",0],[5,"ParsedArg",0],[6,"SeekFrom",0,118],[6,"Ordering",119],[10,"OsStrExt",0,120],[1,"str"],[1,"bool"],[10,"Display",121],[6,"Option",122],[5,"Formatter",121],[8,"Result",121],[5,"Error",121],[5,"OsString",123],[10,"Into",124],[17,"Item"],[10,"Iterator",125],[10,"Hasher",126],[10,"IntoIterator",127],[1,"char"],[5,"OsStr",123],[1,"tuple"],[5,"Utf8Error",128],[5,"TypeId",129]],"r":[[3,120],[6,118]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAD8ADAALABsAKQAAACsAAwAwAAQANgAAADwAAABDAAAATwAAAFMAAQBeAAQAZgAJAHEABAA="}],\ ["colorchoice",{"t":"PPPGPNNNNNNNNNNNNNNN","n":["Always","AlwaysAnsi","Auto","ColorChoice","Never","borrow","borrow_mut","clone","clone_to_uninit","clone_to_uninit","default","eq","fmt","from","global","into","try_from","try_into","type_id","write_global"],"q":[[0,"colorchoice"],[20,"core::fmt"],[21,"core::result"],[22,"core::any"]],"i":[3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{f}}}f}{{{b{c}}}h{}}0{{}f}{{{b{f}}{b{f}}}j}{{{b{f}}{b{dl}}}n}{cc{}}3{ce{}{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}{fh}","D":"Ad","p":[[1,"reference"],[0,"mut"],[6,"ColorChoice",0],[1,"unit"],[1,"bool"],[5,"Formatter",20],[8,"Result",20],[6,"Result",21],[5,"TypeId",22]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAoAAgAGAAcAEQACAA=="}],\ diff --git a/search.desc/bluerobotics_ping/bluerobotics_ping-desc-0-.js b/search.desc/bluerobotics_ping/bluerobotics_ping-desc-0-.js index b7250afb5..e0e0a2941 100644 --- a/search.desc/bluerobotics_ping/bluerobotics_ping-desc-0-.js +++ b/search.desc/bluerobotics_ping/bluerobotics_ping-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bluerobotics_ping", 0, "🦀 Ping Library 🔊\nReturns the argument unchanged.\nCalls U::from(self).\nGet the undervoltage timeout\nGet the minimum allowed cell voltage\nget the maximum allowed battery current\nGet the over-current timeout\nErase flash, including parameter configuration and event …\nA record of events causing a power lock-out. These numbers …\nreboot the system\nReset parameter configuration to default values.\nSet the minimum allowed cell voltage\nSet the under-voltage timeout\nSet the maximum allowed battery current\nSet the over-current timeout\nthe frequency to take adc samples and run the filter.\nLow pass filter setting. This value represents x in the …\nSet the frequency to automatically output state messages.\nSet the maximum allowed battery temperature\nSet the over-temperature timeout\nGet the current state of the device\nGet the maximum allowed battery temperature\nGet the over-temperature timeout\nThe current measurement\nThe battery temperature\nThe main battery voltage\nGet the undervoltage timeout\nGet the minimum allowed cell voltage\nArray containing cell voltages\nThe cpu temperature\nThe number of over-current events\nget the maximum allowed battery current\nGet the over-current timeout\nErase flash, including parameter configuration and event …\nA record of events causing a power lock-out. These numbers …\nflags indicating if any of the configured limits are …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\n0 = normal reboot, run main application after reboot 1 = …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe maximum allowed battery current 0~20000 = 0~200A\nThe maximum temperature allowed at the thermistor probe …\nThe maximum allowed battery current 0~20000 = 0~200A\nThe minimum voltage allowed for any individual cell. …\nThe minimum voltage allowed for any individual cell. …\nThe minimum voltage allowed for any individual cell. …\nRate to stream state messages. 0~100000Hz\nreboot the system\nReset parameter configuration to default values.\nsample frequency in Hz. 1~100000\nSet the minimum allowed cell voltage\nSet the under-voltage timeout\nSet the maximum allowed battery current\nSet the over-current timeout\nthe frequency to take adc samples and run the filter.\nLow pass filter setting. This value represents x in the …\nSet the frequency to automatically output state messages.\nSet the maximum allowed battery temperature\nSet the over-temperature timeout\n0~999: x = 0~0.999\nGet the current state of the device\nThe number of over-temperature events\nGet the maximum allowed battery temperature\nGet the over-temperature timeout\nIf the battery temperature exceeds the configured limit …\nIf the battery current exceeds the configured limit for …\nIf the battery temperature exceeds the configured limit …\nIf an individual cell exceeds the configured limit for …\nIf an individual cell exceeds the configured limit for …\nIf the battery current exceeds the configured limit for …\nThe number of under-voltage events\nReturns the argument unchanged.\nCalls U::from(self).\nAcknowledged.\nA message for transmitting text data.\nDevice information\nRequests a specific message to be sent from the sonar to …\nNot acknowledged.\nThe protocol version\nSet the device ID.\nThe message ID that is ACKnowledged.\nASCII text message. (not necessarily NULL terminated)\nDevice ID (1-254). 0 is unknown and 255 is reserved for …\nDevice information\ndevice-specific hardware revision\nDevice type. 0: Unknown; 1: Ping Echosounder; 2: Ping360\nFirmware version major number.\nFirmware version minor number.\nFirmware version patch number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nASCII text message indicating NACK condition. (not …\nThe message ID that is Not ACKnowledged.\nThe protocol version\nMessage ID to be requested.\nreserved\nreserved\nSet the device ID.\nProtocol version major number.\nProtocol version minor number.\nProtocol version patch number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nDevice information\nReturns the argument unchanged.\nCalls U::from(self).\nThe protocol version\nSet the device ID.\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nMessage Format\nA profile produced from a single acoustic measurement. The …\nNo documentation provided.\nSet the speed of sound.\nNot documented\nNot documented\nNot documented\nNot documented\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\n0-7\nNot documented\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe length of the scan region.\nNot documented\nNot documented\nNot documented\nNot documented\nlength of pwr_results array\nNot documented\nA profile produced from a single acoustic measurement. The …\nNo documentation provided.\nFrequency of acoustic signal\nsequentially assigned from 0 at power up\nNot documented\nNot documented\nAn array of return strength measurements taken at regular …\nNot documented\nNot documented\nNot documented\nNot documented\nSet the speed of sound.\nspeed of sound, decimeters/sec\nThe speed of sound in the measurement medium. ~1,500,000 …\nThe beginning of the scan region in mm from the transducer.\nNot documented\nmsec since power up at time of ping\nNot documented\nNot documented\nCommand to initiate continuous data stream of profile …\nCommand to stop the continuous data stream of profile …\nThe device ID.\nThe distance to target with confidence estimate.\nThe distance to target with confidence estimate. Relevant …\nDevice information\nThe current gain setting.\nGeneral information.\nSend the device into the bootloader. This is useful for …\nThe current operating mode of the device. Manual mode …\nTemperature of the on-board thermistor.\nAcoustic output enabled state.\nThe interval between acoustic measurements.\nTemperature of the device cpu.\nA profile produced from a single acoustic measurement. The …\nThe scan range for acoustic measurements. Measurements …\nSet the device ID.\nSet the current gain setting.\nSet automatic or manual mode. Manual mode allows for …\nEnable or disable acoustic measurements.\nThe interval between acoustic measurements.\nSet the scan range for acoustic measurements.\nSet the speed of sound used for distance calculations.\nThe speed of sound used for distance calculations.\nThe duration of the acoustic activation/transmission.\nThe 5V rail voltage.\nConfidence in the distance measurement.\nConfidence in the most recent range measurement.\nConfidence in the most recent range measurement.\nCommand to initiate continuous data stream of profile …\nCommand to stop the continuous data stream of profile …\nThe device ID.\nDevice ID (0-254). 255 is reserved for broadcast messages.\nThe device ID (0-254). 255 is reserved for broadcast …\nDevice model. 0: Unknown; 1: Ping1D\nDevice type. 0: Unknown; 1: Echosounder\nThe distance to target with confidence estimate. Relevant …\nDistance to the target.\nThe current return distance determined for the most recent …\nThe current return distance determined for the most recent …\nThe distance to target with confidence estimate.\nDevice information\nFirmware major version.\nFirmware version major number.\nFirmware minor version.\nFirmware version minor number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe current gain setting.\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nGeneral information.\nSend the device into the bootloader. This is useful for …\nThe message id to stream. 1300: profile\nThe message id to stop streaming. 1300: profile\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe current operating mode of the device. Manual mode …\nThe current operating mode of the device. 0: manual mode, …\n0: manual mode. 1: auto mode.\n0: manual mode, 1: auto mode\nTemperature of the on-board thermistor.\nThe temperature in centi-degrees Centigrade (100 * degrees …\nAcoustic output enabled state.\n0: Disable, 1: Enable.\nThe state of the acoustic output. 0: disabled, 1:enabled\nThe interval between acoustic measurements.\nThe interval between acoustic measurements.\nThe minimum interval between acoustic measurements. The …\nThe interval between acoustic measurements.\nThe pulse/measurement count since boot.\nThe pulse/measurement count since boot.\nTemperature of the device cpu.\nThe temperature in centi-degrees Centigrade (100 * degrees …\nA profile produced from a single acoustic measurement. The …\nAn array of return strength measurements taken at regular …\nThe scan range for acoustic measurements. Measurements …\nThe length of the scan region.\nThe length of the scan range. Minimum 1000.\nThe length of the scan range.\nThe length of the scan region.\nThe beginning of the scan region in mm from the transducer.\nNot documented\nThe beginning of the scan range in mm from the transducer.\nThe beginning of the scan region in mm from the transducer.\nSet the device ID.\nSet the current gain setting.\nSet automatic or manual mode. Manual mode allows for …\nEnable or disable acoustic measurements.\nThe interval between acoustic measurements.\nSet the scan range for acoustic measurements.\nSet the speed of sound used for distance calculations.\nThe speed of sound used for distance calculations.\nThe speed of sound in the measurement medium. ~1,500,000 …\nThe speed of sound in the measurement medium. ~1,500,000 …\nThe duration of the acoustic activation/transmission.\nThe acoustic pulse length during acoustic …\nThe acoustic pulse length during acoustic …\nAcoustic pulse duration.\nThe 5V rail voltage.\nDevice supply voltage.\nThe 5V rail voltage.\nNEW (v1.1.0) Extended version of device_data with …\nNEW (v1.1.0) Extended transducer message with auto-scan …\nThis message is used to communicate the current sonar …\nThe sonar switches the current through the stepper motor …\nReset the sonar. The bootloader may run depending on the …\nChange the device id\nThe transducer will apply the commanded settings. The …\nHead angle\nHead angle\nHead angle\nNEW (v1.1.0) Extended version of device_data with …\nNEW (v1.1.0) Extended transducer message with auto-scan …\n0 = skip bootloader; 1 = run bootloader\nAn array of return strength measurements taken at regular …\nAn array of return strength measurements taken at regular …\nAn additional delay between successive transmit pulses …\nAn additional delay between successive transmit pulses …\nThis message is used to communicate the current sonar …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nDevice ID (1-254). 0 and 255 are reserved.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nThe sonar switches the current through the stepper motor …\nNumber of 0.9 degree motor steps between pings for auto …\nNumber of 0.9 degree motor steps between pings for auto …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nreserved\nreserved\nreserved\nReset the sonar. The bootloader may run depending on the …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nChange the device id\nHead angle to begin scan sector for autoscan (0~399 = …\nHead angle to begin scan sector for autoscan (0~399 = …\nHead angle to end scan sector for autoscan (0~399 = 0~360 …\nHead angle to end scan sector for autoscan (0~399 = 0~360 …\nThe transducer will apply the commanded settings. The …\n0 = do not transmit; 1 = transmit after the transducer has …\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …") \ No newline at end of file +searchState.loadedDescShard("bluerobotics_ping", 0, "🦀 Ping Library 🔊\nReturns the argument unchanged.\nCalls U::from(self).\nGet the undervoltage timeout\nGet the minimum allowed cell voltage\nget the maximum allowed battery current\nGet the over-current timeout\nErase flash, including parameter configuration and event …\nA record of events causing a power lock-out. These numbers …\nreboot the system\nReset parameter configuration to default values.\nSet the minimum allowed cell voltage\nSet the under-voltage timeout\nSet the maximum allowed battery current\nSet the over-current timeout\nthe frequency to take adc samples and run the filter.\nLow pass filter setting. This value represents x in the …\nSet the frequency to automatically output state messages.\nSet the maximum allowed battery temperature\nSet the over-temperature timeout\nGet the current state of the device\nGet the maximum allowed battery temperature\nGet the over-temperature timeout\nThe current measurement\nThe battery temperature\nThe main battery voltage\nGet the undervoltage timeout\nGet the minimum allowed cell voltage\nArray containing cell voltages\nThe cpu temperature\nThe number of over-current events\nget the maximum allowed battery current\nGet the over-current timeout\nErase flash, including parameter configuration and event …\nA record of events causing a power lock-out. These numbers …\nflags indicating if any of the configured limits are …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\n0 = normal reboot, run main application after reboot 1 = …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe minimum voltage allowed for any individual cell. …\nThe maximum allowed battery current 0~20000 = 0~200A\nThe minimum voltage allowed for any individual cell. …\nThe maximum temperature allowed at the thermistor probe …\nThe maximum allowed battery current 0~20000 = 0~200A\nThe minimum voltage allowed for any individual cell. …\nRate to stream state messages. 0~100000Hz\nreboot the system\nReset parameter configuration to default values.\nsample frequency in Hz. 1~100000\nSet the minimum allowed cell voltage\nSet the under-voltage timeout\nSet the maximum allowed battery current\nSet the over-current timeout\nthe frequency to take adc samples and run the filter.\nLow pass filter setting. This value represents x in the …\nSet the frequency to automatically output state messages.\nSet the maximum allowed battery temperature\nSet the over-temperature timeout\n0~999: x = 0~0.999\nGet the current state of the device\nThe number of over-temperature events\nGet the maximum allowed battery temperature\nGet the over-temperature timeout\nIf the battery current exceeds the configured limit for …\nIf the battery temperature exceeds the configured limit …\nIf the battery temperature exceeds the configured limit …\nIf an individual cell exceeds the configured limit for …\nIf the battery current exceeds the configured limit for …\nIf an individual cell exceeds the configured limit for …\nThe number of under-voltage events\nReturns the argument unchanged.\nCalls U::from(self).\nAcknowledged.\nA message for transmitting text data.\nDevice information\nRequests a specific message to be sent from the sonar to …\nNot acknowledged.\nThe protocol version\nSet the device ID.\nThe message ID that is ACKnowledged.\nASCII text message. (not necessarily NULL terminated)\nDevice ID (1-254). 0 is unknown and 255 is reserved for …\nDevice information\ndevice-specific hardware revision\nDevice type. 0: Unknown; 1: Ping Echosounder; 2: Ping360\nFirmware version major number.\nFirmware version minor number.\nFirmware version patch number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nASCII text message indicating NACK condition. (not …\nThe message ID that is Not ACKnowledged.\nThe protocol version\nMessage ID to be requested.\nreserved\nreserved\nSet the device ID.\nProtocol version major number.\nProtocol version minor number.\nProtocol version patch number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nDevice information\nReturns the argument unchanged.\nCalls U::from(self).\nThe protocol version\nSet the device ID.\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nMessage Format\nA profile produced from a single acoustic measurement. The …\nNo documentation provided.\nSet the speed of sound.\nNot documented\nNot documented\nNot documented\nNot documented\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nNot documented\n0-7\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNot documented\nThe length of the scan region.\nNot documented\nNot documented\nNot documented\nNot documented\nlength of pwr_results array\nA profile produced from a single acoustic measurement. The …\nNo documentation provided.\nFrequency of acoustic signal\nsequentially assigned from 0 at power up\nNot documented\nNot documented\nAn array of return strength measurements taken at regular …\nNot documented\nNot documented\nNot documented\nNot documented\nSet the speed of sound.\nspeed of sound, decimeters/sec\nThe speed of sound in the measurement medium. ~1,500,000 …\nNot documented\nThe beginning of the scan region in mm from the transducer.\nmsec since power up at time of ping\nNot documented\nNot documented\nCommand to initiate continuous data stream of profile …\nCommand to stop the continuous data stream of profile …\nThe device ID.\nThe distance to target with confidence estimate.\nThe distance to target with confidence estimate. Relevant …\nDevice information\nThe current gain setting.\nGeneral information.\nSend the device into the bootloader. This is useful for …\nThe current operating mode of the device. Manual mode …\nTemperature of the on-board thermistor.\nAcoustic output enabled state.\nThe interval between acoustic measurements.\nTemperature of the device cpu.\nA profile produced from a single acoustic measurement. The …\nThe scan range for acoustic measurements. Measurements …\nSet the device ID.\nSet the current gain setting.\nSet automatic or manual mode. Manual mode allows for …\nEnable or disable acoustic measurements.\nThe interval between acoustic measurements.\nSet the scan range for acoustic measurements.\nSet the speed of sound used for distance calculations.\nThe speed of sound used for distance calculations.\nThe duration of the acoustic activation/transmission.\nThe 5V rail voltage.\nConfidence in the distance measurement.\nConfidence in the most recent range measurement.\nConfidence in the most recent range measurement.\nCommand to initiate continuous data stream of profile …\nCommand to stop the continuous data stream of profile …\nThe device ID.\nThe device ID (0-254). 255 is reserved for broadcast …\nDevice ID (0-254). 255 is reserved for broadcast messages.\nDevice model. 0: Unknown; 1: Ping1D\nDevice type. 0: Unknown; 1: Echosounder\nThe distance to target with confidence estimate. Relevant …\nDistance to the target.\nThe current return distance determined for the most recent …\nThe current return distance determined for the most recent …\nThe distance to target with confidence estimate.\nDevice information\nFirmware major version.\nFirmware version major number.\nFirmware minor version.\nFirmware version minor number.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe current gain setting.\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nThe current gain setting. 0: 0.6, 1: 1.8, 2: 5.5, 3: 12.9, …\nGeneral information.\nSend the device into the bootloader. This is useful for …\nThe message id to stream. 1300: profile\nThe message id to stop streaming. 1300: profile\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe current operating mode of the device. Manual mode …\n0: manual mode, 1: auto mode\n0: manual mode. 1: auto mode.\nThe current operating mode of the device. 0: manual mode, …\nTemperature of the on-board thermistor.\nThe temperature in centi-degrees Centigrade (100 * degrees …\nAcoustic output enabled state.\nThe state of the acoustic output. 0: disabled, 1:enabled\n0: Disable, 1: Enable.\nThe interval between acoustic measurements.\nThe interval between acoustic measurements.\nThe interval between acoustic measurements.\nThe minimum interval between acoustic measurements. The …\nThe pulse/measurement count since boot.\nThe pulse/measurement count since boot.\nTemperature of the device cpu.\nThe temperature in centi-degrees Centigrade (100 * degrees …\nA profile produced from a single acoustic measurement. The …\nAn array of return strength measurements taken at regular …\nThe scan range for acoustic measurements. Measurements …\nThe length of the scan range.\nThe length of the scan region.\nThe length of the scan range. Minimum 1000.\nThe length of the scan region.\nThe beginning of the scan range in mm from the transducer.\nThe beginning of the scan region in mm from the transducer.\nNot documented\nThe beginning of the scan region in mm from the transducer.\nSet the device ID.\nSet the current gain setting.\nSet automatic or manual mode. Manual mode allows for …\nEnable or disable acoustic measurements.\nThe interval between acoustic measurements.\nSet the scan range for acoustic measurements.\nSet the speed of sound used for distance calculations.\nThe speed of sound used for distance calculations.\nThe speed of sound in the measurement medium. ~1,500,000 …\nThe speed of sound in the measurement medium. ~1,500,000 …\nThe duration of the acoustic activation/transmission.\nAcoustic pulse duration.\nThe acoustic pulse length during acoustic …\nThe acoustic pulse length during acoustic …\nThe 5V rail voltage.\nDevice supply voltage.\nThe 5V rail voltage.\nNEW (v1.1.0) Extended version of device_data with …\nNEW (v1.1.0) Extended transducer message with auto-scan …\nThis message is used to communicate the current sonar …\nThe sonar switches the current through the stepper motor …\nReset the sonar. The bootloader may run depending on the …\nChange the device id\nThe transducer will apply the commanded settings. The …\nHead angle\nHead angle\nHead angle\nNEW (v1.1.0) Extended version of device_data with …\nNEW (v1.1.0) Extended transducer message with auto-scan …\n0 = skip bootloader; 1 = run bootloader\nAn array of return strength measurements taken at regular …\nAn array of return strength measurements taken at regular …\nAn additional delay between successive transmit pulses …\nAn additional delay between successive transmit pulses …\nThis message is used to communicate the current sonar …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nAnalog gain setting (0 = low, 1 = normal, 2 = high)\nDevice ID (1-254). 0 and 255 are reserved.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nOperating mode (1 for Ping360)\nThe sonar switches the current through the stepper motor …\nNumber of 0.9 degree motor steps between pings for auto …\nNumber of 0.9 degree motor steps between pings for auto …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nNumber of samples per reflected signal (supported values: …\nreserved\nreserved\nreserved\nReset the sonar. The bootloader may run depending on the …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nTime interval between individual signal intensity samples …\nChange the device id\nHead angle to begin scan sector for autoscan (0~399 = …\nHead angle to begin scan sector for autoscan (0~399 = …\nHead angle to end scan sector for autoscan (0~399 = 0~360 …\nHead angle to end scan sector for autoscan (0~399 = 0~360 …\nThe transducer will apply the commanded settings. The …\n0 = do not transmit; 1 = transmit after the transducer has …\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic transmission duration (1~1000 us)\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …\nAcoustic operating frequency (500~1000 kHz). It is only …") \ No newline at end of file diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/bluebps.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/bluebps.rs.html similarity index 99% rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/bluebps.rs.html rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/bluebps.rs.html index 6d4150259..f092b8dc3 100644 --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/bluebps.rs.html +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/bluebps.rs.html @@ -1,4 +1,4 @@ -bluebps.rs - source
          1
          +bluebps.rs - source
          1
           2
           3
           4
          @@ -1132,165 +1132,145 @@
           #[derive(Debug, Clone, PartialEq)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
          +    EraseFlash(EraseFlashStruct),
          +    ResetDefaults(ResetDefaultsStruct),
          +    CellTimeout(CellTimeoutStruct),
          +    SetLpfSampleFrequency(SetLpfSampleFrequencyStruct),
          +    SetLpfSetting(SetLpfSettingStruct),
               TemperatureMax(TemperatureMaxStruct),
          -    SetCellVoltageMinimum(SetCellVoltageMinimumStruct),
          -    CellVoltageMin(CellVoltageMinStruct),
               SetCurrentTimeout(SetCurrentTimeoutStruct),
          -    Reboot(RebootStruct),
          -    CellTimeout(CellTimeoutStruct),
               SetCellVoltageTimeout(SetCellVoltageTimeoutStruct),
          -    Events(EventsStruct),
               SetStreamRate(SetStreamRateStruct),
          +    Reboot(RebootStruct),
          +    TemperatureTimeout(TemperatureTimeoutStruct),
               CurrentMax(CurrentMaxStruct),
               SetTemperatureMax(SetTemperatureMaxStruct),
          -    TemperatureTimeout(TemperatureTimeoutStruct),
          +    SetCellVoltageMinimum(SetCellVoltageMinimumStruct),
          +    SetCurrentMax(SetCurrentMaxStruct),
          +    SetTemperatureTimeout(SetTemperatureTimeoutStruct),
               CurrentTimeout(CurrentTimeoutStruct),
          -    ResetDefaults(ResetDefaultsStruct),
          +    CellVoltageMin(CellVoltageMinStruct),
          +    Events(EventsStruct),
               State(StateStruct),
          -    SetTemperatureTimeout(SetTemperatureTimeoutStruct),
          -    SetCurrentMax(SetCurrentMaxStruct),
          -    SetLpfSetting(SetLpfSettingStruct),
          -    SetLpfSampleFrequency(SetLpfSampleFrequencyStruct),
          -    EraseFlash(EraseFlashStruct),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
                   match self {
          -            Self::TemperatureMax(inner_struct) => {
          +            Self::EraseFlash(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetCellVoltageMinimum(inner_struct) => {
          +            Self::ResetDefaults(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::CellVoltageMin(inner_struct) => {
          +            Self::CellTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetCurrentTimeout(inner_struct) => {
          +            Self::SetLpfSampleFrequency(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::CellTimeout(inner_struct) => {
          +            Self::SetLpfSetting(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetCellVoltageTimeout(inner_struct) => {
          +            Self::TemperatureMax(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::SetStreamRate(inner_struct) => {
          +            Self::SetCurrentTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::CurrentMax(inner_struct) => {
          +            Self::SetCellVoltageTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetTemperatureMax(inner_struct) => {
          +            Self::SetStreamRate(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::TemperatureTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::CurrentTimeout(inner_struct) => {
          +            Self::CurrentMax(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::ResetDefaults(inner_struct) => {
          +            Self::SetTemperatureMax(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::SetTemperatureTimeout(inner_struct) => {
          +            Self::SetCellVoltageMinimum(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
                       Self::SetCurrentMax(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetLpfSetting(inner_struct) => {
          +            Self::SetTemperatureTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetLpfSampleFrequency(inner_struct) => {
          +            Self::CurrentTimeout(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::EraseFlash(inner_struct) => {
          +            Self::CellVoltageMin(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::State(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 = "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 TemperatureMaxStruct {
          +#[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 TemperatureMaxStruct {
          +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 TemperatureMaxStruct {
          +impl MessageInfo for EraseFlashStruct {
               fn id() -> u16 {
          -        9104u16
          +        9201u16
               }
           }
           #[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,
          -}
          -impl SerializePayload for SetCellVoltageMinimumStruct {
          +#[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.extend_from_slice(&self.limit.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetCellVoltageMinimumStruct {
          +impl DeserializePayload for ResetDefaultsStruct {
               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 SetCellVoltageMinimumStruct {
          +impl MessageInfo for ResetDefaultsStruct {
               fn id() -> u16 {
          -        9000u16
          +        9202u16
               }
           }
           #[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 = "Get the undervoltage timeout"]
          +pub struct CellTimeoutStruct {
          +    #[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 CellVoltageMinStruct {
          +impl SerializePayload for CellTimeoutStruct {
               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.timeout.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for CellVoltageMinStruct {
          +impl DeserializePayload for CellTimeoutStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            limit: u16::from_le_bytes(
          +            timeout: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1298,85 +1278,89 @@
                   }
               }
           }
          -impl MessageInfo for CellVoltageMinStruct {
          +impl MessageInfo for CellTimeoutStruct {
               fn id() -> u16 {
          -        9100u16
          +        9101u16
               }
           }
           #[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,
          +#[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 SetCurrentTimeoutStruct {
          +impl SerializePayload for SetLpfSampleFrequencyStruct {
               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.sample_frequency.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetCurrentTimeoutStruct {
          +impl DeserializePayload for SetLpfSampleFrequencyStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            timeout: 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 SetCurrentTimeoutStruct {
          +impl MessageInfo for SetLpfSampleFrequencyStruct {
               fn id() -> u16 {
          -        9003u16
          +        9007u16
               }
           }
           #[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,
          +#[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 RebootStruct {
          +impl SerializePayload for SetLpfSettingStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.goto_bootloader.to_le_bytes());
          +        buffer.extend_from_slice(&self.setting.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for RebootStruct {
          +impl DeserializePayload for SetLpfSettingStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            goto_bootloader: payload[0usize].into(),
          +            setting: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
                   }
               }
           }
          -impl MessageInfo for RebootStruct {
          +impl MessageInfo for SetLpfSettingStruct {
               fn id() -> u16 {
          -        9200u16
          +        9008u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "Get the undervoltage timeout"]
          -pub struct CellTimeoutStruct {
          -    #[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 temperature"]
          +pub struct TemperatureMaxStruct {
          +    #[doc = "The minimum voltage allowed for any individual cell. 0~5000: 0~5V"]
          +    pub limit: u16,
           }
          -impl SerializePayload for CellTimeoutStruct {
          +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 CellTimeoutStruct {
          +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"),
          @@ -1384,26 +1368,26 @@
                   }
               }
           }
          -impl MessageInfo for CellTimeoutStruct {
          +impl MessageInfo for TemperatureMaxStruct {
               fn id() -> u16 {
          -        9101u16
          +        9104u16
               }
           }
           #[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"]
          +#[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 SetCellVoltageTimeoutStruct {
          +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 SetCellVoltageTimeoutStruct {
          +impl DeserializePayload for SetCurrentTimeoutStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       timeout: u16::from_le_bytes(
          @@ -1414,55 +1398,39 @@
                   }
               }
           }
          -impl MessageInfo for SetCellVoltageTimeoutStruct {
          +impl MessageInfo for SetCurrentTimeoutStruct {
               fn id() -> u16 {
          -        9001u16
          +        9003u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[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 struct EventsStruct {
          -    #[doc = "The number of under-voltage events"]
          -    pub voltage: u16,
          -    #[doc = "The number of over-current events"]
          -    pub current: u16,
          -    #[doc = "The number of over-temperature events"]
          -    pub temperature: 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 EventsStruct {
          +impl SerializePayload for SetCellVoltageTimeoutStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.voltage.to_le_bytes());
          -        buffer.extend_from_slice(&self.current.to_le_bytes());
          -        buffer.extend_from_slice(&self.temperature.to_le_bytes());
          +        buffer.extend_from_slice(&self.timeout.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for EventsStruct {
          +impl DeserializePayload for SetCellVoltageTimeoutStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            voltage: u16::from_le_bytes(
          +            timeout: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            current: u16::from_le_bytes(
          -                payload[2usize..2usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            temperature: u16::from_le_bytes(
          -                payload[4usize..4usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
                   }
               }
           }
          -impl MessageInfo for EventsStruct {
          +impl MessageInfo for SetCellVoltageTimeoutStruct {
               fn id() -> u16 {
          -        9107u16
          +        9001u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -1497,52 +1465,48 @@
           }
           #[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,
          +#[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 CurrentMaxStruct {
          +impl SerializePayload for RebootStruct {
               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.goto_bootloader.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for CurrentMaxStruct {
          +impl DeserializePayload for RebootStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            limit: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          +            goto_bootloader: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for CurrentMaxStruct {
          +impl MessageInfo for RebootStruct {
               fn id() -> u16 {
          -        9102u16
          +        9200u16
               }
           }
           #[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"]
          -    pub limit: u16,
          +#[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 SetTemperatureMaxStruct {
          +impl SerializePayload for TemperatureTimeoutStruct {
               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.timeout.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetTemperatureMaxStruct {
          +impl DeserializePayload for TemperatureTimeoutStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            limit: u16::from_le_bytes(
          +            timeout: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1550,29 +1514,29 @@
                   }
               }
           }
          -impl MessageInfo for SetTemperatureMaxStruct {
          +impl MessageInfo for TemperatureTimeoutStruct {
               fn id() -> u16 {
          -        9004u16
          +        9105u16
               }
           }
           #[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 = "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 TemperatureTimeoutStruct {
          +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 TemperatureTimeoutStruct {
          +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"),
          @@ -1580,29 +1544,29 @@
                   }
               }
           }
          -impl MessageInfo for TemperatureTimeoutStruct {
          +impl MessageInfo for CurrentMaxStruct {
               fn id() -> u16 {
          -        9105u16
          +        9102u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "Get the over-current timeout"]
          -pub struct CurrentTimeoutStruct {
          -    #[doc = "If the battery current exceeds the configured limit for this duration of time, the power will be locked-out"]
          -    pub timeout: u16,
          +#[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 CurrentTimeoutStruct {
          +impl SerializePayload for SetTemperatureMaxStruct {
               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 CurrentTimeoutStruct {
          +impl DeserializePayload for SetTemperatureMaxStruct {
               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"),
          @@ -1610,104 +1574,69 @@
                   }
               }
           }
          -impl MessageInfo for CurrentTimeoutStruct {
          +impl MessageInfo for SetTemperatureMaxStruct {
               fn id() -> u16 {
          -        9103u16
          +        9004u16
               }
           }
           #[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 {
          +#[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 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 ResetDefaultsStruct {
          +impl DeserializePayload for SetCellVoltageMinimumStruct {
               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 ResetDefaultsStruct {
          +impl MessageInfo for SetCellVoltageMinimumStruct {
               fn id() -> u16 {
          -        9202u16
          +        9000u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "Get the current state of the device"]
          -pub struct StateStruct {
          -    #[doc = "The main battery voltage"]
          -    pub battery_voltage: u16,
          -    #[doc = "The current measurement"]
          -    pub battery_current: u16,
          -    #[doc = "The battery temperature"]
          -    pub battery_temperature: u16,
          -    #[doc = "The cpu temperature"]
          -    pub cpu_temperature: u16,
          -    #[doc = "flags indicating if any of the configured limits are currently exceeded"]
          -    pub flags: u8,
          -    #[doc = "Array containing cell voltages"]
          -    pub cell_voltages_length: u8,
          -    pub cell_voltages: Vec<u16>,
          +#[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 StateStruct {
          +impl SerializePayload for SetCurrentMaxStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.battery_voltage.to_le_bytes());
          -        buffer.extend_from_slice(&self.battery_current.to_le_bytes());
          -        buffer.extend_from_slice(&self.battery_temperature.to_le_bytes());
          -        buffer.extend_from_slice(&self.cpu_temperature.to_le_bytes());
          -        buffer.extend_from_slice(&self.flags.to_le_bytes());
          -        buffer.extend_from_slice(&self.cell_voltages_length.to_le_bytes());
          -        for value in self.cell_voltages.iter() {
          -            buffer.extend_from_slice(&value.to_le_bytes());
          -        }
          +        buffer.extend_from_slice(&self.limit.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for StateStruct {
          +impl DeserializePayload for SetCurrentMaxStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            battery_voltage: u16::from_le_bytes(
          +            limit: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            battery_current: u16::from_le_bytes(
          -                payload[2usize..2usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            battery_temperature: u16::from_le_bytes(
          -                payload[4usize..4usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            cpu_temperature: u16::from_le_bytes(
          -                payload[6usize..6usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            flags: payload[8usize].into(),
          -            cell_voltages_length: u8::from_le_bytes(
          -                payload[9usize..9usize + 1usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            cell_voltages: payload[9usize + 1usize..payload.len()]
          -                .chunks_exact(2usize)
          -                .into_iter()
          -                .map(|a| u16::from_le_bytes((*a).try_into().expect("Wrong slice length")))
          -                .collect::<Vec<u16>>(),
                   }
               }
           }
          -impl MessageInfo for StateStruct {
          +impl MessageInfo for SetCurrentMaxStruct {
               fn id() -> u16 {
          -        9106u16
          +        9002u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -1742,22 +1671,22 @@
           }
           #[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"]
          -    pub limit: u16,
          +#[doc = "Get the over-current timeout"]
          +pub struct CurrentTimeoutStruct {
          +    #[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 SetCurrentMaxStruct {
          +impl SerializePayload for CurrentTimeoutStruct {
               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.timeout.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetCurrentMaxStruct {
          +impl DeserializePayload for CurrentTimeoutStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            limit: u16::from_le_bytes(
          +            timeout: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1765,29 +1694,29 @@
                   }
               }
           }
          -impl MessageInfo for SetCurrentMaxStruct {
          +impl MessageInfo for CurrentTimeoutStruct {
               fn id() -> u16 {
          -        9002u16
          +        9103u16
               }
           }
           #[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 = "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 SetLpfSettingStruct {
          +impl SerializePayload for CellVoltageMinStruct {
               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.limit.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetLpfSettingStruct {
          +impl DeserializePayload for CellVoltageMinStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            setting: u16::from_le_bytes(
          +            limit: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1795,60 +1724,131 @@
                   }
               }
           }
          -impl MessageInfo for SetLpfSettingStruct {
          +impl MessageInfo for CellVoltageMinStruct {
               fn id() -> u16 {
          -        9008u16
          +        9100u16
               }
           }
           #[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 = "A record of events causing a power lock-out. These numbers are non-volatile and reset only with the erase_flash control message."]
          +pub struct EventsStruct {
          +    #[doc = "The number of under-voltage events"]
          +    pub voltage: u16,
          +    #[doc = "The number of over-current events"]
          +    pub current: u16,
          +    #[doc = "The number of over-temperature events"]
          +    pub temperature: u16,
           }
          -impl SerializePayload for SetLpfSampleFrequencyStruct {
          +impl SerializePayload for EventsStruct {
               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.voltage.to_le_bytes());
          +        buffer.extend_from_slice(&self.current.to_le_bytes());
          +        buffer.extend_from_slice(&self.temperature.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetLpfSampleFrequencyStruct {
          +impl DeserializePayload for EventsStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            sample_frequency: u32::from_le_bytes(
          -                payload[0usize..0usize + 4usize]
          +            voltage: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            current: u16::from_le_bytes(
          +                payload[2usize..2usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            temperature: u16::from_le_bytes(
          +                payload[4usize..4usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
                   }
               }
           }
          -impl MessageInfo for SetLpfSampleFrequencyStruct {
          +impl MessageInfo for EventsStruct {
               fn id() -> u16 {
          -        9007u16
          +        9107u16
               }
           }
           #[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 {
          -    fn serialize(&self) -> Vec<u8> {
          -        let mut buffer: Vec<u8> = Default::default();
          -        buffer
          -    }
          -}
          -impl DeserializePayload for EraseFlashStruct {
          -    fn deserialize(payload: &[u8]) -> Self {
          -        Self {}
          -    }
          -}
          -impl MessageInfo for EraseFlashStruct {
          -    fn id() -> u16 {
          -        9201u16
          -    }
          +#[doc = "Get the current state of the device"]
          +pub struct StateStruct {
          +    #[doc = "The main battery voltage"]
          +    pub battery_voltage: u16,
          +    #[doc = "The current measurement"]
          +    pub battery_current: u16,
          +    #[doc = "The battery temperature"]
          +    pub battery_temperature: u16,
          +    #[doc = "The cpu temperature"]
          +    pub cpu_temperature: u16,
          +    #[doc = "flags indicating if any of the configured limits are currently exceeded"]
          +    pub flags: u8,
          +    #[doc = "Array containing cell voltages"]
          +    pub cell_voltages_length: u8,
          +    pub cell_voltages: Vec<u16>,
          +}
          +impl SerializePayload for StateStruct {
          +    fn serialize(&self) -> Vec<u8> {
          +        let mut buffer: Vec<u8> = Default::default();
          +        buffer.extend_from_slice(&self.battery_voltage.to_le_bytes());
          +        buffer.extend_from_slice(&self.battery_current.to_le_bytes());
          +        buffer.extend_from_slice(&self.battery_temperature.to_le_bytes());
          +        buffer.extend_from_slice(&self.cpu_temperature.to_le_bytes());
          +        buffer.extend_from_slice(&self.flags.to_le_bytes());
          +        buffer.extend_from_slice(&self.cell_voltages_length.to_le_bytes());
          +        for value in self.cell_voltages.iter() {
          +            buffer.extend_from_slice(&value.to_le_bytes());
          +        }
          +        buffer
          +    }
          +}
          +impl DeserializePayload for StateStruct {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            battery_voltage: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            battery_current: u16::from_le_bytes(
          +                payload[2usize..2usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            battery_temperature: u16::from_le_bytes(
          +                payload[4usize..4usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            cpu_temperature: u16::from_le_bytes(
          +                payload[6usize..6usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            flags: payload[8usize].into(),
          +            cell_voltages_length: u8::from_le_bytes(
          +                payload[9usize..9usize + 1usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            cell_voltages: payload[9usize + 1usize..payload.len()]
          +                .chunks_exact(2usize)
          +                .into_iter()
          +                .map(|a| u16::from_le_bytes((*a).try_into().expect("Wrong slice length")))
          +                .collect::<Vec<u16>>(),
          +        }
          +    }
          +}
          +impl MessageInfo for StateStruct {
          +    fn id() -> u16 {
          +        9106u16
          +    }
           }
           impl Device {
               pub fn new<T>(io: T) -> Self
          @@ -1859,24 +1859,54 @@
                       common: Common::new(io),
                   }
               }
          -    #[doc = "Get the maximum allowed battery temperature"]
          -    pub async fn temperature_max(&self) -> Result<TemperatureMaxStruct, PingError> {
          +    #[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 = "Reset parameter configuration to default values."]
          +    #[doc = "# Arguments"]
          +    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 = "Get the undervoltage timeout"]
          +    pub async fn cell_timeout(&self) -> Result<CellTimeoutStruct, PingError> {
                   self.request().await
               }
          -    #[doc = "Set the minimum allowed cell voltage"]
          +    #[doc = "the frequency to take adc samples and run the filter."]
               #[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 = "* `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, SetCellVoltageMinimumStruct::id())
          +        self.wait_for_ack(receiver, SetLpfSampleFrequencyStruct::id())
                       .await
               }
          -    #[doc = "Get the minimum allowed cell voltage"]
          -    pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, PingError> {
          +    #[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 = "Set the over-current timeout"]
          @@ -1891,20 +1921,6 @@
                   self.wait_for_ack(receiver, SetCurrentTimeoutStruct::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 undervoltage timeout"]
          -    pub async fn cell_timeout(&self) -> Result<CellTimeoutStruct, 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"]
          @@ -1917,10 +1933,6 @@
                   self.wait_for_ack(receiver, SetCellVoltageTimeoutStruct::id())
                       .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> {
          -        self.request().await
          -    }
               #[doc = "Set the frequency to automatically output state messages."]
               #[doc = "# Arguments"]
               #[doc = "* `rate` \\[Hz\\] - Rate to stream `state` messages. 0~100000Hz"]
          @@ -1932,6 +1944,20 @@
                   self.get_common().send_message(package).await?;
                   self.wait_for_ack(receiver, SetStreamRateStruct::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 over-temperature timeout"]
          +    pub async fn temperature_timeout(&self) -> Result<TemperatureTimeoutStruct, PingError> {
          +        self.request().await
          +    }
               #[doc = "get the maximum allowed battery current"]
               pub async fn current_max(&self) -> Result<CurrentMaxStruct, PingError> {
                   self.request().await
          @@ -1948,37 +1974,16 @@
                   self.wait_for_ack(receiver, SetTemperatureMaxStruct::id())
                       .await
               }
          -    #[doc = "Get the over-temperature timeout"]
          -    pub async fn temperature_timeout(&self) -> Result<TemperatureTimeoutStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "Get the over-current timeout"]
          -    pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "Reset parameter configuration to default values."]
          -    #[doc = "# Arguments"]
          -    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 = "Get the current state of the device"]
          -    pub async fn state(&self) -> Result<StateStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "Set the over-temperature timeout"]
          +    #[doc = "Set the minimum allowed cell voltage"]
               #[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 = "* `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?;
          -        self.wait_for_ack(receiver, SetTemperatureTimeoutStruct::id())
          +        self.wait_for_ack(receiver, SetCellVoltageMinimumStruct::id())
                       .await
               }
               #[doc = "Set the maximum allowed battery current"]
          @@ -1992,111 +1997,106 @@
                   self.get_common().send_message(package).await?;
                   self.wait_for_ack(receiver, SetCurrentMaxStruct::id()).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 = "the frequency to take adc samples and run the filter."]
          +    #[doc = "Set the over-temperature timeout"]
               #[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 = "* `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, SetLpfSampleFrequencyStruct::id())
          +        self.wait_for_ack(receiver, SetTemperatureTimeoutStruct::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 over-current timeout"]
          +    pub async fn current_timeout(&self) -> Result<CurrentTimeoutStruct, PingError> {
          +        self.request().await
          +    }
          +    #[doc = "Get the minimum allowed cell voltage"]
          +    pub async fn cell_voltage_min(&self) -> Result<CellVoltageMinStruct, 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> {
          +        self.request().await
          +    }
          +    #[doc = "Get the current state of the device"]
          +    pub async fn state(&self) -> Result<StateStruct, PingError> {
          +        self.request().await
          +    }
           }
           impl PingMessage for Messages {
               fn message_name(&self) -> &'static str {
                   match self {
          +            Messages::EraseFlash(..) => "erase_flash",
          +            Messages::ResetDefaults(..) => "reset_defaults",
          +            Messages::CellTimeout(..) => "cell_timeout",
          +            Messages::SetLpfSampleFrequency(..) => "set_lpf_sample_frequency",
          +            Messages::SetLpfSetting(..) => "set_lpf_setting",
                       Messages::TemperatureMax(..) => "temperature_max",
          -            Messages::SetCellVoltageMinimum(..) => "set_cell_voltage_minimum",
          -            Messages::CellVoltageMin(..) => "cell_voltage_min",
                       Messages::SetCurrentTimeout(..) => "set_current_timeout",
          -            Messages::Reboot(..) => "reboot",
          -            Messages::CellTimeout(..) => "cell_timeout",
                       Messages::SetCellVoltageTimeout(..) => "set_cell_voltage_timeout",
          -            Messages::Events(..) => "events",
                       Messages::SetStreamRate(..) => "set_stream_rate",
          +            Messages::Reboot(..) => "reboot",
          +            Messages::TemperatureTimeout(..) => "temperature_timeout",
                       Messages::CurrentMax(..) => "current_max",
                       Messages::SetTemperatureMax(..) => "set_temperature_max",
          -            Messages::TemperatureTimeout(..) => "temperature_timeout",
          +            Messages::SetCellVoltageMinimum(..) => "set_cell_voltage_minimum",
          +            Messages::SetCurrentMax(..) => "set_current_max",
          +            Messages::SetTemperatureTimeout(..) => "set_temperature_timeout",
                       Messages::CurrentTimeout(..) => "current_timeout",
          -            Messages::ResetDefaults(..) => "reset_defaults",
          +            Messages::CellVoltageMin(..) => "cell_voltage_min",
          +            Messages::Events(..) => "events",
                       Messages::State(..) => "state",
          -            Messages::SetTemperatureTimeout(..) => "set_temperature_timeout",
          -            Messages::SetCurrentMax(..) => "set_current_max",
          -            Messages::SetLpfSetting(..) => "set_lpf_setting",
          -            Messages::SetLpfSampleFrequency(..) => "set_lpf_sample_frequency",
          -            Messages::EraseFlash(..) => "erase_flash",
                   }
               }
               fn message_id(&self) -> u16 {
                   match self {
          +            Messages::EraseFlash(..) => 9201u16,
          +            Messages::ResetDefaults(..) => 9202u16,
          +            Messages::CellTimeout(..) => 9101u16,
          +            Messages::SetLpfSampleFrequency(..) => 9007u16,
          +            Messages::SetLpfSetting(..) => 9008u16,
                       Messages::TemperatureMax(..) => 9104u16,
          -            Messages::SetCellVoltageMinimum(..) => 9000u16,
          -            Messages::CellVoltageMin(..) => 9100u16,
                       Messages::SetCurrentTimeout(..) => 9003u16,
          -            Messages::Reboot(..) => 9200u16,
          -            Messages::CellTimeout(..) => 9101u16,
                       Messages::SetCellVoltageTimeout(..) => 9001u16,
          -            Messages::Events(..) => 9107u16,
                       Messages::SetStreamRate(..) => 9006u16,
          +            Messages::Reboot(..) => 9200u16,
          +            Messages::TemperatureTimeout(..) => 9105u16,
                       Messages::CurrentMax(..) => 9102u16,
                       Messages::SetTemperatureMax(..) => 9004u16,
          -            Messages::TemperatureTimeout(..) => 9105u16,
          +            Messages::SetCellVoltageMinimum(..) => 9000u16,
          +            Messages::SetCurrentMax(..) => 9002u16,
          +            Messages::SetTemperatureTimeout(..) => 9005u16,
                       Messages::CurrentTimeout(..) => 9103u16,
          -            Messages::ResetDefaults(..) => 9202u16,
          +            Messages::CellVoltageMin(..) => 9100u16,
          +            Messages::Events(..) => 9107u16,
                       Messages::State(..) => 9106u16,
          -            Messages::SetTemperatureTimeout(..) => 9005u16,
          -            Messages::SetCurrentMax(..) => 9002u16,
          -            Messages::SetLpfSetting(..) => 9008u16,
          -            Messages::SetLpfSampleFrequency(..) => 9007u16,
          -            Messages::EraseFlash(..) => 9201u16,
                   }
               }
               fn message_id_from_name(name: &str) -> Result<u16, String> {
                   match name {
          +            "erase_flash" => Ok(9201u16),
          +            "reset_defaults" => Ok(9202u16),
          +            "cell_timeout" => Ok(9101u16),
          +            "set_lpf_sample_frequency" => Ok(9007u16),
          +            "set_lpf_setting" => Ok(9008u16),
                       "temperature_max" => Ok(9104u16),
          -            "set_cell_voltage_minimum" => Ok(9000u16),
          -            "cell_voltage_min" => Ok(9100u16),
                       "set_current_timeout" => Ok(9003u16),
          -            "reboot" => Ok(9200u16),
          -            "cell_timeout" => Ok(9101u16),
                       "set_cell_voltage_timeout" => Ok(9001u16),
          -            "events" => Ok(9107u16),
                       "set_stream_rate" => Ok(9006u16),
          +            "reboot" => Ok(9200u16),
          +            "temperature_timeout" => Ok(9105u16),
                       "current_max" => Ok(9102u16),
                       "set_temperature_max" => Ok(9004u16),
          -            "temperature_timeout" => Ok(9105u16),
          +            "set_cell_voltage_minimum" => Ok(9000u16),
          +            "set_current_max" => Ok(9002u16),
          +            "set_temperature_timeout" => Ok(9005u16),
                       "current_timeout" => Ok(9103u16),
          -            "reset_defaults" => Ok(9202u16),
          +            "cell_voltage_min" => Ok(9100u16),
          +            "events" => Ok(9107u16),
                       "state" => Ok(9106u16),
          -            "set_temperature_timeout" => Ok(9005u16),
          -            "set_current_max" => Ok(9002u16),
          -            "set_lpf_setting" => Ok(9008u16),
          -            "set_lpf_sample_frequency" => Ok(9007u16),
          -            "erase_flash" => Ok(9201u16),
                       _ => Err(format!("Failed to find message ID from name: {name}.")),
                   }
               }
          @@ -2104,94 +2104,94 @@
           impl SerializePayload for Messages {
               fn serialize(&self) -> Vec<u8> {
                   match self {
          -            Messages::TemperatureMax(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetCellVoltageMinimum(content) => {
          +            Messages::EraseFlash(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::ResetDefaults(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::CellTimeout(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetLpfSampleFrequency(content) => {
                           (content as &dyn SerializePayload).serialize()
                       }
          -            Messages::CellVoltageMin(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetLpfSetting(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::TemperatureMax(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetCurrentTimeout(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Reboot(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::CellTimeout(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetCellVoltageTimeout(content) => {
                           (content as &dyn SerializePayload).serialize()
                       }
          -            Messages::Events(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetStreamRate(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Reboot(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::TemperatureTimeout(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::CurrentMax(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetTemperatureMax(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::TemperatureTimeout(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::CurrentTimeout(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::ResetDefaults(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::State(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetTemperatureTimeout(content) => {
          +            Messages::SetCellVoltageMinimum(content) => {
                           (content as &dyn SerializePayload).serialize()
                       }
                       Messages::SetCurrentMax(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetLpfSetting(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetLpfSampleFrequency(content) => {
          +            Messages::SetTemperatureTimeout(content) => {
                           (content as &dyn SerializePayload).serialize()
                       }
          -            Messages::EraseFlash(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::CurrentTimeout(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::CellVoltageMin(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Events(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::State(content) => (content as &dyn SerializePayload).serialize(),
                   }
               }
           }
           impl DeserializeGenericMessage for Messages {
               fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> {
                   Ok(match message_id {
          -            9104u16 => Messages::TemperatureMax(
          -                <TemperatureMaxStruct as DeserializePayload>::deserialize(payload),
          +            9201u16 => Messages::EraseFlash(<EraseFlashStruct as DeserializePayload>::deserialize(
          +                payload,
          +            )),
          +            9202u16 => Messages::ResetDefaults(
          +                <ResetDefaultsStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9000u16 => Messages::SetCellVoltageMinimum(
          -                <SetCellVoltageMinimumStruct as DeserializePayload>::deserialize(payload),
          +            9101u16 => Messages::CellTimeout(
          +                <CellTimeoutStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9100u16 => Messages::CellVoltageMin(
          -                <CellVoltageMinStruct as DeserializePayload>::deserialize(payload),
          +            9007u16 => Messages::SetLpfSampleFrequency(
          +                <SetLpfSampleFrequencyStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            9008u16 => Messages::SetLpfSetting(
          +                <SetLpfSettingStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            9104u16 => Messages::TemperatureMax(
          +                <TemperatureMaxStruct as DeserializePayload>::deserialize(payload),
                       ),
                       9003u16 => Messages::SetCurrentTimeout(
                           <SetCurrentTimeoutStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9200u16 => Messages::Reboot(<RebootStruct as DeserializePayload>::deserialize(payload)),
          -            9101u16 => Messages::CellTimeout(
          -                <CellTimeoutStruct as DeserializePayload>::deserialize(payload),
          -            ),
                       9001u16 => Messages::SetCellVoltageTimeout(
                           <SetCellVoltageTimeoutStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9107u16 => Messages::Events(<EventsStruct as DeserializePayload>::deserialize(payload)),
                       9006u16 => Messages::SetStreamRate(
                           <SetStreamRateStruct as DeserializePayload>::deserialize(payload),
                       ),
          +            9200u16 => Messages::Reboot(<RebootStruct as DeserializePayload>::deserialize(payload)),
          +            9105u16 => Messages::TemperatureTimeout(
          +                <TemperatureTimeoutStruct as DeserializePayload>::deserialize(payload),
          +            ),
                       9102u16 => Messages::CurrentMax(<CurrentMaxStruct as DeserializePayload>::deserialize(
                           payload,
                       )),
                       9004u16 => Messages::SetTemperatureMax(
                           <SetTemperatureMaxStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9105u16 => Messages::TemperatureTimeout(
          -                <TemperatureTimeoutStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            9103u16 => Messages::CurrentTimeout(
          -                <CurrentTimeoutStruct as DeserializePayload>::deserialize(payload),
          +            9000u16 => Messages::SetCellVoltageMinimum(
          +                <SetCellVoltageMinimumStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9202u16 => Messages::ResetDefaults(
          -                <ResetDefaultsStruct as DeserializePayload>::deserialize(payload),
          +            9002u16 => Messages::SetCurrentMax(
          +                <SetCurrentMaxStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9106u16 => Messages::State(<StateStruct as DeserializePayload>::deserialize(payload)),
                       9005u16 => Messages::SetTemperatureTimeout(
                           <SetTemperatureTimeoutStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9002u16 => Messages::SetCurrentMax(
          -                <SetCurrentMaxStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            9008u16 => Messages::SetLpfSetting(
          -                <SetLpfSettingStruct as DeserializePayload>::deserialize(payload),
          +            9103u16 => Messages::CurrentTimeout(
          +                <CurrentTimeoutStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9007u16 => Messages::SetLpfSampleFrequency(
          -                <SetLpfSampleFrequencyStruct as DeserializePayload>::deserialize(payload),
          +            9100u16 => Messages::CellVoltageMin(
          +                <CellVoltageMinStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            9201u16 => Messages::EraseFlash(<EraseFlashStruct as DeserializePayload>::deserialize(
          -                payload,
          -            )),
          +            9107u16 => Messages::Events(<EventsStruct as DeserializePayload>::deserialize(payload)),
          +            9106u16 => Messages::State(<StateStruct as DeserializePayload>::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-92e8fc5d843123d0/out/common.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/common.rs.html
          similarity index 99%
          rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/common.rs.html
          rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/common.rs.html
          index 1653dd414..ab553dc1d 100644
          --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/common.rs.html
          +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/common.rs.html
          @@ -1,4 +1,4 @@
          -common.rs - source
          1
          +common.rs - source
          1
           2
           3
           4
          @@ -434,12 +434,12 @@
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
               AsciiText(AsciiTextStruct),
          -    SetDeviceId(SetDeviceIdStruct),
          -    Ack(AckStruct),
          -    DeviceInformation(DeviceInformationStruct),
               Nack(NackStruct),
          -    GeneralRequest(GeneralRequestStruct),
          +    Ack(AckStruct),
               ProtocolVersion(ProtocolVersionStruct),
          +    GeneralRequest(GeneralRequestStruct),
          +    SetDeviceId(SetDeviceIdStruct),
          +    DeviceInformation(DeviceInformationStruct),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
          @@ -447,18 +447,18 @@
                       Self::AsciiText(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::Nack(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::DeviceInformation(inner_struct) => {
          +            Self::ProtocolVersion(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) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::ProtocolVersion(inner_struct) => {
          +            Self::SetDeviceId(inner_struct) => {
          +                (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
          +            }
          +            Self::DeviceInformation(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
                   }
          @@ -493,28 +493,37 @@
           }
           #[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,
          +#[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 SetDeviceIdStruct {
          +impl SerializePayload for NackStruct {
               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.nacked_id.to_le_bytes());
          +        buffer.extend_from_slice(self.nack_message.as_bytes());
          +        buffer.push(0);
                   buffer
               }
           }
          -impl DeserializePayload for SetDeviceIdStruct {
          +impl DeserializePayload for NackStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            device_id: payload[0usize].into(),
          +            nacked_id: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            nack_message: String::from_utf8(payload[2usize..payload.len()].to_vec()).unwrap(),
                   }
               }
           }
          -impl MessageInfo for SetDeviceIdStruct {
          +impl MessageInfo for NackStruct {
               fn id() -> u16 {
          -        100u16
          +        2u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -549,151 +558,142 @@
           }
           #[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 = "The protocol version"]
          +pub struct ProtocolVersionStruct {
          +    #[doc = "Protocol version major number."]
          +    pub version_major: u8,
          +    #[doc = "Protocol version minor number."]
          +    pub version_minor: u8,
          +    #[doc = "Protocol version patch number."]
          +    pub version_patch: u8,
               #[doc = "reserved"]
               pub reserved: u8,
           }
          -impl SerializePayload for DeviceInformationStruct {
          +impl SerializePayload for ProtocolVersionStruct {
               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.version_major.to_le_bytes());
          +        buffer.extend_from_slice(&self.version_minor.to_le_bytes());
          +        buffer.extend_from_slice(&self.version_patch.to_le_bytes());
                   buffer.extend_from_slice(&self.reserved.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for DeviceInformationStruct {
          +impl DeserializePayload for ProtocolVersionStruct {
               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(),
          +            version_major: payload[0usize].into(),
          +            version_minor: payload[1usize].into(),
          +            version_patch: payload[2usize].into(),
          +            reserved: payload[3usize].into(),
                   }
               }
           }
          -impl MessageInfo for DeviceInformationStruct {
          +impl MessageInfo for ProtocolVersionStruct {
               fn id() -> u16 {
          -        4u16
          +        5u16
               }
           }
           #[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,
          +#[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."]
          +    pub requested_id: u16,
           }
          -impl SerializePayload for NackStruct {
          +impl SerializePayload for GeneralRequestStruct {
               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.extend_from_slice(&self.requested_id.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for NackStruct {
          +impl DeserializePayload for GeneralRequestStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            nacked_id: u16::from_le_bytes(
          +            requested_id: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            nack_message: String::from_utf8(payload[2usize..payload.len()].to_vec()).unwrap(),
                   }
               }
           }
          -impl MessageInfo for NackStruct {
          +impl MessageInfo for GeneralRequestStruct {
               fn id() -> u16 {
          -        2u16
          +        6u16
               }
           }
           #[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."]
          -    pub requested_id: u16,
          +#[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 GeneralRequestStruct {
          +impl SerializePayload for SetDeviceIdStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.requested_id.to_le_bytes());
          +        buffer.extend_from_slice(&self.device_id.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for GeneralRequestStruct {
          +impl DeserializePayload for SetDeviceIdStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            requested_id: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          +            device_id: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for GeneralRequestStruct {
          +impl MessageInfo for SetDeviceIdStruct {
               fn id() -> u16 {
          -        6u16
          +        100u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "The protocol version"]
          -pub struct ProtocolVersionStruct {
          -    #[doc = "Protocol version major number."]
          -    pub version_major: u8,
          -    #[doc = "Protocol version minor number."]
          -    pub version_minor: u8,
          -    #[doc = "Protocol version patch number."]
          -    pub version_patch: u8,
          +#[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 ProtocolVersionStruct {
          +impl SerializePayload for DeviceInformationStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.version_major.to_le_bytes());
          -        buffer.extend_from_slice(&self.version_minor.to_le_bytes());
          -        buffer.extend_from_slice(&self.version_patch.to_le_bytes());
          +        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 ProtocolVersionStruct {
          +impl DeserializePayload for DeviceInformationStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            version_major: payload[0usize].into(),
          -            version_minor: payload[1usize].into(),
          -            version_patch: payload[2usize].into(),
          -            reserved: payload[3usize].into(),
          +            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 ProtocolVersionStruct {
          +impl MessageInfo for DeviceInformationStruct {
               fn id() -> u16 {
          -        5u16
          +        4u16
               }
           }
           impl Device {
          @@ -705,6 +705,10 @@
                       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."]
          @@ -720,43 +724,39 @@
               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::AsciiText(..) => "ascii_text",
          -            Messages::SetDeviceId(..) => "set_device_id",
          -            Messages::Ack(..) => "ack",
          -            Messages::DeviceInformation(..) => "device_information",
                       Messages::Nack(..) => "nack",
          -            Messages::GeneralRequest(..) => "general_request",
          +            Messages::Ack(..) => "ack",
                       Messages::ProtocolVersion(..) => "protocol_version",
          +            Messages::GeneralRequest(..) => "general_request",
          +            Messages::SetDeviceId(..) => "set_device_id",
          +            Messages::DeviceInformation(..) => "device_information",
                   }
               }
               fn message_id(&self) -> u16 {
                   match self {
                       Messages::AsciiText(..) => 3u16,
          -            Messages::SetDeviceId(..) => 100u16,
          -            Messages::Ack(..) => 1u16,
          -            Messages::DeviceInformation(..) => 4u16,
                       Messages::Nack(..) => 2u16,
          -            Messages::GeneralRequest(..) => 6u16,
          +            Messages::Ack(..) => 1u16,
                       Messages::ProtocolVersion(..) => 5u16,
          +            Messages::GeneralRequest(..) => 6u16,
          +            Messages::SetDeviceId(..) => 100u16,
          +            Messages::DeviceInformation(..) => 4u16,
                   }
               }
               fn message_id_from_name(name: &str) -> Result<u16, String> {
                   match name {
                       "ascii_text" => Ok(3u16),
          -            "set_device_id" => Ok(100u16),
          -            "ack" => Ok(1u16),
          -            "device_information" => Ok(4u16),
                       "nack" => Ok(2u16),
          -            "general_request" => Ok(6u16),
          +            "ack" => Ok(1u16),
                       "protocol_version" => Ok(5u16),
          +            "general_request" => Ok(6u16),
          +            "set_device_id" => Ok(100u16),
          +            "device_information" => Ok(4u16),
                       _ => Err(format!("Failed to find message ID from name: {name}.")),
                   }
               }
          @@ -765,12 +765,12 @@
               fn serialize(&self) -> Vec<u8> {
                   match self {
                       Messages::AsciiText(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetDeviceId(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Ack(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::DeviceInformation(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::Nack(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::GeneralRequest(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Ack(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::ProtocolVersion(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::GeneralRequest(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetDeviceId(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::DeviceInformation(content) => (content as &dyn SerializePayload).serialize(),
                   }
               }
           }
          @@ -780,19 +780,19 @@
                       3u16 => Messages::AsciiText(<AsciiTextStruct as DeserializePayload>::deserialize(
                           payload,
                       )),
          -            100u16 => Messages::SetDeviceId(
          -                <SetDeviceIdStruct as DeserializePayload>::deserialize(payload),
          -            ),
          +            2u16 => Messages::Nack(<NackStruct as DeserializePayload>::deserialize(payload)),
                       1u16 => Messages::Ack(<AckStruct as DeserializePayload>::deserialize(payload)),
          -            4u16 => Messages::DeviceInformation(
          -                <DeviceInformationStruct as DeserializePayload>::deserialize(payload),
          +            5u16 => Messages::ProtocolVersion(
          +                <ProtocolVersionStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            2u16 => Messages::Nack(<NackStruct as DeserializePayload>::deserialize(payload)),
                       6u16 => Messages::GeneralRequest(
                           <GeneralRequestStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            5u16 => Messages::ProtocolVersion(
          -                <ProtocolVersionStruct as DeserializePayload>::deserialize(payload),
          +            100u16 => Messages::SetDeviceId(
          +                <SetDeviceIdStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            4u16 => Messages::DeviceInformation(
          +                <DeviceInformationStruct as DeserializePayload>::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-92e8fc5d843123d0/out/mod.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/mod.rs.html
          similarity index 99%
          rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/mod.rs.html
          rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/mod.rs.html
          index 404552667..f2ef0cc28 100644
          --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/mod.rs.html
          +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          @@ -150,14 +150,11 @@
           150
           
          #[cfg(feature = "serde")]
           use serde::{Deserialize, Serialize};
          -pub mod bluebps {
          -    include!("bluebps.rs");
          -}
           pub mod ping360 {
               include!("ping360.rs");
           }
          -pub mod omniscan450 {
          -    include!("omniscan450.rs");
          +pub mod bluebps {
          +    include!("bluebps.rs");
           }
           pub mod ping1d {
               include!("ping1d.rs");
          @@ -165,23 +162,26 @@
           pub mod common {
               include!("common.rs");
           }
          +pub mod omniscan450 {
          +    include!("omniscan450.rs");
          +}
           #[derive(Debug, Clone)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
          -    Bluebps(bluebps::Messages),
               Ping360(ping360::Messages),
          -    Omniscan450(omniscan450::Messages),
          +    Bluebps(bluebps::Messages),
               Ping1D(ping1d::Messages),
               Common(common::Messages),
          +    Omniscan450(omniscan450::Messages),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
                   match self {
          -            Self::Bluebps(inner_enum) => inner_enum.inner(),
                       Self::Ping360(inner_enum) => inner_enum.inner(),
          -            Self::Omniscan450(inner_enum) => inner_enum.inner(),
          +            Self::Bluebps(inner_enum) => inner_enum.inner(),
                       Self::Ping1D(inner_enum) => inner_enum.inner(),
                       Self::Common(inner_enum) => inner_enum.inner(),
          +            Self::Omniscan450(inner_enum) => inner_enum.inner(),
                   }
               }
           }
          @@ -195,23 +195,17 @@
                           message.checksum
                       ));
                   }
          -        if let Ok(message) = <bluebps::Messages as DeserializeGenericMessage>::deserialize(
          -            message.message_id,
          -            &message.payload,
          -        ) {
          -            return Ok(Messages::Bluebps(message));
          -        }
                   if let Ok(message) = <ping360::Messages as DeserializeGenericMessage>::deserialize(
                       message.message_id,
                       &message.payload,
                   ) {
                       return Ok(Messages::Ping360(message));
                   }
          -        if let Ok(message) = <omniscan450::Messages as DeserializeGenericMessage>::deserialize(
          +        if let Ok(message) = <bluebps::Messages as DeserializeGenericMessage>::deserialize(
                       message.message_id,
                       &message.payload,
                   ) {
          -            return Ok(Messages::Omniscan450(message));
          +            return Ok(Messages::Bluebps(message));
                   }
                   if let Ok(message) = <ping1d::Messages as DeserializeGenericMessage>::deserialize(
                       message.message_id,
          @@ -225,6 +219,12 @@
                   ) {
                       return Ok(Messages::Common(message));
                   }
          +        if let Ok(message) = <omniscan450::Messages as DeserializeGenericMessage>::deserialize(
          +            message.message_id,
          +            &message.payload,
          +        ) {
          +            return Ok(Messages::Omniscan450(message));
          +        }
                   Err("Unknown message".into())
               }
           }
          @@ -265,23 +265,17 @@
                           protocol_message.checksum
                       ));
                   }
          -        if let Ok(message) = <bluebps::Messages as DeserializeGenericMessage>::deserialize(
          -            protocol_message.message_id,
          -            &protocol_message.payload,
          -        ) {
          -            return Ok(Messages::Bluebps(message));
          -        }
                   if let Ok(message) = <ping360::Messages as DeserializeGenericMessage>::deserialize(
                       protocol_message.message_id,
                       &protocol_message.payload,
                   ) {
                       return Ok(Messages::Ping360(message));
                   }
          -        if let Ok(message) = <omniscan450::Messages as DeserializeGenericMessage>::deserialize(
          +        if let Ok(message) = <bluebps::Messages as DeserializeGenericMessage>::deserialize(
                       protocol_message.message_id,
                       &protocol_message.payload,
                   ) {
          -            return Ok(Messages::Omniscan450(message));
          +            return Ok(Messages::Bluebps(message));
                   }
                   if let Ok(message) = <ping1d::Messages as DeserializeGenericMessage>::deserialize(
                       protocol_message.message_id,
          @@ -295,6 +289,12 @@
                   ) {
                       return Ok(Messages::Common(message));
                   }
          +        if let Ok(message) = <omniscan450::Messages as DeserializeGenericMessage>::deserialize(
          +            protocol_message.message_id,
          +            &protocol_message.payload,
          +        ) {
          +            return Ok(Messages::Omniscan450(message));
          +        }
                   Err("Unknown message".into())
               }
           }
          diff --git a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/omniscan450.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/omniscan450.rs.html
          similarity index 99%
          rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/omniscan450.rs.html
          rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/omniscan450.rs.html
          index 897cdb264..853d26fbf 100644
          --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/omniscan450.rs.html
          +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/omniscan450.rs.html
          @@ -1,4 +1,4 @@
          -omniscan450.rs - source
          1
          +omniscan450.rs - source
          1
           2
           3
           4
          @@ -485,8 +485,8 @@
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
               SetSpeedOfSound(SetSpeedOfSoundStruct),
          -    OsPingParams(OsPingParamsStruct),
               OsMonoProfile(OsMonoProfileStruct),
          +    OsPingParams(OsPingParamsStruct),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
          @@ -494,10 +494,10 @@
                       Self::SetSpeedOfSound(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::OsPingParams(inner_struct) => {
          +            Self::OsMonoProfile(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::OsMonoProfile(inner_struct) => {
          +            Self::OsPingParams(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
                   }
          @@ -535,108 +535,6 @@
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "No documentation provided."]
          -pub struct OsPingParamsStruct {
          -    #[doc = "Not documented"]
          -    pub start_mm: u32,
          -    #[doc = "Not documented"]
          -    pub length_mm: u32,
          -    #[doc = "Not documented"]
          -    pub msec_per_ping: u32,
          -    #[doc = "Not documented"]
          -    pub reserved_1: f32,
          -    #[doc = "Not documented"]
          -    pub reserved_2: f32,
          -    #[doc = "Not documented"]
          -    pub pulse_len_percent: f32,
          -    #[doc = "Not documented"]
          -    pub filter_duration_percent: f32,
          -    #[doc = "Not documented"]
          -    pub gain_index: i16,
          -    #[doc = "Not documented"]
          -    pub num_results: u16,
          -    #[doc = "Not documented"]
          -    pub enable: u8,
          -    #[doc = "Not documented"]
          -    pub reserved_3: u8,
          -}
          -impl SerializePayload for OsPingParamsStruct {
          -    fn serialize(&self) -> Vec<u8> {
          -        let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.start_mm.to_le_bytes());
          -        buffer.extend_from_slice(&self.length_mm.to_le_bytes());
          -        buffer.extend_from_slice(&self.msec_per_ping.to_le_bytes());
          -        buffer.extend_from_slice(&self.reserved_1.to_le_bytes());
          -        buffer.extend_from_slice(&self.reserved_2.to_le_bytes());
          -        buffer.extend_from_slice(&self.pulse_len_percent.to_le_bytes());
          -        buffer.extend_from_slice(&self.filter_duration_percent.to_le_bytes());
          -        buffer.extend_from_slice(&self.gain_index.to_le_bytes());
          -        buffer.extend_from_slice(&self.num_results.to_le_bytes());
          -        buffer.extend_from_slice(&self.enable.to_le_bytes());
          -        buffer.extend_from_slice(&self.reserved_3.to_le_bytes());
          -        buffer
          -    }
          -}
          -impl DeserializePayload for OsPingParamsStruct {
          -    fn deserialize(payload: &[u8]) -> Self {
          -        Self {
          -            start_mm: u32::from_le_bytes(
          -                payload[0usize..0usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            length_mm: u32::from_le_bytes(
          -                payload[4usize..4usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            msec_per_ping: u32::from_le_bytes(
          -                payload[8usize..8usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            reserved_1: f32::from_le_bytes(
          -                payload[12usize..12usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            reserved_2: f32::from_le_bytes(
          -                payload[16usize..16usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            pulse_len_percent: f32::from_le_bytes(
          -                payload[20usize..20usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            filter_duration_percent: f32::from_le_bytes(
          -                payload[24usize..24usize + 4usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            gain_index: i16::from_le_bytes(
          -                payload[28usize..28usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            num_results: u16::from_le_bytes(
          -                payload[30usize..30usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            enable: payload[32usize].into(),
          -            reserved_3: payload[33usize].into(),
          -        }
          -    }
          -}
          -impl MessageInfo for OsPingParamsStruct {
          -    fn id() -> u16 {
          -        2197u16
          -    }
          -}
          -#[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, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels."]
           pub struct OsMonoProfileStruct {
               #[doc = "sequentially assigned from 0 at power up"]
          @@ -782,6 +680,108 @@
                   2198u16
               }
           }
          +#[derive(Debug, Clone, PartialEq, Default)]
          +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          +#[doc = "No documentation provided."]
          +pub struct OsPingParamsStruct {
          +    #[doc = "Not documented"]
          +    pub start_mm: u32,
          +    #[doc = "Not documented"]
          +    pub length_mm: u32,
          +    #[doc = "Not documented"]
          +    pub msec_per_ping: u32,
          +    #[doc = "Not documented"]
          +    pub reserved_1: f32,
          +    #[doc = "Not documented"]
          +    pub reserved_2: f32,
          +    #[doc = "Not documented"]
          +    pub pulse_len_percent: f32,
          +    #[doc = "Not documented"]
          +    pub filter_duration_percent: f32,
          +    #[doc = "Not documented"]
          +    pub gain_index: i16,
          +    #[doc = "Not documented"]
          +    pub num_results: u16,
          +    #[doc = "Not documented"]
          +    pub enable: u8,
          +    #[doc = "Not documented"]
          +    pub reserved_3: u8,
          +}
          +impl SerializePayload for OsPingParamsStruct {
          +    fn serialize(&self) -> Vec<u8> {
          +        let mut buffer: Vec<u8> = Default::default();
          +        buffer.extend_from_slice(&self.start_mm.to_le_bytes());
          +        buffer.extend_from_slice(&self.length_mm.to_le_bytes());
          +        buffer.extend_from_slice(&self.msec_per_ping.to_le_bytes());
          +        buffer.extend_from_slice(&self.reserved_1.to_le_bytes());
          +        buffer.extend_from_slice(&self.reserved_2.to_le_bytes());
          +        buffer.extend_from_slice(&self.pulse_len_percent.to_le_bytes());
          +        buffer.extend_from_slice(&self.filter_duration_percent.to_le_bytes());
          +        buffer.extend_from_slice(&self.gain_index.to_le_bytes());
          +        buffer.extend_from_slice(&self.num_results.to_le_bytes());
          +        buffer.extend_from_slice(&self.enable.to_le_bytes());
          +        buffer.extend_from_slice(&self.reserved_3.to_le_bytes());
          +        buffer
          +    }
          +}
          +impl DeserializePayload for OsPingParamsStruct {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            start_mm: u32::from_le_bytes(
          +                payload[0usize..0usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            length_mm: u32::from_le_bytes(
          +                payload[4usize..4usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            msec_per_ping: u32::from_le_bytes(
          +                payload[8usize..8usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            reserved_1: f32::from_le_bytes(
          +                payload[12usize..12usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            reserved_2: f32::from_le_bytes(
          +                payload[16usize..16usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            pulse_len_percent: f32::from_le_bytes(
          +                payload[20usize..20usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            filter_duration_percent: f32::from_le_bytes(
          +                payload[24usize..24usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            gain_index: i16::from_le_bytes(
          +                payload[28usize..28usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            num_results: u16::from_le_bytes(
          +                payload[30usize..30usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            enable: payload[32usize].into(),
          +            reserved_3: payload[33usize].into(),
          +        }
          +    }
          +}
          +impl MessageInfo for OsPingParamsStruct {
          +    fn id() -> u16 {
          +        2197u16
          +    }
          +}
           impl Device {
               pub fn new<T>(io: T) -> Self
               where
          @@ -801,6 +801,10 @@
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          +    #[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels."]
          +    pub async fn os_mono_profile(&self) -> Result<OsMonoProfileStruct, PingError> {
          +        self.request().await
          +    }
               #[doc = "No documentation provided."]
               #[doc = "# Arguments"]
               #[doc = "* `start_mm` - Not documented"]
          @@ -846,31 +850,27 @@
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          -    #[doc = "A profile produced from a single acoustic measurement. The data returned is an array of response strength, in dB, 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. Note that the amplitude of the results are in dB. This is just to keep high dynamic range in the u16 sized data elements. Normally these are converted back to linear power or signal levels."]
          -    pub async fn os_mono_profile(&self) -> Result<OsMonoProfileStruct, PingError> {
          -        self.request().await
          -    }
           }
           impl PingMessage for Messages {
               fn message_name(&self) -> &'static str {
                   match self {
                       Messages::SetSpeedOfSound(..) => "set_speed_of_sound",
          -            Messages::OsPingParams(..) => "os_ping_params",
                       Messages::OsMonoProfile(..) => "os_mono_profile",
          +            Messages::OsPingParams(..) => "os_ping_params",
                   }
               }
               fn message_id(&self) -> u16 {
                   match self {
                       Messages::SetSpeedOfSound(..) => 1002u16,
          -            Messages::OsPingParams(..) => 2197u16,
                       Messages::OsMonoProfile(..) => 2198u16,
          +            Messages::OsPingParams(..) => 2197u16,
                   }
               }
               fn message_id_from_name(name: &str) -> Result<u16, String> {
                   match name {
                       "set_speed_of_sound" => Ok(1002u16),
          -            "os_ping_params" => Ok(2197u16),
                       "os_mono_profile" => Ok(2198u16),
          +            "os_ping_params" => Ok(2197u16),
                       _ => Err(format!("Failed to find message ID from name: {name}.")),
                   }
               }
          @@ -879,8 +879,8 @@
               fn serialize(&self) -> Vec<u8> {
                   match self {
                       Messages::SetSpeedOfSound(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::OsPingParams(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::OsMonoProfile(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::OsPingParams(content) => (content as &dyn SerializePayload).serialize(),
                   }
               }
           }
          @@ -890,12 +890,12 @@
                       1002u16 => Messages::SetSpeedOfSound(
                           <SetSpeedOfSoundStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            2197u16 => Messages::OsPingParams(
          -                <OsPingParamsStruct as DeserializePayload>::deserialize(payload),
          -            ),
                       2198u16 => Messages::OsMonoProfile(
                           <OsMonoProfileStruct as DeserializePayload>::deserialize(payload),
                       ),
          +            2197u16 => Messages::OsPingParams(
          +                <OsPingParamsStruct as DeserializePayload>::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-92e8fc5d843123d0/out/ping1d.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping1d.rs.html
          similarity index 99%
          rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/ping1d.rs.html
          rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping1d.rs.html
          index f546208ce..ba13cddf0 100644
          --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/ping1d.rs.html
          +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping1d.rs.html
          @@ -1,4 +1,4 @@
          -ping1d.rs - source
          1
          +ping1d.rs - source
          1
           2
           3
           4
          @@ -1491,108 +1491,108 @@
           #[derive(Debug, Clone, PartialEq)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
          +    SetGainSetting(SetGainSettingStruct),
               Voltage5(Voltage5Struct),
          -    TransmitDuration(TransmitDurationStruct),
          -    PcbTemperature(PcbTemperatureStruct),
          -    ProcessorTemperature(ProcessorTemperatureStruct),
          -    GotoBootloader(GotoBootloaderStruct),
          -    FirmwareVersion(FirmwareVersionStruct),
          -    DeviceId(DeviceIdStruct),
          -    GainSetting(GainSettingStruct),
               Profile(ProfileStruct),
          -    Range(RangeStruct),
          -    SetRange(SetRangeStruct),
          -    SetGainSetting(SetGainSettingStruct),
          -    ContinuousStop(ContinuousStopStruct),
          -    ModeAuto(ModeAutoStruct),
          -    PingEnable(PingEnableStruct),
          -    SetPingEnable(SetPingEnableStruct),
          -    SetSpeedOfSound(SetSpeedOfSoundStruct),
          -    SetPingInterval(SetPingIntervalStruct),
          -    ContinuousStart(ContinuousStartStruct),
               PingInterval(PingIntervalStruct),
               SetDeviceId(SetDeviceIdStruct),
          +    GainSetting(GainSettingStruct),
          +    SetPingEnable(SetPingEnableStruct),
          +    DeviceId(DeviceIdStruct),
          +    SetRange(SetRangeStruct),
               Distance(DistanceStruct),
          -    SetModeAuto(SetModeAutoStruct),
          -    DistanceSimple(DistanceSimpleStruct),
          +    FirmwareVersion(FirmwareVersionStruct),
          +    SetPingInterval(SetPingIntervalStruct),
          +    ProcessorTemperature(ProcessorTemperatureStruct),
          +    ContinuousStop(ContinuousStopStruct),
               SpeedOfSound(SpeedOfSoundStruct),
          +    TransmitDuration(TransmitDurationStruct),
               GeneralInfo(GeneralInfoStruct),
          +    GotoBootloader(GotoBootloaderStruct),
          +    SetModeAuto(SetModeAutoStruct),
          +    Range(RangeStruct),
          +    PingEnable(PingEnableStruct),
          +    DistanceSimple(DistanceSimpleStruct),
          +    PcbTemperature(PcbTemperatureStruct),
          +    SetSpeedOfSound(SetSpeedOfSoundStruct),
          +    ContinuousStart(ContinuousStartStruct),
          +    ModeAuto(ModeAutoStruct),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
                   match self {
          -            Self::Voltage5(inner_struct) => {
          +            Self::SetGainSetting(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::TransmitDuration(inner_struct) => {
          +            Self::Voltage5(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::PcbTemperature(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::ProcessorTemperature(inner_struct) => {
          +            Self::SetDeviceId(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::GotoBootloader(inner_struct) => {
          +            Self::GainSetting(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::FirmwareVersion(inner_struct) => {
          +            Self::SetPingEnable(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::GainSetting(inner_struct) => {
          +            Self::SetRange(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::Range(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(),
          -            Self::SetRange(inner_struct) => {
          +            Self::Distance(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetGainSetting(inner_struct) => {
          +            Self::FirmwareVersion(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::ContinuousStop(inner_struct) => {
          +            Self::SetPingInterval(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::ModeAuto(inner_struct) => {
          +            Self::ProcessorTemperature(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::PingEnable(inner_struct) => {
          +            Self::ContinuousStop(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetPingEnable(inner_struct) => {
          +            Self::SpeedOfSound(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetSpeedOfSound(inner_struct) => {
          +            Self::TransmitDuration(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetPingInterval(inner_struct) => {
          +            Self::GeneralInfo(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::ContinuousStart(inner_struct) => {
          +            Self::GotoBootloader(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::PingInterval(inner_struct) => {
          +            Self::SetModeAuto(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetDeviceId(inner_struct) => {
          +            Self::Range(inner_struct) => (inner_struct as &dyn std::any::Any).downcast_ref::<T>(),
          +            Self::PingEnable(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::Distance(inner_struct) => {
          +            Self::DistanceSimple(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SetModeAuto(inner_struct) => {
          +            Self::PcbTemperature(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::DistanceSimple(inner_struct) => {
          +            Self::SetSpeedOfSound(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::SpeedOfSound(inner_struct) => {
          +            Self::ContinuousStart(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::GeneralInfo(inner_struct) => {
          +            Self::ModeAuto(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
                   }
          @@ -1600,6 +1600,32 @@
           }
           #[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 {
          +    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 {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            gain_setting: payload[0usize].into(),
          +        }
          +    }
          +}
          +impl MessageInfo for SetGainSettingStruct {
          +    fn id() -> u16 {
          +        1005u16
          +    }
          +}
          +#[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."]
          @@ -1630,52 +1656,113 @@
           }
           #[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."]
          +#[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. 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 TransmitDurationStruct {
          +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());
          +        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
               }
           }
          -impl DeserializePayload for TransmitDurationStruct {
          +impl DeserializePayload for ProfileStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          +            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[0usize..0usize + 2usize]
          +                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: u16::from_le_bytes(
          +                payload[24usize..24usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            profile_data: payload[24usize + 2usize..payload.len()].to_vec(),
                   }
               }
           }
          -impl MessageInfo for TransmitDurationStruct {
          +impl MessageInfo for ProfileStruct {
               fn id() -> u16 {
          -        1208u16
          +        1300u16
               }
           }
           #[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 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 PcbTemperatureStruct {
          +impl SerializePayload for PingIntervalStruct {
               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.ping_interval.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for PcbTemperatureStruct {
          +impl DeserializePayload for PingIntervalStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            pcb_temperature: u16::from_le_bytes(
          +            ping_interval: u16::from_le_bytes(
                           payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1683,105 +1770,91 @@
                   }
               }
           }
          -impl MessageInfo for PcbTemperatureStruct {
          +impl MessageInfo for PingIntervalStruct {
               fn id() -> u16 {
          -        1214u16
          +        1206u16
               }
           }
           #[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 = "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 ProcessorTemperatureStruct {
          +impl SerializePayload for SetDeviceIdStruct {
               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.device_id.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for ProcessorTemperatureStruct {
          +impl DeserializePayload for SetDeviceIdStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            processor_temperature: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          +            device_id: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for ProcessorTemperatureStruct {
          +impl MessageInfo for SetDeviceIdStruct {
               fn id() -> u16 {
          -        1213u16
          +        1000u16
               }
           }
           #[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 = "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 GainSettingStruct {
               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 GotoBootloaderStruct {
          +impl DeserializePayload for GainSettingStruct {
               fn deserialize(payload: &[u8]) -> Self {
          -        Self {}
          +        Self {
          +            gain_setting: u32::from_le_bytes(
          +                payload[0usize..0usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +        }
               }
           }
          -impl MessageInfo for GotoBootloaderStruct {
          +impl MessageInfo for GainSettingStruct {
               fn id() -> u16 {
          -        1100u16
          +        1207u16
               }
           }
           #[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 = "Enable or disable acoustic measurements."]
          +pub struct SetPingEnableStruct {
          +    #[doc = "0: Disable, 1: Enable."]
          +    pub ping_enabled: u8,
           }
          -impl SerializePayload for FirmwareVersionStruct {
          +impl SerializePayload for SetPingEnableStruct {
               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.ping_enabled.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for FirmwareVersionStruct {
          +impl DeserializePayload for SetPingEnableStruct {
               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"),
          -            ),
          +            ping_enabled: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for FirmwareVersionStruct {
          +impl MessageInfo for SetPingEnableStruct {
               fn id() -> u16 {
          -        1200u16
          +        1006u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -1812,38 +1885,46 @@
           }
           #[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 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 GainSettingStruct {
          +impl SerializePayload for SetRangeStruct {
               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.scan_start.to_le_bytes());
          +        buffer.extend_from_slice(&self.scan_length.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for GainSettingStruct {
          +impl DeserializePayload for SetRangeStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            gain_setting: u32::from_le_bytes(
          +            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]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
                   }
               }
           }
          -impl MessageInfo for GainSettingStruct {
          +impl MessageInfo for SetRangeStruct {
               fn id() -> u16 {
          -        1207u16
          +        1001u16
               }
           }
           #[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 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."]
          @@ -1858,11 +1939,8 @@
               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 ProfileStruct {
          +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());
          @@ -1872,14 +1950,10 @@
                   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 ProfileStruct {
          +impl DeserializePayload for DistanceStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       distance: u32::from_le_bytes(
          @@ -1917,120 +1991,118 @@
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            profile_data_length: u16::from_le_bytes(
          -                payload[24usize..24usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            profile_data: payload[24usize + 2usize..payload.len()].to_vec(),
                   }
               }
           }
          -impl MessageInfo for ProfileStruct {
          +impl MessageInfo for DistanceStruct {
               fn id() -> u16 {
          -        1300u16
          +        1212u16
               }
           }
           #[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."]
          -    pub scan_start: u32,
          -    #[doc = "The length of the scan range."]
          -    pub scan_length: u32,
          +#[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 RangeStruct {
          +impl SerializePayload for FirmwareVersionStruct {
               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.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 RangeStruct {
          +impl DeserializePayload for FirmwareVersionStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            scan_start: u32::from_le_bytes(
          -                payload[0usize..0usize + 4usize]
          +            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"),
                       ),
          -            scan_length: u32::from_le_bytes(
          -                payload[4usize..4usize + 4usize]
          +            firmware_version_minor: u16::from_le_bytes(
          +                payload[4usize..4usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
                   }
               }
           }
          -impl MessageInfo for RangeStruct {
          +impl MessageInfo for FirmwareVersionStruct {
               fn id() -> u16 {
          -        1204u16
          +        1200u16
               }
           }
           #[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. Minimum 1000."]
          -    pub scan_length: u32,
          +#[doc = "The interval between acoustic measurements."]
          +pub struct SetPingIntervalStruct {
          +    #[doc = "The interval between acoustic measurements."]
          +    pub ping_interval: u16,
           }
          -impl SerializePayload for SetRangeStruct {
          +impl SerializePayload for SetPingIntervalStruct {
               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.ping_interval.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetRangeStruct {
          +impl DeserializePayload for SetPingIntervalStruct {
               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]
          +            ping_interval: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
                   }
               }
           }
          -impl MessageInfo for SetRangeStruct {
          +impl MessageInfo for SetPingIntervalStruct {
               fn id() -> u16 {
          -        1001u16
          +        1004u16
               }
           }
           #[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,
          +#[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 SetGainSettingStruct {
          +impl SerializePayload for ProcessorTemperatureStruct {
               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.processor_temperature.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetGainSettingStruct {
          +impl DeserializePayload for ProcessorTemperatureStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            gain_setting: payload[0usize].into(),
          +            processor_temperature: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
                   }
               }
           }
          -impl MessageInfo for SetGainSettingStruct {
          +impl MessageInfo for ProcessorTemperatureStruct {
               fn id() -> u16 {
          -        1005u16
          +        1213u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -2065,330 +2137,234 @@
           }
           #[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 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 ModeAutoStruct {
          +impl SerializePayload for SpeedOfSoundStruct {
               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.speed_of_sound.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for ModeAutoStruct {
          +impl DeserializePayload for SpeedOfSoundStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            mode_auto: payload[0usize].into(),
          +            speed_of_sound: u32::from_le_bytes(
          +                payload[0usize..0usize + 4usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
                   }
               }
           }
          -impl MessageInfo for ModeAutoStruct {
          +impl MessageInfo for SpeedOfSoundStruct {
               fn id() -> u16 {
          -        1205u16
          +        1203u16
               }
           }
           #[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,
          +#[doc = "The duration of the acoustic activation/transmission."]
          +pub struct TransmitDurationStruct {
          +    #[doc = "Acoustic pulse duration."]
          +    pub transmit_duration: u16,
           }
          -impl SerializePayload for PingEnableStruct {
          +impl SerializePayload for TransmitDurationStruct {
               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.transmit_duration.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for PingEnableStruct {
          +impl DeserializePayload for TransmitDurationStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            ping_enabled: payload[0usize].into(),
          +            transmit_duration: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
                   }
               }
           }
          -impl MessageInfo for PingEnableStruct {
          +impl MessageInfo for TransmitDurationStruct {
               fn id() -> u16 {
          -        1215u16
          +        1208u16
               }
           }
           #[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 = "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 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
          -    }
          -}
          -#[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,
          -}
          -impl SerializePayload for SetSpeedOfSoundStruct {
          +impl SerializePayload for GeneralInfoStruct {
               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.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 SetSpeedOfSoundStruct {
          +impl DeserializePayload for GeneralInfoStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            speed_of_sound: 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"),
                       ),
          -        }
          -    }
          -}
          -impl MessageInfo for SetSpeedOfSoundStruct {
          -    fn id() -> u16 {
          -        1002u16
          -    }
          -}
          -#[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,
          -}
          -impl SerializePayload for SetPingIntervalStruct {
          -    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 SetPingIntervalStruct {
          -    fn deserialize(payload: &[u8]) -> Self {
          -        Self {
          -            ping_interval: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          +            firmware_version_minor: u16::from_le_bytes(
          +                payload[2usize..2usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -        }
          -    }
          -}
          -impl MessageInfo for SetPingIntervalStruct {
          -    fn id() -> u16 {
          -        1004u16
          -    }
          -}
          -#[derive(Debug, Clone, PartialEq, Default)]
          -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "Command to initiate continuous data stream of profile messages."]
          -pub struct ContinuousStartStruct {
          -    #[doc = "The message id to stream. 1300: profile"]
          -    pub id: u16,
          -}
          -impl SerializePayload for ContinuousStartStruct {
          -    fn serialize(&self) -> Vec<u8> {
          -        let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.id.to_le_bytes());
          -        buffer
          -    }
          -}
          -impl DeserializePayload for ContinuousStartStruct {
          -    fn deserialize(payload: &[u8]) -> Self {
          -        Self {
          -            id: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          +            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 ContinuousStartStruct {
          +impl MessageInfo for GeneralInfoStruct {
               fn id() -> u16 {
          -        1400u16
          +        1210u16
               }
           }
           #[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 {
          +#[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.ping_interval.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for PingIntervalStruct {
          +impl DeserializePayload for GotoBootloaderStruct {
               fn deserialize(payload: &[u8]) -> Self {
          -        Self {
          -            ping_interval: u16::from_le_bytes(
          -                payload[0usize..0usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -        }
          +        Self {}
               }
           }
          -impl MessageInfo for PingIntervalStruct {
          +impl MessageInfo for GotoBootloaderStruct {
               fn id() -> u16 {
          -        1206u16
          +        1100u16
               }
           }
           #[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 = "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 SetDeviceIdStruct {
          +impl SerializePayload for SetModeAutoStruct {
               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 SetModeAutoStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            device_id: payload[0usize].into(),
          +            mode_auto: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for SetDeviceIdStruct {
          +impl MessageInfo for SetModeAutoStruct {
               fn id() -> u16 {
          -        1000u16
          +        1003u16
               }
           }
           #[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 = "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."]
          +#[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 region."]
          +    #[doc = "The length of the scan range."]
               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 DistanceStruct {
          +impl SerializePayload for RangeStruct {
               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 DistanceStruct {
          +impl DeserializePayload for RangeStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            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]
          +                payload[0usize..0usize + 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]
          +                payload[4usize..4usize + 4usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
                   }
               }
           }
          -impl MessageInfo for DistanceStruct {
          +impl MessageInfo for RangeStruct {
               fn id() -> u16 {
          -        1212u16
          +        1204u16
               }
           }
           #[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 = "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 SetModeAutoStruct {
          +impl SerializePayload for PingEnableStruct {
               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_enabled.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetModeAutoStruct {
          +impl DeserializePayload for PingEnableStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            mode_auto: payload[0usize].into(),
          +            ping_enabled: payload[0usize].into(),
                   }
               }
           }
          -impl MessageInfo for SetModeAutoStruct {
          +impl MessageInfo for PingEnableStruct {
               fn id() -> u16 {
          -        1003u16
          +        1215u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
          @@ -2427,94 +2403,118 @@
           }
           #[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 = "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 SpeedOfSoundStruct {
          +impl SerializePayload for PcbTemperatureStruct {
               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.pcb_temperature.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SpeedOfSoundStruct {
          +impl DeserializePayload for PcbTemperatureStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            speed_of_sound: u32::from_le_bytes(
          -                payload[0usize..0usize + 4usize]
          +            pcb_temperature: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
                   }
               }
           }
          -impl MessageInfo for SpeedOfSoundStruct {
          +impl MessageInfo for PcbTemperatureStruct {
               fn id() -> u16 {
          -        1203u16
          +        1214u16
               }
           }
           #[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 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 GeneralInfoStruct {
          +impl SerializePayload for SetSpeedOfSoundStruct {
               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.speed_of_sound.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for GeneralInfoStruct {
          +impl DeserializePayload for SetSpeedOfSoundStruct {
               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]
          +            speed_of_sound: u32::from_le_bytes(
          +                payload[0usize..0usize + 4usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            ping_interval: u16::from_le_bytes(
          -                payload[6usize..6usize + 2usize]
          +        }
          +    }
          +}
          +impl MessageInfo for SetSpeedOfSoundStruct {
          +    fn id() -> u16 {
          +        1002u16
          +    }
          +}
          +#[derive(Debug, Clone, PartialEq, Default)]
          +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          +#[doc = "Command to initiate continuous data stream of profile messages."]
          +pub struct ContinuousStartStruct {
          +    #[doc = "The message id to stream. 1300: profile"]
          +    pub id: u16,
          +}
          +impl SerializePayload for ContinuousStartStruct {
          +    fn serialize(&self) -> Vec<u8> {
          +        let mut buffer: Vec<u8> = Default::default();
          +        buffer.extend_from_slice(&self.id.to_le_bytes());
          +        buffer
          +    }
          +}
          +impl DeserializePayload for ContinuousStartStruct {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            id: u16::from_le_bytes(
          +                payload[0usize..0usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            gain_setting: payload[8usize].into(),
          -            mode_auto: payload[9usize].into(),
                   }
               }
           }
          -impl MessageInfo for GeneralInfoStruct {
          +impl MessageInfo for ContinuousStartStruct {
               fn id() -> u16 {
          -        1210u16
          +        1400u16
          +    }
          +}
          +#[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,
          +}
          +impl SerializePayload for ModeAutoStruct {
          +    fn serialize(&self) -> Vec<u8> {
          +        let mut buffer: Vec<u8> = Default::default();
          +        buffer.extend_from_slice(&self.mode_auto.to_le_bytes());
          +        buffer
          +    }
          +}
          +impl DeserializePayload for ModeAutoStruct {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            mode_auto: payload[0usize].into(),
          +        }
          +    }
          +}
          +impl MessageInfo for ModeAutoStruct {
          +    fn id() -> u16 {
          +        1205u16
               }
           }
           impl Device {
          @@ -2526,49 +2526,58 @@
                       common: Common::new(io),
                   }
               }
          +    #[doc = "Set the current gain setting."]
          +    #[doc = "# Arguments"]
          +    #[doc = "* `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"]
          +    pub async fn set_gain_setting(&self, gain_setting: u8) -> Result<(), PingError> {
          +        let request = Messages::SetGainSetting(SetGainSettingStruct { gain_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, SetGainSettingStruct::id())
          +            .await
          +    }
               #[doc = "The 5V rail voltage."]
               pub async fn voltage_5(&self) -> Result<Voltage5Struct, PingError> {
                   self.request().await
               }
          -    #[doc = "The duration of the acoustic activation/transmission."]
          -    pub async fn transmit_duration(&self) -> Result<TransmitDurationStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "Temperature of the on-board thermistor."]
          -    pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, 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 = "Temperature of the device cpu."]
          -    pub async fn processor_temperature(&self) -> Result<ProcessorTemperatureStruct, PingError> {
          +    #[doc = "The interval between acoustic measurements."]
          +    pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError> {
                   self.request().await
               }
          -    #[doc = "Send the device into the bootloader. This is useful for firmware updates."]
          +    #[doc = "Set the device ID."]
               #[doc = "# Arguments"]
          -    pub async fn goto_bootloader(&self) -> Result<(), PingError> {
          -        let request = Messages::GotoBootloader(GotoBootloaderStruct {});
          +    #[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 = "Device information"]
          -    pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError> {
          -        self.request().await
          -    }
          -    #[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 current gain setting."]
               pub async fn gain_setting(&self) -> Result<GainSettingStruct, PingError> {
                   self.request().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> {
          -        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
               }
          -    #[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 device ID."]
          +    pub async fn device_id(&self) -> Result<DeviceIdStruct, PingError> {
                   self.request().await
               }
               #[doc = "Set the scan range for acoustic measurements."]
          @@ -2586,18 +2595,30 @@
                   self.get_common().send_message(package).await?;
                   self.wait_for_ack(receiver, SetRangeStruct::id()).await
               }
          -    #[doc = "Set the current gain setting."]
          +    #[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 = "Device information"]
          +    pub async fn firmware_version(&self) -> Result<FirmwareVersionStruct, PingError> {
          +        self.request().await
          +    }
          +    #[doc = "The interval between acoustic measurements."]
               #[doc = "# Arguments"]
          -    #[doc = "* `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"]
          -    pub async fn set_gain_setting(&self, gain_setting: u8) -> Result<(), PingError> {
          -        let request = Messages::SetGainSetting(SetGainSettingStruct { gain_setting });
          +    #[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, SetGainSettingStruct::id())
          +        self.wait_for_ack(receiver, SetPingIntervalStruct::id())
                       .await
               }
          +    #[doc = "Temperature of the device cpu."]
          +    pub async fn processor_temperature(&self) -> Result<ProcessorTemperatureStruct, PingError> {
          +        self.request().await
          +    }
               #[doc = "Command to stop the continuous data stream of profile messages."]
               #[doc = "# Arguments"]
               #[doc = "* `id` - The message id to stop streaming. 1300: profile"]
          @@ -2608,24 +2629,53 @@
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          -    #[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 speed of sound used for distance calculations."]
          +    pub async fn speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError> {
                   self.request().await
               }
          -    #[doc = "Acoustic output enabled state."]
          -    pub async fn ping_enable(&self) -> Result<PingEnableStruct, PingError> {
          +    #[doc = "The duration of the acoustic activation/transmission."]
          +    pub async fn transmit_duration(&self) -> Result<TransmitDurationStruct, PingError> {
                   self.request().await
               }
          -    #[doc = "Enable or disable acoustic measurements."]
          +    #[doc = "General information."]
          +    pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError> {
          +        self.request().await
          +    }
          +    #[doc = "Send the device into the bootloader. This is useful for firmware updates."]
               #[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 });
          +    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 = "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, SetPingEnableStruct::id()).await
          +        self.wait_for_ack(receiver, SetModeAutoStruct::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 = "Acoustic output enabled state."]
          +    pub async fn ping_enable(&self) -> Result<PingEnableStruct, 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 = "Temperature of the on-board thermistor."]
          +    pub async fn pcb_temperature(&self) -> Result<PcbTemperatureStruct, PingError> {
          +        self.request().await
               }
               #[doc = "Set the speed of sound used for distance calculations."]
               #[doc = "# Arguments"]
          @@ -2639,18 +2689,6 @@
                   self.wait_for_ack(receiver, SetSpeedOfSoundStruct::id())
                       .await
               }
          -    #[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 = "Command to initiate continuous data stream of profile messages."]
               #[doc = "# Arguments"]
               #[doc = "* `id` - The message id to stream. 1300: profile"]
          @@ -2661,138 +2699,100 @@
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          -    #[doc = "The interval between acoustic measurements."]
          -    pub async fn ping_interval(&self) -> Result<PingIntervalStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "Set the device ID."]
          -    #[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 });
          -        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 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 = "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 distance to target with confidence estimate."]
          -    pub async fn distance_simple(&self) -> Result<DistanceSimpleStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "The speed of sound used for distance calculations."]
          -    pub async fn speed_of_sound(&self) -> Result<SpeedOfSoundStruct, PingError> {
          -        self.request().await
          -    }
          -    #[doc = "General information."]
          -    pub async fn general_info(&self) -> Result<GeneralInfoStruct, PingError> {
          +    #[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
               }
           }
           impl PingMessage for Messages {
               fn message_name(&self) -> &'static str {
                   match self {
          +            Messages::SetGainSetting(..) => "set_gain_setting",
                       Messages::Voltage5(..) => "voltage_5",
          -            Messages::TransmitDuration(..) => "transmit_duration",
          -            Messages::PcbTemperature(..) => "pcb_temperature",
          -            Messages::ProcessorTemperature(..) => "processor_temperature",
          -            Messages::GotoBootloader(..) => "goto_bootloader",
          -            Messages::FirmwareVersion(..) => "firmware_version",
          -            Messages::DeviceId(..) => "device_id",
          -            Messages::GainSetting(..) => "gain_setting",
                       Messages::Profile(..) => "profile",
          -            Messages::Range(..) => "range",
          -            Messages::SetRange(..) => "set_range",
          -            Messages::SetGainSetting(..) => "set_gain_setting",
          -            Messages::ContinuousStop(..) => "continuous_stop",
          -            Messages::ModeAuto(..) => "mode_auto",
          -            Messages::PingEnable(..) => "ping_enable",
          -            Messages::SetPingEnable(..) => "set_ping_enable",
          -            Messages::SetSpeedOfSound(..) => "set_speed_of_sound",
          -            Messages::SetPingInterval(..) => "set_ping_interval",
          -            Messages::ContinuousStart(..) => "continuous_start",
                       Messages::PingInterval(..) => "ping_interval",
                       Messages::SetDeviceId(..) => "set_device_id",
          +            Messages::GainSetting(..) => "gain_setting",
          +            Messages::SetPingEnable(..) => "set_ping_enable",
          +            Messages::DeviceId(..) => "device_id",
          +            Messages::SetRange(..) => "set_range",
                       Messages::Distance(..) => "distance",
          -            Messages::SetModeAuto(..) => "set_mode_auto",
          -            Messages::DistanceSimple(..) => "distance_simple",
          +            Messages::FirmwareVersion(..) => "firmware_version",
          +            Messages::SetPingInterval(..) => "set_ping_interval",
          +            Messages::ProcessorTemperature(..) => "processor_temperature",
          +            Messages::ContinuousStop(..) => "continuous_stop",
                       Messages::SpeedOfSound(..) => "speed_of_sound",
          +            Messages::TransmitDuration(..) => "transmit_duration",
                       Messages::GeneralInfo(..) => "general_info",
          +            Messages::GotoBootloader(..) => "goto_bootloader",
          +            Messages::SetModeAuto(..) => "set_mode_auto",
          +            Messages::Range(..) => "range",
          +            Messages::PingEnable(..) => "ping_enable",
          +            Messages::DistanceSimple(..) => "distance_simple",
          +            Messages::PcbTemperature(..) => "pcb_temperature",
          +            Messages::SetSpeedOfSound(..) => "set_speed_of_sound",
          +            Messages::ContinuousStart(..) => "continuous_start",
          +            Messages::ModeAuto(..) => "mode_auto",
                   }
               }
               fn message_id(&self) -> u16 {
                   match self {
          +            Messages::SetGainSetting(..) => 1005u16,
                       Messages::Voltage5(..) => 1202u16,
          -            Messages::TransmitDuration(..) => 1208u16,
          -            Messages::PcbTemperature(..) => 1214u16,
          -            Messages::ProcessorTemperature(..) => 1213u16,
          -            Messages::GotoBootloader(..) => 1100u16,
          -            Messages::FirmwareVersion(..) => 1200u16,
          -            Messages::DeviceId(..) => 1201u16,
          -            Messages::GainSetting(..) => 1207u16,
                       Messages::Profile(..) => 1300u16,
          -            Messages::Range(..) => 1204u16,
          -            Messages::SetRange(..) => 1001u16,
          -            Messages::SetGainSetting(..) => 1005u16,
          -            Messages::ContinuousStop(..) => 1401u16,
          -            Messages::ModeAuto(..) => 1205u16,
          -            Messages::PingEnable(..) => 1215u16,
          -            Messages::SetPingEnable(..) => 1006u16,
          -            Messages::SetSpeedOfSound(..) => 1002u16,
          -            Messages::SetPingInterval(..) => 1004u16,
          -            Messages::ContinuousStart(..) => 1400u16,
                       Messages::PingInterval(..) => 1206u16,
                       Messages::SetDeviceId(..) => 1000u16,
          +            Messages::GainSetting(..) => 1207u16,
          +            Messages::SetPingEnable(..) => 1006u16,
          +            Messages::DeviceId(..) => 1201u16,
          +            Messages::SetRange(..) => 1001u16,
                       Messages::Distance(..) => 1212u16,
          -            Messages::SetModeAuto(..) => 1003u16,
          -            Messages::DistanceSimple(..) => 1211u16,
          +            Messages::FirmwareVersion(..) => 1200u16,
          +            Messages::SetPingInterval(..) => 1004u16,
          +            Messages::ProcessorTemperature(..) => 1213u16,
          +            Messages::ContinuousStop(..) => 1401u16,
                       Messages::SpeedOfSound(..) => 1203u16,
          +            Messages::TransmitDuration(..) => 1208u16,
                       Messages::GeneralInfo(..) => 1210u16,
          +            Messages::GotoBootloader(..) => 1100u16,
          +            Messages::SetModeAuto(..) => 1003u16,
          +            Messages::Range(..) => 1204u16,
          +            Messages::PingEnable(..) => 1215u16,
          +            Messages::DistanceSimple(..) => 1211u16,
          +            Messages::PcbTemperature(..) => 1214u16,
          +            Messages::SetSpeedOfSound(..) => 1002u16,
          +            Messages::ContinuousStart(..) => 1400u16,
          +            Messages::ModeAuto(..) => 1205u16,
                   }
               }
               fn message_id_from_name(name: &str) -> Result<u16, String> {
                   match name {
          +            "set_gain_setting" => Ok(1005u16),
                       "voltage_5" => Ok(1202u16),
          -            "transmit_duration" => Ok(1208u16),
          -            "pcb_temperature" => Ok(1214u16),
          -            "processor_temperature" => Ok(1213u16),
          -            "goto_bootloader" => Ok(1100u16),
          -            "firmware_version" => Ok(1200u16),
          -            "device_id" => Ok(1201u16),
          -            "gain_setting" => Ok(1207u16),
                       "profile" => Ok(1300u16),
          -            "range" => Ok(1204u16),
          -            "set_range" => Ok(1001u16),
          -            "set_gain_setting" => Ok(1005u16),
          -            "continuous_stop" => Ok(1401u16),
          -            "mode_auto" => Ok(1205u16),
          -            "ping_enable" => Ok(1215u16),
          -            "set_ping_enable" => Ok(1006u16),
          -            "set_speed_of_sound" => Ok(1002u16),
          -            "set_ping_interval" => Ok(1004u16),
          -            "continuous_start" => Ok(1400u16),
                       "ping_interval" => Ok(1206u16),
                       "set_device_id" => Ok(1000u16),
          +            "gain_setting" => Ok(1207u16),
          +            "set_ping_enable" => Ok(1006u16),
          +            "device_id" => Ok(1201u16),
          +            "set_range" => Ok(1001u16),
                       "distance" => Ok(1212u16),
          -            "set_mode_auto" => Ok(1003u16),
          -            "distance_simple" => Ok(1211u16),
          +            "firmware_version" => Ok(1200u16),
          +            "set_ping_interval" => Ok(1004u16),
          +            "processor_temperature" => Ok(1213u16),
          +            "continuous_stop" => Ok(1401u16),
                       "speed_of_sound" => Ok(1203u16),
          +            "transmit_duration" => Ok(1208u16),
                       "general_info" => Ok(1210u16),
          +            "goto_bootloader" => Ok(1100u16),
          +            "set_mode_auto" => Ok(1003u16),
          +            "range" => Ok(1204u16),
          +            "ping_enable" => Ok(1215u16),
          +            "distance_simple" => Ok(1211u16),
          +            "pcb_temperature" => Ok(1214u16),
          +            "set_speed_of_sound" => Ok(1002u16),
          +            "continuous_start" => Ok(1400u16),
          +            "mode_auto" => Ok(1205u16),
                       _ => Err(format!("Failed to find message ID from name: {name}.")),
                   }
               }
          @@ -2800,116 +2800,116 @@
           impl SerializePayload for Messages {
               fn serialize(&self) -> Vec<u8> {
                   match self {
          +            Messages::SetGainSetting(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::Voltage5(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::TransmitDuration(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::PcbTemperature(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Profile(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::PingInterval(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetDeviceId(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::GainSetting(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetPingEnable(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::DeviceId(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetRange(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Distance(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::FirmwareVersion(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetPingInterval(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::ProcessorTemperature(content) => {
                           (content as &dyn SerializePayload).serialize()
                       }
          +            Messages::ContinuousStop(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SpeedOfSound(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::TransmitDuration(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::GeneralInfo(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::GotoBootloader(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::FirmwareVersion(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::DeviceId(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::GainSetting(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Profile(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::SetModeAuto(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::Range(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetRange(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetGainSetting(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::ContinuousStop(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::ModeAuto(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::PingEnable(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetPingEnable(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::DistanceSimple(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::PcbTemperature(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetSpeedOfSound(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetPingInterval(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::ContinuousStart(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::PingInterval(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetDeviceId(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Distance(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SetModeAuto(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::DistanceSimple(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::SpeedOfSound(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::GeneralInfo(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::ModeAuto(content) => (content as &dyn SerializePayload).serialize(),
                   }
               }
           }
           impl DeserializeGenericMessage for Messages {
               fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> {
                   Ok(match message_id {
          +            1005u16 => Messages::SetGainSetting(
          +                <SetGainSettingStruct as DeserializePayload>::deserialize(payload),
          +            ),
                       1202u16 => {
                           Messages::Voltage5(<Voltage5Struct as DeserializePayload>::deserialize(payload))
                       }
          -            1208u16 => Messages::TransmitDuration(
          -                <TransmitDurationStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            1214u16 => Messages::PcbTemperature(
          -                <PcbTemperatureStruct as DeserializePayload>::deserialize(payload),
          +            1300u16 => {
          +                Messages::Profile(<ProfileStruct as DeserializePayload>::deserialize(payload))
          +            }
          +            1206u16 => Messages::PingInterval(
          +                <PingIntervalStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1213u16 => Messages::ProcessorTemperature(
          -                <ProcessorTemperatureStruct as DeserializePayload>::deserialize(payload),
          +            1000u16 => Messages::SetDeviceId(
          +                <SetDeviceIdStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1100u16 => Messages::GotoBootloader(
          -                <GotoBootloaderStruct as DeserializePayload>::deserialize(payload),
          +            1207u16 => Messages::GainSetting(
          +                <GainSettingStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1200u16 => Messages::FirmwareVersion(
          -                <FirmwareVersionStruct as DeserializePayload>::deserialize(payload),
          +            1006u16 => Messages::SetPingEnable(
          +                <SetPingEnableStruct as DeserializePayload>::deserialize(payload),
                       ),
                       1201u16 => {
                           Messages::DeviceId(<DeviceIdStruct as DeserializePayload>::deserialize(payload))
                       }
          -            1207u16 => Messages::GainSetting(
          -                <GainSettingStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            1300u16 => {
          -                Messages::Profile(<ProfileStruct as DeserializePayload>::deserialize(payload))
          -            }
          -            1204u16 => Messages::Range(<RangeStruct as DeserializePayload>::deserialize(payload)),
                       1001u16 => {
                           Messages::SetRange(<SetRangeStruct as DeserializePayload>::deserialize(payload))
                       }
          -            1005u16 => Messages::SetGainSetting(
          -                <SetGainSettingStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            1401u16 => Messages::ContinuousStop(
          -                <ContinuousStopStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            1205u16 => {
          -                Messages::ModeAuto(<ModeAutoStruct as DeserializePayload>::deserialize(payload))
          +            1212u16 => {
          +                Messages::Distance(<DistanceStruct as DeserializePayload>::deserialize(payload))
                       }
          -            1215u16 => Messages::PingEnable(<PingEnableStruct as DeserializePayload>::deserialize(
          -                payload,
          -            )),
          -            1006u16 => Messages::SetPingEnable(
          -                <SetPingEnableStruct as DeserializePayload>::deserialize(payload),
          -            ),
          -            1002u16 => Messages::SetSpeedOfSound(
          -                <SetSpeedOfSoundStruct as DeserializePayload>::deserialize(payload),
          +            1200u16 => Messages::FirmwareVersion(
          +                <FirmwareVersionStruct as DeserializePayload>::deserialize(payload),
                       ),
                       1004u16 => Messages::SetPingInterval(
                           <SetPingIntervalStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1400u16 => Messages::ContinuousStart(
          -                <ContinuousStartStruct as DeserializePayload>::deserialize(payload),
          +            1213u16 => Messages::ProcessorTemperature(
          +                <ProcessorTemperatureStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1206u16 => Messages::PingInterval(
          -                <PingIntervalStruct as DeserializePayload>::deserialize(payload),
          +            1401u16 => Messages::ContinuousStop(
          +                <ContinuousStopStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1000u16 => Messages::SetDeviceId(
          -                <SetDeviceIdStruct as DeserializePayload>::deserialize(payload),
          +            1203u16 => Messages::SpeedOfSound(
          +                <SpeedOfSoundStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            1208u16 => Messages::TransmitDuration(
          +                <TransmitDurationStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            1210u16 => Messages::GeneralInfo(
          +                <GeneralInfoStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            1100u16 => Messages::GotoBootloader(
          +                <GotoBootloaderStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1212u16 => {
          -                Messages::Distance(<DistanceStruct as DeserializePayload>::deserialize(payload))
          -            }
                       1003u16 => Messages::SetModeAuto(
                           <SetModeAutoStruct as DeserializePayload>::deserialize(payload),
                       ),
          +            1204u16 => Messages::Range(<RangeStruct as DeserializePayload>::deserialize(payload)),
          +            1215u16 => Messages::PingEnable(<PingEnableStruct as DeserializePayload>::deserialize(
          +                payload,
          +            )),
                       1211u16 => Messages::DistanceSimple(
                           <DistanceSimpleStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1203u16 => Messages::SpeedOfSound(
          -                <SpeedOfSoundStruct as DeserializePayload>::deserialize(payload),
          +            1214u16 => Messages::PcbTemperature(
          +                <PcbTemperatureStruct as DeserializePayload>::deserialize(payload),
                       ),
          -            1210u16 => Messages::GeneralInfo(
          -                <GeneralInfoStruct as DeserializePayload>::deserialize(payload),
          +            1002u16 => Messages::SetSpeedOfSound(
          +                <SetSpeedOfSoundStruct as DeserializePayload>::deserialize(payload),
          +            ),
          +            1400u16 => Messages::ContinuousStart(
          +                <ContinuousStartStruct as DeserializePayload>::deserialize(payload),
                       ),
          +            1205u16 => {
          +                Messages::ModeAuto(<ModeAutoStruct as DeserializePayload>::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-92e8fc5d843123d0/out/ping360.rs.html b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping360.rs.html
          similarity index 99%
          rename from src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/ping360.rs.html
          rename to src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping360.rs.html
          index aaf2429e8..3dfa402d5 100644
          --- a/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-92e8fc5d843123d0/out/ping360.rs.html
          +++ b/src/bluerobotics_ping/home/runner/work/ping-rs/ping-rs/target/debug/build/bluerobotics-ping-059eacccb5cdced5/out/ping360.rs.html
          @@ -1,4 +1,4 @@
          -ping360.rs - source
          1
          +ping360.rs - source
          1
           2
           3
           4
          @@ -745,28 +745,24 @@
           #[derive(Debug, Clone, PartialEq)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
           pub enum Messages {
          +    AutoTransmit(AutoTransmitStruct),
               DeviceData(DeviceDataStruct),
               MotorOff(MotorOffStruct),
          -    Reset(ResetStruct),
          -    Transducer(TransducerStruct),
          -    AutoTransmit(AutoTransmitStruct),
               AutoDeviceData(AutoDeviceDataStruct),
               SetDeviceId(SetDeviceIdStruct),
          +    Transducer(TransducerStruct),
          +    Reset(ResetStruct),
           }
           impl Messages {
               pub fn inner<T: 'static>(&self) -> Option<&T> {
                   match self {
          -            Self::DeviceData(inner_struct) => {
          -                (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
          -            }
          -            Self::MotorOff(inner_struct) => {
          +            Self::AutoTransmit(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>(),
          -            Self::Transducer(inner_struct) => {
          +            Self::DeviceData(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
          -            Self::AutoTransmit(inner_struct) => {
          +            Self::MotorOff(inner_struct) => {
                           (inner_struct as &dyn std::any::Any).downcast_ref::<T>()
                       }
                       Self::AutoDeviceData(inner_struct) => {
          @@ -775,19 +771,21 @@
                       Self::SetDeviceId(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::Reset(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 = "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."]
          -pub struct DeviceDataStruct {
          +#[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 = "Head angle"]
          -    pub angle: u16,
               #[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)"]
          @@ -796,125 +794,80 @@
               pub transmit_frequency: u16,
               #[doc = "Number of samples per reflected signal (supported values: 200~1200)"]
               pub number_of_samples: u16,
          -    #[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>,
          +    #[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 DeviceDataStruct {
          +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.angle.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.data_length.to_le_bytes());
          -        for value in self.data.iter() {
          -            buffer.extend_from_slice(&value.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 DeviceDataStruct {
          +impl DeserializePayload for AutoTransmitStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       mode: payload[0usize].into(),
                       gain_setting: payload[1usize].into(),
          -            angle: u16::from_le_bytes(
          +            transmit_duration: u16::from_le_bytes(
                           payload[2usize..2usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            transmit_duration: u16::from_le_bytes(
          +            sample_period: u16::from_le_bytes(
                           payload[4usize..4usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            sample_period: u16::from_le_bytes(
          +            transmit_frequency: u16::from_le_bytes(
                           payload[6usize..6usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            transmit_frequency: u16::from_le_bytes(
          +            number_of_samples: u16::from_le_bytes(
                           payload[8usize..8usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            number_of_samples: u16::from_le_bytes(
          +            start_angle: u16::from_le_bytes(
                           payload[10usize..10usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            data_length: u16::from_le_bytes(
          +            stop_angle: u16::from_le_bytes(
                           payload[12usize..12usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            data: payload[12usize + 2usize..payload.len()].to_vec(),
          -        }
          -    }
          -}
          -impl MessageInfo for DeviceDataStruct {
          -    fn id() -> u16 {
          -        2300u16
          -    }
          -}
          -#[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)]
          -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "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."]
          -pub struct ResetStruct {
          -    #[doc = "0 = skip bootloader; 1 = run bootloader"]
          -    pub bootloader: u8,
          -    #[doc = "reserved"]
          -    pub reserved: u8,
          -}
          -impl SerializePayload for ResetStruct {
          -    fn serialize(&self) -> Vec<u8> {
          -        let mut buffer: Vec<u8> = Default::default();
          -        buffer.extend_from_slice(&self.bootloader.to_le_bytes());
          -        buffer.extend_from_slice(&self.reserved.to_le_bytes());
          -        buffer
          -    }
          -}
          -impl DeserializePayload for ResetStruct {
          -    fn deserialize(payload: &[u8]) -> Self {
          -        Self {
          -            bootloader: payload[0usize].into(),
          -            reserved: payload[1usize].into(),
          +            num_steps: payload[14usize].into(),
          +            delay: payload[15usize].into(),
                   }
               }
           }
          -impl MessageInfo for ResetStruct {
          +impl MessageInfo for AutoTransmitStruct {
               fn id() -> u16 {
          -        2600u16
          +        2602u16
               }
           }
           #[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 `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 = "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."]
          +pub struct DeviceDataStruct {
               #[doc = "Operating mode (1 for Ping360)"]
               pub mode: u8,
               #[doc = "Analog gain setting (0 = low, 1 = normal, 2 = high)"]
          @@ -929,12 +882,11 @@
               pub transmit_frequency: u16,
               #[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,
          -    #[doc = "reserved"]
          -    pub reserved: u8,
          +    #[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>,
           }
          -impl SerializePayload for TransducerStruct {
          +impl SerializePayload for DeviceDataStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
                   buffer.extend_from_slice(&self.mode.to_le_bytes());
          @@ -944,12 +896,14 @@
                   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.transmit.to_le_bytes());
          -        buffer.extend_from_slice(&self.reserved.to_le_bytes());
          +        buffer.extend_from_slice(&self.data_length.to_le_bytes());
          +        for value in self.data.iter() {
          +            buffer.extend_from_slice(&value.to_le_bytes());
          +        }
                   buffer
               }
           }
          -impl DeserializePayload for TransducerStruct {
          +impl DeserializePayload for DeviceDataStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       mode: payload[0usize].into(),
          @@ -979,32 +933,56 @@
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            transmit: payload[12usize].into(),
          -            reserved: payload[13usize].into(),
          +            data_length: u16::from_le_bytes(
          +                payload[12usize..12usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            data: payload[12usize + 2usize..payload.len()].to_vec(),
                   }
               }
           }
          -impl MessageInfo for TransducerStruct {
          +impl MessageInfo for DeviceDataStruct {
               fn id() -> u16 {
          -        2601u16
          +        2300u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[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 = "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)]
          +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          +#[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,
               #[doc = "Analog gain setting (0 = low, 1 = normal, 2 = high)"]
               pub gain_setting: u8,
          +    #[doc = "Head angle"]
          +    pub angle: u16,
               #[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)."]
          @@ -1013,44 +991,54 @@
               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 (supported values: 200~1200)"]
          +    pub number_of_samples: u16,
          +    #[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>,
           }
          -impl SerializePayload for AutoTransmitStruct {
          +impl SerializePayload for AutoDeviceDataStruct {
               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.angle.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.number_of_samples.to_le_bytes());
          +        buffer.extend_from_slice(&self.data_length.to_le_bytes());
          +        for value in self.data.iter() {
          +            buffer.extend_from_slice(&value.to_le_bytes());
          +        }
                   buffer
               }
           }
          -impl DeserializePayload for AutoTransmitStruct {
          +impl DeserializePayload for AutoDeviceDataStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       mode: payload[0usize].into(),
                       gain_setting: payload[1usize].into(),
          -            transmit_duration: u16::from_le_bytes(
          +            angle: u16::from_le_bytes(
                           payload[2usize..2usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            sample_period: u16::from_le_bytes(
          +            transmit_duration: u16::from_le_bytes(
                           payload[4usize..4usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            transmit_frequency: u16::from_le_bytes(
          +            sample_period: u16::from_le_bytes(
                           payload[6usize..6usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            number_of_samples: u16::from_le_bytes(
          +            transmit_frequency: u16::from_le_bytes(
                           payload[8usize..8usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
          @@ -1067,18 +1055,59 @@
                       ),
                       num_steps: payload[14usize].into(),
                       delay: payload[15usize].into(),
          +            number_of_samples: u16::from_le_bytes(
          +                payload[16usize..16usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            data_length: u16::from_le_bytes(
          +                payload[18usize..18usize + 2usize]
          +                    .try_into()
          +                    .expect("Wrong slice length"),
          +            ),
          +            data: payload[18usize + 2usize..payload.len()].to_vec(),
                   }
               }
           }
          -impl MessageInfo for AutoTransmitStruct {
          +impl MessageInfo for AutoDeviceDataStruct {
               fn id() -> u16 {
          -        2602u16
          +        2301u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[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 = "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 SetDeviceIdStruct {
          +    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 SetDeviceIdStruct {
          +    fn deserialize(payload: &[u8]) -> Self {
          +        Self {
          +            id: payload[0usize].into(),
          +            reserved: payload[1usize].into(),
          +        }
          +    }
          +}
          +impl MessageInfo for SetDeviceIdStruct {
          +    fn id() -> u16 {
          +        2000u16
          +    }
          +}
          +#[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 `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,
               #[doc = "Analog gain setting (0 = low, 1 = normal, 2 = high)"]
          @@ -1091,21 +1120,14 @@
               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 = "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,
               #[doc = "Number of samples per reflected signal (supported values: 200~1200)"]
               pub number_of_samples: u16,
          -    #[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>,
          +    #[doc = "0 = do not transmit; 1 = transmit after the transducer has reached the specified angle"]
          +    pub transmit: u8,
          +    #[doc = "reserved"]
          +    pub reserved: u8,
           }
          -impl SerializePayload for AutoDeviceDataStruct {
          +impl SerializePayload for TransducerStruct {
               fn serialize(&self) -> Vec<u8> {
                   let mut buffer: Vec<u8> = Default::default();
                   buffer.extend_from_slice(&self.mode.to_le_bytes());
          @@ -1114,19 +1136,13 @@
                   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.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.number_of_samples.to_le_bytes());
          -        buffer.extend_from_slice(&self.data_length.to_le_bytes());
          -        for value in self.data.iter() {
          -            buffer.extend_from_slice(&value.to_le_bytes());
          -        }
          +        buffer.extend_from_slice(&self.transmit.to_le_bytes());
          +        buffer.extend_from_slice(&self.reserved.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for AutoDeviceDataStruct {
          +impl DeserializePayload for TransducerStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
                       mode: payload[0usize].into(),
          @@ -1151,65 +1167,49 @@
                               .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(),
                       number_of_samples: u16::from_le_bytes(
          -                payload[16usize..16usize + 2usize]
          -                    .try_into()
          -                    .expect("Wrong slice length"),
          -            ),
          -            data_length: u16::from_le_bytes(
          -                payload[18usize..18usize + 2usize]
          +                payload[10usize..10usize + 2usize]
                               .try_into()
                               .expect("Wrong slice length"),
                       ),
          -            data: payload[18usize + 2usize..payload.len()].to_vec(),
          +            transmit: payload[12usize].into(),
          +            reserved: payload[13usize].into(),
                   }
               }
           }
          -impl MessageInfo for AutoDeviceDataStruct {
          +impl MessageInfo for TransducerStruct {
               fn id() -> u16 {
          -        2301u16
          +        2601u16
               }
           }
           #[derive(Debug, Clone, PartialEq, Default)]
           #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
          -#[doc = "Change the device id"]
          -pub struct SetDeviceIdStruct {
          -    #[doc = "Device ID (1-254). 0 and 255 are reserved."]
          -    pub id: u8,
          +#[doc = "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."]
          +pub struct ResetStruct {
          +    #[doc = "0 = skip bootloader; 1 = run bootloader"]
          +    pub bootloader: u8,
               #[doc = "reserved"]
               pub reserved: u8,
           }
          -impl SerializePayload for SetDeviceIdStruct {
          +impl SerializePayload for ResetStruct {
               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.bootloader.to_le_bytes());
                   buffer.extend_from_slice(&self.reserved.to_le_bytes());
                   buffer
               }
           }
          -impl DeserializePayload for SetDeviceIdStruct {
          +impl DeserializePayload for ResetStruct {
               fn deserialize(payload: &[u8]) -> Self {
                   Self {
          -            id: payload[0usize].into(),
          +            bootloader: payload[0usize].into(),
                       reserved: payload[1usize].into(),
                   }
               }
           }
          -impl MessageInfo for SetDeviceIdStruct {
          +impl MessageInfo for ResetStruct {
               fn id() -> u16 {
          -        2000u16
          +        2600u16
               }
           }
           impl Device {
          @@ -1221,6 +1221,48 @@
                       common: Common::new(io),
                   }
               }
          +    #[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"]
          +    #[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?;
          +        Ok(())
          +    }
               #[doc = "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."]
               pub async fn device_data(&self) -> Result<DeviceDataStruct, PingError> {
                   self.request().await
          @@ -1234,20 +1276,22 @@
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          -    #[doc = "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."]
          +    #[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 = "Change the device id"]
               #[doc = "# Arguments"]
          -    #[doc = "* `bootloader` - 0 = skip bootloader; 1 = run bootloader"]
          +    #[doc = "* `id` - Device ID (1-254). 0 and 255 are reserved."]
               #[doc = "* `reserved` - reserved"]
          -    pub async fn reset(&self, bootloader: u8, reserved: u8) -> Result<(), PingError> {
          -        let request = Messages::Reset(ResetStruct {
          -            bootloader,
          -            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?;
          -        Ok(())
          -    }
          +        self.wait_for_ack(receiver, SetDeviceIdStruct::id()).await
          +    }
               #[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)"]
          @@ -1288,97 +1332,53 @@
                   self.get_common().send_message(package).await?;
                   self.wait_for_message(receiver).await
               }
          -    #[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 = "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."]
               #[doc = "# Arguments"]
          -    #[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,
          +    #[doc = "* `bootloader` - 0 = skip bootloader; 1 = run bootloader"]
          +    #[doc = "* `reserved` - reserved"]
          +    pub async fn reset(&self, bootloader: u8, reserved: u8) -> Result<(), PingError> {
          +        let request = Messages::Reset(ResetStruct {
          +            bootloader,
          +            reserved,
                   });
                   let mut package = ProtocolMessage::new();
                   package.set_message(&request);
                   self.get_common().send_message(package).await?;
                   Ok(())
               }
          -    #[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 = "Change the device id"]
          -    #[doc = "# Arguments"]
          -    #[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
          -    }
           }
           impl PingMessage for Messages {
               fn message_name(&self) -> &'static str {
                   match self {
          +            Messages::AutoTransmit(..) => "auto_transmit",
                       Messages::DeviceData(..) => "device_data",
                       Messages::MotorOff(..) => "motor_off",
          -            Messages::Reset(..) => "reset",
          -            Messages::Transducer(..) => "transducer",
          -            Messages::AutoTransmit(..) => "auto_transmit",
                       Messages::AutoDeviceData(..) => "auto_device_data",
                       Messages::SetDeviceId(..) => "set_device_id",
          +            Messages::Transducer(..) => "transducer",
          +            Messages::Reset(..) => "reset",
                   }
               }
               fn message_id(&self) -> u16 {
                   match self {
          +            Messages::AutoTransmit(..) => 2602u16,
                       Messages::DeviceData(..) => 2300u16,
                       Messages::MotorOff(..) => 2903u16,
          -            Messages::Reset(..) => 2600u16,
          -            Messages::Transducer(..) => 2601u16,
          -            Messages::AutoTransmit(..) => 2602u16,
                       Messages::AutoDeviceData(..) => 2301u16,
                       Messages::SetDeviceId(..) => 2000u16,
          +            Messages::Transducer(..) => 2601u16,
          +            Messages::Reset(..) => 2600u16,
                   }
               }
               fn message_id_from_name(name: &str) -> Result<u16, String> {
                   match name {
          +            "auto_transmit" => Ok(2602u16),
                       "device_data" => Ok(2300u16),
                       "motor_off" => Ok(2903u16),
          -            "reset" => Ok(2600u16),
          -            "transducer" => Ok(2601u16),
          -            "auto_transmit" => Ok(2602u16),
                       "auto_device_data" => Ok(2301u16),
                       "set_device_id" => Ok(2000u16),
          +            "transducer" => Ok(2601u16),
          +            "reset" => Ok(2600u16),
                       _ => Err(format!("Failed to find message ID from name: {name}.")),
                   }
               }
          @@ -1386,38 +1386,38 @@
           impl SerializePayload for Messages {
               fn serialize(&self) -> Vec<u8> {
                   match self {
          +            Messages::AutoTransmit(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::DeviceData(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::MotorOff(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Reset(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::Transducer(content) => (content as &dyn SerializePayload).serialize(),
          -            Messages::AutoTransmit(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::AutoDeviceData(content) => (content as &dyn SerializePayload).serialize(),
                       Messages::SetDeviceId(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Transducer(content) => (content as &dyn SerializePayload).serialize(),
          +            Messages::Reset(content) => (content as &dyn SerializePayload).serialize(),
                   }
               }
           }
           impl DeserializeGenericMessage for Messages {
               fn deserialize(message_id: u16, payload: &[u8]) -> Result<Self, &'static str> {
                   Ok(match message_id {
          +            2602u16 => Messages::AutoTransmit(
          +                <AutoTransmitStruct as DeserializePayload>::deserialize(payload),
          +            ),
                       2300u16 => Messages::DeviceData(<DeviceDataStruct as DeserializePayload>::deserialize(
                           payload,
                       )),
                       2903u16 => {
                           Messages::MotorOff(<MotorOffStruct as DeserializePayload>::deserialize(payload))
                       }
          -            2600u16 => Messages::Reset(<ResetStruct as DeserializePayload>::deserialize(payload)),
          -            2601u16 => Messages::Transducer(<TransducerStruct as DeserializePayload>::deserialize(
          -                payload,
          -            )),
          -            2602u16 => Messages::AutoTransmit(
          -                <AutoTransmitStruct as DeserializePayload>::deserialize(payload),
          -            ),
                       2301u16 => Messages::AutoDeviceData(
                           <AutoDeviceDataStruct as DeserializePayload>::deserialize(payload),
                       ),
                       2000u16 => Messages::SetDeviceId(
                           <SetDeviceIdStruct as DeserializePayload>::deserialize(payload),
                       ),
          +            2601u16 => Messages::Transducer(<TransducerStruct as DeserializePayload>::deserialize(
          +                payload,
          +            )),
          +            2600u16 => Messages::Reset(<ResetStruct as DeserializePayload>::deserialize(payload)),
                       _ => {
                           return Err(&"Unknown message id");
                       }
          diff --git a/src/clap/lib.rs.html b/src/clap/lib.rs.html
          index 58ef371ab..3c136efff 100644
          --- a/src/clap/lib.rs.html
          +++ b/src/clap/lib.rs.html
          @@ -1,4 +1,4 @@
          -lib.rs - source
          1
          +lib.rs - source
          1
           2
           3
           4
          @@ -113,7 +113,7 @@
           //! - [Cookbook][_cookbook]
           //! - [FAQ][_faq]
           //! - [Discussions](https://github.com/clap-rs/clap/discussions)
          -//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.5.19/CHANGELOG.md) (includes major version migration
          +//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.5.20/CHANGELOG.md) (includes major version migration
           //!   guides)
           //!
           //! ## Aspirations
          diff --git a/src/clap_builder/builder/action.rs.html b/src/clap_builder/builder/action.rs.html
          index c9d56a873..338863724 100644
          --- a/src/clap_builder/builder/action.rs.html
          +++ b/src/clap_builder/builder/action.rs.html
          @@ -1,4 +1,4 @@
          -action.rs - source
          1
          +action.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/app_settings.rs.html b/src/clap_builder/builder/app_settings.rs.html
          index fa8c2683b..61ea7ae89 100644
          --- a/src/clap_builder/builder/app_settings.rs.html
          +++ b/src/clap_builder/builder/app_settings.rs.html
          @@ -1,4 +1,4 @@
          -app_settings.rs - source
          1
          +app_settings.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/arg.rs.html b/src/clap_builder/builder/arg.rs.html
          index 606b3dd23..48a22e55d 100644
          --- a/src/clap_builder/builder/arg.rs.html
          +++ b/src/clap_builder/builder/arg.rs.html
          @@ -1,4 +1,4 @@
          -arg.rs - source
          1
          +arg.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/arg_group.rs.html b/src/clap_builder/builder/arg_group.rs.html
          index d61eadd0a..9e2147495 100644
          --- a/src/clap_builder/builder/arg_group.rs.html
          +++ b/src/clap_builder/builder/arg_group.rs.html
          @@ -1,4 +1,4 @@
          -arg_group.rs - source
          1
          +arg_group.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/arg_predicate.rs.html b/src/clap_builder/builder/arg_predicate.rs.html
          index c04b58a55..edbf6a3e5 100644
          --- a/src/clap_builder/builder/arg_predicate.rs.html
          +++ b/src/clap_builder/builder/arg_predicate.rs.html
          @@ -1,4 +1,4 @@
          -arg_predicate.rs - source
          1
          +arg_predicate.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/arg_settings.rs.html b/src/clap_builder/builder/arg_settings.rs.html
          index 6972e9367..ed363dc1b 100644
          --- a/src/clap_builder/builder/arg_settings.rs.html
          +++ b/src/clap_builder/builder/arg_settings.rs.html
          @@ -1,4 +1,4 @@
          -arg_settings.rs - source
          1
          +arg_settings.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/command.rs.html b/src/clap_builder/builder/command.rs.html
          index 17e173d33..909763ccb 100644
          --- a/src/clap_builder/builder/command.rs.html
          +++ b/src/clap_builder/builder/command.rs.html
          @@ -1,4 +1,4 @@
          -command.rs - source
          1
          +command.rs - source
          1
           2
           3
           4
          @@ -4940,6 +4940,35 @@
           4940
           4941
           4942
          +4943
          +4944
          +4945
          +4946
          +4947
          +4948
          +4949
          +4950
          +4951
          +4952
          +4953
          +4954
          +4955
          +4956
          +4957
          +4958
          +4959
          +4960
          +4961
          +4962
          +4963
          +4964
          +4965
          +4966
          +4967
          +4968
          +4969
          +4970
          +4971
           
          #![cfg_attr(not(feature = "usage"), allow(unused_mut))]
           
           // Std
          @@ -4953,6 +4982,7 @@
           // Internal
           use crate::builder::app_settings::{AppFlags, AppSettings};
           use crate::builder::arg_settings::ArgSettings;
          +use crate::builder::ext::Extension;
           use crate::builder::ext::Extensions;
           use crate::builder::ArgAction;
           use crate::builder::IntoResettable;
          @@ -5048,6 +5078,8 @@
               external_value_parser: Option<super::ValueParser>,
               long_help_exists: bool,
               deferred: Option<fn(Command) -> Command>,
          +    #[cfg(feature = "unstable-ext")]
          +    ext: Extensions,
               app_ext: Extensions,
           }
           
          @@ -5981,6 +6013,14 @@
           
                   Usage::new(self).create_usage_with_title(&[])
               }
          +
          +    /// Extend [`Command`] with [`CommandExt`] data
          +    #[cfg(feature = "unstable-ext")]
          +    #[allow(clippy::should_implement_trait)]
          +    pub fn add<T: CommandExt + Extension>(mut self, tagged: T) -> Self {
          +        self.ext.set(tagged);
          +        self
          +    }
           }
           
           /// # Application-wide Settings
          @@ -8906,6 +8946,18 @@
               pub fn is_multicall_set(&self) -> bool {
                   self.is_set(AppSettings::Multicall)
               }
          +
          +    /// Access an [`CommandExt`]
          +    #[cfg(feature = "unstable-ext")]
          +    pub fn get<T: CommandExt + Extension>(&self) -> Option<&T> {
          +        self.ext.get::<T>()
          +    }
          +
          +    /// Remove an [`CommandExt`]
          +    #[cfg(feature = "unstable-ext")]
          +    pub fn remove<T: CommandExt + Extension>(mut self) -> Option<T> {
          +        self.ext.remove::<T>()
          +    }
           }
           
           // Internally used only
          @@ -9825,6 +9877,8 @@
                       external_value_parser: Default::default(),
                       long_help_exists: false,
                       deferred: None,
          +            #[cfg(feature = "unstable-ext")]
          +            ext: Default::default(),
                       app_ext: Default::default(),
                   }
               }
          @@ -9850,20 +9904,24 @@
               }
           }
           
          +/// User-provided data that can be attached to an [`Arg`]
          +#[cfg(feature = "unstable-ext")]
          +pub trait CommandExt: Extension {}
          +
           #[allow(dead_code)] // atm dependent on features enabled
          -pub(crate) trait AppTag: crate::builder::ext::Extension {}
          +pub(crate) trait AppExt: Extension {}
           
           #[allow(dead_code)] // atm dependent on features enabled
           #[derive(Default, Copy, Clone, Debug)]
           struct TermWidth(usize);
           
          -impl AppTag for TermWidth {}
          +impl AppExt for TermWidth {}
           
           #[allow(dead_code)] // atm dependent on features enabled
           #[derive(Default, Copy, Clone, Debug)]
           struct MaxTermWidth(usize);
           
          -impl AppTag for MaxTermWidth {}
          +impl AppExt for MaxTermWidth {}
           
           fn two_elements_of<I, T>(mut iter: I) -> Option<(T, T)>
           where
          diff --git a/src/clap_builder/builder/debug_asserts.rs.html b/src/clap_builder/builder/debug_asserts.rs.html
          index 61e56c4c6..cd7cc90fc 100644
          --- a/src/clap_builder/builder/debug_asserts.rs.html
          +++ b/src/clap_builder/builder/debug_asserts.rs.html
          @@ -1,4 +1,4 @@
          -debug_asserts.rs - source
          1
          +debug_asserts.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/ext.rs.html b/src/clap_builder/builder/ext.rs.html
          index 5736e7804..a85804bd0 100644
          --- a/src/clap_builder/builder/ext.rs.html
          +++ b/src/clap_builder/builder/ext.rs.html
          @@ -1,4 +1,4 @@
          -ext.rs - source
          1
          +ext.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/mod.rs.html b/src/clap_builder/builder/mod.rs.html
          index 3c5e4cb5e..c8e1ff159 100644
          --- a/src/clap_builder/builder/mod.rs.html
          +++ b/src/clap_builder/builder/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          @@ -67,6 +67,8 @@
           67
           68
           69
          +70
          +71
           
          //! Define [`Command`] line [arguments][`Arg`]
           
           mod action;
          @@ -102,6 +104,8 @@
           pub use arg_group::ArgGroup;
           pub use arg_predicate::ArgPredicate;
           pub use command::Command;
          +#[cfg(feature = "unstable-ext")]
          +pub use command::CommandExt;
           pub use os_str::OsStr;
           pub use possible_value::PossibleValue;
           pub use range::ValueRange;
          @@ -110,9 +114,9 @@
           pub use styled_str::StyledStr;
           pub use styling::Styles;
           pub use value_hint::ValueHint;
          +pub use value_parser::BoolValueParser;
           pub use value_parser::_infer_ValueParser_for;
           pub use value_parser::impl_prelude;
          -pub use value_parser::BoolValueParser;
           pub use value_parser::BoolishValueParser;
           pub use value_parser::EnumValueParser;
           pub use value_parser::FalseyValueParser;
          @@ -135,5 +139,5 @@
           pub(crate) use self::str::Inner as StrInner;
           pub(crate) use action::CountType;
           pub(crate) use arg_settings::{ArgFlags, ArgSettings};
          -pub(crate) use command::AppTag;
          +pub(crate) use command::AppExt;
           
          \ No newline at end of file diff --git a/src/clap_builder/builder/os_str.rs.html b/src/clap_builder/builder/os_str.rs.html index f5a18e607..0ff8f6965 100644 --- a/src/clap_builder/builder/os_str.rs.html +++ b/src/clap_builder/builder/os_str.rs.html @@ -1,4 +1,4 @@ -os_str.rs - source
          1
          +os_str.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/possible_value.rs.html b/src/clap_builder/builder/possible_value.rs.html
          index 4e7e6259f..fc31b5a58 100644
          --- a/src/clap_builder/builder/possible_value.rs.html
          +++ b/src/clap_builder/builder/possible_value.rs.html
          @@ -1,4 +1,4 @@
          -possible_value.rs - source
          1
          +possible_value.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/range.rs.html b/src/clap_builder/builder/range.rs.html
          index 561f8b7b0..6fbc59e2b 100644
          --- a/src/clap_builder/builder/range.rs.html
          +++ b/src/clap_builder/builder/range.rs.html
          @@ -1,4 +1,4 @@
          -range.rs - source
          1
          +range.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/resettable.rs.html b/src/clap_builder/builder/resettable.rs.html
          index c6c655d3f..b54cf4a7f 100644
          --- a/src/clap_builder/builder/resettable.rs.html
          +++ b/src/clap_builder/builder/resettable.rs.html
          @@ -1,4 +1,4 @@
          -resettable.rs - source
          1
          +resettable.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/str.rs.html b/src/clap_builder/builder/str.rs.html
          index b17243a89..98bef6260 100644
          --- a/src/clap_builder/builder/str.rs.html
          +++ b/src/clap_builder/builder/str.rs.html
          @@ -1,4 +1,4 @@
          -str.rs - source
          1
          +str.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/styled_str.rs.html b/src/clap_builder/builder/styled_str.rs.html
          index 96f242491..b192ae27f 100644
          --- a/src/clap_builder/builder/styled_str.rs.html
          +++ b/src/clap_builder/builder/styled_str.rs.html
          @@ -1,4 +1,4 @@
          -styled_str.rs - source
          1
          +styled_str.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/styling.rs.html b/src/clap_builder/builder/styling.rs.html
          index 5020e0846..ba8c3e804 100644
          --- a/src/clap_builder/builder/styling.rs.html
          +++ b/src/clap_builder/builder/styling.rs.html
          @@ -1,4 +1,4 @@
          -styling.rs - source
          1
          +styling.rs - source
          1
           2
           3
           4
          @@ -338,7 +338,7 @@
               }
           }
           
          -impl super::AppTag for Styles {}
          +impl super::AppExt for Styles {}
           
           impl Default for Styles {
               fn default() -> Self {
          diff --git a/src/clap_builder/builder/value_hint.rs.html b/src/clap_builder/builder/value_hint.rs.html
          index ca6a4c929..c9eda3b72 100644
          --- a/src/clap_builder/builder/value_hint.rs.html
          +++ b/src/clap_builder/builder/value_hint.rs.html
          @@ -1,4 +1,4 @@
          -value_hint.rs - source
          1
          +value_hint.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/builder/value_parser.rs.html b/src/clap_builder/builder/value_parser.rs.html
          index 5f9358865..ac86d9118 100644
          --- a/src/clap_builder/builder/value_parser.rs.html
          +++ b/src/clap_builder/builder/value_parser.rs.html
          @@ -1,4 +1,4 @@
          -value_parser.rs - source
          1
          +value_parser.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/derive.rs.html b/src/clap_builder/derive.rs.html
          index f736b1f79..379c634f8 100644
          --- a/src/clap_builder/derive.rs.html
          +++ b/src/clap_builder/derive.rs.html
          @@ -1,4 +1,4 @@
          -derive.rs - source
          1
          +derive.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/error/context.rs.html b/src/clap_builder/error/context.rs.html
          index ebe1dbf34..1f5685e58 100644
          --- a/src/clap_builder/error/context.rs.html
          +++ b/src/clap_builder/error/context.rs.html
          @@ -1,4 +1,4 @@
          -context.rs - source
          1
          +context.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/error/format.rs.html b/src/clap_builder/error/format.rs.html
          index 4a6aeed67..4ee4e51ff 100644
          --- a/src/clap_builder/error/format.rs.html
          +++ b/src/clap_builder/error/format.rs.html
          @@ -1,4 +1,4 @@
          -format.rs - source
          1
          +format.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/error/kind.rs.html b/src/clap_builder/error/kind.rs.html
          index 86d1a9d8d..fd2f3c2b8 100644
          --- a/src/clap_builder/error/kind.rs.html
          +++ b/src/clap_builder/error/kind.rs.html
          @@ -1,4 +1,4 @@
          -kind.rs - source
          1
          +kind.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/error/mod.rs.html b/src/clap_builder/error/mod.rs.html
          index 66a4e7a86..f73a6c16c 100644
          --- a/src/clap_builder/error/mod.rs.html
          +++ b/src/clap_builder/error/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/lib.rs.html b/src/clap_builder/lib.rs.html
          index 03933688a..3a181cf63 100644
          --- a/src/clap_builder/lib.rs.html
          +++ b/src/clap_builder/lib.rs.html
          @@ -1,4 +1,4 @@
          -lib.rs - source
          1
          +lib.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/macros.rs.html b/src/clap_builder/macros.rs.html
          index 352213e0b..342f184ab 100644
          --- a/src/clap_builder/macros.rs.html
          +++ b/src/clap_builder/macros.rs.html
          @@ -1,4 +1,4 @@
          -macros.rs - source
          1
          +macros.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/mkeymap.rs.html b/src/clap_builder/mkeymap.rs.html
          index 44dce0aac..15469a8db 100644
          --- a/src/clap_builder/mkeymap.rs.html
          +++ b/src/clap_builder/mkeymap.rs.html
          @@ -1,4 +1,4 @@
          -mkeymap.rs - source
          1
          +mkeymap.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/fmt.rs.html b/src/clap_builder/output/fmt.rs.html
          index 8af5f231a..8af9d04c6 100644
          --- a/src/clap_builder/output/fmt.rs.html
          +++ b/src/clap_builder/output/fmt.rs.html
          @@ -1,4 +1,4 @@
          -fmt.rs - source
          1
          +fmt.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/help.rs.html b/src/clap_builder/output/help.rs.html
          index 249a22849..970258f8c 100644
          --- a/src/clap_builder/output/help.rs.html
          +++ b/src/clap_builder/output/help.rs.html
          @@ -1,4 +1,4 @@
          -help.rs - source
          1
          +help.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/help_template.rs.html b/src/clap_builder/output/help_template.rs.html
          index f8251146e..d07ff0038 100644
          --- a/src/clap_builder/output/help_template.rs.html
          +++ b/src/clap_builder/output/help_template.rs.html
          @@ -1,4 +1,4 @@
          -help_template.rs - source
          1
          +help_template.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/mod.rs.html b/src/clap_builder/output/mod.rs.html
          index 20d71c37f..d5fc20611 100644
          --- a/src/clap_builder/output/mod.rs.html
          +++ b/src/clap_builder/output/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/textwrap/core.rs.html b/src/clap_builder/output/textwrap/core.rs.html
          index e8f856481..c69fe8a95 100644
          --- a/src/clap_builder/output/textwrap/core.rs.html
          +++ b/src/clap_builder/output/textwrap/core.rs.html
          @@ -1,4 +1,4 @@
          -core.rs - source
          1
          +core.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/textwrap/mod.rs.html b/src/clap_builder/output/textwrap/mod.rs.html
          index df1b24e21..4be5c773b 100644
          --- a/src/clap_builder/output/textwrap/mod.rs.html
          +++ b/src/clap_builder/output/textwrap/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/output/usage.rs.html b/src/clap_builder/output/usage.rs.html
          index 3fb06e557..cae77be05 100644
          --- a/src/clap_builder/output/usage.rs.html
          +++ b/src/clap_builder/output/usage.rs.html
          @@ -1,4 +1,4 @@
          -usage.rs - source
          1
          +usage.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/arg_matcher.rs.html b/src/clap_builder/parser/arg_matcher.rs.html
          index c6abc6ff8..ece55390b 100644
          --- a/src/clap_builder/parser/arg_matcher.rs.html
          +++ b/src/clap_builder/parser/arg_matcher.rs.html
          @@ -1,4 +1,4 @@
          -arg_matcher.rs - source
          1
          +arg_matcher.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/error.rs.html b/src/clap_builder/parser/error.rs.html
          index 3a874da3a..2a5d5d709 100644
          --- a/src/clap_builder/parser/error.rs.html
          +++ b/src/clap_builder/parser/error.rs.html
          @@ -1,4 +1,4 @@
          -error.rs - source
          1
          +error.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/features/mod.rs.html b/src/clap_builder/parser/features/mod.rs.html
          index 8967c092f..4f744557a 100644
          --- a/src/clap_builder/parser/features/mod.rs.html
          +++ b/src/clap_builder/parser/features/mod.rs.html
          @@ -1,3 +1,3 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           
          pub(crate) mod suggestions;
           
          \ No newline at end of file diff --git a/src/clap_builder/parser/features/suggestions.rs.html b/src/clap_builder/parser/features/suggestions.rs.html index 1ddf118bb..84cfca8ec 100644 --- a/src/clap_builder/parser/features/suggestions.rs.html +++ b/src/clap_builder/parser/features/suggestions.rs.html @@ -1,4 +1,4 @@ -suggestions.rs - source
          1
          +suggestions.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/matches/arg_matches.rs.html b/src/clap_builder/parser/matches/arg_matches.rs.html
          index 922b9424a..f41ff63c8 100644
          --- a/src/clap_builder/parser/matches/arg_matches.rs.html
          +++ b/src/clap_builder/parser/matches/arg_matches.rs.html
          @@ -1,4 +1,4 @@
          -arg_matches.rs - source
          1
          +arg_matches.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/matches/matched_arg.rs.html b/src/clap_builder/parser/matches/matched_arg.rs.html
          index 4ae63145b..941f294c1 100644
          --- a/src/clap_builder/parser/matches/matched_arg.rs.html
          +++ b/src/clap_builder/parser/matches/matched_arg.rs.html
          @@ -1,4 +1,4 @@
          -matched_arg.rs - source
          1
          +matched_arg.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/matches/mod.rs.html b/src/clap_builder/parser/matches/mod.rs.html
          index c2efd1ad6..50d57e5fa 100644
          --- a/src/clap_builder/parser/matches/mod.rs.html
          +++ b/src/clap_builder/parser/matches/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/matches/value_source.rs.html b/src/clap_builder/parser/matches/value_source.rs.html
          index ff87b3b4d..7cee2209b 100644
          --- a/src/clap_builder/parser/matches/value_source.rs.html
          +++ b/src/clap_builder/parser/matches/value_source.rs.html
          @@ -1,4 +1,4 @@
          -value_source.rs - source
          1
          +value_source.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/mod.rs.html b/src/clap_builder/parser/mod.rs.html
          index 76293dbd7..684acd180 100644
          --- a/src/clap_builder/parser/mod.rs.html
          +++ b/src/clap_builder/parser/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/parser.rs.html b/src/clap_builder/parser/parser.rs.html
          index 9d5814890..ecc0197ea 100644
          --- a/src/clap_builder/parser/parser.rs.html
          +++ b/src/clap_builder/parser/parser.rs.html
          @@ -1,4 +1,4 @@
          -parser.rs - source
          1
          +parser.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/parser/validator.rs.html b/src/clap_builder/parser/validator.rs.html
          index 4be05c1f8..5ea7afc9b 100644
          --- a/src/clap_builder/parser/validator.rs.html
          +++ b/src/clap_builder/parser/validator.rs.html
          @@ -1,4 +1,4 @@
          -validator.rs - source
          1
          +validator.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/any_value.rs.html b/src/clap_builder/util/any_value.rs.html
          index 3e62fffd5..bf0238ceb 100644
          --- a/src/clap_builder/util/any_value.rs.html
          +++ b/src/clap_builder/util/any_value.rs.html
          @@ -1,4 +1,4 @@
          -any_value.rs - source
          1
          +any_value.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/color.rs.html b/src/clap_builder/util/color.rs.html
          index 30c46383f..78fe49175 100644
          --- a/src/clap_builder/util/color.rs.html
          +++ b/src/clap_builder/util/color.rs.html
          @@ -1,4 +1,4 @@
          -color.rs - source
          1
          +color.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/flat_map.rs.html b/src/clap_builder/util/flat_map.rs.html
          index 8c0c932ed..98b318f02 100644
          --- a/src/clap_builder/util/flat_map.rs.html
          +++ b/src/clap_builder/util/flat_map.rs.html
          @@ -1,4 +1,4 @@
          -flat_map.rs - source
          1
          +flat_map.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/flat_set.rs.html b/src/clap_builder/util/flat_set.rs.html
          index 03d5c5126..61152bfd4 100644
          --- a/src/clap_builder/util/flat_set.rs.html
          +++ b/src/clap_builder/util/flat_set.rs.html
          @@ -1,4 +1,4 @@
          -flat_set.rs - source
          1
          +flat_set.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/graph.rs.html b/src/clap_builder/util/graph.rs.html
          index 2f9f0fbbf..ede8a5599 100644
          --- a/src/clap_builder/util/graph.rs.html
          +++ b/src/clap_builder/util/graph.rs.html
          @@ -1,4 +1,4 @@
          -graph.rs - source
          1
          +graph.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/id.rs.html b/src/clap_builder/util/id.rs.html
          index 0c0319c16..d84e76f5d 100644
          --- a/src/clap_builder/util/id.rs.html
          +++ b/src/clap_builder/util/id.rs.html
          @@ -1,4 +1,4 @@
          -id.rs - source
          1
          +id.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/mod.rs.html b/src/clap_builder/util/mod.rs.html
          index 221b2bc31..4ee96d2bd 100644
          --- a/src/clap_builder/util/mod.rs.html
          +++ b/src/clap_builder/util/mod.rs.html
          @@ -1,4 +1,4 @@
          -mod.rs - source
          1
          +mod.rs - source
          1
           2
           3
           4
          diff --git a/src/clap_builder/util/str_to_bool.rs.html b/src/clap_builder/util/str_to_bool.rs.html
          index 12e8c62e9..711290f21 100644
          --- a/src/clap_builder/util/str_to_bool.rs.html
          +++ b/src/clap_builder/util/str_to_bool.rs.html
          @@ -1,4 +1,4 @@
          -str_to_bool.rs - source
          1
          +str_to_bool.rs - source
          1
           2
           3
           4