Start on EON decoder

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-05 00:05:33 +02:00
parent 08b3e6ef8e
commit 2b128b6f70
2 changed files with 36 additions and 1 deletions

View File

@@ -562,7 +562,41 @@ void TEF6686::readRDS(bool showrdserrors)
case RDS_GROUP_14A: { case RDS_GROUP_14A: {
if (rds.correct) rds.hasEON = true; // Group is there, so we have EON if (rds.correct) rds.hasEON = true; // Group is there, so we have EON
} }
break; /* offset = rds.rdsB & 0x0F; // Let's get the character offset for PS
if (offset < 4 && rds.rdsD == 0x8202) {
eon_buffer[(offset * 2) + 0] = rds.rdsC >> 8; // First character of segment
eon_buffer[(offset * 2) + 1] = rds.rdsC & 0xFF; // Second character of segment
eon_buffer[(offset * 2) + 2] = '\0'; // Endmarker of segment
// Serial.println(eon_buffer);
}
if (offset == 4 && rds.rdsD == 0x8202) {
uint8_t af_controlCode = rds.rdsC >> 8;
if ((af_controlCode < 224) && (af_counter < 50)) {
uint16_t buffer0 = (rds.rdsC >> 8);
uint16_t buffer1 = (rds.rdsC & 0xFF);
rds.hasAF = true;
if (buffer0 != 0 && buffer1 != 0) {
buffer0 = buffer0 * 10 + 8750;
buffer1 = buffer1 * 10 + 8750;
bool isDouble = false;
isDouble = checkDouble(buffer0);
if (!isDouble && buffer0 != 0) {
af[af_counter].frequency = buffer0;
af_counter++;
}
isDouble = checkDouble(buffer1);
if (!isDouble && buffer1 != 0) {
af[af_counter].frequency = buffer1;
af_counter++;
}
}
}
Serial.println(String(af[0].frequency));
Serial.println(String(af[1].frequency));
Serial.println(String(af[2].frequency));
}
*/ break;
} }
} }
rdsBprevious = rds.rdsB; rdsBprevious = rds.rdsB;

View File

@@ -195,6 +195,7 @@ class TEF6686 {
char ps_buffer[9]; char ps_buffer[9];
char ps_buffer2[9]; char ps_buffer2[9];
char ptyn_buffer[9]; char ptyn_buffer[9];
char eon_buffer[9];
bool ps_process; bool ps_process;
bool rt_process; bool rt_process;
char rt_buffer[65]; char rt_buffer[65];