Skip to main content

CommandInterfaceView

Struct CommandInterfaceView 

Source
pub struct CommandInterfaceView<'a> {
    pub command: &'a mut u16,
    pub command_code: &'a mut u32,
    pub command_arg_1: &'a mut f64,
    pub command_arg_2: &'a mut f64,
    pub command_status: &'a mut u16,
    pub command_result: &'a mut f64,
}
Expand description

View struct for mapping command interface signals to GlobalMemory fields.

Create one of these each scan cycle by borrowing the appropriate fields from your GlobalMemory struct, then pass it to CommandInterface::call.

§Example

fn cmd_view(gm: &mut GlobalMemory) -> CommandInterfaceView<'_> {
    CommandInterfaceView {
        command:        &mut gm.robot_command,
        command_code:   &mut gm.robot_command_code,
        command_arg_1:  &mut gm.robot_arg_1,
        command_arg_2:  &mut gm.robot_arg_2,
        command_status: &mut gm.robot_status,
        command_result: &mut gm.robot_result,
    }
}

Fields§

§command: &'a mut u16

Request from external source (CommandRequest values stored as u16).

§command_code: &'a mut u32

Identifies the specific command to execute.

§command_arg_1: &'a mut f64

First argument to the command. Meaning is defined per command code.

§command_arg_2: &'a mut f64

Second argument to the command. Meaning is defined per command code.

§command_status: &'a mut u16

Current status of the interface (CommandStatus values stored as u16).

§command_result: &'a mut f64

Result value from the most recently completed command.

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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V