Skip to main content

UartPanicWriter

Struct UartPanicWriter 

Source
pub struct UartPanicWriter<'a> { /* private fields */ }
Expand description

A synchronous writer for the QEMU RV32 useful for panics.

For boards that want to use the UART to display panic messages, this provides an implementation of PanicWriter with synchronous output.

This is only to be used by panic messages and is not used within the normal operation of the Tock kernel.

TODO: Validate this UartPanicWriter is always sound to create.

Trait Implementations§

Source§

impl IoWrite for UartPanicWriter<'_>

Source§

fn write(&mut self, buf: &[u8]) -> usize

§

fn write_ring_buffer(&mut self, buf: &RingBuffer<'_, u8>) -> usize

Source§

impl PanicWriter for UartPanicWriter<'_>

Source§

type Config = UartPanicWriterConfig

The configuration data the mechanism needs to configure the writer for panic output.
Source§

unsafe fn create_panic_writer(config: Self::Config) -> impl IoWrite + Write

Create a new synchronous writer capable of sending panic messages. Read more
Source§

impl Write for UartPanicWriter<'_>

Source§

fn write_str(&mut self, s: &str) -> Result

Writes a string slice into this writer, returning whether the write succeeded. Read more
1.1.0 · Source§

fn write_char(&mut self, c: char) -> Result<(), Error>

Writes a char into this writer, returning whether the write succeeded. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Glue for usage of the write! macro with implementors of this trait. Read more

Auto Trait Implementations§

§

impl<'a> !Freeze for UartPanicWriter<'a>

§

impl<'a> !RefUnwindSafe for UartPanicWriter<'a>

§

impl<'a> !Send for UartPanicWriter<'a>

§

impl<'a> !Sync for UartPanicWriter<'a>

§

impl<'a> !UnwindSafe for UartPanicWriter<'a>

§

impl<'a> Unpin for UartPanicWriter<'a>

§

impl<'a> UnsafeUnpin for UartPanicWriter<'a>

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