Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rdsspy output is garbage in groups [1], [2] and [3] #6

Closed
andimik opened this issue Feb 15, 2023 · 14 comments
Closed

rdsspy output is garbage in groups [1], [2] and [3] #6

andimik opened this issue Feb 15, 2023 · 14 comments

Comments

@andimik
Copy link

andimik commented Feb 15, 2023

Could you check if there is a bug in https://github.com/kkonradpl/xdr-gtk/blob/master/src/rdsspy.c ? I have the same issue under Windows 10 and Ubuntu.

Because I have error-free signals on my (Dutch) TEF6686 (v1) and error-free in xdr-gtk (for example the radiotext).

grafik

But the RDSSpy output is just garbage in lots of groups [1], [2] and [3]:

$ nc 127.0.0.1 7376
G:
A540255046726579

G:
A540------------

G:
A540--------0000

G:
A540----EDC70000

G:
A540054FEDC74520

G:
A540------------

G:
A540------------

G:
A540--------0000

G:
A540----AEC70000

G:
A5400548AEC7414E

G:
A540------------

G:
A540--------0000

G:
A540----61200000

G:
A540255161205269

G:
A540------------

G:
A540--------0000

G:
A540----A8C70000

G:
A5400549A8C75445

My expectation is that each line needs to be without ---- as the signal is error-free.

I also tried some modifications in this file, but I am not a programmer in order to fix it.

Could you share your output?

@kkonradpl
Copy link
Owner

kkonradpl commented Feb 18, 2023

Output from XDR-F1HD is fine:

G:
34DB054BA8292A20

G:
34DB25552078204B

G:
34DB255669656C61

G:
34DB054876CD202A

G:
34DB0549E4A44B52

G:
34DB054AA8294450

G:
34DB054B76CD2A20

G:
34DB0548E4A4202A

G:
34DB255773202D20

G:
34DB25585069656B

I believe something is wrong in the TEF firmware.

@andimik
Copy link
Author

andimik commented Feb 18, 2023

I have added the following lines in order to check the value for errors in groups [1],[2], and [3]:

    fprintf(stderr, "%d;", errors);
    fprintf(stderr, "%d;", errors&3);
    fprintf(stderr, "%d;", errors&12);
    fprintf(stderr, "%d\n", errors&48);

The result is

0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
3;3;0;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
255;3;12;48
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
255;3;12;48
63;3;12;48
15;3;12;0
3;3;0;0
0;0;0;0
63;3;12;48
15;3;12;0

ok, let me try to re-flash the TEF.

@andimik
Copy link
Author

andimik commented Feb 18, 2023

No, I have re-flashed 1.14 and then 1.15 again.

I fear it's a bug in rdsspy output (= in this file https://github.com/kkonradpl/xdr-gtk/blob/master/src/rdsspy.c ), because xdr-gtk and stationlist show a correct Radiotext (despite of the RT A/B flag change bug). But I am not a programmer and have absolutely no C++ clue ...

I also have tried several options in your tool

grafik

grafik

grafik

It seems RDSSpy is also a bit delayed (some seconds) as the radiotext in xdr-gtk and stationlist switches from A to B at the same moment as on the TEF, but not so in RDSSpy.

@andimik
Copy link
Author

andimik commented Feb 18, 2023

Seeems I am not only person with this issue as I found this video:

https://www.youtube.com/watch?v=C9_GMURUOW4

@andimik
Copy link
Author

andimik commented Feb 19, 2023

In case you need that, this is what the PC receives from the TEF6686 over ttyUSB0:

$ cat </dev/ttyUSB0 > /tmp/ttyUSB0.capture

ttyUSB0.zip

@andimik
Copy link
Author

andimik commented Feb 26, 2023

I know that this is NOT a bugfix, but a small workaround for at least local stations. So it has to do with this above mentioned file.

Radiotext in RDSSpy now without errors

13:30:39 Telefonisch unter 0800 600 600 kostenlos von 7.00 bis 19.00 Uhr 
13:30:57 OE3-Nachrichten, Wetter & Verkehr um Punkt am Punkt             
13:31:19 Melden Sie uns Staus und Unfaelle                               
13:31:38 Telefonisch unter 0800 600 600 kostenlos von 7.00 bis 19.00 Uhr 
13:31:59 OE3 * OESTERREICHS HITRADIO * OE3 * HITRADIO OE3 *              
13:32:17 Mehr Infos zum HITRADIO OE3 online auf oe3.ORF.at               
13:32:25 Jetzt laeuft Someone Else                                       
13:32:39 von ClockClock auf OE3                                          
13:32:57 Jetzt laeuft Someone Else                                       
13:33:18 von ClockClock auf OE3                                          
13:33:40 Jetzt laeuft Someone Else                                       
13:33:57 von ClockClock auf OE3                                          
13:34:18 Jetzt laeuft Someone Else                                       
13:34:39 von ClockClock auf OE3                                          
13:34:57 Jetzt laeuft Someone Else            

Screenshot

grafik

It seems that there are too much RDS codes transmitted, so let's write only the good ones to RDSSpy.

Patch for Workaround

$ git diff
diff --git a/src/rdsspy.c b/src/rdsspy.c
index 9945170..3635368 100644
--- a/src/rdsspy.c
+++ b/src/rdsspy.c
@@ -202,6 +202,8 @@ void
 rdsspy_send(gint   pi,
             gchar *msg,
             guint  errors)
+
+
 {
     if(!rdsspy_is_connected())
         return;
@@ -251,7 +253,16 @@ rdsspy_send(gint   pi,
     {
         g_snprintf(groups[3], 5, "----");
     }
+    fprintf(stderr, "%d;", errors);
+    fprintf(stderr, "%d;", errors&4);
+    fprintf(stderr, "%d;", errors&12);
+    fprintf(stderr, "%d\n", errors&48);
+
+if((errors&3) == 0)
+    {
+
 
     g_snprintf(out, sizeof(out), "G:\r\n%s%s%s%s\r\n\r\n", groups[0], groups[1], groups[2], groups[3]);
     send(rdsspy_client, out, strlen(out), 0);
+    }
 }

Advantage

  • RDS Spy won't get garbage, it's output is that for example:
G:
A2030549061D4F45

G:
A2038542C1911F75

G:
A203054AF91D2033

G:
A203E5414F45A201

G:
A203054F1D782020

G:
A203254820202020

G:
A203854241400000

G:
A2030548041D2020

G:
A203254920202020

G:
A203E5422031A201

G:
A20335500064CD46

G:
A203854241400000

G:
A2030549111D4F45

G:
A203254A20202020

G:
A203E5432020A201

G:
A203054A0D1D2033

G:
A203854241400000

G:
A203054F051D2020

G:
A203E5456D2CA201

G:
A2030548101D2020

G:
A203254B20202020

G:
A2038543D641C9B0

G:
A20305491D5F4F45

G:
A203E5457001A201

G:
A203054A1D6D2033

G:
A2038543D641C9B0

G:
A203054F1D962020

G:
A203E5450524A201

G:
A2030548151D2020

G:
A203254C20202020

G:
A2038543D641C9B0

G:
A20305491D6C4F45

G:
A203254D20202020

G:
A203E5450E22A201

G:
A20335504000CD46

G:
A2038543441F4865

G:
A203054A061D2033

G:
A203254E20202020

G:
A203E5451125A201

G:
A203054FF71D2020

G:
A2038543441F4865

G:
A20305481D6F2020

G:
A203E545785CA201

G:
A20305491D9E4F45

G:
A203254F20202020

G:
A2038543441F4865

G:
A203054A141D2033

G:
A203E5459602A201

G:
A203054F0C1D2020

G:
A203854800657A51

G:
A20305481D762020

G:
A203E5450C27A201

G:
A20305491D844F45

G:
A20325404A65747A

G:
A203854800657A51

G:
A203054A1D202033

G:
A203254174206C61

G:
A203E545C310A201

G:
A20335500064CD46

G:
A203854800657A51

G:
A203054F0B1D2020

G:
A203254265756674

G:
A203E5455F16A201

G:
A20305481D892020

G:
A2038544D991BFD0

G:
A20305491D714F45

G:
A203E5456A1CA201

G:
A203054A1DC32033

G:
A203254320322044

G:
A2038544D991BFD0

G:
A203054FE70C2020

G:
A203E545862BA201

G:
A20305480C1D2020

G:
A2038544D991BFD0

G:
A2030549050C4F45

G:
A203E5458923A201

G:
A203054A0C152033

G:
A203254469652034

G:
A203854441400000

G:
A203054FE5C32020

G:
A203254520202020

G:
A203E5457602A201

G:
A20335504000CD46

G:
A203854441400000

G:
A20305481DC32020

G:
A203254620202020

G:
A203E5456F0FA201

G:
A20305495FC34F45

G:
A203854441400000

Disadvantage

  • There is only 0% BER possible.
  • Not working for weak signals (I get too much garbage, although xdr-gtk is looking good)

Please note, I'm NOT a programmer, but I have experience in RDS since MS-DOS ages.

@kkonradpl
Copy link
Owner

This is not a bug in XDR-GTK, but in ESP firmware. The RDS data should be sent once all blocks from a given group are ready (or not all, some of them can be missing with corresponding information in the error summary of the "R" message).

The attached capture seems to be corrupt (?) – a lot of characters are missing. However, check this pattern:
PA540
R054F000000000F
R054F88AE000003
R054F88AE452000

The "R" message should be sent only once (the last one).

@andimik
Copy link
Author

andimik commented Mar 28, 2023

Thanks @kkonradpl for your answer.

@PE5PVB and @NoobishSVK

Dear Sjef and Marek, could you take a look in your code? Seems it's in https://github.com/NoobishSVK/TEF6686-remastered/blob/15a2f1dd063c63616f21dd5529b2b43c1565c0a3/TEF6686_remastered.ino#L2246 or similar.

@PE5PVB
Copy link

PE5PVB commented Mar 30, 2023

Don't understand this problem. Even when there is no data available, it will always send a 16-bit string, like FFFF or 0000. So, where are these ---- coming from?

@andimik
Copy link
Author

andimik commented Mar 30, 2023

Please download the ttyUSB0.zip from above.

The R line has different lengths and even there is sometimes no line break between P line and R line.

The ---- is the RDSspy syntax made by xdr-gtk, so not your code.

Should I open a separate issue in your repository because Konrad told me it has to do with the TEF6686 Firmware?

@PE5PVB
Copy link

PE5PVB commented Mar 30, 2023

That's my idea too. The R line is not generated by the TEF software. BTW. I implemented direct connectivity with my TEF v2 with RDS Spy, and there all is OK.

@andimik
Copy link
Author

andimik commented Apr 26, 2023

@NoobishSVK and @PE5PVB

I found https://github.com/stailus/tef6686_rds/blob/master/tef6686_rds.ino#L568 which is slightly different than in your code.

void get_RDS()
 {
   int16_t uRds_Data[6] = {0};
   Get_Cmd(32, 131, uRds_Data, 8);
     
   if ( bitRead(uRds_Data[0], 15) == 1 )
    {
      Serial.print('P');
      serial_hex(uRds_Data[1] >> 8);
      serial_hex(uRds_Data[1]);
      Serial.print('\n');

      Serial.print('R');
      serial_hex(uRds_Data[2] >> 8);
      serial_hex(uRds_Data[2]);
      serial_hex(uRds_Data[3] >> 8);
      serial_hex(uRds_Data[3]);
      serial_hex(uRds_Data[4] >> 8);
      serial_hex(uRds_Data[4]);
      serial_hex(uRds_Data[5] >> 8);
      Serial.print('\n');
    }
 }

Please mind the if-loop. Compared to

    if (RDSstatus == 1 && USBstatus == true && WiFistatus == false) {
      Serial.print("P");
      Serial.print(rdsInfo.programId);
      Serial.print("\nR");
      serial_hex(rdsB >> 8);
      serial_hex(rdsB);
      serial_hex(rdsC >> 8);
      serial_hex(rdsC);
      serial_hex(rdsD >> 8);
      serial_hex(rdsD);
      serial_hex(rdsErr >> 8);
      Serial.print("\n");
    }

in https://github.com/NoobishSVK/TEF6686-remastered/blob/main/TEF6686_remastered.ino#L2210

or

void readRds() {
  if (band == 5) {
    RDSstatus = 0;
  } else {
    RDSstatus = radio.readRDS();
  }
  ShowRDS(RDSstatus);

  if (RDSstatus == true && wificonnect == true && RDSSpy == true && band != 5) {
    if (RDSSpyReset == true) {
      RemoteClient.print("G:\r\n");
      RemoteClient.print("RESET-------");
      RemoteClient.print("\r\n\r\n");
      RDSSpyReset = false;
    }
    RemoteClient.print("G:\r\n");
    tcp_hex(radio.rds.rdsA >> 8);
    tcp_hex(radio.rds.rdsA);
    tcp_hex(radio.rds.rdsB >> 8);
    tcp_hex(radio.rds.rdsB);
    tcp_hex(radio.rds.rdsC >> 8);
    tcp_hex(radio.rds.rdsC);
    tcp_hex(radio.rds.rdsD >> 8);
    tcp_hex(radio.rds.rdsD);
    RemoteClient.print("\r\n\r\n");
  }

  if (RDSstatus == true && USBstatus == true && RDSSpy == true && band != 5) {
    if (RDSSpyReset == true) {
      Serial.print("G:\r\n");
      Serial.print("RESET-------");
      Serial.print("\r\n\r\n");
      RDSSpyReset = false;
    }
    Serial.print("G:\r\n");
    serial_hex(radio.rds.rdsA >> 8);
    serial_hex(radio.rds.rdsA);
    serial_hex(radio.rds.rdsB >> 8);
    serial_hex(radio.rds.rdsB);
    serial_hex(radio.rds.rdsC >> 8);
    serial_hex(radio.rds.rdsC);
    serial_hex(radio.rds.rdsD >> 8);
    serial_hex(radio.rds.rdsD);
    Serial.print("\r\n\r\n");
  }

in https://github.com/PE5PVB/TEF6686_multiband/blob/main/TEF6686_ESP32-v207_Multiband/TEF6686_ESP32-v207_Multiband.ino#L987

I am not a programmer, but please note the if ( bitRead(uRds_Data[0], 15) == 1 ).

@andimik
Copy link
Author

andimik commented May 10, 2023

Dear @kkonradpl Konrad,

I have another workaround (but this is not a bugfix for the firmware): the following command helps me to get error-free radiotext (no missing characters) in lots of the local radio stations (= as long as they repeat the text).

But a DXer from Belgrade (Serbia) told me he is working on a new firmware (not open source) and will fix that bug so that I will get RDS from weaker stations as well.

nc 127.0.0.1 7376 | grep -v - | grep 9202 > /tmp/9202.spy had that following output:
9202.zip

Some examples

nc 127.0.0.1 7376 | grep -v - | redsea -E -h
{"pi":"0xA201","group":"2A","radiotext":"Jetzt in Ö1: Ö1 Science Arena: Familiendebatte","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Vater, Mutter Kind - noch eine Chance? Die Familiendebatte.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Vater, Mutter Kind - noch eine Chance? Die Familiendebatte.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Vater, Mutter Kind - noch eine Chance? Die Familiendebatte.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Wolfgang Mazal vs. Ulrike Zartler","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Wolfgang Mazal vs. Ulrike Zartler","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Wolfgang Mazal vs. Ulrike Zartler","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Fragen zum Ö1 Programm? Tel. (01) 501 70 371","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Fragen zum Ö1 Programm? Tel. (01) 501 70 371","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Fragen zum Ö1 Programm? Tel. (01) 501 70 371","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Nächste Sendung: Tipps für Ö1 Club-Mitglieder","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Nächste Sendung: Tipps für Ö1 Club-Mitglieder","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Nächste Sendung: Tipps für Ö1 Club-Mitglieder","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Ö1 im Internet: oe1.ORF.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Ö1 im Internet: oe1.ORF.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Ö1 im Internet: oe1.ORF.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Jetzt in Ö1: Ö1 Science Arena: Familiendebatte","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Jetzt in Ö1: Ö1 Science Arena: Familiendebatte","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA201","group":"2A","radiotext":"Jetzt in Ö1: Ö1 Science Arena: Familiendebatte","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"Primorski obzornik Maj 2023/Rundschau der Slowenen in Italien","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0xA502","group":"2A","radiotext":"ORF Radio Kaernten - Mein Daheim","bler":0,"prog_type":"No PTY","tp":true}
{"pi":"0x9201","group":"2A","radiotext":"Radio Slovenija","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Vedno PRVI","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Radio Slovenija","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9201","group":"2A","radiotext":"Radio Slovenija","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"fm4.orf.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"fm4.orf.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"Homebase","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House Of Pain","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House Of Pain","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House Of Pain","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House of Pain: Albumnews & Klassiker","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House of Pain: Albumnews & Klassiker","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"House of Pain: Albumnews & Klassiker","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"Industrial, Metal und Punk mit Christian Fuchs und Co.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"Industrial, Metal und Punk mit Christian Fuchs und Co.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"Industrial, Metal und Punk mit Christian Fuchs und Co.","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"fm4.orf.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA213","group":"2A","radiotext":"fm4.orf.at","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"JARDIER - CORE","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0x9203","group":"2A","radiotext":"Glasni novi svet - Nizozemske povezave","bler":0,"prog_type":"No PTY","tp":false}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"clockclock","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0xA3FF","group":"2A","radiotext":"someone else","bler":0,"prog_type":"Pop music","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}

playing the attached file

$ redsea -h -E < /tmp/9202.spy | grep text
{"pi":"0x9202","group":"2A","radiotext":"MAGNIFICO - SILVIJA","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"Radio Slovenija","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"BIG BAND RTV SLOVENIJA, HAUPTMAN - SLEDIM (FRIŠNO 2022)","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}
{"pi":"0x9202","group":"2A","radiotext":"CLOVER, DEYAMPERT - HELD HIM FIRST","bler":0,"prog_type":"Varied","tp":true}

@andimik
Copy link
Author

andimik commented May 31, 2023

@kkonradpl

Dear Konrad, you were right, it was a firmware issue. Sjef has fixed it today in PE5PVB/TEF6686_ESP32@aba24c0

Now the result is identical to RTL-Sticks.

Bildschirmfoto vom 2023-05-31 20-21-22

I am so sorry that I have misused your issue tracking (but I could not know where the problem was coming from).

@andimik andimik closed this as completed May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants