MODIFIED TO THREAD WAIT
Fork of PWM_Tone_Library by
pwm_tone.cpp
- Committer:
- cyberjoey
- Date:
- 2016-10-21
- Revision:
- 2:1c54db5d1e5e
- Parent:
- 0:d06af372d384
File content as of revision 2:1c54db5d1e5e:
/* 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
Thread::wait(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_3...B_5)
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
Thread::wait(delay);
}
/**
* @brief Stop tunes Function
* @param name : Choose the PwmOut
* @retval None
*/
void Stop_tunes(PwmOut name)
{
name.period_us(0);
}
