What
Implement and upstream a safe, idiomatic Rust wrapper over the raw Rust bindings to the blocking UART polling API. This is necessary to get the base in for async support which is actually needed by the uart-service. See PoC implementation as a start.
Additionally, implement the embedded-io trait as this is a common interface in the Rust community.
Why
The uart-service relies on uart drivers. To make use of Zephyr's fuel uart drivers by the uart-service, they must be wrapped in a safe Rust API.
Out of scope
What
Implement and upstream a safe, idiomatic Rust wrapper over the raw Rust bindings to the blocking UART polling API. This is necessary to get the base in for async support which is actually needed by the
uart-service. See PoC implementation as a start.Additionally, implement the
embedded-iotrait as this is a common interface in the Rust community.Why
The
uart-servicerelies on uart drivers. To make use of Zephyr's fuel uart drivers by the uart-service, they must be wrapped in a safe Rust API.Out of scope