Word

Struct Word 

Source
pub struct Word { /* private fields */ }
Expand description

A single MIL-STD-1553B word

Format:

  • 1 start bit (always 0 for valid Manchester encoding)
  • 16 data bits
  • 1 parity bit (odd parity over all 17 bits)
  • 2 synchronization bits

Total: 20 bits

Implementations§

Source§

impl Word

Source

pub fn new(data: u32, word_type: WordType) -> Result<Self>

Create a new word with validation

The 16 data bits should be in bits 16:1, parity in bit 17

Source

pub fn new_unchecked(data: u32, word_type: WordType) -> Self

Create a word without parity validation

Use with caution - only for constructing test data or when parity will be verified separately

Source

pub fn data(&self) -> u32

Get the raw word data (20 bits)

Source

pub fn word_type(&self) -> WordType

Get the word type

Source

pub fn get_data_bits(&self) -> u16

Extract the 16 data bits (bits 16-1)

Source

pub fn get_parity_bit(&self) -> bool

Extract the parity bit (bit 17)

Source

pub fn get_sync_bits(&self) -> u8

Extract the sync bits (bits 19-18)

Source

pub fn calculate_parity(data_bits: u16) -> u8

Calculate and set the correct parity bit for a word

Trait Implementations§

Source§

impl Clone for Word

Source§

fn clone(&self) -> Word

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 Word

Source§

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

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

impl Display for Word

Source§

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

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

impl PartialEq for Word

Source§

fn eq(&self, other: &Word) -> 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 Word

Source§

impl Eq for Word

Source§

impl StructuralPartialEq for Word

Auto Trait Implementations§

§

impl Freeze for Word

§

impl RefUnwindSafe for Word

§

impl Send for Word

§

impl Sync for Word

§

impl Unpin for Word

§

impl UnwindSafe for Word

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.