Autor |
Nachricht |
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
Hallo Leute,
in dem Thread will ich die Fortschritte der Software schreiben bzw neuerungen besprechen bekantgeben etc.
Gestern habe ich die Version 1.09 erzeugt.
In der sind folgende Dinge geändert bzw verbessert worden:
- nach dem Tune Commando wurde das falsche Commando mit der Frequenz zurückgegeben
- RDS Daten für RadioText werden nur Fehlerlose angenommen (demnächst soll dies für alle RDS Daten angewant werden bzw Error Correction benutzt werden bis 2 Bit)
Na dann viel spaß damit.
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
So jetzt habe ich mal die RDS Version evaluiert und nehme jetzt nur noch Gültige RDS Daten an bzw Daten, die nicht fehlerhaft sind.
Dies ist in der Version 1.10 gefixt:
- Display: Frequenz ausgabe (warning)
- RDS: Es werden jetzt nur noch Fehlerfreie RDS Daten angenommen (hier wird ein guter Empfang benötigt)
Im Anhang folgende Files:
Code:
|
YARS_v1.10_debug.hex
YARS_v1.10_debug_nodisplay.hex
YARS_v1.10_release.hex
YARS_v1.10_release_nodisplay.hex
|
Die sourcen sind ab Mitternacht wieder als Snapshot verfügbar.
Feadback währe nicht schlecht!
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
Ich hab die YARS_v1.10_release_nodisplay.hex geflasht, ich nehm' mal an das ist die richtige wenn ich die Displayplatine entfernt habe.
Da kommt vom RDS aber noch ganz schöner Unfug:
Der Empfang ist bei 80%
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
sorry aber was das für ein bild?
was sagt der wert mit $e#00 ?
muss mal das ohne display aufspieln.
hab es gerade nochmal aufgespielt und geht einwandfrei:
$e=10#00
$n=BAYERN 3#00
$n=BAYERN 3#00
$x=e-Mail: studio@bayern3.de #00
$x=e-Mail: studio@bayern3.de #00
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
SirGroovy2004
CPI Profi
Alter: 44
Anmeldung: 27.12.2004
Beiträge: 4337
Wohnort: 30km südl v. München
1992 Volkswagen Golf III
|
|
Servus Tuxlein,
Elektriker nutzt offenbar cPos mit dem "the-green" Skin. Das was du da siehst, ist die Ausgabe von cPos im Radio Menü. Eigendlich sollte dort der Name des Radio senders stehen. Elektriker bekommt aber diese merkwürdigen Zeichen.
Recht herzlichen Dank für die Aufmerksamkeit.
SirGroovy2004
|
|
|
|
Hardware: Asrock K7s4GX; AMD Geode 1750+; 512MB Ram; Sirf 3 Star; K90; Software: cPos! 1.0; Windows XP Prof x64 Edition;
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
Ok, naja habe bei mir auch die Antene mal vom empfang weg, da bleibt bei mir rds einfach stehen, so wie es soll.
Sollte vieleicht mal der cpos programierer ein auge drauf werfen, vieleicht kommt cpos durcheinander.
es währe nicht schlecht, wenn fehler direckt nachgestelt werden in der Konsole bzw mit nem Terminal am Radio drann, das erleichtert mir einiges. Schließst vor allem aus das fehler oder Fehlinterpretationen in der Software an mich gelangen.
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
@ tuxlein
Sorry, hätte ich vielleicht etwas genauer beschreiben sollen.
Es stimmt, das ist ein Screenshot von cPos, 1.Zeile Sendername, 2.Zeile Radiotext.
Daß es an cPos liegt glaube ich eigentlich nicht, das fragt nur kontinuierlich die Werte vom ELV ab (z.B. $n#00) und weist sie den entsprechenden Variablen zu, die dann angezeigt werden.
Ich werde das ganze auch nochmal im Terminal testen, wird aber wohl erst morgen oder am WE werden.
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
ok das hätte ich jetzt auch vermuttet das es nicht an cPos liegt aber es ist ja nix ausgeschlossen!
Nun wenn cPos ihmmer nur $n#00 abfragt, ist das nicht so ideal bei befehlen wie $x#00, denn auf die gibt es ein Watcher und hier werden nur folständige strings übermittelt. RDS schickt ja nicht ein befehl volständig sondern es wird gemultiplext.
ich werde warscheinlich für $n#00 auch noch einen Watcher nachrüsten!!!!
Welchen empfangspegel hast du wenn dieser Datenmüll kommt?
I muss vieleicht genau das Hex File vom Download mal hochladen, hab nochmal zu test es neukompeliert (make DDISPLAY=1 DDEBUG=1)
Währe supper wenn du das im Terminal ausprobierst und auch dazu den RF-Level mit ausgibst, dies würde mier helfen (RFLevel $e#00)
Gruß
Flo
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
Der Empfang lag bei 80%, in cPos wird das intern umgerechnet, müsste also der Wert 12 sein (wenn ich mich richtig erinnere liefert das ELV da von 0-15).
Was ich vielleicht noch schreiben sollte, die Zeichenketten wechseln bei jeder Abfrage. Teilweise wird es auch für einige Sekunden fehlerfrei angezeigt.
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
ok, dann wird aber von cpos nicht auf den watcher geachtet. Typischerweise übertragt ein sender die selbe zeichnefolge 3x bevor sie gewechselt werden.
Wenn der String intern aufgebaut wird kann es schon sein, das fehlerhafte daten noch enthalten sind!
Darum ist es ja wichtig auf den Watcher zu warten, weil hier die Daten komplet sind und als Fehlerfrei gejkenzeichnit sind in der version 1.10.
Ich habe von der Version 1.09 auf 1.10 einen Workaround ausgebaut, der zur laufzeit auf gültige Zeichen geprüft hat. Hier wurde aber nur auf CHARs geprüft. Der ist raus, dafür werden nur fehlerfreie Daten angenommen die RDS als Fehlerfrei empfangen hat. Sind bitfehler enthalten werden Sie ignoriert.
Bei empfang von 80% muss ich sagen ist selbst ohne korrektur bei mir alles ok.
Ich empfange fehlerfreie daten bei einem einen RF Level von ca 8 schon!
Ich werde demnächst den Watcher auf den $n#00 Befehl erweitern dann muss dies CPOS auch benutzen.
Der Ram auf einem Microcontroller ist ja begrenzt, sonst könnte man natürlich die RDS Daten doppelt halten und nur fertig übertragene für die Befehle zur verfügung stellen, dann ging es ohne Watcher auch. Aber dafür ist der Watcher da, der Spart RAM und laufzeit.
Gruß
Flo
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
Dann muß ich mir das mit den Watchern mal angucken.
Evtl. wäre dann auch ein Watcher für i und e interresant.
Was ist eigentlich der Befehl y, für den ein Watcher gesetzt werden kann? Den hab ich in der Kommandoliste im wiki nicht gefunden.
Edit:
Hab grade gesehen, daß v für Lautstärke und für PTY drinsteht. Ich geh mal davon aus, daß y dann für PTY ist.
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
e ist so ne sache den kanst ja jede 100milisec oder so raushauen, da der so offt aktualisiert wird bzw ständig.
i = Ident Code jeder Radiosender hat einen eindeutigen Identcode Weltweit Hex verschlüsselt.
y wird leider nur von ganz wenigen sendern ausgestrallt ist so ein zusatz text zu x nur leider hab ich hier keinen sender der den mitstrahlt!
vieleicht wird der auch nicht benutzt. Schau einfach in die RDS Spec.
Vieleicht fält mir was ein zwecks watcher für e und gegebenfals i ne gute lösung
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
So ich hab mal bissel getestet.
Also mit dem Watcher sieht das schon wesentlich besser aus. Bei "MDR Jump" von dem das Bild weiter oben stammt wird über den Watcher nur ganz selten was ausgegeben, da wird wohl viel ausgefiltert.
Bei "MDR Sachsen" sieht's sehr gut aus,
bei anderen Sendern kommt aber teilweise schon noch fehlerhaftes.
Wobei ich dazu sagen muß, daß das Radio momentan am Kabelnetz hängt, weis nicht ob da evtl. das RDS-Signal schlecht reinkommt.
Ich hab heute auch mal angefangen cPos auf den Watcher umzubauen, sieht schon ganz gut aus.
Wie sieht's denn eigentlich mit AF und TA aus? Ist da was geplant, das würde die Sache dann noch rund machen.
Schönes Restwochenende
Frank
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
Zuletzt bearbeitet von tuxlein am Mo 14 Jul, 2008 12:20, insgesamt einmal bearbeitet
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
Hmm, bin ich jetzt etwas verwirrt.
Im wiki steht für t "Gibt zurück ob ein Tune in Arbeit ist."
Ein $t#00 gibt mir als Antwort $t=5#00.
Ein $W=t#00 gibt $O=9#00 und es wird kein Watcher aktiviert ($w#00 -> $w=#00)
|
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
sorry mein fehler,
ich habe t geschrieben meinte aber a!!!
$a#00 bzw $W=a#00
Aber hätte mich nicht gewundert wenn die Docu hinten nach ist hinter dem Code.
Aber Das ist ja das übliche Prob von Proggern, die schreiben ungerne Docu und wenn ist sie meist nicht die Aktuellste!
"Don't read the f**** Manual - read the Code"
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Elektriker
Inputsammler
Alter: 54
Anmeldung: 09.06.2007
Beiträge: 34
|
|
Zitat:
|
"Don't read the f**** Manual - read the Code"
|
Wenn das mal so einfach wäre...
Aber $a funktioniert
Am Dienstag war ich unterwegs und hab mal im Auto einen Test gemacht, ca.80km Autobahn. Trotz teilweise 100% Empfangspegel kam vom Watcher nie etwas vom Radiotext rüber. Vielleicht sind die Daten ja durch Reflexionen oder sowas verstümmelt. Wie auch immer, Radiotext is ja nun nicht das wichtigste.
Dann hab ich mal angefangen etwas mit TA rumzuspielen. Ich hatte mir gedacht, über die TP-Info aus $b einen Suchlauf anzuschieben wenn der TP auf 0 geht. Allerdings wird der Wert nur von 0 auf 1 aktualisiert. Von 1 auf 0 geht er nicht automatisch, auch mit abgezogener Antenne bleibt er auf 1. Wenn ich dann ein $F= mit der aktuell eingestellten Frequenz sende, wird wieder aktualisiert. Ist das Absicht so, oder stimmt da noch was nicht?
Man könnte natürlich einen min.Empfangspegel festlegen, wo neu gescannt wird, aber das zu starten wenn die Kennung weggeht wär irgendwie schicker.
|
|
|
|
|
|
|
|
tuxlein
Forumkenner
Alter: 40
Anmeldung: 06.03.2008
Beiträge: 105
Wohnort: München
|
|
OK,
gut das weis ich jetzt nicht, ob das ein Bug ist, ich schau mir das mal bei gelegenheit an. So genau habe ich mir dieses Feature nicht angeschaut.
Ich bitte dich darum, da du ja auch selbst in cPOS entwickelst wenn ich da richtig bin doch im Bugtracker von mir http://bugzilla.tux-project.de/ nen Fehlereintrag zu machen wenn du so inkonzistenten findest. Damit gerät der Fehler nicht in vergessenheit und ich habe ne referenz.
TP = Traffic Program
Bezüglich dem schreib bitte nen Buggeintrag, muss mir das genauer anschauen was ich jetzt gesehen habe bekomm ich das nicht gleich raus aus der Routine: uint8_t tea5764_get_tp_ms_af( char cmd )
Ein Tune wenn TP = 0 ist ist vieleicht nicht so inteligent, da währe es geschickter darauf zu warten bis AF = Alternativ Frequenz funktioniert vorraussichtlich Herbst/Winter - auser ihr schreibt weiter daran.
Was ich mir noch vorstellen kann, mit dem Wechsel nur von 0 auf 1 aber nciht anderstrum, dass ich mir dabei gedacht habe, wenn die Frequenz mal TP gemeldet hat ist es verfügbar. Wenn ich mir den Code anschaue ... *leuchte geht auf*.
jetzt hats die erleuchtung gemacht.
Code:
|
// Traffic Programm
// ist gesetzt
if( bit_is_set( rds_data.blockb[ 0 ], RDS_TP_BIT ) )
uart_putc( '1' );
else
uart_putc( '0' );
|
Ist das verhalten klar. Fält der empfang ab werden keine RDS Blöcke übertragen und kann natürlich nicht auf 0 gesetzt werden, da im rds_data struct noch die 1 steht.
In diesem Fall müsste AF in einsatz kommen und versuchen eine andere Freq zu suchen. Leider geht dies noch nicht wirklich. Eigentlich unterstützt der Controller dies von selbst aber ich konnte es noch nicht testen.
Wenn du ein Tune oder eine Frequenz setzt werden alle RDS Daten der struct rds_data zurückgesetzt.
Ansonsten ruhig Bug eintrag schreiben, mehr als eine Erklärung reinschreiben kann ich nciht, dass dies kein Bug ist oder schon!
|
|
|
|
Hardware: Geode IEI Wafer 800LX, CAN Bus System (Marke Eigenbau) Software: ELCP
|
|
|
|
Slavi
Forum-Elite
Alter: 51
Anmeldung: 31.01.2005
Beiträge: 1590
Wohnort: Wien
2004 Volkswagen Passat
|
|
gabs mal nicht ne Version wo die Lautstärken Regelung und Tune per Tasten funktionierte ?
|
|
|
|
Hardware: MSI K9VGM-V + AMD Athlon X2 BE-2300 + 250 GB 2,5" HD Software: Centrafuse
|
|
|
|
|