TEF library update

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-02-19 19:46:46 +01:00
parent 3753dc8127
commit 69058e1d0d
2 changed files with 131 additions and 131 deletions

View File

@@ -5,7 +5,7 @@
#define Low_16bto8b(a) ((uint8_t)(a ))
#define Convert8bto16b(a) ((uint16_t)(((uint16_t)(*(a))) << 8 |((uint16_t)(*(a+1)))))
bool devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...) {
void devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...) {
uint16_t i;
uint8_t buf[20];
uint16_t temp;
@@ -22,7 +22,7 @@ bool devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...) {
}
va_end(vArgs);
return Tuner_WriteBuffer(buf, len);
Tuner_WriteBuffer(buf, len);
}
bool devTEF_Get_Cmd(TEF_MODULE module, uint8_t cmd, uint8_t *receive, uint16_t len) {
@@ -35,153 +35,153 @@ bool devTEF_Get_Cmd(TEF_MODULE module, uint8_t cmd, uint8_t *receive, uint16_t l
return Tuner_ReadBuffer(receive, len);
}
bool devTEF_Radio_Tune_To (uint16_t frequency) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, frequency);
void devTEF_Radio_Tune_To (uint16_t frequency) {
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, frequency);
}
bool devTEF_Radio_Tune_AM (uint16_t frequency) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Tune_To, 7, 1, frequency);
void devTEF_Radio_Tune_AM (uint16_t frequency) {
devTEF_Set_Cmd(TEF_AM, Cmd_Tune_To, 7, 1, frequency);
}
bool devTEF_Radio_Set_Bandwidth(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Bandwidth, 11, mode, bandwidth, control_sensitivity, low_level_sensitivity);
void devTEF_Radio_Set_Bandwidth(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Bandwidth, 11, mode, bandwidth, control_sensitivity, low_level_sensitivity);
}
bool devTEF_Radio_Set_BandwidthAM(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_Bandwidth, 7, mode, bandwidth, control_sensitivity, low_level_sensitivity);
void devTEF_Radio_Set_BandwidthAM(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_Bandwidth, 7, mode, bandwidth, control_sensitivity, low_level_sensitivity);
}
bool devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_NoiseBlanker, 7, mode, start);
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_NoiseBlanker_Audio, 7, mode, 1000);
void devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_NoiseBlanker, 7, mode, start);
devTEF_Set_Cmd(TEF_AM, Cmd_Set_NoiseBlanker_Audio, 7, mode, 1000);
}
bool devTEF_Radio_Set_Attenuator_AM(uint16_t start) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_Antenna, 5, start);
void devTEF_Radio_Set_Attenuator_AM(uint16_t start) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_Antenna, 5, start);
}
bool devTEF_Radio_Set_CoChannel_AM(uint8_t mode, uint16_t start, uint8_t level) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_CoChannelDet, 11, mode, 2, start, 1000, level);
void devTEF_Radio_Set_CoChannel_AM(uint8_t mode, uint16_t start, uint8_t level) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_CoChannelDet, 11, mode, 2, start, 1000, level);
}
bool devTEF_Radio_Set_LevelOffset(int16_t offset) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_LevelOffset, 5, offset - 70);
void devTEF_Radio_Set_LevelOffset(int16_t offset) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_LevelOffset, 5, offset - 70);
}
bool devTEF_Radio_Set_AMLevelOffset(int16_t offset) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_LevelOffset, 5, offset - 70);
void devTEF_Radio_Set_AMLevelOffset(int16_t offset) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_LevelOffset, 5, offset - 70);
}
bool devTEF_Radio_Set_RDS(bool fullsearchrds) {
if (fullsearchrds) return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 3, 1, 0); else return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 1, 1, 0);
void devTEF_Radio_Set_RDS(bool fullsearchrds) {
if (fullsearchrds) devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 3, 1, 0); else devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 1, 1, 0);
}
bool devTEF_Radio_Set_Highcut_Level(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Level, 9, mode, start, slope);
void devTEF_Radio_Set_Highcut_Level(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Level, 9, mode, start, slope);
}
bool devTEF_Radio_Set_Highcut_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Noise, 9, mode, start, slope);
void devTEF_Radio_Set_Highcut_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Noise, 9, mode, start, slope);
}
bool devTEF_Radio_Set_Highcut_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Mph, 9, mode, start, slope);
void devTEF_Radio_Set_Highcut_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Mph, 9, mode, start, slope);
}
bool devTEF_Radio_Set_Highcut_Max(uint8_t mode, uint16_t limit) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Max, 7, mode, limit);
void devTEF_Radio_Set_Highcut_Max(uint8_t mode, uint16_t limit) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Highcut_Max, 7, mode, limit);
}
bool devTEF_Radio_Set_StHiBlend_Level(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Level, 9, mode, start, slope);
void devTEF_Radio_Set_StHiBlend_Level(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Level, 9, mode, start, slope);
}
bool devTEF_Radio_Set_StHiBlend_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Noise, 9, mode, start, slope);
void devTEF_Radio_Set_StHiBlend_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Noise, 9, mode, start, slope);
}
bool devTEF_Radio_Set_StHiBlend_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Mph, 9, mode, start, slope);
void devTEF_Radio_Set_StHiBlend_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Mph, 9, mode, start, slope);
}
bool devTEF_Radio_Set_StHiBlend_Max(uint8_t mode, uint16_t limit) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Max, 7, mode, limit);
void devTEF_Radio_Set_StHiBlend_Max(uint8_t mode, uint16_t limit) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StHiBlend_Max, 7, mode, limit);
}
bool devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Level, 9, mode, start, slope);
void devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Level, 9, mode, start, slope);
}
bool devTEF_Radio_Set_NoisBlanker(uint8_t mode, uint16_t start) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_NoiseBlanker, 7, mode, start);
void devTEF_Radio_Set_NoisBlanker(uint8_t mode, uint16_t start) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_NoiseBlanker, 7, mode, start);
}
bool devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Noise, 9, mode, start, slope);
void devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Noise, 9, mode, start, slope);
}
bool devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Mph, 9, mode, start, slope);
void devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Mph, 9, mode, start, slope);
}
bool devTEF_Radio_Set_MphSuppression(bool mph) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_MphSuppression, 5, mph, 0);
void devTEF_Radio_Set_MphSuppression(bool mph) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_MphSuppression, 5, mph);
}
bool devTEF_Radio_Set_ChannelEqualizer(bool eq) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_ChannelEqualizer, 5, eq, 0);
void devTEF_Radio_Set_ChannelEqualizer(bool eq) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_ChannelEqualizer, 5, eq);
}
bool devTEF_Radio_Set_Stereo_Min(bool mode) {
if (mode) return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Min, 7, 2); else return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Min, 7, 0);
void devTEF_Radio_Set_Stereo_Min(bool mode) {
if (mode) devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Min, 7, 2); else devTEF_Set_Cmd(TEF_FM, Cmd_Set_Stereo_Min, 7, 0);
}
bool devTEF_Radio_Set_RFAGC(uint16_t agc) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RFAGC, 7, agc, 0, 0);
void devTEF_Radio_Set_RFAGC(uint16_t agc) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_RFAGC, 7, agc, 0);
}
bool devTEF_Radio_Set_Deemphasis(uint16_t timeconstant) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Deemphasis, 5, timeconstant, 0);
void devTEF_Radio_Set_Deemphasis(uint16_t timeconstant) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Deemphasis, 5, timeconstant);
}
bool devTEF_Radio_Specials(uint16_t audio) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Specials, 5, audio, 0);
void devTEF_Radio_Specials(uint16_t audio) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Specials, 5, audio);
}
bool devTEF_Audio_Set_Volume(int16_t volume) {
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Volume, 5, volume * 10);
void devTEF_Audio_Set_Volume(int16_t volume) {
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Volume, 5, volume * 10);
}
bool devTEF_Audio_Set_Mute(uint8_t mode) {
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Mute, 5, mode);
void devTEF_Audio_Set_Mute(uint8_t mode) {
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Mute, 5, mode);
}
bool devTEF_APPL_Set_OperationMode(bool mode) {
return devTEF_Set_Cmd(TEF_APPL, Cmd_Set_OperationMode, 5, mode);
void devTEF_APPL_Set_OperationMode(bool mode) {
devTEF_Set_Cmd(TEF_APPL, Cmd_Set_OperationMode, 5, mode);
}
bool devTEF_APPL_Set_StereoImprovement(bool mode) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StereoImprovement, 5, mode);
void devTEF_APPL_Set_StereoImprovement(bool mode) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StereoImprovement, 5, mode);
}
bool devTEF_APPL_Set_StereoBandBlend_Time(uint16_t attack, uint16_t decay) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Time, 7, attack, decay);
void devTEF_APPL_Set_StereoBandBlend_Time(uint16_t attack, uint16_t decay) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Time, 7, attack, decay);
}
bool devTEF_APPL_Set_StereoBandBlend_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Gain, 11, band1, band2, band3, band4);
void devTEF_APPL_Set_StereoBandBlend_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Gain, 11, band1, band2, band3, band4);
}
bool devTEF_APPL_Set_StereoBandBlend_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Bias, 11, band1, band2, band3, band4);
void devTEF_APPL_Set_StereoBandBlend_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_StBandBlend_Bias, 11, band1, band2, band3, band4);
}
bool devTEF_Radio_Set_Softmute_Max_FM(uint8_t mode) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_Softmute_Max, 7, uint16_t(mode), uint16_t(200));
void devTEF_Radio_Set_Softmute_Max_FM(uint8_t mode) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_Softmute_Max, 7, uint16_t(mode), uint16_t(200));
}
bool devTEF_Radio_Set_Softmute_Max_AM(uint8_t mode) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_Softmute_Max, 7, uint16_t(mode), uint16_t(250));
void devTEF_Radio_Set_Softmute_Max_AM(uint8_t mode) {
devTEF_Set_Cmd(TEF_AM, Cmd_Set_Softmute_Max, 7, uint16_t(mode), uint16_t(250));
}
bool devTEF_APPL_Get_Operation_Status (uint8_t *bootstatus) {
@@ -281,28 +281,27 @@ bool devTEF_Radio_Get_Identification (uint16_t *device, uint16_t *hw_version, ui
return r;
}
bool devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq) {
void devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq) {
if (mode) {
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);
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);
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_WaveGen, 15, 0);
}
}
bool devTEF_Radio_Set_I2S_Input(bool mode) {
void devTEF_Radio_Set_I2S_Input(bool mode) {
if (mode) {
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 32);
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 32);
} else {
return devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 0);
devTEF_Set_Cmd(TEF_AUDIO, Cmd_Set_Input, 5, 0);
}
}
bool devTEF_Radio_Set_GPIO(uint8_t mode) {
if (mode == 0) return devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 33, 2);
if (mode == 1) return devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 33, 3);
if (mode == 2) return devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 32, 2);
if (mode == 3) return devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 32, 3);
void devTEF_Radio_Set_GPIO(uint8_t mode) {
if (mode == 0) devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 33, 2);
if (mode == 1) devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 33, 3);
if (mode == 2) devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 32, 2);
if (mode == 3) devTEF_Set_Cmd(TEF_APPL, Cmd_Set_GPIO, 9, 0, 32, 3);
}

View File

@@ -56,58 +56,59 @@ typedef enum {
typedef enum {
Cmd_Set_OperationMode = 1,
Cmd_Set_GPIO = 3,
Cmd_Set_GPIO = 3,
Cmd_Get_Operation_Status = 128,
Cmd_Get_Identification = 130
} TEF_APPL_COMMAND;
bool devTEF_Radio_Set_RDS(bool fullsearchrds);
bool devTEF_Radio_Set_Softmute_Max_FM(uint8_t mode);
bool devTEF_Radio_Set_Softmute_Max_AM(uint8_t mode);
bool devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...);
void devTEF_Radio_Set_RDS(bool fullsearchrds);
void devTEF_Radio_Set_Softmute_Max_FM(uint8_t mode);
void devTEF_Radio_Set_Softmute_Max_AM(uint8_t mode);
void devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...);
void devTEF_Radio_Tune_To (uint16_t frequency );
void devTEF_Radio_Tune_AM (uint16_t frequency );
void devTEF_Audio_Set_Mute(uint8_t mode);
void devTEF_Audio_Set_Volume(int16_t volume);
void devTEF_APPL_Set_OperationMode(bool mode);
void devTEF_Radio_Set_Bandwidth(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity);
void devTEF_Radio_Set_BandwidthAM(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity);
void devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start);
void devTEF_Radio_Set_Attenuator_AM(uint16_t start);
void devTEF_Radio_Set_CoChannel_AM(uint8_t mode, uint16_t start, uint8_t level);
void devTEF_Radio_Set_LevelOffset(int16_t offset);
void devTEF_Radio_Set_AMLevelOffset(int16_t offset);
void devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Min(bool mode);
void devTEF_Radio_Set_MphSuppression(bool mph);
void devTEF_Radio_Set_ChannelEqualizer(bool eq);
void devTEF_Radio_Set_RFAGC(uint16_t agc);
void devTEF_Radio_Set_Deemphasis(uint16_t timeconstant);
void devTEF_Radio_Specials(uint16_t audio);
void devTEF_APPL_Set_StereoImprovement(bool mode);
void devTEF_APPL_Set_StereoBandBlend_Time(uint16_t attack, uint16_t decay);
void devTEF_APPL_Set_StereoBandBlend_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4);
void devTEF_APPL_Set_StereoBandBlend_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4);
void devTEF_Radio_Set_Highcut_Max(uint8_t mode, uint16_t limit);
void devTEF_Radio_Set_Highcut_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Highcut_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Highcut_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Max(uint8_t mode, uint16_t limit);
void devTEF_Radio_Set_StHiBlend_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_NoisBlanker(uint8_t mode, uint16_t start);
void devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq);
void devTEF_Radio_Set_I2S_Input(bool mode);
void devTEF_Radio_Set_GPIO(uint8_t mode);
bool devTEF_Radio_Get_Identification (uint16_t *device, uint16_t *hw_version, uint16_t *sw_version);
bool devTEF_Radio_Tune_To (uint16_t frequency );
bool devTEF_Radio_Tune_AM (uint16_t frequency );
bool devTEF_Radio_Get_Quality_Status (uint16_t *status, int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, int8_t *snr);
bool devTEF_Radio_Get_Processing_Status (uint16_t *highcut, uint16_t *stereo, uint16_t *sthiblend, uint8_t *stband_1, uint8_t *stband_2, uint8_t *stband_3, uint8_t *stband_4);
bool devTEF_Radio_Get_Quality_Status_AM (int16_t *level, uint16_t *noise, uint16_t *cochannel, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, int8_t *snr);
bool devTEF_APPL_Get_Operation_Status(uint8_t *bootstatus);
bool devTEF_Audio_Set_Mute(uint8_t mode);
bool devTEF_Audio_Set_Volume(int16_t volume);
bool devTEF_Radio_Get_Stereo_Status(uint16_t *status);
bool devTEF_APPL_Set_OperationMode(bool mode);
bool devTEF_Radio_Get_RDS_Status(uint16_t *status, uint16_t *A_block, uint16_t *B_block, uint16_t *C_block, uint16_t *D_block, uint16_t *dec_error);
bool devTEF_Radio_Get_RDS_Data(uint16_t *status, uint16_t *A_block, uint16_t *B_block, uint16_t *C_block, uint16_t *D_block, uint16_t *dec_error);
bool devTEF_Radio_Set_Bandwidth(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity);
bool devTEF_Radio_Set_BandwidthAM(uint8_t mode, uint16_t bandwidth, uint16_t control_sensitivity, uint16_t low_level_sensitivity);
bool devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start);
bool devTEF_Radio_Set_Attenuator_AM(uint16_t start);
bool devTEF_Radio_Set_CoChannel_AM(uint8_t mode, uint16_t start, uint8_t level);
bool devTEF_Radio_Set_LevelOffset(int16_t offset);
bool devTEF_Radio_Set_AMLevelOffset(int16_t offset);
bool devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Stereo_Min(bool mode);
bool devTEF_Radio_Set_MphSuppression(bool mph);
bool devTEF_Radio_Set_ChannelEqualizer(bool eq);
bool devTEF_Radio_Set_RFAGC(uint16_t agc);
bool devTEF_Radio_Set_Deemphasis(uint16_t timeconstant);
bool devTEF_Radio_Specials(uint16_t audio);
bool devTEF_APPL_Set_StereoImprovement(bool mode);
bool devTEF_APPL_Set_StereoBandBlend_Time(uint16_t attack, uint16_t decay);
bool devTEF_APPL_Set_StereoBandBlend_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4);
bool devTEF_APPL_Set_StereoBandBlend_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4);
bool devTEF_Radio_Set_Highcut_Max(uint8_t mode, uint16_t limit);
bool devTEF_Radio_Set_Highcut_Level(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Highcut_Noise(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Highcut_Mph(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_StHiBlend_Max(uint8_t mode, uint16_t limit);
bool devTEF_Radio_Set_StHiBlend_Level(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_StHiBlend_Noise(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_StHiBlend_Mph(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_NoisBlanker(uint8_t mode, uint16_t start);
bool devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq);
bool devTEF_Radio_Set_I2S_Input(bool mode);
bool devTEF_Radio_Set_GPIO(uint8_t mode);
#endif