#[repr(C, packed)]
pub struct Error { pub value: u8, }
Expand description

reg.udral.service.battery.Error.0.1

Fixed size 1 bytes

Generic error codes reported by the service provider. An error is reported when the corresponding parameter exceeds its safe operating area (SOA) as defined by the vendor; see https://en.wikipedia.org/wiki/Safe_operating_area. As long as an error condition is present, the service health should not be NOMINAL.

If there are multiple error conditions present, the most severe one should be reported. The severity ordering is implementation-defined. Barring special requirements, it is recommended to give preference to errors whose code is smaller (e.g., BAD_BATTERY trumps TEMPERATURE_COLD).

Fields§

§value: u8

saturated uint8

Always aligned, size 8 bits

Implementations§

source§

impl Error

source

pub const NONE: u8 = 0u8

Normal operation.

source

pub const BAD_BATTERY: u8 = 10u8

The battery should not be used anymore. Detection criteria are implementation-defined.

source

pub const NEEDS_SERVICE: u8 = 11u8

The battery requires offline maintenance.

source

pub const BMS_ERROR: u8 = 20u8

An internal error in the battery management system, not related to the battery itself.

source

pub const CONFIGURATION: u8 = 30u8

The battery/BMS/node/service configuration is missing or invalid.

source

pub const OVERDISCHARGE: u8 = 50u8

The battery is discharged beyond the design limits and may have incurred damage.

source

pub const OVERLOAD: u8 = 51u8

The charge or discharge rate exceeds the safe operating limits.

source

pub const CELL_OVERVOLTAGE: u8 = 60u8

source

pub const CELL_UNDERVOLTAGE: u8 = 61u8

Voltage of one of the battery cells exceeds its SOA.

source

pub const CELL_COUNT: u8 = 62u8

The sum of cell voltages is far from the total pack voltage. The threshold is implementation-defined.

source

pub const TEMPERATURE_HOT: u8 = 100u8

source

pub const TEMPERATURE_COLD: u8 = 101u8

At least one cell is above/below the temperature SOA.

Trait Implementations§

source§

impl AsBytes for Errorwhere u8: AsBytes,

source§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
source§

fn as_bytes_mut(&mut self) -> &mut [u8]where Self: FromBytes,

Gets the bytes of this value mutably. Read more
source§

fn write_to<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,

Writes a copy of self to bytes. Read more
source§

fn write_to_prefix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,

Writes a copy of self to the prefix of bytes. Read more
source§

fn write_to_suffix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,

Writes a copy of self to the suffix of bytes. Read more
source§

impl DataType for Error

source§

const EXTENT_BYTES: Option<u32> = None

This type is sealed.

source§

impl Deserialize for Error

source§

fn deserialize(cursor: &mut ReadCursor<'_>) -> Result<Self, DeserializeError>where Self: Sized,

Deserializes a value and returns it
source§

fn deserialize_zero_copy(cursor: &mut ReadCursor<'_>) -> Selfwhere Self: Sized + AsBytes + FromBytes,

Deserializes a value from a slice of bytes and returns it Read more
source§

fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, DeserializeError>where Self: Sized,

A convenience function that creates a cursor around the provided bytes and calls deserialize
source§

impl FromBytes for Errorwhere u8: FromBytes,

source§

fn read_from<B>(bytes: B) -> Option<Self>where B: ByteSlice, Self: Sized,

Reads a copy of Self from bytes. Read more
source§

fn read_from_prefix<B>(bytes: B) -> Option<Self>where B: ByteSlice, Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
source§

fn read_from_suffix<B>(bytes: B) -> Option<Self>where B: ByteSlice, Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
source§

fn new_zeroed() -> Selfwhere Self: Sized,

Creates an instance of Self from zeroed bytes.
source§

impl Serialize for Error

source§

fn size_bits(&self) -> usize

Returns the size of the encoded form of this value, in bits Read more
source§

fn serialize(&self, cursor: &mut WriteCursor<'_>)

Serializes this value into a buffer Read more
source§

fn serialize_to_bytes(&self, bytes: &mut [u8])

A convenience function that creates a cursor around the provided bytes and calls serialize
source§

impl Message for Error

Auto Trait Implementations§

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere U: TryFrom<T>,

§

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.