Pattern

Struct Pattern 

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

A blinking pattern encoded as a u32

These patterns are used with a Blinq

Implementations§

Source§

impl Pattern

Source

pub const fn from_u32(pattern: u32, used: u8) -> Self

Create a new pattern from a u32

Note: if used is larger than 32, it will cause a compile time error. In the future this will silently truncate to 32.

§Example
use blinq::Pattern;

// This is a blink with a 25% on, 75% off duty cycle
let on_off = Pattern::from_u32(0b1000, 4);
Source

pub const fn append(&self, other: &Pattern) -> Pattern

Create new pattern by appending one to the other

Note: If self.used + other.used is greater than 32, the pattern will be truncated. If self.used is greater than 32, this will fail to compile. In the future, this will silently truncate to 32.

§Example
use blinq::Pattern;

// This is on for a single step
let on = Pattern::from_u32(0b1, 1);

// This is off for three steps
let off = Pattern::from_u32(0b000, 3);

// This is on for a single step, then off for 3
let on_off = on.append(&off);
Source

pub const fn reverse(&self) -> Pattern

Reverse the bit pattern, keeping the same length

§Example
use blinq::Pattern;

// This is a blink with a 25% on, 75% off duty cycle
let on_off = Pattern::from_u32(0b1000, 4);

// This is a blink with a 75% off, 25% on duty cycle
let off_on = on_off.reverse();

Trait Implementations§

Source§

impl Clone for Pattern

Source§

fn clone(&self) -> Pattern

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

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.