PDA

View Full Version : Experiment SIF 041 Flash cu panelul PKT !



MihaiP
25-05-09, 10:24
Consecvent ideii ca imaginea FLASH este singura care merita efortul de dezvoltare ! am
facut un nou experiment : adaptarea panelului PKT unei imagini flash SIF 041.
Operatia in sine nu este una simpla si necesita intelegerea unor concepte Enigma dar
are ca final o procedura simpla acesibila chiar si celor cu notiuni elementare de utilizare
a unui calculator.

- panelul PKT este echivalentul BP ( Blue Pannel) de la Dreambox si a fost dezvoltat
initial de catre echipa PKT ( Polish Kathy Team ) in colaborare cu grupul TDT pentru
receptoarelele Kathrein si extins ulterior la familia receptoarelor echipate cu chipsetul SH40.
- implementarea unui astfel de panel poate fi realizata ca plugin sistem , plugin care va fi
lansat din lista sistem ( buton galben ) sau la actionarea unui buton de pe telecomanda ,
operatia presupune redefinirea functionalitatii unuia dintre butoanele functionale ( de ex. albastru )
sau ca un plugin din categoria "extensii" ... lista activata prin butonul rosu.
- implementarea unui plugin este subiectul unor conventii de interfata cu interpretorul
limbajului Pithon , limbaj in care sint scrise plugin-urile, si care poate executa programe atit
la nivel sursa ( .py ) cat si precompilate ( .pyc ) , programe care pot contine apeluri directe la
shell ( interpretorul de comenzi sistem ) cat si lansarea unor scripturi shell ( .sh ) .
- locatia fizica a pluginurilor extensie este /usr/lib/enigma/Pithon/Plugins/Extensions unde
fiecare subdirector contine un plugin extensie ... in cazul nostru PKT ( panelul PKT ).
- toate pluginurile contin in directorul gazda urmatoarele fisiere : plugin.py ( sau derivatele .pyc
.pys .pit .pio ) , __init__.py sau .pyc. Fisierul plugin.py este fisierul radcina program de la care
porneste interpretarea ( executia ) pluginului ... in cazul panelului aici sint definite entitatile care
vor compune meniurile ( daca ele exista ) ... in cazul nostru structura fisierelor .cfg care permit
descrierea meniului panelului
- fisierele .cfg sint la rindul lor grupate logic intr-o ierarhie ( structura arborescenta ) avind in varful
ei fisierul main.cfg el contine elemente de meniu care pot : apela un nou meniu, apela un progrem
precompilat sau un script shell.

* S:main:E2 PKT Mod:startup.sh - S este linia de start , main este numele modulului,
E2 PKT Mod este titlul atasat ecranului meniu, startup.sh este numele scriptului shell
lansat la initializarea modulului curent si care se gaseste in directorul curent
* M:emu:Emu - M este linia de tip apel la un alt meniu , emu este numele fisierului meniu
emu.cfg , Emu este textul tabului de selectie din meniu
* P:main:Plugins:PluginBrowser - P este linia de tip apel program/plugin precompilat , main
este numele modulului apelant , Plugins - este textul tabului de selectie , PluginBrowser - este
numele programului/plugin apelat
* C:main:PKT info:PKT.sh - C - este linia de tip apel script shell , main - modulul apelant ,
PKT info este textul tabului de selectie , PKT.sh - este numele scriptului shell
* M:addons:Powrot - o linie de incheiere modul a unui modul meniu care permite apelul de tip M cu intoarcere
la modulul meniu apelant ( addons )

Iata si un exemplu de posibil modul main :

S:main:E2 PKT Mod:startup.sh
M:system:System
M:addons:Addons
P:main:Pluginy:PluginBrowser
M:settings:Ustawienia
M:language:Language
C:main:PKT info:PKT.sh

Acestea sint elementele de baza necesare celui care doreste sa implementeze un plugin
extensie sau care adapteaza o astfel de constructie. Problema concreta de la care am plecat a
fost adaptarea PKT Mod v4.0 conceput pentru a lucra in context USB la o imagine de tip FLASH !
acest lucru este posibil doar daca se au in vedere urmatoarele conditii :

- executia Python numai la nivel sursa ( .py )
- referinta la module precomplilate .pyc de tip sistem
- referinta la module precompilate independente de context
- reconstituirea contextului de date ( subdirectoare specifice in /var si continutul lor )

Cazul concret al panelului PKT :

- initializarea pluginului PKT la nivel sursa ( plugin.py )
- inlocuirea pluginului dependent de context ( EmuManager ) printr-un meniu
- reconstituirea contextului de date PKT din directorul /var/conf
- simplificarea unor meniuri eliminind functii de mai mic interes

Procedura de instalare :

- pluginul si contextul sau de date se prezinta ca o arhiva ( .zip ) care contine doua
directoare /var si /usr care la randul lor au subdirectoare
- va legati FTP cu TotalComander la IPBOX pe care ruleaza in FLASH o imagine SIF 041 FLASH
- transferati cele doua directoare din arhiva in imaginea de pe IPBOX
- navigati apoi in FLASH urmarind traseul /usr/lib/enigma/Pithon/Plugins/Extensions/PKT
- selectati in PKT toate fisierele cu extensia diferita de .cfg ( evident executabile ) si din
File-Attributes dati drepturi 755 !!!
- din telecomanda IPBOX dati un restart GUI ( meniu-standby/restart- restart GUI )
- RED BUTTON - alegeti tabul Polish Kathy Team Meniu ...

Arhiva PKT-pannel.zip o gasiti la RSP Upload ! ea demonstraza ca panelul este functional fara
a-mi fi propus ca el sa fie un scop in sine ! fara a fi perfect functional in toate detaliile ... ca urmare
...orice sugestii sint binevenite.

P.S. Pentru moment RSP upload este ...down ! dar mai insist

MihaiP
25-05-09, 11:20
Iata ce "stie" acest panel

main

S:main:E2 PKT Mod:startup.sh
M:emu:Emu
M:dysk:Dysk
M:system:System
M:addons:Addons
P:main:Pluginy:PluginBrowser
M:settings:Ustawienia
M:language:Language
C:main:PKT info:PKT.sh

emu

S:emu:EMU
M:emumanager:Emu Manager
C:emu:ECM / PID info:ecm.sh
C:emu:Statystyka MBox:mbox_stat.sh
C:emu:Peer info:peer_onl.sh
C:emu:MBox info:mbox_info.sh

emumanager

S:emumanager:EMU manager
C:emumanager:MBox start:mbox_start.sh
C:emumanager:Camd3 start:camd3_start.sh
C:emumanager:Incubus start:incubus_start.sh
C:emumanager:MBox stop:mbox_stop.sh
C:emumanager:Camd3 stop:camd3_stop.sh
C:emumanager:Incubus stop:incubus_stop.sh

addons

S:addons:Dodatki
M:dl_emu:Pobierz EMU
M:dl_config:Pobierz config EMU
M:dl_list:Channel list download
C:addons:Pobierz klucze:keydown.sh
M:install:Instalacja paczek

... s.a.m.d. ...

Upload RSP ..tot in greva !
M:aktualizacja:Aktualizacja

zmeura
25-05-09, 14:18
Merge upload.Nu se deschide deloc sau nu reusesti sa uploadezi un fisier?Eventual il pot pune eu,altcineva sau incearca prin proxy.

MihaiP
25-05-09, 15:30
@zmeura ... moshule ...da-mi o adresa de mail prin PM !

MihaiP
25-05-09, 18:46
Doritorii pot sa-l descarce de aici : http://www.filefactory.com/file/ag2b232/n/My_PKT_pannel_zip

MihaiP
25-05-09, 20:02
Folosind o procedura similara ... dar de data asta cu o interventie minora ! in mai putin de o ora am reusit sa instalez pe aceeasi imagine SIF 041 Flash si panelul RSP Team ! mult mai simplu si mai compact ! Doritorii pot sa descarce de aici : http://www.filefactory.com/file/ag2b666/n/My_RSP_pannel_zip ( panelul provine din ultima imagine publica a RSP ... cea din 10.05.2009 )

MihaiP
26-05-09, 14:09
Si o versiune mai buna de pannel PKT !

http://www.filefactory.com/file/ag2e0gc/n/My_PKT_pannel_zip