Fix bug on PTY, updated PI detector

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-04 20:24:52 +02:00
parent 6e16f78473
commit c2e9764d4b
4 changed files with 28 additions and 32 deletions

View File

@@ -251,7 +251,7 @@ void TEF6686::readRDS(bool showrdserrors)
if (rdsReady) { // We have all data to decode... let's go...
//PI decoder
if (rds.region != 1 && (!correctpi || rds.dynamicpi)) {
if (rds.region != 1 && (rds.correct || rds.pierrors)) {
rds.picode[0] = (rds.rdsA >> 12) & 0xF;
rds.picode[1] = (rds.rdsA >> 8) & 0xF;
rds.picode[2] = (rds.rdsA >> 4) & 0xF;
@@ -266,10 +266,8 @@ void TEF6686::readRDS(bool showrdserrors)
if (!rds.correct) rds.picode[4] = '?'; else rds.picode[4] = ' '; // Not sure, add a ?
rds.picode[5] = '\0';
correctpi = rds.correct;
if (strcmp(rds.picode, "0000?") == 0) {
memset(rds.picode, 0, sizeof(rds.picode));
correctpi = rds.correct;
}
}
@@ -573,7 +571,7 @@ void TEF6686::clearRDS (bool fullsearchrds)
PStext[i] = L'\0';
}
for (i = 0; i < 65; i++) rt_buffer[i] = 0;
for (i = 0; i < 17; i++) rds.stationType[i] = 0;
for (i = 0; i < 18; i++) rds.stationType[i] = 0;
for (i = 0; i < 6; i++) rds.picode[i] = 0;
for (i = 0; i < 50; i++) af[i].frequency = 0;
@@ -601,7 +599,6 @@ void TEF6686::clearRDS (bool fullsearchrds)
rds.hasArtist = false;
rds.hasEvent = false;
rds.hasHost = false;
correctpi = false;
ps_counter = 0;
af_counter = 0;
rds.MS = 0;

View File

@@ -19,7 +19,7 @@ enum RADIO_TUNE_MODE {
TUNE_MAN, TUNE_AUTO, TUNE_MEM, TUNE_MI_BAND
};
const char* const PTY_EU[] {
static const char* const PTY_EU[] {
"None",
"News",
"Current Affairs",
@@ -52,10 +52,10 @@ const char* const PTY_EU[] {
"Documentary",
"Alarm Test",
"Alarm!!!",
" "
" "
};
const char* const PTY_USA[] {
static const char* const PTY_USA[] {
"None",
"News",
"Information",
@@ -88,7 +88,7 @@ const char* const PTY_USA[] {
"Weather",
"Emergency Test",
"EMERGENCY!",
" "
" "
};
typedef struct _rds_ {
@@ -101,7 +101,7 @@ typedef struct _rds_ {
String RTTitle;
String RTHost;
String RTEvent;
char stationType[17];
char stationType[18];
char picode[6];
uint16_t hours, minutes, days, months, years, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr;
int8_t offset;
@@ -128,7 +128,7 @@ typedef struct _rds_ {
bool filter;
bool underscore;
bool rdsreset;
bool dynamicpi;
bool pierrors;
} rds_;
typedef struct _af_ {
@@ -201,7 +201,6 @@ class TEF6686 {
uint16_t rdsBprevious;
uint16_t rdsCprevious;
uint16_t rdsDprevious;
bool correctpi;
bool rtABold;
wchar_t PStext[9] = L"";
byte ps_counter;

View File

@@ -62,7 +62,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist client IP",
"Show SW wavelength",
"RDS filter",
"Dynamic PI",
"Show PI errors",
"Show squelch",
"Modulation meter",
"AM Noise blanker",
@@ -138,7 +138,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist client IP",
"Toon SW golflengte",
"RDS filter",
"Dynamische PI",
"Toon PI fouten",
"Toon squelch",
"Modulatie meter",
"AM ruis filter",
@@ -214,7 +214,7 @@ static const char myLanguage[9][74][85] = {
"IP klienta Stationlist",
"Pokaz dlugosci fal SW",
"Filtr RDS",
"Dynamiczne PI",
"Show PI errors",
"Pokaz blokade szumow",
"Wskaznik modulacji",
"Reduktor szumow AM",
@@ -290,7 +290,7 @@ static const char myLanguage[9][74][85] = {
"IP klijenta StationList",
"Prikaži valnu duljinu KV-a",
"RDS filter",
"Dinamičan PI",
"Show PI errors",
"Prikaži squelch",
"Mjerač modulacije",
"AM prigušivač šuma",
@@ -366,7 +366,7 @@ static const char myLanguage[9][74][85] = {
"IP πελάτη λίστας σταθμών",
"Εμφάνιση μήκους κύματος SW",
"Φίλτρο RDS",
"Δυναμικό PI",
"Show PI errors",
"Εμφάνιση squelch",
"Μετρητής διαμόρφωσης",
"Απαλοιφή θορύβου AM",
@@ -442,7 +442,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist client IP",
"Show SW wavelength",
"RDS filter",
"Dynamic PI",
"Show PI errors",
"Show squelch",
"Modulation meter",
"AM Noise blanker",
@@ -518,7 +518,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist Client IP",
"Zeige KW-Wellenlänge",
"RDS-Filter",
"Dynamischer PI-Code",
"Show PI errors",
"Zeige Rauschsperre",
"Modulationspegel",
"AM Rauschunterdrückung",
@@ -594,7 +594,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist client IP",
"Show SW wavelength",
"RDS filter",
"Dynamic PI",
"Show PI errors",
"Show squelch",
"Modulation meter",
"AM Noise blanker",
@@ -670,7 +670,7 @@ static const char myLanguage[9][74][85] = {
"Stationlist client IP",
"Show SW wavelength",
"RDS filter",
"Dynamic PI",
"Show PI errors",
"Show squelch",
"Modulation meter",
"AM Noise blanker",