This is from justinkim/PWM_Tone_Library modified for six octaves.
Fork of PWM_Tone_Library by
pwm_tone.cpp
- Committer:
- MTYarnell
- Date:
- 2017-04-18
- Revision:
- 2:1d3262096227
- Parent:
- 0:d06af372d384
File content as of revision 2:1d3262096227:
/* Includes ------------------------------------------------------------------*/ #include "pwm_tone.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ /** * @brief Tune Function * @param name : Choose the PwmOut period : this param is tune value. (C_3...B_5) beat : this param is beat value. (1..16) 1 means 1/16 beat * @retval None */ void Tune(PwmOut name, int period, int beat) { int delay; delay = beat*63; name.period_us(period); name.write(0.50f); // 50% duty cycle wait_ms(delay); // 1 beat name.period_us(0); // Sound off } /** * @brief Auto tunes Function * @param name : Choose the PwmOut period : this param is tune value. (C_1...B_6) beat : this param is beat value. (1..16) 1 means 1/16 beat * @retval None */ void Auto_tunes(PwmOut name, int period, int beat) { int delay; delay = beat*63; name.period_us(period); name.write(0.50f); // 50% duty cycle wait_ms(delay); } /** * @brief Stop tunes Function * @param name : Choose the PwmOut * @retval None */ void Stop_tunes(PwmOut name) { name.period_us(0); }