Skip to main content

LED

Struct LED 

Source
pub struct LED {
    pub brightness: f64,
    /* private fields */
}
Expand description

Represents a single LED on the Automation HAT.

The LED struct provides control over a single LED, allowing it to be turned on/off or set to a specific brightness level. LEDs are controlled through the SN3218 LED driver chip which supports 18 channels with 255 brightness levels each.

Fields§

§brightness: f64

Current brightness value (0.0-1.0)

Implementations§

Source§

impl LED

Source

pub fn new(driver: Arc<Mutex<SN3218<I2cdev>>>, channel: u8) -> Self

Creates a new LED instance for the specified channel.

§Arguments
  • driver - Shared reference to the SN3218 LED driver
  • channel - The channel number (0-17) on the SN3218 chip
§Returns

A new LED instance initialized to off (brightness 0.0)

Source

pub fn on(&mut self) -> Result<(), Box<dyn Error>>

Turns the LED on at full brightness.

§Returns

A Result indicating success or containing an error

Source

pub fn off(&mut self) -> Result<(), Box<dyn Error>>

Turns the LED off (brightness 0.0).

§Returns

A Result indicating success or containing an error

Source

pub fn toggle(&mut self) -> Result<(), Box<dyn Error>>

Toggles the LED between on and off states.

If the LED is currently off (brightness 0.0), it will be turned on. Otherwise, it will be turned off.

§Returns

A Result indicating success or containing an error

Source

pub fn set_brightness(&mut self, brightness: f64) -> Result<(), Box<dyn Error>>

Sets the LED brightness to a specific value.

§Arguments
  • brightness - A value between 0.0 (off) and 1.0 (full brightness)
§Returns

A Result indicating success or containing an error

§Errors

Returns an error if the brightness value is outside the valid range of 0.0 to 1.0, or if communication with the LED driver fails.

Source

pub fn set(&mut self, brightness: f64) -> Result<(), Box<dyn Error>>

Alias for set_brightness - sets the LED to a specific brightness.

§Arguments
  • brightness - A value between 0.0 (off) and 1.0 (full brightness)
§Returns

A Result indicating success or containing an error

Trait Implementations§

Source§

impl Clone for LED

Implement Clone for LED to allow LED objects to be duplicated. This is useful when the same LED needs to be shared between multiple components.

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for LED

Implement Debug for LED to allow for easier debugging and printing of LED objects.

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for LED

§

impl RefUnwindSafe for LED

§

impl Send for LED

§

impl Sync for LED

§

impl Unpin for LED

§

impl UnsafeUnpin for LED

§

impl UnwindSafe for LED

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

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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, 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<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.