nxp-pac

Crates

git

Versions

mcxa577

Flavors

MacSystemTimeNanosecondsUpdate

Struct MacSystemTimeNanosecondsUpdate 

Source
#[repr(transparent)]
pub struct MacSystemTimeNanosecondsUpdate(pub u32);
Expand description

F70RM Rev. 1 section 51.7.1.32; manual text line 152548.

Tuple Fields§

§0: u32

Implementations§

Source§

impl MacSystemTimeNanosecondsUpdate

Source

pub const fn tsss(&self) -> u32

Timestamp Sub Seconds. The value in this field is the sub-seconds part of the update. - ADDSUB is 1: This field must be programmed with the complement of the sub-seconds part of the update value as described. Note: When ADDSUB is 1 and sub-seconds update must be 0 the TSSS field value must be programmed to the following value based on TSCTRLSSR: – TSCTRLSSR=1, TSSS=10^9=0x3B9A_CA00 – TSCTRLSSR=0, TSSS=2^31=0x8000_0000, as this cannot be accommodated in the 31 bit wide TSSS field, program (2^31)-1=0x7FFF_FFFF - ADDSUB is 0: This field must be programmed with the sub-seconds part of the update value, with an accuracy based on the TSCTRLSSR bit of the MAC_Timestamp_Control register. - TSCTRLSSR field in the MAC_Timestamp_Control register is 1: – The programmed value must be 10^9 - sub-second value. – Each bit represents 1 ns and the programmed value must not exceed 0x3B9A_C9FF. - TSCTRLSSR field in the MAC_Timestamp_Control register is 0: – The programmed value must be 2^31 - sub-second_value. – Each bit represents an accuracy of 0.46 ns. For example, to subtract 2.000000001 seconds from the system time, then the TSSS field in the MAC_Timestamp_Nanoseconds_Update register must be 0x7FFF_FFFF (that is, 2^31 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is reset and 0x3B9A_C9FF (that is, 10^9 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is set.

Source

pub const fn set_tsss(&mut self, val: u32)

Timestamp Sub Seconds. The value in this field is the sub-seconds part of the update. - ADDSUB is 1: This field must be programmed with the complement of the sub-seconds part of the update value as described. Note: When ADDSUB is 1 and sub-seconds update must be 0 the TSSS field value must be programmed to the following value based on TSCTRLSSR: – TSCTRLSSR=1, TSSS=10^9=0x3B9A_CA00 – TSCTRLSSR=0, TSSS=2^31=0x8000_0000, as this cannot be accommodated in the 31 bit wide TSSS field, program (2^31)-1=0x7FFF_FFFF - ADDSUB is 0: This field must be programmed with the sub-seconds part of the update value, with an accuracy based on the TSCTRLSSR bit of the MAC_Timestamp_Control register. - TSCTRLSSR field in the MAC_Timestamp_Control register is 1: – The programmed value must be 10^9 - sub-second value. – Each bit represents 1 ns and the programmed value must not exceed 0x3B9A_C9FF. - TSCTRLSSR field in the MAC_Timestamp_Control register is 0: – The programmed value must be 2^31 - sub-second_value. – Each bit represents an accuracy of 0.46 ns. For example, to subtract 2.000000001 seconds from the system time, then the TSSS field in the MAC_Timestamp_Nanoseconds_Update register must be 0x7FFF_FFFF (that is, 2^31 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is reset and 0x3B9A_C9FF (that is, 10^9 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is set.

Source

pub const fn addsub(&self) -> bool

Add or Subtract Time. When this bit is set, the time value is subtracted with the contents of the update register. When this bit is reset, the time value is added with the contents of the update register. 0b - Add time 1b - Subtract time

Source

pub const fn set_addsub(&mut self, val: bool)

Add or Subtract Time. When this bit is set, the time value is subtracted with the contents of the update register. When this bit is reset, the time value is added with the contents of the update register. 0b - Add time 1b - Subtract time

Trait Implementations§

Source§

impl Clone for MacSystemTimeNanosecondsUpdate

Source§

fn clone(&self) -> MacSystemTimeNanosecondsUpdate

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MacSystemTimeNanosecondsUpdate

Source§

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

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

impl Default for MacSystemTimeNanosecondsUpdate

Source§

fn default() -> MacSystemTimeNanosecondsUpdate

Returns the “default value” for a type. Read more
Source§

impl PartialEq for MacSystemTimeNanosecondsUpdate

Source§

fn eq(&self, other: &MacSystemTimeNanosecondsUpdate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MacSystemTimeNanosecondsUpdate

Source§

impl Eq for MacSystemTimeNanosecondsUpdate

Source§

impl StructuralPartialEq for MacSystemTimeNanosecondsUpdate

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.