Struct Model5

Source
pub struct Model5 {
Show 87 fields pub x: u16, pub off1: u16, pub val1: u16, pub off2: u16, pub val2: u16, pub off3: u16, pub val3: u16, pub off4: u16, pub val4: u16, pub off5: u16, pub val5: u16, pub off6: u16, pub val6: u16, pub off7: u16, pub val7: u16, pub off8: u16, pub val8: u16, pub off9: u16, pub val9: u16, pub off10: u16, pub val10: u16, pub off11: u16, pub val11: u16, pub off12: u16, pub val12: u16, pub off13: u16, pub val13: u16, pub off14: u16, pub val14: u16, pub off15: u16, pub val15: u16, pub off16: u16, pub val16: u16, pub off17: u16, pub val17: u16, pub off18: u16, pub val18: u16, pub off19: u16, pub val19: u16, pub off20: u16, pub val20: u16, pub off21: u16, pub val21: u16, pub off22: u16, pub val22: u16, pub off23: u16, pub val23: u16, pub off24: u16, pub val24: u16, pub off25: u16, pub val25: u16, pub off26: u16, pub val26: u16, pub off27: u16, pub val27: u16, pub off28: u16, pub val28: u16, pub off29: u16, pub val29: u16, pub off30: u16, pub val30: u16, pub off31: u16, pub val31: u16, pub off32: u16, pub val32: u16, pub off33: u16, pub val33: u16, pub off34: u16, pub val34: u16, pub off35: u16, pub val35: u16, pub off36: u16, pub val36: u16, pub off37: u16, pub val37: u16, pub off38: u16, pub val38: u16, pub off39: u16, pub val39: u16, pub off40: u16, pub val40: u16, pub ts: u32, pub ms: u16, pub seq: u16, pub role: u16, pub alg: Alg, pub n: u16,
}
Expand description

Secure Write Request

Include a digital signature along with the control data

Fields§

§x: u16

X

Number of (offset, value) pairs being written

Notes: A max of 50 (offset, value) pairs are allocated

§off1: u16

Offset1

Offset of control register to write value to

§val1: u16

Value1

Value to write to control register at offset

§off2: u16§val2: u16§off3: u16§val3: u16§off4: u16§val4: u16§off5: u16§val5: u16§off6: u16§val6: u16§off7: u16§val7: u16§off8: u16§val8: u16§off9: u16§val9: u16§off10: u16§val10: u16§off11: u16§val11: u16§off12: u16§val12: u16§off13: u16§val13: u16§off14: u16§val14: u16§off15: u16§val15: u16§off16: u16§val16: u16§off17: u16§val17: u16§off18: u16§val18: u16§off19: u16§val19: u16§off20: u16§val20: u16§off21: u16§val21: u16§off22: u16§val22: u16§off23: u16§val23: u16§off24: u16§val24: u16§off25: u16§val25: u16§off26: u16§val26: u16§off27: u16§val27: u16§off28: u16§val28: u16§off29: u16§val29: u16§off30: u16§val30: u16§off31: u16§val31: u16§off32: u16§val32: u16§off33: u16§val33: u16§off34: u16§val34: u16§off35: u16§val35: u16§off36: u16§val36: u16§off37: u16§val37: u16§off38: u16§val38: u16§off39: u16§val39: u16§off40: u16§val40: u16§ts: u32

Timestamp

Timestamp value is the number of seconds since January 1, 2000

§ms: u16

Milliseconds

Millisecond counter 0-999

§seq: u16

Sequence

Sequence number of request

Notes: Shall be advanced for each request

§role: u16

Role

Signing key used 0-5

Notes: Each controller is assigned a key index that maps to their access control role

§alg: Alg

Algorithm

Algorithm used to compute the digital signature

Notes: For future proof

§n: u16

N

Number of registers comprising the digital signature.

Notes: The value of N must be at least 4 (64 bits)

Implementations§

Source§

impl Model5

Source

pub const X: Point<Self, u16>

Source

pub const OFF1: Point<Self, u16>

Source

pub const VAL1: Point<Self, u16>

Source

pub const OFF2: Point<Self, u16>

Source

pub const VAL2: Point<Self, u16>

Source

pub const OFF3: Point<Self, u16>

Source

pub const VAL3: Point<Self, u16>

Source

pub const OFF4: Point<Self, u16>

Source

pub const VAL4: Point<Self, u16>

Source

pub const OFF5: Point<Self, u16>

Source

pub const VAL5: Point<Self, u16>

Source

pub const OFF6: Point<Self, u16>

Source

pub const VAL6: Point<Self, u16>

Source

pub const OFF7: Point<Self, u16>

Source

pub const VAL7: Point<Self, u16>

Source

pub const OFF8: Point<Self, u16>

Source

pub const VAL8: Point<Self, u16>

Source

pub const OFF9: Point<Self, u16>

Source

pub const VAL9: Point<Self, u16>

Source

pub const OFF10: Point<Self, u16>

Source

pub const VAL10: Point<Self, u16>

Source

pub const OFF11: Point<Self, u16>

Source

pub const VAL11: Point<Self, u16>

Source

pub const OFF12: Point<Self, u16>

Source

pub const VAL12: Point<Self, u16>

Source

pub const OFF13: Point<Self, u16>

Source

pub const VAL13: Point<Self, u16>

Source

pub const OFF14: Point<Self, u16>

Source

pub const VAL14: Point<Self, u16>

Source

pub const OFF15: Point<Self, u16>

Source

pub const VAL15: Point<Self, u16>

Source

pub const OFF16: Point<Self, u16>

Source

pub const VAL16: Point<Self, u16>

Source

pub const OFF17: Point<Self, u16>

Source

pub const VAL17: Point<Self, u16>

Source

pub const OFF18: Point<Self, u16>

Source

pub const VAL18: Point<Self, u16>

Source

pub const OFF19: Point<Self, u16>

Source

pub const VAL19: Point<Self, u16>

Source

pub const OFF20: Point<Self, u16>

Source

pub const VAL20: Point<Self, u16>

Source

pub const OFF21: Point<Self, u16>

Source

pub const VAL21: Point<Self, u16>

Source

pub const OFF22: Point<Self, u16>

Source

pub const VAL22: Point<Self, u16>

Source

pub const OFF23: Point<Self, u16>

Source

pub const VAL23: Point<Self, u16>

Source

pub const OFF24: Point<Self, u16>

Source

pub const VAL24: Point<Self, u16>

Source

pub const OFF25: Point<Self, u16>

Source

pub const VAL25: Point<Self, u16>

Source

pub const OFF26: Point<Self, u16>

Source

pub const VAL26: Point<Self, u16>

Source

pub const OFF27: Point<Self, u16>

Source

pub const VAL27: Point<Self, u16>

Source

pub const OFF28: Point<Self, u16>

Source

pub const VAL28: Point<Self, u16>

Source

pub const OFF29: Point<Self, u16>

Source

pub const VAL29: Point<Self, u16>

Source

pub const OFF30: Point<Self, u16>

Source

pub const VAL30: Point<Self, u16>

Source

pub const OFF31: Point<Self, u16>

Source

pub const VAL31: Point<Self, u16>

Source

pub const OFF32: Point<Self, u16>

Source

pub const VAL32: Point<Self, u16>

Source

pub const OFF33: Point<Self, u16>

Source

pub const VAL33: Point<Self, u16>

Source

pub const OFF34: Point<Self, u16>

Source

pub const VAL34: Point<Self, u16>

Source

pub const OFF35: Point<Self, u16>

Source

pub const VAL35: Point<Self, u16>

Source

pub const OFF36: Point<Self, u16>

Source

pub const VAL36: Point<Self, u16>

Source

pub const OFF37: Point<Self, u16>

Source

pub const VAL37: Point<Self, u16>

Source

pub const OFF38: Point<Self, u16>

Source

pub const VAL38: Point<Self, u16>

Source

pub const OFF39: Point<Self, u16>

Source

pub const VAL39: Point<Self, u16>

Source

pub const OFF40: Point<Self, u16>

Source

pub const VAL40: Point<Self, u16>

Source

pub const TS: Point<Self, u32>

Source

pub const MS: Point<Self, u16>

Source

pub const SEQ: Point<Self, u16>

Source

pub const ROLE: Point<Self, u16>

Source

pub const ALG: Point<Self, Alg>

Source

pub const N: Point<Self, u16>

Trait Implementations§

Source§

impl Debug for Model5

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Model for Model5

Source§

const ID: u16 = 5u16

Model ID
Source§

fn from_data(data: &[u16]) -> Result<Self, DecodeError>

Parse model points from a given u16 slice
Source§

fn addr(models: &Models) -> ModelAddr<Self>

Get model address from discovered models struct

Auto Trait Implementations§

§

impl Freeze for Model5

§

impl RefUnwindSafe for Model5

§

impl Send for Model5

§

impl Sync for Model5

§

impl Unpin for Model5

§

impl UnwindSafe for Model5

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.