service scan setup added
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Mon, 10 Oct 2005 23:45:12 +0000 (23:45 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Mon, 10 Oct 2005 23:45:12 +0000 (23:45 +0000)
data/menu.xml
data/skin.xml
lib/python/Components/Makefile.am
lib/python/Components/ScanSetup.py [new file with mode: 0644]
lib/python/Screens/Makefile.am
lib/python/Screens/ScanSetup.py [new file with mode: 0644]
lib/python/Screens/ServiceScan.py
lib/python/Screens/__init__.py
mytest.py

index df76d16..009a20d 100644 (file)
@@ -16,6 +16,7 @@
                <!--<item text="Standby debug">quitMainloop()</item>
                <item text="Networksetup">self.openSetup("network")</item>-->
                <item text="Satelliteconfig"><screen module="Satconfig" screen="NimSelection" /></item>
+               <item text="Scanconfiguration"><screen module="ScanSetup" screen="ScanSetup" /></item>
                <item text="Radio"><code>print "radio mode"</code></item>
                <item text="Timer"><screen module="TimerEdit" screen="TimerEditList" /></item>
                <item text="Information"><screen module="About" /></item>
index 7de1276..8038b33 100644 (file)
@@ -61,6 +61,9 @@
                <screen name="Satconfig" position="140,125" size="460,280" title="Satconfig">
                        <widget name="config" position="10,50" size="420,150" />
                </screen>
+               <screen name="ScanSetup" position="100,100" size="500,350" title="Service scan">
+                       <widget name="config" position="20,10" size="460,220" />
+               </screen>
                <screen name="PluginBrowser" position="190,125" size="360,250" title="Plugins">
                        <widget name="title" position="10,10" size="280,35" font="Arial;23" />
                        <widget name="pluginlist" position="10,50" size="320,200" />
index 40cbb3f..46b9ba3 100644 (file)
@@ -8,4 +8,4 @@ install_PYTHON = \
        EventInfo.py Label.py ServiceScan.py VolumeBar.py                       \
        GUIComponent.py MenuList.py TextInput.py __init__.py MovieList.py                               \
        InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py                                           \
-       AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py
+       AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py ScanSetup.py
diff --git a/lib/python/Components/ScanSetup.py b/lib/python/Components/ScanSetup.py
new file mode 100644 (file)
index 0000000..7aa0fcb
--- /dev/null
@@ -0,0 +1,43 @@
+from config import config
+from config import ConfigSubsection
+from config import configElement
+from config import configSelection
+from config import configSequence
+from Components.NimManager import nimmanager
+
+def InitScanSetup():
+    config.scan = ConfigSubsection()
+    config.scan.sat = ConfigSubsection()
+    config.scan.cab = ConfigSubsection()
+    config.scan.ter = ConfigSubsection()
+    config.scan.type = configElement("config.scan.type", configSelection, 0, ("Single transponder", "Single satellite", "Multisat"))
+    nimList = [ ]
+    for nim in nimmanager.nimList():
+        nimList.append(nim[0])
+    nimList.append("all")
+    config.scan.nims = configElement("config.scan.nims", configSelection, 0, nimList)
+    
+    # sat
+    config.scan.sat.frequency = configElement("config.scan.sat.frequency", configSequence, [12187], (("."), (10000,14000)))
+    config.scan.sat.inversion = configElement("config.scan.sat.inversion", configSelection, 0, ("off", "on"))
+    config.scan.sat.symbolrate = configElement("config.scan.sat.symbolrate", configSequence, [27500], (("."), (1,30000)))
+    config.scan.sat.polarzation = configElement("config.scan.sat.polarzation", configSelection, 0, ("horizontal", "vertical"))
+    config.scan.sat.fec = configElement("config.scan.sat.fec", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
+
+    # cable
+    config.scan.cab.frequency = configElement("config.scan.cab.frequency", configSequence, [466], (("."), (10000,14000)))
+    config.scan.cab.inversion = configElement("config.scan.cab.inversion", configSelection, 0, ("off", "on"))
+    config.scan.cab.modulation = configElement("config.scan.cab.modulation", configSelection, 0, ("Auto", "16-QAM", "32-QAM", "64-QAM", "128-QAM", "256-QAM"))
+    config.scan.cab.fec = configElement("config.scan.cab.fec", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
+    config.scan.cab.symbolrate = configElement("config.scan.cab.symbolrate", configSequence, [6900], (("."), (1,30000)))
+    
+    # terrestial
+    config.scan.ter.frequency = configElement("config.scan.ter.frequency", configSequence, [466], (("."), (10000,14000)))
+    config.scan.ter.inversion = configElement("config.scan.ter.inversion", configSelection, 0, ("off", "on"))
+    config.scan.ter.bandwidth = configElement("config.scan.ter.bandwidth", configSelection, 0, ("Auto", "6 MHz", "7MHz", "8MHz"))
+    config.scan.ter.fechigh = configElement("config.scan.ter.fechigh", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
+    config.scan.ter.feclow = configElement("config.scan.ter.feclow", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
+    config.scan.ter.modulation = configElement("config.scan.ter.modulation", configSelection, 0, ("Auto", "16-QAM", "32-QAM", "64-QAM", "128-QAM", "256-QAM"))
+    config.scan.ter.transmission = configElement("config.scan.ter.transmission", configSelection, 0, ("Auto", "2K", "8K"))
+    config.scan.ter.guard = configElement("config.scan.ter.guard", configSelection, 0, ("Auto", "1/4", "1/8", "1/16", "1/32"))
+    config.scan.ter.hierarchy = configElement("config.scan.ter.hierarchy", configSelection, 0, ("Auto", "1", "2", "4"))
\ No newline at end of file
index b113e95..3fc7b3d 100644 (file)
@@ -4,4 +4,4 @@ install_PYTHON = \
        ChannelSelection.py ClockDisplay.py ConfigMenu.py InfoBar.py Menu.py    \
        MessageBox.py ScartLoopThrough.py Screen.py ServiceScan.py TimerEdit.py \
        MovieSelection.py Setup.py About.py HarddiskSetup.py FixedMenu.py \
-       Satconfig.py __init__.py
+       Satconfig.py ScanSetup.py __init__.py
diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py
new file mode 100644 (file)
index 0000000..660440b
--- /dev/null
@@ -0,0 +1,89 @@
+from Screen import Screen
+from Components.ActionMap import ActionMap
+from Components.ConfigList import ConfigList
+from Components.config import config
+from Components.config import getConfigListEntry
+from Components.NimManager import nimmanager
+
+class ScanSetup(Screen):
+    def __init__(self, session):
+        Screen.__init__(self, session)
+        
+        self["actions"] = ActionMap(["SetupActions"],
+        {
+            "ok": self.keySave,
+            "cancel": self.keyCancel,
+            "left": self.keyLeft,
+            "right": self.keyRight
+        }, -1)
+
+        self.list = []
+        self["config"] = ConfigList(self.list)
+        self.createSetup()
+        
+    def createSetup(self):
+        self.list = []
+        
+        self.list.append(getConfigListEntry("Type of scan", config.scan.type))
+        self.list.append(getConfigListEntry("Tuner", config.scan.nims))
+        
+        # single transponder scan
+        if (config.scan.type.value == 0):
+            if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-S"]):
+                self.list.append(getConfigListEntry("Frequency", config.scan.sat.frequency))
+                self.list.append(getConfigListEntry("Inversion", config.scan.sat.inversion))
+                self.list.append(getConfigListEntry("Symbolrate", config.scan.sat.symbolrate))
+                self.list.append(getConfigListEntry("Polarity", config.scan.sat.polarzation))
+                self.list.append(getConfigListEntry("FEC", config.scan.sat.fec))
+            if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-C"]):
+                self.list.append(getConfigListEntry("Frequency", config.scan.cab.frequency))
+                self.list.append(getConfigListEntry("Inversion", config.scan.cab.inversion))
+                self.list.append(getConfigListEntry("Symbolrate", config.scan.cab.symbolrate))
+                self.list.append(getConfigListEntry("Modulation", config.scan.cab.modulation))
+                self.list.append(getConfigListEntry("FEC", config.scan.cab.fec))
+            if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-T"]):
+                self.list.append(getConfigListEntry("Frequency", config.scan.ter.frequency))
+                self.list.append(getConfigListEntry("Inversion", config.scan.ter.inversion))
+                self.list.append(getConfigListEntry("Bandwidth", config.scan.ter.bandwidth))
+                self.list.append(getConfigListEntry("Code rate high", config.scan.ter.fechigh))
+                self.list.append(getConfigListEntry("Code rate low", config.scan.ter.feclow))
+                self.list.append(getConfigListEntry("Modulation", config.scan.ter.modulation))
+                self.list.append(getConfigListEntry("Transmission mode", config.scan.ter.transmission))
+                self.list.append(getConfigListEntry("Guard interval mode", config.scan.ter.guard))
+                self.list.append(getConfigListEntry("Hierarchy mode", config.scan.ter.hierarchy))
+
+        # single satellite scan
+        if (config.scan.type.value == 1):
+            pass
+        
+        # multi sat scan
+        if (config.scan.type.value == 2):
+            pass
+                
+        self["config"].list = self.list
+        self["config"].l.setList(self.list)
+        
+    def newConfig(self):
+        print self["config"].getCurrent()
+        if self["config"].getCurrent()[0] == "Type of scan":
+            self.createSetup()
+        if self["config"].getCurrent()[0] == "Tuner":
+            self.createSetup()
+        
+    def keyLeft(self):
+        self["config"].handleKey(config.key["prevElement"])
+        self.newConfig()
+
+    def keyRight(self):
+        self["config"].handleKey(config.key["nextElement"])
+        self.newConfig()
+
+    def keySave(self):
+        for x in self["config"].list:
+            x[1].save()
+        self.close()
+
+    def keyCancel(self):
+        for x in self["config"].list:
+            x[1].cancel()
+        self.close()
\ No newline at end of file
index 0c27237..390abff 100644 (file)
@@ -11,7 +11,7 @@ class ServiceScan(Screen):
                        self.close()
        
        def cancel(self):
-               print "cancel not yet implemented ;)"
+               self.close()
        
        def __init__(self, session):
                Screen.__init__(self, session)
index 82a4856..d350f1a 100644 (file)
@@ -2,4 +2,4 @@ __all__ = ["ChannelSelection", "ClockDisplay", "ConfigMenu",
        "InfoBar", "MessageBox", "Menu", "MovieSelection", 
        "ScartLoopThrough", "Screen", "ServiceScan", "About",
        "TimerEdit", "Setup", "HarddiskSetup", "FixedMenu",
-       "Satconfig" ]
+       "Satconfig", "Scanconfig" ]
index eaa4e1c..564b564 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -183,6 +183,9 @@ Components.SetupDevices.InitSetupDevices()
 
 import Components.NimManager
 
+import Components.ScanSetup
+Components.ScanSetup.InitScanSetup()
+
 # first, setup a screen
 try:
        runScreenTest()