dclause/hermes-five

Add support for passive buzzers with note/melody playback

Aperta

#25 aperta il 15 giu 2025

 (0 commenti) (0 reazioni) (0 assegnatari)Rust (1 fork)auto 404
feature requestgood first issue

Metriche repository

Star
 (37 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Motivation: Passive buzzers are commonly used for generating tones, beeps, or simple melodies in embedded systems. Supporting them would allow users to easily play musical notes or sound alerts using standard GPIO/PWM outputs.

Proposal: Introduce a passive buzzer (named Buzzer or Tone ?) component capable of:

  • Playing individual notes with configurable frequency and duration
  • Playing melodies based on a standard format (e.g., Robson Couto’s melody format)

Format Consideration: Robson Couto’s format (e.g., "NOTE_E5,8, NOTE_D5,8, NOTE_C5,4") is simple and Arduino-compatible. Alternative formats (e.g., RTTTL or Music Macro Language) can be evaluated for future extensibility.

Scope:

  • Buzzer abstraction over GPIO or PWM
  • Basic melody parser/interpreter
  • Non-blocking (task) playback support

Impact: Adds a new component. No impact on existing APIs.

Future Extensions:

  • Support for RTTTL or external melody files ?
  • Dynamic tempo changes ?

Guida contributor