1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * ESP32Tone.cpp
- *
- * Created on: Sep 23, 2018
- * Author: hephaestus
- */
- #include "ESP32Tone.h"
- void tone(int APin,unsigned int frequency){
- ESP32PWM* chan = pwmFactory(APin);
- if (chan == NULL) {
- chan = new ESP32PWM();
- }
- if(!chan->attached()){
- chan->attachPin(APin,frequency, 10); // This adds the PWM instance to the factory list
- //Serial.println("Attaching tone : "+String(APin)+" on PWM "+String(chan->getChannel()));
- }
- chan->writeTone(frequency);// update the time base of the PWM
- }
- void tone(int pin, unsigned int frequency, unsigned long duration){
- tone(pin,frequency);
- delay(duration);
- noTone(pin);
- }
- void noTone(int pin){
- ESP32PWM* chan = pwmFactory(pin);
- if (chan != NULL) {
- if(chan->attached())
- {
- chan->detachPin(pin);
- delete chan;
- }
- }
- }
|