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: boolCurrent state of the relay (true = activated/on, false = deactivated/off)
Implementations§
Source§impl Relay
impl Relay
Sourcepub fn new(line: Line, no_led: Option<LED>, nc_led: Option<LED>) -> Self
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 relayno_led- Optional LED for the normally open contact indicatornc_led- Optional LED for the normally closed contact indicator
§Returns
A new Relay instance configured with automatic LED indication
Sourcepub fn new_with_auto_light(
line: Line,
no_led: Option<LED>,
nc_led: Option<LED>,
auto_light: bool,
) -> Self
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 relayno_led- Optional LED for the normally open contact indicatornc_led- Optional LED for the normally closed contact indicatorauto_light- Whether LEDs should automatically reflect relay state
§Returns
A new Relay instance with the specified LED behavior
Sourcepub fn write(&mut self, open: bool) -> Result<(), &str>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.