Seite 1 von 1

Unicable

Verfasst: Sonntag 27. Januar 2013, 15:40
von seife
Hallo,

weil ich kein anderes Kabel frei hatte um die dm500 anzuschliessen, musste ich schnell Unicable in zapit/neutrino implementieren :-)

Das Ergebnis ist hier: git://gitorious.org/seife/tuxbox-apps.git

Das ganze ist nicht 100% fertig:
* man kann den Eingang bei Matrizen mit 2 Sat-Eingängen nicht auswählen, sondern es wird fix immer Eingang 1 (Bank0) genommen.
Das ist aber nur deswegen so, weil ich nicht genau wusste, wie ich das am besten in die GUI reinbekommen (man müsste bei Unicable ebenso ein SAT-Auswahlmenü wie bei DiSEqC einbauen, aber halt nur Eingang 1 oder 2 auswählen lassen und nur maximal 2 Satelliten...). Im Zapit ist im Prinzip schon alles drin was es dafür braucht.
* es wird kein retry gemacht, wenn das tunen fehlschlägt, was man aber sollte, denn bei mehreren Usern am Bus kann es ja zu Kollisionen kommen. Das rüste ich bei Gelegenheit mal noch nach.

Speziell den GUI-Teil sollte sich vermutlich noch mal jemand genauer anschauen :-)

Re: Unicable

Verfasst: Sonntag 27. Januar 2013, 19:12
von Gaucho316
Testen kann ich es mangels Sat-Anschluss nicht, aber durchgeguckt habe ich den Code mal. Es versteckt sich dort das gleiche Speicherleck wie in Neutrino-HD/MP. In scan_setup.cpp wird die Instanz uniqrg der Klasse CIntInput angelegt und nicht wieder gelöscht. In Neutrino-HD ist es schon gefixt und müsste dann bei der nächsten Codeübernahme in Neutrino-MP auftauchen. Mangels CMenuDForwarder in Neutrino (diese Klasse braucht man auch nicht wirklich) muss das aber ein ganz klein wenig anders gelöst werden.

Re: Unicable

Verfasst: Sonntag 27. Januar 2013, 19:39
von dbt
Gaucho316 hat geschrieben:...Mangels CMenuDForwarder in Neutrino (diese Klasse braucht man auch nicht wirklich) muss das aber ein ganz klein wenig anders gelöst werden.
Hatte ich mich auch schon gefragt. Das müsste man doch eigentlich in der eigentlichen Klasse auch abdecken können. Es sollte doch kein Problem sein, die Targets da überwacht auch raus zu killen, gerade wenn man das vererbt, dann bräuchte man da sogar nur einen Destructor in der CMenuForwarder-Basisklasse. Darauf hatte ich schon dort mal angespielt.

Re: Unicable

Verfasst: Sonntag 27. Januar 2013, 21:44
von seife
ok, ich habe das repo updated, die 3 commits jetzt müssten gut sein.

die GUI-Änderungen sind https://gitorious.org/seife/tuxbox-apps ... fdd74d3dda

Im zapit frontend-code für die dreambox habe ich auch noch eine Kleinigket übersehen gehabt -- in sendDiseqcCommand wurden die 22khz / 18V gesetzt -- und das darf bei Unicable nicht sein.

Re: Unicable

Verfasst: Mittwoch 6. März 2013, 20:03
von caotz
Vielen dank für dein Mühe seife! Wurde das ganze schon ins Tuxbox Repo übernommen?

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 08:21
von dbt
Noch nicht, aber sollte kein Problem sein.

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 11:34
von seife
ich kann meinen tree nochmal rebasen gegen den aktuellen stand.
Ich bin auch ziemlich sicher, dass es im nicht-unicable-Fall nichts kaputt macht :-)

Edit: ich habs rebased und nach git://gitorious.org/seife/tuxbox-apps.git:master-20130307 gepushed

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 11:49
von dbt

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 13:10
von seife
Gut. Ich werde bei Gelegenheit auch mal noch den PIN-Code und das Kollisionshandling mit einbauen, wenn ich wieder mal die alte dreambox in den Fingern habe :-)

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 21:29
von GetAway
Da läuft etwas schief.
mv -f .deps/controld.Tpo .deps/controld.Po
powerpc-tuxbox-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I../include -I/home/image/tuxbox/dbox2-2.4-font/cdkroot/include/tuxbox -I/home/image/tuxbox/dbox2-2.4-font/cdkroot/include/tuxbox/connection -I/home/image/tuxbox/dbox2-2.4-font/cdkroot/include/tuxbox/xmltree -I/home/image/tuxbox/dbox2-2.4-font/cdkroot/include/tuxbox -I/home/image/tuxbox/tuxbox-cvs-2.4-font/driver/include -I/home/image/tuxbox/tuxbox-cvs-2.4-font/driver/dvb/include -I/home/image/tuxbox/dbox2-2.4-font/cdkroot/include/tuxbox -Werror -Wall -pipe -Os -fno-rtti -fno-exceptions -MT controldc.o -MD -MP -MF .deps/controldc.Tpo -c -o controldc.o controldc.cpp
zapit.cpp: In function 'void leaveStandby()':
zapit.cpp:3082: error: jump to case label
zapit.cpp:3069: error: crosses initialization of 'int uni_qrg'
zapit.cpp:3068: error: crosses initialization of 'int uni_scr'
make[6]: *** [zapit.o] Fehler 1

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 21:45
von seife
hm, evtl. neuerer compiler bei der dbox als der dream?
Probier mal:

Code: Alles auswählen

--- a/dvb/zapit/src/zapit.cpp
+++ b/dvb/zapit/src/zapit.cpp
@@ -3059,14 +3059,15 @@ void leaveStandby(void)
        else    // reopen the device...
                videoDecoder->openDevice();
 
+       int uni_scr, uni_qrg;
        switch (frontend->getInfo()->type) {
                case FE_QPSK:
                        frontend->setCurrentSatellitePosition(config.getInt32("lastSatellitePosition", 192));
                        frontend->setDiseqcRepeats(config.getInt32("diseqcRepeats", 0));
                        //motorRotationSpeed = scanconfig.getInt32("motorRotationSpeed", 8); // default: 0.8 degrees per second
                        diseqcType = (diseqc_t)config.getInt32("diseqcType", NO_DISEQC);
-                       int uni_scr = config.getInt32("uni_scr", 0);
-                       int uni_qrg = config.getInt32("uni_qrg", 0);
+                       uni_scr = config.getInt32("uni_scr", 0);
+                       uni_qrg = config.getInt32("uni_qrg", 0);
                        frontend->setUnicable(uni_scr, uni_qrg);
                        frontend->setDiseqcType(diseqcType);
(man bräuchte gar keine Variablen sondern könnte das config.getInt32 auch direkt in den frontend->setUnicable(....) Aufruf reinmachen)

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 21:53
von GetAway
gcc-4.1.2, passt jetzt. :)

Re: Unicable

Verfasst: Donnerstag 7. März 2013, 22:13
von seife
ok. dbt: bitte von git://gitorious.org/seife/tuxbox-apps.git pullen :-)

Re: Unicable

Verfasst: Freitag 8. März 2013, 08:51
von dbt