docs.rs failed to build embassy-pwm-buzzer-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
embassy-pwm-buzzer
Driver asynchrone no_std pour piloter un buzzer passif (piezo) via PWM matériel.
Conçu pour l'écosystème Embassy, ce driver permet de générer des tonalités musicales et des mélodies sur RP2040 et RP2350 sans charger le processeur, en utilisant les périphériques PWM natifs.
⚡ Caractéristiques
- Contrôle PWM matériel : Calcul dynamique du diviseur pour une clarté sonore optimale avec un cycle de service de 50%.
- Async natif : Intégration totale avec
embassy-timepour des durées précises sans attente active. - Dictionnaire de notes : Fréquences musicales standard incluses (C4, D4, etc.).
- Sécurité et Robustesse :
#![forbid(unsafe_code)]et gestion rigoureuse des limites physiques du PWM. - Agnostique : Compatible avec n'importe quelle puce de la famille RP (Pico 1, Pico 2, etc.).
📦 Installation
Ajoutez ceci à votre Cargo.toml :
[]
= { = "0.1.0", = ["rp235xa"] } # ou "rp2040" ou "rp235xb"
= "0.10"
= "0.5"
🚀 UtilisationJouer une simple noteRustuse
;
use ;
async
Créer une mélodie d'alerte
let melody = ;
for in melody
🔴 Câblage (Exemple RP2350 / Pico 2)
| Broche Buzzer | Connexion | Note |
|---|---|---|
| VCC / +3.3V | GP18 (PWM) | N'importe quelle broche compatible PWM |
| GND / - | GND | Masse commune |
🛠️ Gestion des erreurs
Le driver utilise l'énumération BuzzerError pour assurer la stabilité du système :
- FrequencyTooLow : La fréquence demandée dépasse les capacités du registre 16 bits du PWM.
- FrequencyTooHigh : La fréquence dépasse 20 kHz (limite audible et matérielle).
📜 Licence
GPL-2.0-or-later — Copyright (C) 2026 Jorge Andre Castro.