BatteryState

Struct BatteryState 

Source
#[repr(C)]
pub struct BatteryState {
Show 16 fields pub header: Header, pub voltage: f32, pub temperature: f32, pub current: f32, pub charge: f32, pub capacity: f32, pub design_capacity: f32, pub percentage: f32, pub status: PowerSupplyStatus, pub health: PowerSupplyHealth, pub technology: BatteryChemistry, pub present: bool, pub cell_voltage: Vec<f32>, pub cell_temperature: Vec<f32>, pub location: String, pub serial_number: String,
}

Fields§

§header: Header§voltage: f32

Voltage in Volts (Mandatory)

§temperature: f32

Temperature in Degrees Celsius (If unmeasured NaN)

§current: f32

Negative when discharging (A) (If unmeasured NaN)

§charge: f32

Current charge in Ah (If unmeasured NaN)

§capacity: f32

Capacity in Ah (last full capacity) (If unmeasured NaN)

§design_capacity: f32

Capacity in Ah (design capacity) (If unmeasured NaN)

§percentage: f32

Charge percentage on 0 to 1 range (If unmeasured NaN)

§status: PowerSupplyStatus§health: PowerSupplyHealth§technology: BatteryChemistry§present: bool

True if the battery is present

§cell_voltage: Vec<f32>

An array of individual cell voltages for each cell in the pack

§cell_temperature: Vec<f32>

§An array of individual cell temperatures for each cell in the pack

If individual temperatures unknown but number of cells known set each to NaN

§location: String

The location into which the battery is inserted. (slot number or plug)

§serial_number: String

The best approximation of the battery serial number

Implementations§

Source§

impl BatteryState

Source

pub fn create_topic_with_name( participant: &DdsParticipant, name: &str, maybe_qos: Option<DdsQos>, maybe_listener: Option<DdsListener>, ) -> Result<DdsTopic<Self>, DDSError>

Create a topic using of this Type specifying the topic name

§Arguments
  • participant - The participant handle onto which this topic should be created
  • name - The name of the topic
  • maybe_qos - A QoS structure for this topic. The Qos is optional
  • maybe_listener - A listener to use on this topic. The listener is optional
Source

pub fn create_topic( participant: &DdsParticipant, maybe_topic_prefix: Option<&str>, maybe_qos: Option<DdsQos>, maybe_listener: Option<DdsListener>, ) -> Result<DdsTopic<Self>, DDSError>

Create a topic of this Type using the default topic name. The default topic name is provided by the Self::topic_name function.

§Arguments
  • participant - The participant handle onto which this topic should be created
  • maybe_topic_prefix - An additional prefix to be added to the topic name. This can be None
  • maybe_qos - A QoS structure for this topic. The Qos is optional
  • maybe_listener - A listener to use on this topic. The listener is optional
Source

pub fn create_sample_buffer(len: usize) -> SampleBuffer<BatteryState>

Create a sample buffer for storing an array of samples You can pass the sample buffer into a read to read multiple samples. Multiple samples are useful when you have one or more keys in your topic structure. Each value of the key will result in the storage of another sample.

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for BatteryState

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 BatteryState

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 TopicType for BatteryState

Source§

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

return the cdr encoding for the key. The encoded string includes the four byte encapsulation string.

Source§

fn is_fixed_size() -> bool

Source§

fn has_key() -> bool

Source§

fn force_md5_keyhash() -> bool

Source§

fn hash(&self, basehash: u32) -> u32

Source§

fn typename() -> CString

The type name for this topic
Source§

fn topic_name(maybe_prefix: Option<&str>) -> String

The default topic_name to use when creating a topic of this type. The default implementation uses ‘/’ instead of ‘::’ to form a unix like path. A prefix can optionally be added

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,