NXP TEF6686 auf Arduino

Das Radioforum. Hier dreht sich alles um die technischen Seiten des Radio- und TV-Empfangs.
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

Your picture shows that the display is fixed with the case. Mine is fixed with the board.
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

Auf https://github.com/makserge/tef6686_rad ... EF6686.pdf habe ich auf Seite zB 63 das Auslesen von RDS durchgelesen. Eigentlich müssten alle 4 Blöcke ausgelesen werden. Ich bin aber kein Programmierer, um das zu verstehen.
1 = decoder mode (default); output of RDS group data (block A, B, C, D)
from Get_RDS_Status/Get_RDS_Data; FM cmd = 130/131

Application example FM_Set_RDS (1, 1, 2, 2)
und in der ino-Datei:

Code: Alles auswählen

bool devTEF_Radio_Set_RDS(void)
{
  return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 1, 1, 0);
}
Ah, man könnte sogar zwei Kabel mit Clock und Data rausführen
4 = legacy 2-wire demodulator data and clock output (‘RDDA’ and ‘RDCL’)
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

Ich habe etwas Erstaunliches rausgefunden.

Mit gtkterm hab ich unter Ubuntu mir die Datenübertragung direkt (also nur Rechner <-> TEF ohne xdr-gtk) angeschaut, und was soll ich sagen? Es ist anscheinend fehlerfrei.

Zeile 1 ist der Status
Zeile 2 ist der PI-Code
Zeile 3 ist der Rest
Ss39,7,23
PA213
R2018000000000F
Ss39,7,22
PA213
R20182020000003
Ss39,9,22
PA213
R20182020202000
Ss39,9,22
PA213
R000000000000FF
Ss39,8,22
PA213
R0000000000003F
Ss39,8,22
PA213
RE002000000000F
Ss39,7,23
PA213
RE0024F2D000003
Ss39,5,23
PA213
RE0024F2DA90200
Ss39,8,22
PA213
R0000000000003F
Ss39,7,22
PA213
R3010000000000F
Ss39,10,22
PA213
R30104000000003
Ss39,9,22
PA213
R30104000CD4601
Ss39,8,23
PA213
R0000000000003F
Ss39,9,22
PA213
R8002000000000F
Ss39,6,23
PA213
R8002C323000003
Ss39,10,22
PA213
R8002C3239AB301
Ss39,7,22
PA213
R0000000000003F
Ss39,10,22
PA213
R001A000000001F
Ss39,8,22
PA213
R001A809A000013
Ss39,7,23
PA213
R001A809A342010
Ss39,6,23
PA213
R0000000000003F
Ss39,7,22
PA213
R2019000000000F
Ss39,7,22
PA213
R20192020000003
Ss39,8,22
PA213
R20192020202000
Ss39,6,23
PA213
R0000000000003F
Ss39,7,23
PA213
RE003000000000F
Ss39,9,22
PA213
RE0035354000003
Ss39,9,23
PA213
RE0035354A90200
Ss39,8,22
PA213
R0000000000003F
Ss39,9,23
PA213
R001F000000001F
Ss39,8,22
Die Länge von P, R und S ist immer korrekt!

Daher denke ich, es ist xdr-gtk schuld.

Kennt ihr ein anderes Tool außer xdr-gtk (und seine Ableger wie tef-gtk), mit dem man die RDS-Blöcke A, B, C und D schreiben könnte?
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: NXP TEF6686 auf Arduino

Beitrag von Austria MV »

Kann man mit RDS-Spy rausfinden ob alle Daten übertragen werden ?
Tefoe3oe1.png
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

Ja, bei dir ist alles ok. Das sieht man rechts unten. Wenn Blöcke fehlen würden, wäre ein Minus zu sehen statt der Gruppe.

Unterscheidet sich deine Arduino Version von anderen Firmware Versionen? Wo hast du sie her? Vielleicht finde ich den Bug selbst.

Was ich noch nirgends gefunden hab ist eine Anleitung, wie man aus dem Quellcode (zB Github) fertige Flashdateien compilieren kann. Mit make geht es offenbar nicht.
carkiller08
Beiträge: 1657
Registriert: Fr 31. Aug 2018, 17:01
Wohnort: Sachsen-Anhalt / Harzvorland

Re: NXP TEF6686 auf Arduino

Beitrag von carkiller08 »

Sowas?
https://randomnerdtutorials.com/bin-bin ... duino-ide/

In der Arduino IDE müssen - sofern noch nicht geschehen - die Bibliotheken ergänzt werden, die im Quellcode als Kommentar stehen und
das ESP32 Board muß über die Borardverwaltung ergänzt werden.
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: NXP TEF6686 auf Arduino

Beitrag von Austria MV »

Bei mir läuft auf dem zuletzt gekauften Arduino und mit dem zweiten zusammengebauten Tuner folgende Software.
https://codeload.github.com/marsel90-1/ ... heads/main
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: NXP TEF6686 auf Arduino

Beitrag von Austria MV »

Auf dem älteren Arduino läuft.

https://github.com/voxit1512/Tef6686

Bei dieser Version sind die PI Codes etwas stabiler .
Testweise mal auf den zweitenArduino auch gewechselt.
BBRADIO.png
carkiller08
Beiträge: 1657
Registriert: Fr 31. Aug 2018, 17:01
Wohnort: Sachsen-Anhalt / Harzvorland

Re: NXP TEF6686 auf Arduino

Beitrag von carkiller08 »

andimik hat geschrieben:Ah, man könnte sogar zwei Kabel mit Clock und Data rausführen
Hatte ich hier schon mal beschrieben. Die GPIO Anschlüsse sind aber nur beim 19poligen Tuner herausgeführt.
search.php?keywords=legacy&t=58244
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: NXP TEF6686 auf Arduino

Beitrag von Austria MV »

Vermutlich sollte sich andimik auch noch die Arduino Version plus 19 Pin Tuner bauen oder besorgen.
Tuneranschlussbelegung ist bei mir.
19PinTefTuner.png
Hat eigentlich jemand schon mal die exakte Arduino Software für ESP32 umgeschrieben ?

Eine einfache Arduino Version kann man auch auf Lochraster oder Entwicklerboard aufbauen...

https://www.instructables.com/Simple-TE ... -Receiver/

https://www.youtube.com/watch?v=WvIN3sE_lOo
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

https://github.com/kkonradpl/xdr-gtk/issues/6

Bezüglich Serial-Output von RDS:

Anscheinend ist der einzige Unterschied zwischen der Arduinoversion von Austria MV und meiner ESP32-version von Sjef diese Zeile

Code: Alles auswählen

if ( bitRead(uRds_Data[0], 15) == 1 ).
Bei Sjef ist dieser Ausdruck wohl damit der gleiche.

Code: Alles auswählen

bool dataAvailable = bitRead(rdsStat, 15);
Wenn ich eine if-Schleife einfüge, dass dataAvailable unbedingt 1 sein muss, bevor das RDS über die Serielle Schnittstelle geschickt wird, kommt es anscheinend doch zu selten (ca. 2x in der Sekunde) und nicht sonst üblich.

Aber wozu sollte ich einen Arduino kaufen, wenn ich schon 2 TEF Radios auf ESP32 Basis habe?
Yoshi
Moderator
Beiträge: 643
Registriert: Di 14. Aug 2018, 22:28
Wohnort: Bayerischer Wald

Re: NXP TEF6686 auf Arduino

Beitrag von Yoshi »

andimik hat geschrieben: Do 18. Mai 2023, 14:01
Wenn ich eine if-Schleife einfüge
Sowas gibt es nicht. Ein IF Statement ist eine Abfrage und keine Schleife.
Empfänger: Sony XDR-F1HD und Sony XDR-S10HDiP an 7-Elemente-UKW-Antenne | Audi MMI 3G mit UKW/DAB | Microspot RA-318 | Lextronix E5 (2x80 kHz)
Entfernung zum Brotjacklriegel 14 km | Spritschleuder braucht Bild
andimik
Beiträge: 5696
Registriert: Sa 1. Sep 2018, 19:11
Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
Kontaktdaten:

Re: NXP TEF6686 auf Arduino

Beitrag von andimik »

Dann seht ihr, dass ich kein Programmierer bin ...
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: NXP TEF6686 auf Arduino

Beitrag von Austria MV »

Den Arduino plus 19 Pin Tuner + zusätzliche Programmzeile brauchst du wenn du einen externen RDS Decoder anschliesen möchtest.
RDS Spy scheint damit besser zu funktionieren...

Ich vermute die GPIO Anschlüsse wirst du bei deinen Geräten schwer finden falls der Chip dort überhaupt angelötet ist oder eine Leiterbahn wegführt ?

Wenn der gleiche Code beim ESP32 läuft kann es beim Rest möglicherweise zu Zeitverzögerung kommen ?
Drehencoder, LCD, Tastaturabfrage Restliche Software, Umschalter....
Hoffe natürlich dass das Problemmit RDS...zu RDS Spy... doch noch gelöst werden kann.

Bin auch nur hauptsächlich Anwender und kein Programmierer...

Hab ich mich geirrt wenn du eh mit den Radios zufrieden bist...


andimik hat geschrieben: Do 18. Mai 2023, 14:01
Aber wozu sollte ich einen Arduino kaufen, wenn ich schon 2 TEF Radios auf ESP32 Basis habe?
carkiller08 hat geschrieben: Mi 17. Mai 2023, 18:44
andimik hat geschrieben:Ah, man könnte sogar zwei Kabel mit Clock und Data rausführen
Hatte ich hier schon mal beschrieben. Die GPIO Anschlüsse sind aber nur beim 19poligen Tuner herausgeführt.
search.php?keywords=legacy&t=58244
VillachDX
Beiträge: 304
Registriert: Mi 17. Okt 2018, 22:18

Re: NXP TEF6686 auf Arduino

Beitrag von VillachDX »

Da ist sie wieder. Die if-Schleife. :heul: Sie verfolgt mich …

http://if-schleife.de/
Antworten