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[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"
self.nimTypes[lastsocket] = "empty/unknown"
nimfile.close()
-
def getNimType(self, slotID):
- return self.nimType[self.nimTypes[slotID]]
-
+ if slotID >= self.nimCount:
+ return "empty/unknown"
+ else:
+ return self.nimType[self.nimTypes[slotID]]
+
def getNimName(self, slotID):
return self.nimNames[slotID]
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