# serial.rs - source
Source of the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-hal-1.0.0-alpha.1/src/serial.rs`.
Keywords: rust, rustlang, rust-lang

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27

    //! Serial interface

    use nb;

    /// Read half of a serial interface
    ///
    /// Some serial interfaces support different data sizes (8 bits, 9 bits, etc.);
    /// This can be encoded in this trait via the `Word` type parameter.
    pub trait Read<Word> {
        /// Read error
        type Error;

        /// Reads a single word from the serial interface
        fn try_read(&mut self) -> nb::Result<Word, Self::Error>;
    }

    /// Write half of a serial interface
    pub trait Write<Word> {
        /// Write error
        type Error;

        /// Writes a single word to the serial interface
        fn try_write(&mut self, word: Word) -> nb::Result<(), Self::Error>;

        /// Ensures that none of the previously written words are still buffered
        fn try_flush(&mut self) -> nb::Result<(), Self::Error>;
    }