#[repr(C, packed)]
pub struct _0 {}
Expand description

reg.udral.service.actuator.common.sp._.0.1

Fixed size 0 bytes

This is a collection of weakly-typed primitives used to control groups of actuators synchronously.

Actuators are expected to subscribe using the largest array type. Publishers would choose the array type depending on the number of actuators in the group. The actuators would be expecting the largest array type, where the missing elements will be zero-filled automatically by the protocol stack thanks to the Implicit Zero Extension Rule (refer to the Cyphal Specification for details).

The physical meaning of the values contained in the array is defined by the respective actuator service specification. If ratiometric control is used, then the range should be [-1, +1].

It follows that a standalone actuator (that is not a member of any group) is just a special case of a group of 1, where the setpoint type is a single scalar.

The Cyphal Specification might benefit from supporting flexible array fields to avoid having to deal with redundant similar types: https://en.wikipedia.org/wiki/Flexible_array_member, so that instead of having multiple types that differ only in size of the array fields, one could just say float16[0] value such that the size of zero indicates that the array is a flex array.

Implementations§

source§

impl _0

source

pub const EPSILON: f16 = _

The float epsilon defined for convenience. See https://en.wikipedia.org/wiki/Machine_epsilon.

Trait Implementations§

source§

impl AsBytes for _0

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 _0

source§

const EXTENT_BYTES: Option<u32> = _

This type is delimited with an extent of 0 bytes.

source§

impl Deserialize for _0

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 _0

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 _0

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 _0

Auto Trait Implementations§

§

impl RefUnwindSafe for _0

§

impl Send for _0

§

impl Sync for _0

§

impl Unpin for _0

§

impl UnwindSafe for _0

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.