Skip to main content

Relay

Struct Relay 

Source
pub struct Relay {
    pub value: bool,
    /* private fields */
}
Expand description

Controls a relay output on the Automation HAT.

Each relay provides a high-power switch controlled by the Raspberry Pi. Relays have both normally open (NO) and normally closed (NC) terminals, which can be used to switch external circuits.

Fields§

§value: bool

Current state of the relay (true = activated/on, false = deactivated/off)

Implementations§

Source§

impl Relay

Source

pub fn new(line: Line, no_led: Option<LED>, nc_led: Option<LED>) -> Self

Creates a new relay instance with automatic LED indication enabled.

§Arguments
  • line - GPIO line connected to the relay
  • no_led - Optional LED for the normally open contact indicator
  • nc_led - Optional LED for the normally closed contact indicator
§Returns

A new Relay instance configured with automatic LED indication

Source

pub fn new_with_auto_light( line: Line, no_led: Option<LED>, nc_led: Option<LED>, auto_light: bool, ) -> Self

Creates a new relay instance with configurable LED indication.

§Arguments
  • line - GPIO line connected to the relay
  • no_led - Optional LED for the normally open contact indicator
  • nc_led - Optional LED for the normally closed contact indicator
  • auto_light - Whether LEDs should automatically reflect relay state
§Returns

A new Relay instance with the specified LED behavior

Source

pub fn write(&mut self, open: bool) -> Result<(), &str>

Sets the state of the relay.

When open is true, the relay is activated:

  • The normally open (NO) contacts close
  • The normally closed (NC) contacts open
  • If auto_light is enabled, the NO LED lights up and NC LED turns off

When open is false, the relay is deactivated:

  • The normally open (NO) contacts open
  • The normally closed (NC) contacts close
  • If auto_light is enabled, the NO LED turns off and NC LED lights up
§Arguments
  • open - The desired state of the relay (true = activated, false = deactivated)
§Returns

A Result indicating success or an error message if the operation failed

Auto Trait Implementations§

§

impl Freeze for Relay

§

impl RefUnwindSafe for Relay

§

impl Send for Relay

§

impl Sync for Relay

§

impl Unpin for Relay

§

impl UnsafeUnpin for Relay

§

impl UnwindSafe for Relay

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> 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, 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.