Car-PC.info

ELV-Radio - YARS Software Fortschritte

tuxlein - Di 08 Jul, 2008 17:26
Titel: YARS Software Fortschritte
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.
tuxlein - Mi 09 Jul, 2008 12:43
Titel:
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!
tuxlein - Mi 09 Jul, 2008 12:44
Titel: Anhang vergessern
Anhang vergessern
Elektriker - Mi 09 Jul, 2008 19:58
Titel:
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:
Image

Der Empfang ist bei 80%
tuxlein - Mi 09 Jul, 2008 22:46
Titel:
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
SirGroovy2004 - Do 10 Jul, 2008 08:49
Titel:
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
tuxlein - Do 10 Jul, 2008 09:42
Titel:
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.
Elektriker - Do 10 Jul, 2008 13:33
Titel:
@ 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 - Do 10 Jul, 2008 13:40
Titel:
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
Elektriker - Do 10 Jul, 2008 16:33
Titel:
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 - Fr 11 Jul, 2008 13:11
Titel:
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
Elektriker - Fr 11 Jul, 2008 21:13
Titel:
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 - Fr 11 Jul, 2008 23:09
Titel:
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
Elektriker - So 13 Jul, 2008 20:57
Titel:
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,
Image

bei anderen Sendern kommt aber teilweise schon noch fehlerhaftes.
Image

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 - So 13 Jul, 2008 23:14
Titel:
Nun AF ist geplant und TA(Traffic Anounce) geht schon im Watcher ;-)

$a#00 bzw $W=a#00
https://wiki.tux-project.de/index.php/YetAnotherRDS100Software#Beobachter_.28Watcher.29_.5BS.7CG.5D

EDIT:: Buchstabeln koriegiert t->a
Elektriker - Mo 14 Jul, 2008 07:03
Titel:
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 - Mo 14 Jul, 2008 13:19
Titel:
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"
Elektriker - Do 17 Jul, 2008 17:20
Titel:
Zitat:
"Don't read the f**** Manual - read the Code"

Wenn das mal so einfach wäre... Embarassed

Aber $a funktioniert Smile

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 - Fr 18 Jul, 2008 11:21
Titel:
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!
Slavi - Fr 25 Jul, 2008 19:38
Titel:
gabs mal nicht ne Version wo die Lautstärken Regelung und Tune per Tasten funktionierte ?
tuxlein - Di 29 Jul, 2008 12:57
Titel:
@Slavi,
ja gab es, die ist aber leider rewyn verlohren gegangen.
rewyn - Fr 01 Aug, 2008 22:42
Titel:
Jein, bei mir funktioniert die schon, nur ist die nie ins CVS gelangt.
Mein CVS Account scheint auch nicht mehr zu funktionieren, kann aber auch an meiner Schildkröte hier liegen.

Habe Anfang nächster Woche noch Urlaub, da kann ich das evtl. nachholen, falls ich Zeit finde in dem Urlaubsstress Smile
tuxlein - Di 25 Nov, 2008 18:54
Titel:
CVS Für das Projekt ist eingestelt, das ganze ist jetzt in Mercurial, wer hier einen Account zum weiterentwickeln benötigt kann bei mir anfragen oder modifizierte files mir schicken!
Die History von CVS ist nicht verlohren gegangen die wurde mit Importiert!!!
z_master - Di 31 Mai, 2011 02:20
Titel:
Leider ist das mercury repo offline - wie komme ich an die aktuellste Version?
Atlas - So 25 Sep, 2011 18:06
Titel:
Ich hatte die letzte Version 1.10 noch immer lokal bei mir gespeichert und habe diese an meinem Thread mit der Umbauanleitung mit angehangen:

http://www.car-pc.info/phpBB2/viewtopic.php?t=23484
Alle Zeiten sind GMT + 1 Stunde
Powered by phpBB2 Plus and Kostenloses Forum based on phpBB