#[non_exhaustive]
pub enum Event { TransmitDataRegisterEmtpy, CtsInterrupt, TransmissionComplete, ReceiveDataRegisterNotEmpty, OverrunError, Idle, ParityError, NoiseError, FramingError, LinBreak, CharacterMatch, ReceiverTimeout, }
Expand description

Interrupt and status events.

All events can be cleared by Serial::clear_event or Serial::clear_events. Some events are also cleared on other conditions.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

TransmitDataRegisterEmtpy

Transmit data register empty / new data can be sent.

This event is set by hardware when the content of the TDR register has been transferred into the shift register. It is cleared by Serials serial::Write::write() implementation to the TDR register.

§

CtsInterrupt

CTS (Clear to Send) event.

This event is set by hardware when the CTS input toggles, if the CTSE bit is set.

§

TransmissionComplete

Transmission complete

This event is set by hardware if the transmission of a frame containing data is complete and if TXE is set. It is cleared by Serials serial::Write::write() implementaiton to the USART_TDR register.

§

ReceiveDataRegisterNotEmpty

Read data register not empty / new data has been received.

This event is set by hardware when the content of the RDR shift register has been transferred to the RDR register. It is cleared by Serials serial::Read::read() to the USART_RDR register.

§

OverrunError

Overrun Error detected.

This event is set by hardware when the data currently being received in the shift register is ready to be transferred into the RDR register while Event::ReceiveDataRegisterNotEmpty is set.

See Error::Overrun for a more detailed description.

§

Idle

Idle line state detected.

This event is set by hardware when an Idle Line is detected.

§

ParityError

Parity error detected.

This event is set by hardware when a parity error occurs in receiver mode.

Parity can be configured by using config::Parity to create a config::Config.

§

NoiseError

Noise error detected.

This event is set by hardware when noise is detected on a received frame.

§

FramingError

Framing error detected

This event is set by hardware when a de-synchronization, excessive noise or a break character is detected.

§

LinBreak

LIN break

This bit is set by hardware when the LIN break is detected.

§

CharacterMatch

The received character matched the configured character.

The matching character can be configured with Serial::match_character()

§

ReceiverTimeout

Nothing was received since the last received character for Serial::receiver_timeout() amount of time.

Note

Never set for UART peripheral, which does not have ReceiverTimeoutExt implemented.

Trait Implementations§

source§

impl<O: Into<EnumSet<Event>>> BitAnd<O> for Event

§

type Output = EnumSet<Event>

The resulting type after applying the & operator.
source§

fn bitand(self, other: O) -> Self::Output

Performs the & operation. Read more
source§

impl<O: Into<EnumSet<Event>>> BitOr<O> for Event

§

type Output = EnumSet<Event>

The resulting type after applying the | operator.
source§

fn bitor(self, other: O) -> Self::Output

Performs the | operation. Read more
source§

impl<O: Into<EnumSet<Event>>> BitXor<O> for Event

§

type Output = EnumSet<Event>

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: O) -> Self::Output

Performs the ^ operation. Read more
source§

impl Clone for Event

source§

fn clone(&self) -> Self

Returns a copy 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 Event

source§

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

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

impl EnumSetTypePrivate for Event

§

type Repr = u16

The underlying type used to store the bitset.
source§

const ALL_BITS: Self::Repr = {transmute(0x0fff): <serial::Event as enumset::__internal::EnumSetTypePrivate>::Repr}

A mask of bits that are valid in the bitset.
source§

const BIT_WIDTH: u32 = 12u32

The largest bit used in the bitset.
source§

const VARIANT_COUNT: u32 = 12u32

The number of variants in the bitset.
source§

fn enum_into_u32(self) -> u32

Converts an enum of this type into its bit position.
source§

unsafe fn enum_from_u32(val: u32) -> Self

Converts a bit position into an enum value.
source§

impl From<Error> for Event

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl Not for Event

§

type Output = EnumSet<Event>

The resulting type after applying the ! operator.
source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
source§

impl PartialEq<EnumSet<Event>> for Event

source§

fn eq(&self, other: &EnumSet<Event>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for Event

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<O: Into<EnumSet<Event>>> Sub<O> for Event

§

type Output = EnumSet<Event>

The resulting type after applying the - operator.
source§

fn sub(self, other: O) -> Self::Output

Performs the - operation. Read more
source§

impl TryFrom<Event> for Error

§

type Error = TryFromEventError

The type returned in the event of a conversion error.
source§

fn try_from(event: Event) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Copy for Event

source§

impl EnumSetType for Event

source§

impl Eq for Event

Auto Trait Implementations§

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnwindSafe for Event

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.