evert-arias / EasyBuzzer

The Beep Library For Arduino
https://evert-arias.github.io/EasyBuzzer
MIT License
84 stars 22 forks source link

mOnDuration value changes permanently, is it bug or feature? #22

Open mrNo0b opened 1 year ago

mrNo0b commented 1 year ago

I use this library with ESP32 Devkit v1 I noticed that if I call EasyBuzzer.singleBeep(720, 600); for example, it will set beep duration to 600. but then if I call EasyBuzzer.beep(420, 2); this should beep twice, but because I called the singleBeep before with duration of 600 now when I call beep it will also have duration of 600. I don't know if its a bug or by design but I don't think its the correct/expected behavior...

Steps to reproduce:

  1. run beep function first - it should play for the default duration (100)
  2. run singleBeep function and set the duration parameter
  3. run beep function again - now it will have the duration that you set when called singleBeep

To quickly "fix" it I added this code:

  mOnDuration = DEFAULT_ON_DURATION;
  mOffDuration = DEFAULT_OFF_DURATION;
  mPauseDuration = DEFAULT_PAUSE_DURATION;

inside the if statement at https://github.com/evert-arias/EasyBuzzer/blob/b0143ddaae6ce55ad378b67ac5f897b4839b1692/src/EasyBuzzer.cpp#L123 I don't think its the best fix but it worked...