return procFile
class SecConfigure:
- def addLNBSimple(self, slotid, orbpos, toneburstmode, diseqcmode, diseqcpos):
+ def addLNBSimple(self, slotid, diseqcmode, toneburstmode = 0, diseqcpos = 0, orbpos = 0, longitude = 0, latitude = 0, loDirection = 0, laDirection = 0):
#simple defaults
sec = eDVBSatelliteEquipmentControl.getInstance()
sec.addLNB()
sec.setToneburst(toneburstmode)
sec.setCommittedCommand(diseqcpos)
#print "set orbpos to:" + str(orbpos)
- sec.addSatellite(orbpos)
- self.satList.append(orbpos)
+
+ if (0 <= diseqcmode < 3):
+ sec.addSatellite(orbpos)
+ self.satList.append(orbpos)
+ elif (diseqcmode == 3): # diseqc 1.2
+ sec.setLatitude(latitude)
+ sec.setLaDirection(laDirection)
+ sec.setLongitude(longitude)
+ sec.setLoDirection(loDirection)
+ sec.setUseInputpower(True)
+ sec.setInputpowerDelta(50)
+
+ for x in self.NimManager.satList:
+ print "Add sat " + str(x[1])
+ sec.addSatellite(int(x[1]))
+ sec.setVoltageMode(0)
+ sec.setToneMode(0)
+ self.satList.append(int(x[1]))
+
def linkNIMs(self, nim1, nim2):
eDVBSatelliteEquipmentControl.getInstance().setTunerLinked(nim1, nim2)
nim = config.Nims[x]
if slot.nimType == self.NimManager.nimType["DVB-S"]:
print "slot: " + str(x) + " configmode: " + str(nim.configMode.value)
- if nim.configMode.value == 1:
+ if nim.configMode.value == 2:
self.linkNIMs(x, nim.linkedTo.value)
nim = config.Nims[nim.linkedTo.value]
if nim.configMode.value == 0: #simple config
if nim.diseqcMode.value == 0: #single
- self.addLNBSimple(x, int(nim.diseqcA.vals[nim.diseqcA.value][1]), 0, 0, 4)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 0, diseqcpos = 4)
elif nim.diseqcMode.value == 1: #Toneburst A/B
- self.addLNBSimple(x, int(nim.diseqcA.vals[nim.diseqcA.value][1]), 1, 0, 4)
- self.addLNBSimple(x, int(nim.diseqcB.vals[nim.diseqcB.value][1]), 1, 0, 4)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 1, diseqcmode = 0, diseqcpos = 4)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 1, diseqcmode = 0, diseqcpos = 4)
elif nim.diseqcMode.value == 2: #DiSEqC A/B
- self.addLNBSimple(x, int(nim.diseqcA.vals[nim.diseqcA.value][1]), 0, 1, 0)
- self.addLNBSimple(x, int(nim.diseqcB.vals[nim.diseqcB.value][1]), 0, 1, 1)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 0)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 1)
elif nim.diseqcMode.value == 3: #DiSEqC A/B/C/D
- self.addLNBSimple(x, int(nim.diseqcA.vals[nim.diseqcA.value][1]), 0, 1, 0)
- self.addLNBSimple(x, int(nim.diseqcB.vals[nim.diseqcB.value][1]), 0, 1, 1)
- self.addLNBSimple(x, int(nim.diseqcC.vals[nim.diseqcC.value][1]), 0, 1, 2)
- self.addLNBSimple(x, int(nim.diseqcD.vals[nim.diseqcD.value][1]), 0, 1, 3)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcA.vals[nim.diseqcA.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 0)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcB.vals[nim.diseqcB.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 1)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcC.vals[nim.diseqcC.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 2)
+ self.addLNBSimple(slotid = x, orbpos = int(nim.diseqcD.vals[nim.diseqcD.value][1]), toneburstmode = 0, diseqcmode = 1, diseqcpos = 3)
elif nim.diseqcMode.value == 4: #Positioner
- print "FIXME: positioner suppport"
+ self.addLNBSimple(slotid = x, diseqcmode = 3, longitude = float(str(nim.longitude.value[0]) + "." + str(nim.longitude.value[1])), loDirection = nim.longitudeOrientation.value - 2, latitude = float(str(nim.latitude.value[0]) + "." + str(nim.latitude.value[1])), laDirection = nim.latitudeOrientation.value)
pass
else: #advanced config
print "FIXME add support for advanced config"
def startElement(self, name, attrs):
if (name == "sat"):
#print "found sat " + attrs.get('name',"") + " " + str(attrs.get('position',""))
- tpos = attrs.get('position',"")
+ tpos = int(attrs.get('position',""))
+ if tpos < 0:
+ tpos = 3600 + tpos
tname = attrs.get('name',"")
self.satellites[tpos] = tname
self.satList.append( (tname, tpos) )
else:
self.transponders[self.parsedCab] = [ ]
- self.transponders[self.parsedCab].append((0, freq, sr, mod, fec))
+ self.transponders[self.parsedCab].append((1, freq, sr, mod, fec))
class parseTerrestrials(ContentHandler):
def __init__(self, terrestrialsList, transponders):
else:
self.transponders[self.parsedTer] = [ ]
- self.transponders[self.parsedTer].append((0, freq, bw, const, crh, crl, guard, transm, hierarchy, inv))
+ self.transponders[self.parsedTer].append((2, freq, bw, const, crh, crl, guard, transm, hierarchy, inv))
def getTransponders(self, pos):
return self.transponders[pos]
return self.sec.getSatList()
def getSatDescription(self, pos):
- return self.satellites[str(pos)]
+ return self.satellites[pos]
def readSatsfromFile(self):
self.satellites = { }
if (config.Nims[slotid].diseqcMode.value == 3):
list.append(self.satList[config.Nims[slotid].diseqcC.value])
list.append(self.satList[config.Nims[slotid].diseqcD.value])
+ if (config.Nims[slotid].diseqcMode.value == 4):
+ for x in self.satList:
+ list.append(x)
return list
#callbacks for c++ config
def nimConfigModeChanged(self, slotid, mode):
- if (mode != 1): # not linked
+ if (mode != 2): # not linked
print "Unlinking slot " + str(slotid)
# TODO call c++ to unlink nim in slot slotid
- if (mode == 1): # linked
+ if (mode == 2): # linked
pass
#FIXME!!!
#if (len(self.getNimListOfType(self.nimType["DVB-S"], slotid)) > 0):
nim = config.Nims[x]
if slot.nimType == nimmgr.nimType["DVB-S"]:
- nim.configMode = configElement(cname + "configMode", configSelection, 0, (_("Simple"), _("Loopthrough to Socket A"))) # "Advanced"));
+ nim.configMode = configElement(cname + "configMode", configSelection, 0, (_("Simple"), _("Nothing connected"), _("Loopthrough to Socket A"))) # "Advanced"));
#important - check if just the 2nd one is LT only and the first one is DVB-S
- if nim.configMode.value == 1: #linked
+ if nim.configMode.value == 2: #linked
if x == 0: #first one can never be linked to anything
nim.configMode.value = 0 #reset to simple
nim.configMode.save()