Unicable

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Unicable

Beitrag 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 :-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Unicable

Beitrag 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.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Unicable

Beitrag 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.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Unicable

Beitrag 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.
caotz
Neugieriger
Neugieriger
Beiträge: 12
Registriert: Sonntag 14. August 2011, 15:11

Re: Unicable

Beitrag von caotz »

Vielen dank für dein Mühe seife! Wurde das ganze schon ins Tuxbox Repo übernommen?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Unicable

Beitrag von dbt »

Noch nicht, aber sollte kein Problem sein.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Unicable

Beitrag 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
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Unicable

Beitrag von dbt »

seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Unicable

Beitrag 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 :-)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Unicable

Beitrag 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
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Unicable

Beitrag 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)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Unicable

Beitrag von GetAway »

gcc-4.1.2, passt jetzt. :)
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Unicable

Beitrag von seife »

ok. dbt: bitte von git://gitorious.org/seife/tuxbox-apps.git pullen :-)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Unicable

Beitrag von dbt »