Drop the EmbassyUart flush-per-write workaround once embassy-stm32 ships the BufferedUart TX fix
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 20/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- embedded-iot, rust
- Domaine
- embedded-iot
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Rust
- Étoiles
- 101
- Forks
- 20
- Merge moyen
- 2 h 33 min
- PR mergées (30 j)
- 90
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aimdb-dev/aimdb
-
chore: remove stale dead_code allows in aimdb-cli, aimdb-mcp and the zenoh profile modulePeut-être pris @Wizard52007 l’a pris aujourd’hui. Ouverte🏷️ good first issue enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
aimdb-dev/aimdb#462 · 4 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de aimdb-dev/aimdb
Issues similaires
-
Expression with ill-formed typeOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 94/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 2 jours
-
enhancement good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
area:ui
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
openfootmanager/openfootmanager#1365 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
JackMechem/marbble#305 ·
Les mainteneurs répondent en général sous 1 jour