You've already forked TEF6686_ESP32
Added tone function
Added tone function. Syntax: radio.tone(x, y, z); x = length in mS y = Amplitude in dB, -30 to 0 z = Frequency in Hertz. (10 to 20000) Note. After this command the audio is set to Unmute.
This commit is contained in:
@@ -534,6 +534,7 @@ void setup() {
|
||||
ShowBW();
|
||||
setupmode = false;
|
||||
sprite.createSprite(313, 18);
|
||||
radio.tone(50, -5, 2000);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
@@ -423,3 +423,10 @@ uint16_t TEF6686::tune_AM(uint8_t up, uint8_t stepsize) {
|
||||
Radio_SetFreq_AM(Radio_GetCurrentFreq_AM());
|
||||
return Radio_GetCurrentFreq_AM();
|
||||
}
|
||||
|
||||
void TEF6686::tone(uint16_t time, int16_t amplitude, uint16_t frequency) {
|
||||
devTEF_Audio_Set_Mute(0);
|
||||
devTEF_Radio_Set_Wavegen(1, amplitude, frequency);
|
||||
delay (time);
|
||||
devTEF_Radio_Set_Wavegen(0, 0, 0);
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ class TEF6686 {
|
||||
void setStereoLevel(uint16_t start);
|
||||
void setUnMute();
|
||||
void setVolume(int16_t volume);
|
||||
void tone(uint16_t time, int16_t amplitude, uint16_t frequency);
|
||||
uint8_t af_counter;
|
||||
|
||||
private:
|
||||
|
||||
@@ -221,3 +221,14 @@ bool devTEF_Radio_Get_Identification (uint16_t *device, uint16_t *hw_version, ui
|
||||
*sw_version = Convert8bto16b(buf + 4);
|
||||
return r;
|
||||
}
|
||||
|
||||
bool devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq)
|
||||
{
|
||||
if (mode == true) {
|
||||
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 240);
|
||||
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_WaveGen, 15, 5, 0, amplitude*10, freq, amplitude*10 , freq);
|
||||
} else {
|
||||
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 0);
|
||||
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_WaveGen, 15, 0);
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,14 @@ typedef enum
|
||||
Cmd_Set_RDS = 81,
|
||||
Cmd_Get_Quality_Status = 128,
|
||||
Cmd_Get_RDS_Status = 130,
|
||||
Cmd_Get_Signal_Status = 133,
|
||||
Cmd_Get_Signal_Status = 133
|
||||
} TEF_RADIO_COMMAND;
|
||||
|
||||
typedef enum
|
||||
{ Cmd_Set_Volume = 10,
|
||||
Cmd_Set_Mute = 11,
|
||||
Cmd_Set_Input = 12,
|
||||
Cmd_Set_WaveGen = 24
|
||||
} TEF_AUDIO_COMMAND;
|
||||
|
||||
typedef enum
|
||||
@@ -68,3 +70,4 @@ bool devTEF_Radio_Set_Highcut_Level(uint16_t mode, uint16_t start, uint16_t slop
|
||||
bool devTEF_Radio_Set_Highcut_Noise(uint16_t mode, uint16_t start, uint16_t slope);
|
||||
bool devTEF_Radio_Set_Highcut_Mph(uint16_t mode, uint16_t start, uint16_t slope);
|
||||
bool devTEF_Radio_Set_RDS(bool fullsearchrds);
|
||||
bool devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq);
|
||||
Reference in New Issue
Block a user