Modified double RDS data over USB/TCP script.
This commit is contained in:
@@ -263,7 +263,6 @@ String PTYold;
|
|||||||
String rds_clock;
|
String rds_clock;
|
||||||
String rds_clockold;
|
String rds_clockold;
|
||||||
String RDSSPYRDS;
|
String RDSSPYRDS;
|
||||||
String RDSSPYRDSold;
|
|
||||||
String RTold;
|
String RTold;
|
||||||
String rtplusstringold;
|
String rtplusstringold;
|
||||||
String salt;
|
String salt;
|
||||||
@@ -272,7 +271,6 @@ String SWMIBandstring = String();
|
|||||||
String SWMIBandstringold = String();
|
String SWMIBandstringold = String();
|
||||||
String XDRGTK_key;
|
String XDRGTK_key;
|
||||||
String XDRGTKRDS;
|
String XDRGTKRDS;
|
||||||
String XDRGTKRDSold;
|
|
||||||
uint16_t BW;
|
uint16_t BW;
|
||||||
uint16_t MStatus;
|
uint16_t MStatus;
|
||||||
uint16_t SWMIBandPos;
|
uint16_t SWMIBandPos;
|
||||||
|
|||||||
+10
-13
@@ -9,7 +9,6 @@ bool lastBitState = false;
|
|||||||
|
|
||||||
void TEF6686::TestAFEON() {
|
void TEF6686::TestAFEON() {
|
||||||
uint16_t status;
|
uint16_t status;
|
||||||
uint16_t rdsStat;
|
|
||||||
uint16_t dummy1;
|
uint16_t dummy1;
|
||||||
uint16_t dummy2;
|
uint16_t dummy2;
|
||||||
int8_t dummy3;
|
int8_t dummy3;
|
||||||
@@ -31,8 +30,8 @@ void TEF6686::TestAFEON() {
|
|||||||
if (afoffset > -125 || afoffset < 125) {
|
if (afoffset > -125 || afoffset < 125) {
|
||||||
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, af[x].frequency);
|
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, af[x].frequency);
|
||||||
delay(200);
|
delay(200);
|
||||||
devTEF_Radio_Get_RDS_Status(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
devTEF_Radio_Get_RDS_Status(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
if (rdsStat & (1 << 9)) {
|
if (rds.rdsStat & (1 << 9)) {
|
||||||
if (rds.rdsA == rds.correctPI && (((rds.rdsErr >> 14) & 0x03) == 0)) {
|
if (rds.rdsA == rds.correctPI && (((rds.rdsErr >> 14) & 0x03) == 0)) {
|
||||||
af[x].checked = true;
|
af[x].checked = true;
|
||||||
af[x].afvalid = true;
|
af[x].afvalid = true;
|
||||||
@@ -53,7 +52,6 @@ void TEF6686::TestAFEON() {
|
|||||||
uint16_t TEF6686::TestAF() {
|
uint16_t TEF6686::TestAF() {
|
||||||
if (af_counter != 0) {
|
if (af_counter != 0) {
|
||||||
uint16_t status;
|
uint16_t status;
|
||||||
uint16_t rdsStat;
|
|
||||||
uint16_t dummy1;
|
uint16_t dummy1;
|
||||||
uint16_t dummy2;
|
uint16_t dummy2;
|
||||||
int8_t dummy3;
|
int8_t dummy3;
|
||||||
@@ -71,7 +69,7 @@ uint16_t TEF6686::TestAF() {
|
|||||||
byte timing;
|
byte timing;
|
||||||
|
|
||||||
devTEF_Radio_Get_Quality_Status(&status, ¤tlevel, ¤tusn, ¤twam, ¤toffset, &dummy1, &dummy2, &dummy3);
|
devTEF_Radio_Get_Quality_Status(&status, ¤tlevel, ¤tusn, ¤twam, ¤toffset, &dummy1, &dummy2, &dummy3);
|
||||||
devTEF_Radio_Get_RDS_Status(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
devTEF_Radio_Get_RDS_Status(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
|
|
||||||
for (int x = 0; x < af_counter; x++) {
|
for (int x = 0; x < af_counter; x++) {
|
||||||
timing = 0;
|
timing = 0;
|
||||||
@@ -97,8 +95,8 @@ uint16_t TEF6686::TestAF() {
|
|||||||
if (af_counter != 0 && af[highestIndex].afvalid && af[highestIndex].score > (currentlevel - currentusn - currentwam) && (af[highestIndex].score - (currentlevel - currentusn - currentwam)) >= 70) {
|
if (af_counter != 0 && af[highestIndex].afvalid && af[highestIndex].score > (currentlevel - currentusn - currentwam) && (af[highestIndex].score - (currentlevel - currentusn - currentwam)) >= 70) {
|
||||||
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, af[highestIndex].frequency);
|
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 4, af[highestIndex].frequency);
|
||||||
delay(200);
|
delay(200);
|
||||||
devTEF_Radio_Get_RDS_Status(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
devTEF_Radio_Get_RDS_Status(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
if (rdsStat & (1 << 9)) {
|
if (rds.rdsStat & (1 << 9)) {
|
||||||
if (rds.rdsA == rds.correctPI && (((rds.rdsErr >> 14) & 0x03) == 0)) {
|
if (rds.rdsA == rds.correctPI && (((rds.rdsErr >> 14) & 0x03) == 0)) {
|
||||||
currentfreq = af[highestIndex].frequency;
|
currentfreq = af[highestIndex].frequency;
|
||||||
for (byte y = 0; y < 50; y++) {
|
for (byte y = 0; y < 50; y++) {
|
||||||
@@ -348,17 +346,16 @@ bool TEF6686::getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel,
|
|||||||
|
|
||||||
void TEF6686::readRDS(byte showrdserrors)
|
void TEF6686::readRDS(byte showrdserrors)
|
||||||
{
|
{
|
||||||
uint16_t rdsStat;
|
|
||||||
uint8_t offset;
|
uint8_t offset;
|
||||||
if (rds.filter) {
|
if (rds.filter) {
|
||||||
devTEF_Radio_Get_RDS_Status(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
devTEF_Radio_Get_RDS_Status(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
} else {
|
} else {
|
||||||
if (millis() >= rdstimer + 87) {
|
if (millis() >= rdstimer + 87) {
|
||||||
rdstimer += 87;
|
rdstimer += 87;
|
||||||
devTEF_Radio_Get_RDS_Data(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
devTEF_Radio_Get_RDS_Data(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
|
|
||||||
if ((rdsStat & (1 << 14))) {
|
if ((rds.rdsStat & (1 << 14))) {
|
||||||
for (int i = 0; i < 22; i++) devTEF_Radio_Get_RDS_Data(&rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
for (int i = 0; i < 22; i++) devTEF_Radio_Get_RDS_Data(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -380,7 +377,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
rdsCerrorThreshold = (((rds.rdsErr >> 10) & 0x03) > showrdserrors);
|
rdsCerrorThreshold = (((rds.rdsErr >> 10) & 0x03) > showrdserrors);
|
||||||
rdsDerrorThreshold = (((rds.rdsErr >> 8) & 0x03) > showrdserrors);
|
rdsDerrorThreshold = (((rds.rdsErr >> 8) & 0x03) > showrdserrors);
|
||||||
|
|
||||||
if (bitRead(rdsStat, 9)) { // We have all data to decode... let's go...
|
if (bitRead(rds.rdsStat, 9)) { // We have all data to decode... let's go...
|
||||||
|
|
||||||
//PI decoder
|
//PI decoder
|
||||||
if (!rdsAerrorThreshold && afreset) {
|
if (!rdsAerrorThreshold && afreset) {
|
||||||
|
|||||||
+1
-1
@@ -137,7 +137,7 @@ typedef struct _rds_ {
|
|||||||
String PTYN;
|
String PTYN;
|
||||||
char stationType[18];
|
char stationType[18];
|
||||||
char picode[7];
|
char picode[7];
|
||||||
uint16_t hour, minute, day, month, year, rdsA, rdsB, rdsC, rdsD, rdsErr, correctPI, rdsplusTag1, rdsplusTag2;
|
uint16_t hour, minute, day, month, year, rdsA, rdsB, rdsC, rdsD, rdsErr, rdsStat, correctPI, rdsplusTag1, rdsplusTag2;
|
||||||
int8_t offset;
|
int8_t offset;
|
||||||
unsigned int ECC;
|
unsigned int ECC;
|
||||||
unsigned int LIC;
|
unsigned int LIC;
|
||||||
|
|||||||
+2
-4
@@ -626,9 +626,8 @@ void readRds() {
|
|||||||
if (radio.rds.rdsDerror) RDSSPYRDS += "----"; else RDSSPYRDS += String(((radio.rds.rdsD >> 8) >> 4) & 0xF, HEX) + String((radio.rds.rdsD >> 8) & 0xF, HEX) + String(((radio.rds.rdsD) >> 4) & 0xF, HEX) + String((radio.rds.rdsD) & 0xF, HEX);
|
if (radio.rds.rdsDerror) RDSSPYRDS += "----"; else RDSSPYRDS += String(((radio.rds.rdsD >> 8) >> 4) & 0xF, HEX) + String((radio.rds.rdsD >> 8) & 0xF, HEX) + String(((radio.rds.rdsD) >> 4) & 0xF, HEX) + String((radio.rds.rdsD) & 0xF, HEX);
|
||||||
RDSSPYRDS += "\r\n\r\n";
|
RDSSPYRDS += "\r\n\r\n";
|
||||||
|
|
||||||
if (RDSSPYRDS != RDSSPYRDSold) {
|
if (bitRead(radio.rds.rdsStat, 9)) {
|
||||||
if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS);
|
if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS);
|
||||||
RDSSPYRDSold = RDSSPYRDS;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -662,9 +661,8 @@ void readRds() {
|
|||||||
XDRGTKRDS += String(erroutput, HEX);
|
XDRGTKRDS += String(erroutput, HEX);
|
||||||
XDRGTKRDS += "\n";
|
XDRGTKRDS += "\n";
|
||||||
|
|
||||||
if (XDRGTKRDS != XDRGTKRDSold) {
|
if (bitRead(radio.rds.rdsStat, 9)) {
|
||||||
DataPrint(XDRGTKRDS);
|
DataPrint(XDRGTKRDS);
|
||||||
XDRGTKRDSold = XDRGTKRDS;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,11 +82,9 @@ extern String PTYold;
|
|||||||
extern String rds_clock;
|
extern String rds_clock;
|
||||||
extern String rds_clockold;
|
extern String rds_clockold;
|
||||||
extern String RDSSPYRDS;
|
extern String RDSSPYRDS;
|
||||||
extern String RDSSPYRDSold;
|
|
||||||
extern String RTold;
|
extern String RTold;
|
||||||
extern String rtplusstringold;
|
extern String rtplusstringold;
|
||||||
extern String XDRGTKRDS;
|
extern String XDRGTKRDS;
|
||||||
extern String XDRGTKRDSold;
|
|
||||||
extern unsigned int mappedfreqold[20];
|
extern unsigned int mappedfreqold[20];
|
||||||
extern unsigned long afticker;
|
extern unsigned long afticker;
|
||||||
extern unsigned long aftickerhold;
|
extern unsigned long aftickerhold;
|
||||||
|
|||||||
Reference in New Issue
Block a user