You've already forked TEF6686_ESP32
Moved SNR to API
This commit is contained in:
@@ -206,22 +206,24 @@ bool TEF6686::getProcessing(uint16_t &highcut, uint16_t &stereo, uint16_t &sthib
|
||||
return stband_4;
|
||||
}
|
||||
|
||||
bool TEF6686::getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation) {
|
||||
bool result = devTEF_Radio_Get_Quality_Status(&level, &USN, &WAM, &offset, &bandwidth, &modulation);
|
||||
bool TEF6686::getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, uint8_t &snr) {
|
||||
bool result = devTEF_Radio_Get_Quality_Status(&level, &USN, &WAM, &offset, &bandwidth, &modulation, &snr);
|
||||
return level;
|
||||
return USN;
|
||||
return WAM;
|
||||
return bandwidth;
|
||||
return modulation;
|
||||
return snr;
|
||||
}
|
||||
|
||||
bool TEF6686::getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation) {
|
||||
bool result = devTEF_Radio_Get_Quality_Status_AM(&level, &noise, &cochannel, &offset, &bandwidth, &modulation);
|
||||
bool TEF6686::getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, uint8_t &snr) {
|
||||
bool result = devTEF_Radio_Get_Quality_Status_AM(&level, &noise, &cochannel, &offset, &bandwidth, &modulation, &snr);
|
||||
return level;
|
||||
return noise;
|
||||
return cochannel;
|
||||
return bandwidth;
|
||||
return modulation;
|
||||
return snr;
|
||||
}
|
||||
|
||||
void TEF6686::readRDS(bool showrdserrors)
|
||||
|
||||
@@ -107,7 +107,7 @@ typedef struct _rds_ {
|
||||
String PTYN;
|
||||
char stationType[18];
|
||||
char picode[6];
|
||||
uint16_t hour, minutes, day, month, year, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr;
|
||||
uint16_t hour, minute, day, month, year, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr;
|
||||
int8_t offset;
|
||||
unsigned int ECC;
|
||||
unsigned int LIC;
|
||||
@@ -166,8 +166,8 @@ class TEF6686 {
|
||||
void SetFreq(uint16_t frequency);
|
||||
void SetFreqAM(uint16_t frequency);
|
||||
bool getProcessing(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 getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation);
|
||||
bool getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation);
|
||||
bool getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, uint8_t &snr);
|
||||
bool getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, uint8_t &snr);
|
||||
bool getIdentification(uint16_t &device, uint16_t &hw_version, uint16_t &sw_version);
|
||||
void setSoftmuteFM(uint8_t mode);
|
||||
void setSoftmuteAM(uint8_t mode);
|
||||
|
||||
@@ -206,7 +206,7 @@ bool devTEF_Radio_Get_Processing_Status (uint16_t *highcut, uint16_t *stereo, ui
|
||||
return r;
|
||||
}
|
||||
|
||||
bool devTEF_Radio_Get_Quality_Status (int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod) {
|
||||
bool devTEF_Radio_Get_Quality_Status (int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, uint8_t *snr) {
|
||||
uint8_t buf[14];
|
||||
uint16_t r = devTEF_Get_Cmd(TEF_FM, Cmd_Get_Quality_Data, buf, sizeof(buf));
|
||||
|
||||
@@ -216,10 +216,11 @@ bool devTEF_Radio_Get_Quality_Status (int16_t *level, uint16_t *usn, uint16_t *w
|
||||
*offset = Convert8bto16b(buf + 8);
|
||||
*bandwidth = Convert8bto16b(buf + 10) / 10;
|
||||
*mod = Convert8bto16b(buf + 12) / 10;
|
||||
*snr = int(0.46222375 * (float)(*level) / 10 - 0.082495118 * (float)(*usn) / 10) + 10;
|
||||
return r;
|
||||
}
|
||||
|
||||
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) {
|
||||
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, uint8_t *snr) {
|
||||
uint8_t buf[14];
|
||||
uint16_t r = devTEF_Get_Cmd(TEF_AM, Cmd_Get_Quality_Data, buf, sizeof(buf));
|
||||
|
||||
@@ -229,6 +230,7 @@ bool devTEF_Radio_Get_Quality_Status_AM (int16_t *level, uint16_t *noise, uint16
|
||||
*offset = Convert8bto16b(buf + 8);
|
||||
*bandwidth = Convert8bto16b(buf + 10) / 10;
|
||||
*mod = Convert8bto16b(buf + 12) / 10;
|
||||
if (*noise / 10 > 40) *snr = 0; else *snr = -((int8_t)(*noise / 10));
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,9 +64,9 @@ bool devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...);
|
||||
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 (int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod);
|
||||
bool devTEF_Radio_Get_Quality_Status (int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, uint8_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);
|
||||
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, uint8_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);
|
||||
|
||||
Reference in New Issue
Block a user