[PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ich hab da noch ein "Schönheitsproblem" beim BER Wert
Ber ist maximal angegeben mit 262143 - bei Nokia Kabelboxen mit QAM256 Sendern ist der auf z.B. ZDF je nach Tunertoleranz zwischen 10000 und 80000 - so um den dreh.
In der Anzeigt im OSD wird aber dann schon 100% angezeigt, also viel zu früh.
Kann mal jemand im Code nachsehen warum da schon so früh 100% angeezeigt wird?
Gruß Riker
Ber ist maximal angegeben mit 262143 - bei Nokia Kabelboxen mit QAM256 Sendern ist der auf z.B. ZDF je nach Tunertoleranz zwischen 10000 und 80000 - so um den dreh.
In der Anzeigt im OSD wird aber dann schon 100% angezeigt, also viel zu früh.
Kann mal jemand im Code nachsehen warum da schon so früh 100% angeezeigt wird?
Gruß Riker
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Weiß denn wirklich niemand, warum 100% schon so früh erreicht wird? In infoviewer.cpp wird in Zeile 171 mit 40000 gerechnet, obwohl der Maximalwert von BER ja 262143 ist. Woher kommt also der Wert 40000?
Edit: Eben schoss mir in den Kopf, dass das vielleicht nur ein Schreibfehler ist. 0x40000 sind nämlich 262144 und 0x400 einfach 1024.
Edit: Eben schoss mir in den Kopf, dass das vielleicht nur ein Schreibfehler ist. 0x40000 sind nämlich 262144 und 0x400 einfach 1024.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ungetestet:
Code: Alles auswählen
--- apps/tuxbox/neutrino/src/gui/infoviewer.cpp 2011-11-13 20:25:50.000000000 +0100
+++ apps/tuxbox/neutrino/src/gui/infoviewer.cpp 2011-11-25 17:42:40.000000000 +0100
@@ -168,7 +168,7 @@
if ((signal.ber > 0) && (signal.ber < 400))
ber = 1;
else
- ber = signal.ber * 100 / 40000;
+ ber = signal.ber * 100 / 0x40000;
// Sometimes the Ber is larger than the Max Ber so therefore needs to be stopped here if (bar > max ber)
if (ber > 99)
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ich würde das radikal einkürzen. Der folgende Code sollte auch reichen. Auch der ist aber ungetestet.
Link entfernt, da Patch im CVS
Link entfernt, da Patch im CVS
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
noch kürzer:
Den Rest weg, wie bei dir.
Code: Alles auswählen
ber = signal.ber / 2622;
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Hab jetzt den Patch von Gaucho ma eingespielt, sieht besser aus, ich hab hier so ein Pegelregler wenn ich BER auf ~100000 stelle kommt BER 40% - nicht mehr 100% - schon mal prima
Seifes Änderung is abr nicht noch drin, das hab ich nicht verstanden *duck*
Gruß Riker
Seifes Änderung is abr nicht noch drin, das hab ich nicht verstanden *duck*
Gruß Riker
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
JtG-Riker hat geschrieben:Seifes Änderung is abr nicht noch drin, das hab ich nicht verstanden *duck*
bringt dasselbe Ergebnis wieGaucho316 hat geschrieben:Der folgende Code sollte auch reichen.Code: Alles auswählen
+ ber = signal.ber * 100 / 262143;
seife hat geschrieben:noch kürzer:Code: Alles auswählen
ber = signal.ber / 2622;
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Das mag ja kürzer sein, aber die ausführlichere Rechnung finde ich übersichtlicher. Ist der Compiler eigentlich so schlau und optimiert das irgendwie selbst, d.h. rechnet 100 / 262143 aus und kompiliert das Ergebnis ein? Ich habe von so etwas keine Ahnung.seife hat geschrieben:noch kürzer:Code: Alles auswählen
ber = signal.ber / 2622;
-
- Contributor
- Beiträge: 1623
- Registriert: Donnerstag 10. Januar 2002, 20:03
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Klar ist der Compiler so schlau.
Aber kannste schnell gegen prüfen, baue die beiden Versionen durch. das Endergebnis wird Bitgleich sein.
Klar ist die kurze Variante etwas schlechter zu lesen. Aber dann ein passender Kommentar im Code und jeder kann dann nachvollziehen warum das so eingecodet ist. Ein sinnvoller Kommentar wird mehr bringen wie lange Codekonstrukte.
Aber kannste schnell gegen prüfen, baue die beiden Versionen durch. das Endergebnis wird Bitgleich sein.
Klar ist die kurze Variante etwas schlechter zu lesen. Aber dann ein passender Kommentar im Code und jeder kann dann nachvollziehen warum das so eingecodet ist. Ein sinnvoller Kommentar wird mehr bringen wie lange Codekonstrukte.
-
- Foren-Moderator
- Beiträge: 1119
- Registriert: Sonntag 9. Juni 2002, 13:28
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
blöde Frage....
warum wird denn da auf- und nicht abgerundet ?
Marc
warum wird denn da auf- und nicht abgerundet ?
Marc
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
committed to CVS: http://article.gmane.org/gmane.comp.vid ... x.scm/3158Gaucho316 hat geschrieben:infoviewer_fix-ber-display_2011-11-25_1811.diff
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Das ist keine blöde Frage sondern ein guter Einwand. Wenn man mit 2622 rechnet, kommt man maximal bis 99, da 262143/2622=99,978... ergibt, was in int umgewandelt nur 99 ist. Mit 2621 kommt man bis 100, da 262143/2621=100,016... ist. Ich wäre übrigens immer noch dafür, die ausführliche Rechnung zu nehmen.MarcM hat geschrieben:blöde Frage....
warum wird denn da auf- und nicht abgerundet ?
-
- Contributor
- Beiträge: 1623
- Registriert: Donnerstag 10. Januar 2002, 20:03
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ändert das etwas am Endergebnis?
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ihr rechnet mit integer. Integer schneidet die Nachkommastellen ab.
Deswegen ist gaucho's Variante besser.
Code: Alles auswählen
wert = 100,0 +0,5 = 100,5 -> int = 100
wert = 100,4 +0,5 = 100,9 -> int = 100
wert = 100,5 +0,5 = 101 -> int = 101 usw.
-
- Contributor
- Beiträge: 1623
- Registriert: Donnerstag 10. Januar 2002, 20:03
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Das liegt in der Natur der Dinge, int Zahlen sind nun mal Ganze Zahlen.
Aber für Prozentangaben würde ich auch keinen anderen Datentyp nehmen wollen, insofern gibt es keinen besseren Weg meiner Ansicht nach. Mehr wie 100% können nun mal nicht erreicht werden, wenn dann da 101% steht dann passt der Algo dahinter nicht. Also dann das Einbauen was Gaucho gepostet hat.
Aber für Prozentangaben würde ich auch keinen anderen Datentyp nehmen wollen, insofern gibt es keinen besseren Weg meiner Ansicht nach. Mehr wie 100% können nun mal nicht erreicht werden, wenn dann da 101% steht dann passt der Algo dahinter nicht. Also dann das Einbauen was Gaucho gepostet hat.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
committed to CVS: http://article.gmane.org/gmane.comp.vid ... x.scm/3159Gaucho316 hat geschrieben:Mit 2621 kommt man bis 100, da 262143/2621=100,016... ist.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ich habe noch nie auf diesen Wert geguckt, aber jetzt, wo du's sagst ...
In streaminfo2.cpp wird in den Zeilen 638 bis 645 eine Fallunterscheidung zwischen Kabel und Sat gemacht. Das muss dann hier auch gemacht werden.
Edit: Müsste in Zeile 645 von streaminfo2.cpp nicht eigentlich si.tsfrequency%q statt si.tsfrequency%1000 stehen?
Edit: Für Kabel ist das im Infoviewer und in StreamInfo2 kaputt. Ich mache dafür morgen einen Patch.
In streaminfo2.cpp wird in den Zeilen 638 bis 645 eine Fallunterscheidung zwischen Kabel und Sat gemacht. Das muss dann hier auch gemacht werden.
Edit: Müsste in Zeile 645 von streaminfo2.cpp nicht eigentlich si.tsfrequency%q statt si.tsfrequency%1000 stehen?
Edit: Für Kabel ist das im Infoviewer und in StreamInfo2 kaputt. Ich mache dafür morgen einen Patch.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Bei streaminfo2.cpp kann ich keinen Fehler erkennen. Werte sehen bei mir gut aus.
Frequenz bei Pro7 370.904 MHz
Dafür liefert pzapit -gsi bei Kabel das falsch.
Frequenz bei Pro7 370.904 MHz
Dafür liefert pzapit -gsi bei Kabel das falsch.
Code: Alles auswählen
/var # pzapit -gsi
frequency = 370017.904 MHz
onid = 0x0001
sid = 0x445d
tsid = 0x0453
pmtpid = 0x0061
vpid = 0x01ff
apid = 0x0200
spid = 0x0000
spage = 0x0000
pcrpid = 0x01ff
vtxtpid = 0x0021
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Dort müsste aber 370.017904 MHz stehen.GetAway hat geschrieben:Frequenz bei Pro7 370.904 MHz
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Jetzt sehe ich es auch. Beim hochauflösenden Neutrino ist es auf 370.0 MHz gerundet.
-
- Tuxboxer
- Beiträge: 2614
- Registriert: Montag 20. Mai 2002, 10:49
- Image: JTG-Image [IDE] Version 2.4.4
- Image: (7025SS) Merlin
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Die Frequenz stimmt auch unter technische Information -> Stream Information nicht, zu erreichen über rote Taste -> blaue Taste.
Greetz von DrStoned
Greetz von DrStoned
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
== CStreamInfo2 in streaminfo2.cppDrStoned hat geschrieben:Die Frequenz stimmt auch unter technische Information -> Stream Information nicht, zu erreichen über rote Taste -> blaue Taste.
Für Sat müsste das aber zumindest vor dem Komma stimmen. Nach dem Komma werden nämlich mögliche führende Nullen nicht beachtet. Aber die Einheit MHz müsste richtig sein. Das eigentliche Problem ist, dass g_Zapit->getCurrentServiceInfo() für Kabel Hz und für Sat kHz liefert.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Nicht das beim Scannen auch noch so eine Gurke drin ist und daher die diff Werte im Log kommen. Sind ja immer die letzten 6 Stellen (ohne führende 0), die später als Differenz ausgegeben werden.(Kabel)
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: [PATCH] Farbige progressbar, SNR/BER-Anzeige in Infobar
Ich habe nun einen Patch für pzapit, den Infoviewer und StreamInfo2 erstellt, der die Frequenzanzeige korrigiert.
Link entfernt, da Patch im CVS
Link entfernt, da Patch im CVS