Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add transmission done query mechanism to embedded-io serial traits (nonblocking flush).

Aperta
#656 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
embedded-iot

Direzione di ricerca

Start with the embedded-io serial traits and blocking flush() in src/lib.rs, then compare the ReadReady and WriteReady traits and the embedded-io-async boundary. Determine the appropriate nonblocking transmission-completion mechanism for serial traits. Done means the traits support checking transmission completion without blocking while preserving the existing blocking API, with coverage for the new behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The original serial traits supported the flush() -> nb::Result<> variant that could return WouldBlock. This was useful in async code that could wait for serial TxDone interrupt to trigger before checking again.

The traits in embedded-io only have blocking flush() call.

It could be argued that embedded-io contains only the blocking traits and embedded-io-async should be implemented for the non-blocking variants. However the ReadReady and WriteReady traits show that the non-blocking use case is important too.

Lingua principale
Rust
Stelle
2.7k
Fork
283
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-embedded/embedded-hal

Tutte le issue di rust-embedded/embedded-hal

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.