#[non_exhaustive]pub enum Value {
Show 14 variants
Boolean(bool),
Integer8(i8),
Integer16(i16),
Integer32(i32),
Unsigned8(u8),
Unsigned16(u16),
Unsigned32(u32),
Real32(f32),
Real64(f64),
Integer64(i64),
Unsigned64(u64),
VisibleString(ByteString),
OctetString(ByteString),
Domain(ByteString),
}Expand description
A typed CANopen value.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Boolean(bool)
A BOOLEAN.
Integer8(i8)
An INTEGER8.
Integer16(i16)
An INTEGER16.
Integer32(i32)
An INTEGER32.
Unsigned8(u8)
An UNSIGNED8.
Unsigned16(u16)
An UNSIGNED16.
Unsigned32(u32)
An UNSIGNED32.
Real32(f32)
A REAL32.
Real64(f64)
A REAL64.
Integer64(i64)
An INTEGER64.
Unsigned64(u64)
An UNSIGNED64.
VisibleString(ByteString)
A VISIBLE_STRING (ASCII/UTF-8 text).
OctetString(ByteString)
An OCTET_STRING (arbitrary bytes).
Domain(ByteString)
A DOMAIN (arbitrary bytes).
Implementations§
Source§impl Value
impl Value
Sourcepub const fn size(&self) -> usize
pub const fn size(&self) -> usize
The encoded size of this value, in bytes. For a variable-length value this is its current content length.
Sourcepub fn encode_le(&self, buf: &mut [u8]) -> Result<usize>
pub fn encode_le(&self, buf: &mut [u8]) -> Result<usize>
Encode this value little-endian into buf, returning the number of
bytes written.
Returns Error::BadLength if buf is smaller than Value::size.
Sourcepub fn decode_le(data_type: DataType, bytes: &[u8]) -> Result<Value>
pub fn decode_le(data_type: DataType, bytes: &[u8]) -> Result<Value>
Decode a little-endian value of data_type from bytes.
For a fixed-size type bytes must be exactly DataType::fixed_size
long; for a variable-length type it may be any length up to
MAX_STRING_LEN. Otherwise returns Error::BadLength.
Trait Implementations§
impl Copy for Value
impl StructuralPartialEq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnsafeUnpin for Value
impl UnwindSafe for Value
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more