NXP TEF6686 auf Arduino

Das Radioforum. Hier dreht sich alles um die technischen Seiten des Radio- und TV-Empfangs.
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Ich habe wieder etwas zeit gehabt und konnte etwas mit der Software spielen.
Wer Rückmeldung haben mochte ob der Tuner im FM oder AM Modus ist kann das mit dem Befehl (Radio_IsFMBand()) machen,
oder ob ein RDS Signal da ist kann das mit (radio.readRDS()) machen.
Bei dem nächsten Befehl kann ich noch nicht einordnen was das für eine Funktion ist (Radio_Is_RDAV_Available()). :confused: .
Sollte einer von euch eine Idee haben wie die Filterbandbreite ausgelesen wird bitte posten.
Das es geht kann Mann an der Software von uTube (das Zeichen nicht gefunden( mikroTube von Youtube)sehen,die mir aber zu kompliziert ist.
Da ich leider kein Programmierer bin und nur durch Testen etwas über das Tuner heraus finde.
Das mit der SD Karte habe ich mal getestet auf meinem esp8266 bord und es geht,leider bekomme ich keine SD karte mit dem
Mega zum laufen , oder Levelshifter am esp8266 .So konnte ich nur kurz testen ;) .

MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Radio-DX
Beiträge: 849
Registriert: Fr 31. Aug 2018, 22:08
Wohnort: Nähe Neustadt a.d. Orla (Ostthüringen)

Re: NXP TEF6686 auf Arduino

Beitrag von Radio-DX »

In deinem Beitrag vom 29.03.20 hast du ein Video mit einem Touchscreen-Display.
Mit welcher Software steuerst du das an?
Mein "Software-Bastelkumpel" möchte das für sich nachbauen.
Weiter fragt er, mit welcher Software du die Daten auf die SD-Karte gespeichert hast?
Welches SD-Modul wird benutzt.
QTH: Nähe Neustadt a.d. Orla (Ostthüringen)
Empfangsrekord mit RDS-PS: 3075 km (Madeira: 88,0 MHz, Radio Renascenca, Sporadic-E am 12.06.2013)
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Das ist ein HMI Nextion Display ,man steuert es mit den Serial.print Befehl an.
z.B.
Serial2.print("t0.txt="); // feld
Serial2.write('"'); //Start Textfeld
Serial2.print(frequency / 100);
Serial2.print(".");
Serial2.print(frequency % 100); // frequenz mit komma
Serial2.write('"'); //Ende Textfeld
Serial2.write(0xff); //schreib es
Serial2.write(0xff);
Serial2.write(0xff);
schreibt dir die Freq. in das feld t0 .
du musst das erst mit dem Nextion Editor von hier https://nextion.tech/resources/download/ für dein Display, was du hast erstellen.
Bei der SD Karte habe ich nur ein Wamos D1 Shield so etwas https://hobbycomponents.com/shields/867 ... ard-shield hier genommen.
Das Ding lauft aber nicht mit dem Mega es hat 3.3 volt Datenleitungen der Mega aber 5 Volt,deswegen auch nur der kurz Test.
Die Software ist in der Ardino IDE schon drin.Wenn ich sowas teste ,mache ich es immer alles einzeln mit den Bespielen.Erst dann versuche ich es zusammen zuführen mit der Tuner Skizze .
Wenn Du ein Modul findest das gut zum Mega passt ,schreibe es bitte hier.
Sonst :kopf:

Viel Spass
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Radio-DX
Beiträge: 849
Registriert: Fr 31. Aug 2018, 22:08
Wohnort: Nähe Neustadt a.d. Orla (Ostthüringen)

Re: NXP TEF6686 auf Arduino

Beitrag von Radio-DX »

Danke.
Mal sehen ob er damit etwas anfangen kann.
QTH: Nähe Neustadt a.d. Orla (Ostthüringen)
Empfangsrekord mit RDS-PS: 3075 km (Madeira: 88,0 MHz, Radio Renascenca, Sporadic-E am 12.06.2013)
Radio-DX
Beiträge: 849
Registriert: Fr 31. Aug 2018, 22:08
Wohnort: Nähe Neustadt a.d. Orla (Ostthüringen)

Re: NXP TEF6686 auf Arduino

Beitrag von Radio-DX »

@ Fredfrei
Mein Bastelkumpel hat eine Anzeige mit integriertem Kartenleser.
Das Teil ist direkt auf Arduino abgestimmt und läuft mit Treiber ILI9486 8 Bit.
Es nennt sich: SKU MAR 3501
QTH: Nähe Neustadt a.d. Orla (Ostthüringen)
Empfangsrekord mit RDS-PS: 3075 km (Madeira: 88,0 MHz, Radio Renascenca, Sporadic-E am 12.06.2013)
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Ja so ein Ding habe ich auch ,kannst du kurz in einen anderen Video von mir sehen.
Aber da musst du alles mit dem Arduino zeichnen ,z.B. jeder Button brauch min. ca 5 Zeilen Code + denn Code was der Arduino machen soll.
Es brauch halt viel Speicher aber mit dem Patch.P222 ist ja der Speicherverbrauch auf unter 40% gesunken.
Und der SD Karte (bei dem was ich habe)kann man nur ansprechen,wenn man es extern verkabelt.
Die Dinger sind alle eher für den UNO gemacht.
Sag mir bitte wenn du eins findest was mit allem Pins zum Mega passt.
Schreibe den link hier mal.
Wenn du Beispiele haben möchtest dann kannst du dir mal das Si4735 auf Gitehub anschauen.
Hier noch ein Bild wie mein Nextion Display jetzt ausschaut .
Wenn Fragen sind melde dich doch.
Wenn ich kann versuche ich gern zu helfen.
Bin aber auch noch am Anfang bei der Arduino Programmierung . :dx:
Dateianhänge
20200515_084651.jpg
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Ich habe den Link zu der Software vergessen mit der man das Ding ansprechen kann .
Hier musst du natürlich erst Testen ob es richtig lauft.

http://www.lcdwiki.com/3.5inch_Arduino_ ... to_Arduino

Beachte den Text unter Beispiele und SD karte da steht dann so etwas.

Attention:
"SDCard Exten Example" only support the Arduino UNO board,not support the Mega2560,Because they use different SPI bus.

Aber mit dem UNO lauft unsere Tuner Software leider nicht so einfach.

Viel Spass ?!
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
carkiller08
Beiträge: 1685
Registriert: Fr 31. Aug 2018, 17:01
Wohnort: Sachsen-Anhalt / Harzvorland

Re: NXP TEF6686 auf Arduino

Beitrag von carkiller08 »

Es brauch halt viel Speicher aber mit dem Patch.P222 ist ja der Speicherverbrauch auf unter 40% gesunken.
Der p222 ist aber größer (6kB) als der p209 (ca 2,2kB). Weniger Speicher geht nur , wenn PROGMEM eingesetzt wird so wie im Sketch von µTube. Problem bei mir ist aber, daß das mit PROGMEM bei dem Patch überhaupt nicht funktioniert. Speicher ist zwar sofort mehr mit PROGMEM da, aber der Tuner geht so gar nicht mehr, weit das Zurücklesen aus dem FLASH-Speicher offenbar nicht klappt,

Mit einem STM32 Blue Pill Controller (20kB RAM statt 8kB) habe ich es ohne PROGMEM zwar sofort mit dem p222-Patch zum Laufen bekommen, habe aber viel mehr Empfangs-Störungen als mit dem Mega2560.

Hast du etwas modifiziert, damit der Sketch mit dem p222 Patch statt p209 Patch läuft?
Wenn ja, was ?


Lediglich mit Modifikationen in der Tuner_Interface.cpp bekomme ich ein paar 100Byte mehr RAM.

Die Änderung der Zeile
static const unsigned char tuner_init_tab[] = {
in
static const unsigned char tuner_init_tab[762] PROGMEM = {
funktioniert offenbar nur mit weiteren Änderungen:

Code: Alles auswählen

static const unsigned char tuner_init_tab[762] PROGMEM  = {
.
.
.
void Tuner_I2C_Init() 
{
  Wire2.begin();
}

uint16_t Tuner_Init(void) //return 1 = success
{
  uint16_t i;
  uint16_t r;
  uint16_t j;
  uint16_t limit;
  const unsigned char *p = &tuner_init_tab[0];
  unsigned char t[20];
  const size_t s = sizeof(tuner_init_tab);
  for(i = 0; i < s; i += pgm_read_byte(p + i) + 1)
  {
    limit = pgm_read_byte(p + i);
    for(j = 0; j <= limit; j++)
      t[j] = pgm_read_byte(p + i + j);
    if( (r=Tuner_Table_Write(t)) != 1)
      break;
      
      
      
"void Tuner_I2C_Init()" ist erheblich erweitert im Vergleich zur Original-Version,
damit das mit PROGMEN geht.
Ich habe aber keine Ahnung, was dieser Code eigentlich im Detail genau macht.

In dem Patch (Tuner_Patch_Lithio_V102_p222.h) bei dem PROGMEM eingesetzt werden soll,
finde ich einen vergleichbaren Code jedenfalls nicht.
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Also ich muss das jetzt erst wieder zusammen suchen.
Ein paar Fragen noch, was für ein Tuner (4 Mhz oder 9 Mhz ),IDE,Board nutzt du.
Wie hast du hier denn Code eingestellt.?
Hast du die Software von µTube direct mal getestet,was macht dein Tuner dann.
Denn Tuner kann man da ja auch über die Konsole bedienen .

MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Wenn du möchtest kann ich mal das einstellen,was bei mir funkt.
Mit PROGMEM komme ich auf ca. 30 % Speicher also noch viel Platz.
Bin mir nur noch nicht sicher wo,wenn du eine Idee hast sage einfach Bescheid.
MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
carkiller08
Beiträge: 1685
Registriert: Fr 31. Aug 2018, 17:01
Wohnort: Sachsen-Anhalt / Harzvorland

Re: NXP TEF6686 auf Arduino

Beitrag von carkiller08 »

Den Code kann man hier über [ c o d e] [ / c o d e] einstellen (ohne Leerzeichen).

Tuner verwende ich die von aliexpress mit 9,216MHz und einen weiteren mit 4MHz + aktuellste Arduino IDE +
Mega2560 und Mega2560PRO.
Die Sketche für Putty, von Nicu Florica und für xdx-gtk (dort übrigens auch mit angepassten p222 Patchcode und PROGMEM) laufen alle.

Den Sketch von Nicu Florica (v3) habe ich auf 16x2 LCD angepasst und eine Feineinstellung etc. ergänzt.
Da ich den Patchcode p222 dort nur ohne PROGMEM verwenden kann, habe ich 7,8kB RAM belegt von 8kB.
Funktioniert problemlos, aber mit Erweiterungen ist so nix zu machen,

Mit dem Sketch von µTube (µ = Taste altgr + Taste m) gab es Probleme, die auf einen nicht richtig an den
Tuner übertragenen Patchcode p222 (in Verbindung mit PROGMEM für mehr freien RAM) zurückzuführen waren.

Wegen dem Sketch habe ich eine PM geschickt.

Gruß
cc
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Ich habe leider keine PM erhalten.
MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Habe das mal für Dich neu zusammen gestellt und getestet ,bei mir läuft das gut .
Höre damit gerade :) .
Speicher liegt dann bei 2514 Bytes.
Viel Spass beim Testen .
Mfg
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
carkiller08
Beiträge: 1685
Registriert: Fr 31. Aug 2018, 17:01
Wohnort: Sachsen-Anhalt / Harzvorland

Re: NXP TEF6686 auf Arduino

Beitrag von carkiller08 »

Herrlich.
Endlich funktioniert es mit der PROGMEM-Speicheroptimierung.
Nur noch 30% Speicherauslastung. :cheers: :spos: :spos: :spos:

Das war eine riesengroße Hilfe.
Herzlichen Dank dafür.
Fredfrei
Beiträge: 65
Registriert: Di 25. Feb 2020, 22:37

Re: NXP TEF6686 auf Arduino

Beitrag von Fredfrei »

Keine Ursache :xcool:
Bei mir belegt alles zusammen ca. 47 %
SD Karten Software ink. SPI (SD Karten Modul z.Z. defekt)
ds3231 Uhrenmodul
IR Sensor
Bme 280
und die Ausgabe auf dem Nextion Display.
Wenn du eine Möglichkeit findest wie man die Filter anzeigen kann .

Bitte posten.

Bin da schon eine Weile dran komme aber nicht richtig weiter.

MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Antworten