Drop the EmbassyUart flush-per-write workaround once embassy-stm32 ships the BufferedUart TX fix
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Refactoring
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- embedded-iot, rust
- Bereich
- embedded-iot
Rechercherichtung
The workaround lives in aimdb-embassy-adapter/src/io.rs, where EmbassyUart and EmbassyUartWriter route write_all through write_all_flushed; the flush-count assertions are in that file's tests. Bump embassy-stm32 in the workspace Cargo.toml only once a release containing upstream commit 560ad7e91 exists, then switch to plain write_all and update CHANGELOG.md. Done means the NUCLEO-H563ZI full record.list reply arrives on fresh boot with no RX traffic, which needs hardware and is not a newcomer task yet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Tracking issue for option 1 of #382.
Background
embassy-stm32 0.6.0's BufferedUart::write returns Poll::Pending without registering a TX waker when the ring has less free space than the chunk, so the first large reply after boot stalls after 256 B (see #382). #384 works around it in aimdb-embassy-adapter/src/io.rs: EmbassyUart's write_all (and the split writer's) goes through write_all_flushed, which flushes after every chunk. That costs a short gap on the line every 64 B.
Upstream fixed it on embassy main in 560ad7e91 ("stm32: fix embedded_io::Write impl for BufferedUartTx", 2026-07-17). It is not in a crates.io release yet; 0.6.0 is still the latest. Pinning embassy-stm32 to a git rev alone does not resolve (embassy-time-driver conflict), so it would mean moving the whole embassy-* family to git.
To do once a release with 560ad7e91 is out
- Bump
embassy-stm32in the workspaceCargo.toml(and any embassy-* crates it pulls along). - Replace
write_all_flushedwith plainwrite_allinEmbassyUartandEmbassyUartWriter; revert the flush-count assertions in theio.rstests. - Drop the workaround's
Fixednote fromaimdb-embassy-adapter/CHANGELOG.md, or record the removal. - Re-verify on the NUCLEO-H563ZI: fresh boot →
serial_demo client(orserial_demo raw … record.list) straight away, on the serial, MQTT and KNX demos. The fullrecord.listreply must arrive without any RX traffic to kick it. TheaimdbCLI is not a valid check: its smallhelloreply arms the waker first, so it passes even on unfixed firmware.
- Vorherrschende Sprache
- Rust
- Sterne
- 101
- Forks
- 20
- Ø Merge
- 2 Std. 33 Min.
- Gemergte PRs (30 T.)
- 90
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus aimdb-dev/aimdb
-
chore: remove stale dead_code allows in aimdb-cli, aimdb-mcp and the zenoh profile moduleEvtl. vergeben @Wizard52007 hat das heute übernommen. Offen🏷️ good first issue enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
aimdb-dev/aimdb#462 · 4 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in aimdb-dev/aimdb
Ähnliche Issues
-
SPLADE `/embed_sparse` output depends on the other inputs in the batch (candle BertModel / DistilBertModel)Evtl. vergeben @0z5a hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
huggingface/text-embeddings-inference#979 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
servo/rust-smallvec#874 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 94/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 2 Tagen
-
ci enhancement need-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag