NXP TEF6686 auf Arduino
Re: NXP TEF6686 auf Arduino
Ist doch schön wenn es für dich passt ,
ich bin noch nicht zu 100% zufrieden mit der Anzeige .
Ich bin noch am überlegen ob man sich die arbeit machen sollte und das ganze so umzuschreiben.
Das man den pi code in kurzer zeit miteinander vergleicht und erst dann anzeigt.Bin mir aber nicht sicher ob sich das überhaupt loht .
Das ist nur meine kleine Theorie .
Was mir auch noch aufgefallen ist wenn man auf ein AM Band schaltet wird als pi code immer 2083 angezeigt
Mit dem Empfang bin ich ja auch sehr zufrieden.
Kann mir einer von euch sagen ob er in den weiten des web mal so ein Grafik LC Display gesehen hat wie es an den normalen Radios verbaut ist ,also nicht blau oder grün
sondern so wie z.B. im ATS 909, kann es gerade nicht anders beschreiben.
MfG
ich bin noch nicht zu 100% zufrieden mit der Anzeige .
Ich bin noch am überlegen ob man sich die arbeit machen sollte und das ganze so umzuschreiben.
Das man den pi code in kurzer zeit miteinander vergleicht und erst dann anzeigt.Bin mir aber nicht sicher ob sich das überhaupt loht .
Das ist nur meine kleine Theorie .
Was mir auch noch aufgefallen ist wenn man auf ein AM Band schaltet wird als pi code immer 2083 angezeigt
Mit dem Empfang bin ich ja auch sehr zufrieden.
Kann mir einer von euch sagen ob er in den weiten des web mal so ein Grafik LC Display gesehen hat wie es an den normalen Radios verbaut ist ,also nicht blau oder grün
sondern so wie z.B. im ATS 909, kann es gerade nicht anders beschreiben.
MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
-
- Beiträge: 849
- Registriert: Fr 31. Aug 2018, 22:08
- Wohnort: Nähe Neustadt a.d. Orla (Ostthüringen)
Re: NXP TEF6686 auf Arduino
Das macht ein RDS-Decoder doch schon.Das man den pi code in kurzer zeit miteinander vergleicht und erst dann anzeigt.
Jedenfalls unser vor vielen Jahren selbst gebastelter. (So wurde einst berichtet)
Der PI muss mehrmals gleich eingelesen werden und wird dann erst angezeigt.
Der PS (Sendername) muss noch deutlich öfters eingelesen werden.
Darum wird er auch immer erst später angezeigt. (oder auch nicht )
Leider kommt es aber trotzdem zu falschen Anzeigen.
Hm.
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)
Empfangsrekord mit RDS-PS: 3075 km (Madeira: 88,0 MHz, Radio Renascenca, Sporadic-E am 12.06.2013)
Re: NXP TEF6686 auf Arduino
Achso das macht dann die Software im Tuner selbst ,ich habe ja an die Arduino Software gedacht.
Denn da kann ich nichts sehen das etwas verglichen wird , natürlich kann ich mich auch Irren.
Ich werde mir mal am Wochenende das noch mal anschauen ob ich etwas entdecken kann oder was man da machen kann .
Kann mir den einer sagen wie häufig der code gesendet wird.
Ich bin ja noch auf der Suche nach einer Möglichkeit die Filter anzuzeigen.
Wenn jemand eine Idee hat bitte schreiben .
Denn da kann ich nichts sehen das etwas verglichen wird , natürlich kann ich mich auch Irren.
Ich werde mir mal am Wochenende das noch mal anschauen ob ich etwas entdecken kann oder was man da machen kann .
Kann mir den einer sagen wie häufig der code gesendet wird.
Ich bin ja noch auf der Suche nach einer Möglichkeit die Filter anzuzeigen.
Wenn jemand eine Idee hat bitte schreiben .
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
-
- Beiträge: 1685
- Registriert: Fr 31. Aug 2018, 17:01
- Wohnort: Sachsen-Anhalt / Harzvorland
Re: NXP TEF6686 auf Arduino
Wegen Filter abfragen: Wahrscheinlich müsste die Tuner_Drv_Lithio.cpp erweitert werden oder
man muß selbst die Daten via wire / I2C auslesen.
Auszug Tuner_Drv_Lithio.cpp
Offenbar wird der Bandbreite-Wert durch die Kommentierung nicht ausgewertet.
Und hier ist er nicht als Parameter enthalten.
Lt Datenblatt
man muß selbst die Daten via wire / I2C auslesen.
Auszug Tuner_Drv_Lithio.cpp
Code: Alles auswählen
uint16_t devTEF668x_Radio_Get_Quality_Level (uint8_t fm,uint8_t *status,int16_t *level)
{
uint8_t buf[4];
uint16_t r;
r = devTEF668x_Get_Cmd(fm ? TEF665X_MODULE_FM : TEF665X_MODULE_AM,
TEF665X_Cmd_Get_Quality_Data,
buf,sizeof(buf));
if(r == 1){
*status = (int16_t)((0x3fff&Convert8bto16b(buf))/10);
*level = (int16_t)(((int16_t)Convert8bto16b(buf+2))/10);
}
return r;
}
/*
status = 1 � 320 (* 0.1 ms) = 0.1 � 32 ms after tuning
level = -200 ... 1200 (0.1 * dBuV) = -20 ... 120 dBuV RF input level
usn = 0 � 1000 (*0.1 %) = 0 � 100% relative usn detector result
wam = 0 � 1000 (*0.1 %) = 0 � 100% relative wam detector result
offset = -1200 � 1200 (*0.1 kHz) = -120 kHz � 120 kHz radio frequency error
bandwith = FM 560 � 3110 [*0.1 kHz] = IF bandwidth 56 � 311 kHz; narrow � wide
AM 30 � 80 [*0.1 kHz] = IF bandwidth 3 � 8 kHz; narrow � wide
modulation = FM 0 � 1000 [*0.1 %] = 0 � 100% modulation = 0 � 75 kHz FM dev.
1000 � 2000 [*0.1 %] = 100% � 200% over-modulation range
AM 0 � 1000 [*0.1 %] = 0 � 100% AM modulation index
1000 � 2000 [*0.1 %] = 100% � 200% peak modulation range
*/
uint16_t devTEF668x_Radio_Get_Quality_Data (uint8_t fm,uint8_t *usn,uint8_t *wam,uint16_t *offset)
{
uint8_t buf[14];
uint16_t r;
int16_t temp;
r = devTEF668x_Get_Cmd(fm ? TEF665X_MODULE_FM : TEF665X_MODULE_AM,
TEF665X_Cmd_Get_Quality_Data,
buf,sizeof(buf));
if(r == 1)
{
//*status = ((0x3fff&Convert8bto16b(buf))/10);
//*level = (((int16_t)Convert8bto16b(buf+2))/10);
*usn = (Convert8bto16b(buf+4)/10);
*wam = (Convert8bto16b(buf+6)/10);
temp = (((int16_t)Convert8bto16b(buf+8))/1);
*offset = temp<0? (0-temp) : temp;
//*bandwidth = (Convert8bto16b(buf+10)/1);
//*modulation = (Convert8bto16b(buf+12)/10);
}
return r;
}
Code: Alles auswählen
uint16_t devTEF668x_Radio_Get_Quality_Level (uint8_t fm,uint8_t *status,int16_t *level) // CMD 128
uint16_t devTEF668x_Radio_Get_Quality_Data (uint8_t fm,uint8_t *usn,uint8_t *wam,uint16_t *offset) //CMD 129
Lt Datenblatt
32 / 33 FM / AM
128 Get_Quality_Status FM : | status, level, usn, wam, offset, bandwidth, modulation
AM : | status, level, noise, co_channel, offset, bandwidth, modulation
129 Get_Quality_Data
.
.
6 bandwidth
[ 15:0 ]
IF bandwidth
FM 560 … 3110 [*0.1 kHz] = IF bandwidth 56 … 311 kHz; narrow … wide
AM 30 … 80 [*0.1 kHz] = IF bandwidth 3 … 8 kHz; narrow … wide
.
.
Application example FM_Get_Quality_Status (1, (status))
FM_Get_Quality_Data (1, (status .. modulation))
I²C example (hex)
[ w 20 80 01 [ r 0014]
[ w 20 81 01 [ r ???? ???? … ???? ]
Re: NXP TEF6686 auf Arduino
Ja genau ,das habe ich schon gesehen wenn man diese Teil verändert ,funktioniert leider der Suchlauf nicht mehr richtig.
Aber es wird die Filter ausgegeben.
Ich habe mir auch die Software von µTube angeschaut wo das ja geht ,aber leider hat er fast alles umbenannt,so das es echt kompliziert ist
das nachzuvollziehen .Wenn ich versuche denn code zu erweitern dann sagt die Ide" nein nein so geht das nicht ".
Ich bin ja auf der Suche nach einer Idee ,wie ich noch mal neu ansetzen kann.
Ich denke , man sollte ein neue "Funktion"schreiben .
Das wird eine lange Nacht .
MfG
Aber es wird die Filter ausgegeben.
Ich habe mir auch die Software von µTube angeschaut wo das ja geht ,aber leider hat er fast alles umbenannt,so das es echt kompliziert ist
das nachzuvollziehen .Wenn ich versuche denn code zu erweitern dann sagt die Ide" nein nein so geht das nicht ".
Ich bin ja auf der Suche nach einer Idee ,wie ich noch mal neu ansetzen kann.
Ich denke , man sollte ein neue "Funktion"schreiben .
Das wird eine lange Nacht .
MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Re: NXP TEF6686 auf Arduino
An alle die es interessiert ,nach einem reset meines Hirns (Danke carkiller08).
Habe ich es geschafft das der filter angezeigt wird.
ich habe für euch ein kleines Demo Video.
Jetzt kann man schon beim Empfang sagen kommt noch RDS oder nicht.
In der Theorie könnte man die pi anzeige koppeln und nur wenn ein bestimmter filter da ist zeige
ich auch was an.
Es ist auch möglich sich die andren Sachen anzeigen zu lassen .
Aber ich bin mir nicht sicher was die über den Empfang aussagen bzw was sie bedeuten.
z.B. usn ,& wam usw.
Wenn jemand noch Info oder so brauch ,einfach melden.
https://youtu.be/Asr7whX8DBI
Habe ich es geschafft das der filter angezeigt wird.
ich habe für euch ein kleines Demo Video.
Jetzt kann man schon beim Empfang sagen kommt noch RDS oder nicht.
In der Theorie könnte man die pi anzeige koppeln und nur wenn ein bestimmter filter da ist zeige
ich auch was an.
Es ist auch möglich sich die andren Sachen anzeigen zu lassen .
Aber ich bin mir nicht sicher was die über den Empfang aussagen bzw was sie bedeuten.
z.B. usn ,& wam usw.
Wenn jemand noch Info oder so brauch ,einfach melden.
https://youtu.be/Asr7whX8DBI
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Re: NXP TEF6686 auf Arduino
Ist es beim Arduino Code möglich eine Art Eingabe einzubauen für die Steuerung über Putty oder bei einem Standalone System ohne PC?
Wenn man das Ding ohne PC bedienen will, dauert es bis man zu einer gewünschten Frequenz kommt, besonders, wenn man vom CCIR zum OIRT Band wechseln will.
Ich stell mir das vor, dass eine Taste die Eingabe einer Frequenz ermöglicht, und diese Frequenz dann bei Bestätigung gewählt wird.
Vielleicht weiß da einer von euch weiter
Wenn man das Ding ohne PC bedienen will, dauert es bis man zu einer gewünschten Frequenz kommt, besonders, wenn man vom CCIR zum OIRT Band wechseln will.
Ich stell mir das vor, dass eine Taste die Eingabe einer Frequenz ermöglicht, und diese Frequenz dann bei Bestätigung gewählt wird.
Vielleicht weiß da einer von euch weiter
Standort: Wien, Österreich
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Re: NXP TEF6686 auf Arduino
Ich denke ja wenn ich dich richtig verstanden habe möchtest du das band gezielt wechseln oder möchtest du auch noch die Frq. direct eingeben.
Das mit dem Band direct umschalten geht schon ,Frq direct eingeben noch nicht.
Das mit dem Band direct umschalten geht schon ,Frq direct eingeben noch nicht.
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Re: NXP TEF6686 auf Arduino
Jetzt habe ich mir deine frage noch mal durchgelesen,wenn ich dich richtig verstehe mochtest du nur eine Frq wählen oder.
Das geht sogar relativ einfach.
Ich brauch aber noch ein paar infos von dir dann kann ich dir eine Lösung vorschlagen.
Das geht sogar relativ einfach.
Ich brauch aber noch ein paar infos von dir dann kann ich dir eine Lösung vorschlagen.
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Re: NXP TEF6686 auf Arduino
Sorry, wenn das unverständlich war
Ja, genau, ich möchte einfach per Eingabefeld die Frequenz ändern können.
Z.b. ich hab ein 4x4 Nummernfeld, wenn ich dort den Knopf "A" drücke, erscheint dann am I²C Display "Bitte Frequenz eingeben". Ich tippe 92.0 ein und drücke auf die "B" Taste zum Beispiel, welche als Enter fungiert. Dann wird genau 92.0 gewählt sein und, meinem Gebiet entsprechend, OE1 abgespielt.
Welche Infos wären benötigt?
Ja, genau, ich möchte einfach per Eingabefeld die Frequenz ändern können.
Z.b. ich hab ein 4x4 Nummernfeld, wenn ich dort den Knopf "A" drücke, erscheint dann am I²C Display "Bitte Frequenz eingeben". Ich tippe 92.0 ein und drücke auf die "B" Taste zum Beispiel, welche als Enter fungiert. Dann wird genau 92.0 gewählt sein und, meinem Gebiet entsprechend, OE1 abgespielt.
Welche Infos wären benötigt?
Standort: Wien, Österreich
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Re: NXP TEF6686 auf Arduino
Genau das habe ich auch noch nicht hin bekommen. Stand aber auch noch nicht ganz oben auf der Liste.
Ich habe gedacht du möchtest einfach nur ich drücke Taste 1 und er springt zu Frq. 92.0 Mhz. oder Taste 2 und er geht zu 104.0 z.B.
So eine Art kleiner Senderspeicher,
Weil das geht ja mit den Hausmitteln schon, allerdings ist es da in der normalen Software auf FM begrenzt.
In den AM band geht das nicht, ich habe mir da eine andere Funktion gebastelt.
Wenn dir das erst mal langt kann ich das mal aufschreiben.
Das andere braucht noch etwas Zeit , ich möchte bei mir erst den Drehencoder .einbauen in die Software,
so das man wie bei einem normalen Radio durch die Band kurbeln kann.
Ich habe gedacht du möchtest einfach nur ich drücke Taste 1 und er springt zu Frq. 92.0 Mhz. oder Taste 2 und er geht zu 104.0 z.B.
So eine Art kleiner Senderspeicher,
Weil das geht ja mit den Hausmitteln schon, allerdings ist es da in der normalen Software auf FM begrenzt.
In den AM band geht das nicht, ich habe mir da eine andere Funktion gebastelt.
Wenn dir das erst mal langt kann ich das mal aufschreiben.
Das andere braucht noch etwas Zeit , ich möchte bei mir erst den Drehencoder .einbauen in die Software,
so das man wie bei einem normalen Radio durch die Band kurbeln kann.
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
-
- Beiträge: 1685
- Registriert: Fr 31. Aug 2018, 17:01
- Wohnort: Sachsen-Anhalt / Harzvorland
Re: NXP TEF6686 auf Arduino
In der Putty-Version hatte ich die Tastaturabfrage-Route mal ergänzt,
so dass ich mit den Tasten 1 bis 9 verschiedene Frequenzen direkt einstellen konnte (Presets).
Beispiel: Taste 1 stellt 88,4MHz ein:
Mit zusätzlichen Tastern am Mega2560 geht das freilich auch ohne PC.
Die Frequenzen wären dann im Programmcode festgelegt.
Wenn man die Frequenzen quer übers Band verteilt, kann man so auch
andere Frequenzen deutlich schneller einstellen.
Oder ihr bastelt euch noch 2 Taster für eine "grobe" Frequenzeinstellung rein.
z.B Taster 1 erhöht um 1MHZ , Taster 2 verringert um 1 MHz.
So wäre man auch ruck-zuck durchs Band durch.
Wäre das selbe Prinzip wie bei der Feineinstellung, nur statt +/-1 wären es dann +/-100 .
so dass ich mit den Tasten 1 bis 9 verschiedene Frequenzen direkt einstellen konnte (Presets).
Beispiel: Taste 1 stellt 88,4MHz ein:
Code: Alles auswählen
else if (ch == '1') {
radio.setFrequency(8840);
frequency = 8840;
//displayInfo();
radioGui(true);
}
Die Frequenzen wären dann im Programmcode festgelegt.
Wenn man die Frequenzen quer übers Band verteilt, kann man so auch
andere Frequenzen deutlich schneller einstellen.
Oder ihr bastelt euch noch 2 Taster für eine "grobe" Frequenzeinstellung rein.
z.B Taster 1 erhöht um 1MHZ , Taster 2 verringert um 1 MHz.
So wäre man auch ruck-zuck durchs Band durch.
Wäre das selbe Prinzip wie bei der Feineinstellung, nur statt +/-1 wären es dann +/-100 .
Zuletzt geändert von carkiller08 am Sa 6. Jun 2020, 09:18, insgesamt 1-mal geändert.
Re: NXP TEF6686 auf Arduino
ich habe noch ein kleines Video gemacht wo ich den Filter umschalte im AM Band.
Jetzt kann man auch sehen was für ein Filter aktiv ist.
Ich bin mir aber nicht sicher, ob noch jemand mit dem Tuner MW KW von euch hört.
"Kleine Umfrage"
Schreibt doch mal was dazu .
https://youtu.be/8K2mroGctvs
MfG
Jetzt kann man auch sehen was für ein Filter aktiv ist.
Ich bin mir aber nicht sicher, ob noch jemand mit dem Tuner MW KW von euch hört.
"Kleine Umfrage"
Schreibt doch mal was dazu .
https://youtu.be/8K2mroGctvs
MfG
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art
Re: NXP TEF6686 auf Arduino
Man müsste nur herausfinden wie man ein Eingabefeld im Code einbauen kann, wie z.b. in Java geht's mit "Scanner".
Den Wert dann einfach in eine Variable abspeichern und in radio.setFrequency() einsetzen.
Den Wert dann einfach in eine Variable abspeichern und in radio.setFrequency() einsetzen.
Standort: Wien, Österreich
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Empfänger: Airspy HF+ Discovery, TEF6686 Portable, Dual MCR 200
Re: NXP TEF6686 auf Arduino
Hier habe ich mal einen Link.zu ein Beispiel Sketch wo man mal ein paar Sachen testen kann.
Die ino habe ich zum Test mal für den Serial gebaut .
Vielleicht kann das einer von euch mal testen.
Achtung noch habe ich nicht alles in der ino was geht,da noch nicht fertig bzw getestet.
https://drive.google.com/drive/folders/ ... TQKsiLU6tW
Ich hoffe das funkt
Über Rückmeldungen wäre ich dankbar.
Die ino habe ich zum Test mal für den Serial gebaut .
Vielleicht kann das einer von euch mal testen.
Achtung noch habe ich nicht alles in der ino was geht,da noch nicht fertig bzw getestet.
https://drive.google.com/drive/folders/ ... TQKsiLU6tW
Ich hoffe das funkt
Über Rückmeldungen wäre ich dankbar.
Onkyo 4970 / Pioneer F 502 / Yamaha CT-610 /Seangean DT 800 / Sony XDR-S60DBR / Sangean ATS 909/TEF6686 Der letzte seiner Art