from config import config, ConfigSubsection, ConfigSelection, ConfigFloat, ConfigSatlist, ConfigYesNo, ConfigInteger, ConfigSubList, ConfigNothing, ConfigSubDict, ConfigOnOff
-from enigma import eDVBSatelliteEquipmentControl, \
+from enigma import eDVBSatelliteEquipmentControl as secClass, \
eDVBSatelliteLNBParameters as lnbParam, \
eDVBSatelliteDiseqcParameters as diseqcParam, \
eDVBSatelliteSwitchParameters as switchParam, \
from Tools.BoundFunction import boundFunction
+def getConfigSatlist(orbpos, satlist):
+ default_orbpos = None
+ for x in satlist:
+ if x[0] == orbpos:
+ default_orbpos = orbpos
+ break
+ return ConfigSatlist(satlist, default_orbpos)
+
def tryOpen(filename):
try:
procFile = open(filename)
tunermask |= (1 << self.equal[slotid])
elif self.linked.has_key(slotid):
tunermask |= (1 << self.linked[slotid])
- sec.setLNBTunerMask(tunermask)
sec.setLNBLOFL(9750000)
sec.setLNBLOFH(10600000)
sec.setLNBThreshold(11700000)
elif (diseqcmode == 3): # diseqc 1.2
if self.satposdepends.has_key(slotid):
tunermask |= (1 << self.satposdepends[slotid])
- sec.setLNBTunerMask(tunermask)
sec.setLatitude(latitude)
sec.setLaDirection(laDirection)
sec.setLongitude(longitude)
sec.setRotorPosNum(0) # USALS
self.satList.append(int(x[0]))
+ sec.setLNBTunerMask(tunermask)
+
def setSatposDepends(self, sec, nim1, nim2):
print "tuner", nim1, "depends on satpos of", nim2
sec.setTunerDepends(nim1, nim2)
return self.satList
def update(self):
- sec = eDVBSatelliteEquipmentControl.getInstance()
+ sec = secClass.getInstance()
sec.clear() ## this do unlinking NIMs too !!
print "sec config cleared"
self.satList = []
nim = config.Nims[x]
if slot.nimType == self.NimManager.nimType["DVB-S"]:
if nim.configMode.value == "equal":
- self.equal[nim.equalTo.value]=x
+ self.equal[nim.equalTo.index]=x
if nim.configMode.value == "loopthrough":
- self.linkNIMs(sec, x, nim.linkedTo.value)
- self.linked[nim.linkedTo.value]=x
+ self.linkNIMs(sec, x, nim.linkedTo.index)
+ self.linked[nim.linkedTo.index]=x
elif nim.configMode.value == "satposdepends":
self.setSatposDepends(sec, x, nim.satposDependsTo.index)
- self.satposdepends[nim.satposDependsTo.value]=x
+ self.satposdepends[nim.satposDependsTo.index]=x
for slot in self.NimManager.nimslots:
x = slot.slotid
sec.setLNBLOFH(currLnb.lofh.value * 1000)
sec.setLNBThreshold(currLnb.threshold.value * 1000)
- if currLnb.output_12v.value == "0V":
- pass # nyi in drivers
- elif currLnb.output_12v.value == "12V":
- pass # nyi in drivers
+# if currLnb.output_12v.value == "0V":
+# pass # nyi in drivers
+# elif currLnb.output_12v.value == "12V":
+# pass # nyi in drivers
if currLnb.increased_voltage.value:
sec.setLNBIncreasedVoltage(lnbParam.ON)
return self.cablesList[0]
def getCableTrustNit(self, nim):
- return (config.Nims[nim].cabletype.value == "quick")
+ return config.Nims[nim].cabletype.value == "quick"
def getTerrestrialDescription(self, nim):
return self.terrestrialsList[config.Nims[nim].terrestrial.index][0]
if configMode == "simple":
dm = config.Nims[slotid].diseqcMode.value
- if dm in ["single", "toneburst", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if dm in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
list.append(self.satList[config.Nims[slotid].diseqcA.index])
- if dm in ["toneburst", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if dm in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
list.append(self.satList[config.Nims[slotid].diseqcB.index])
if dm == "diseqc_a_b_c_d":
list.append(self.satList[config.Nims[slotid].diseqcC.index])
#print "nimDiseqcD set to " + str(val)
pass
+def InitSecParams():
+ config.sec = ConfigSubsection()
+
+ x = ConfigInteger(default=15)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE, configElement.value))
+ config.sec.delay_after_continuous_tone_change = x
+
+ x = ConfigInteger(default=10)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_VOLTAGE_CHANGE, configElement.value))
+ config.sec.delay_after_final_voltage_change = x
+
+ x = ConfigInteger(default=120)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_BETWEEN_DISEQC_REPEATS, configElement.value))
+ config.sec.delay_between_diseqc_repeats = x
+
+ x = ConfigInteger(default=50)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_LAST_DISEQC_CMD, configElement.value))
+ config.sec.delay_after_last_diseqc_command = x
+
+ x = ConfigInteger(default=50)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value))
+ config.sec.delay_after_toneburst = x
+
+ x = ConfigInteger(default=120)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_SWITCH_CMDS, configElement.value))
+ config.sec.delay_after_enable_voltage_before_switch_command = x
+
+ x = ConfigInteger(default=700)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_BETWEEN_SWITCH_AND_MOTOR_CMD, configElement.value))
+ config.sec.delay_between_switch_and_motor_command = x
+
+ x = ConfigInteger(default=150)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MEASURE_IDLE_INPUTPOWER, configElement.value))
+ config.sec.delay_after_voltage_change_before_measure_idle_inputpower = x
+
+ x = ConfigInteger(default=750)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_MOTOR_CMD, configElement.value))
+ config.sec.delay_after_enable_voltage_before_motor_command = x
+
+ x = ConfigInteger(default=150)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_MOTOR_STOP_CMD, configElement.value))
+ config.sec.delay_after_motor_stop_command = x
+
+ x = ConfigInteger(default=150)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MOTOR_CMD, configElement.value))
+ config.sec.delay_after_voltage_change_before_motor_command = x
+
+ x = ConfigInteger(default=120)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_RUNNING_TIMEOUT, configElement.value))
+ config.sec.motor_running_timeout = x
+
+ x = ConfigInteger(default=1)
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_COMMAND_RETRIES, configElement.value))
+ config.sec.motor_command_retries = x
+
+
def InitNimManager(nimmgr):
+ InitSecParams()
+
config.Nims = ConfigSubList()
for x in range(nimmgr.nimCount):
config.Nims.append(ConfigSubsection())
"advanced": _("advanced")},
default = "simple")
else:
-
nim.configMode = ConfigSelection(
choices = {
"equal": _("equal to Socket A"),
- "looptrough": _("loopthrough to socket A"),
+ "loopthrough": _("loopthrough to socket A"),
"nothing": _("nothing connected"),
"satposdepends": _("second cable of motorized LNB"),
"simple": _("simple"),
"advanced": _("advanced")},
- default = "looptrough")
+ default = "loopthrough")
#important - check if just the 2nd one is LT only and the first one is DVB-S
if nim.configMode.value in ["loopthrough", "satposdepends", "equal"]:
("diseqc_a_b_c_d", _("DiSEqC A/B/C/D")),
("positioner", _("Positioner"))],
default = "diseqc_a_b")
- nim.diseqcA = ConfigSatlist(default = 192, list = nimmgr.satList)
- nim.diseqcB = ConfigSatlist(default = 130, list = nimmgr.satList)
+
+ nim.diseqcA = getConfigSatlist(192, nimmgr.satList)
+ nim.diseqcB = getConfigSatlist(130, nimmgr.satList)
nim.diseqcC = ConfigSatlist(list = nimmgr.satList)
nim.diseqcD = ConfigSatlist(list = nimmgr.satList)
nim.positionerMode = ConfigSelection(
# advanced config:
nim.advanced = ConfigSubsection()
- nim.advanced.sats = ConfigSatlist(default = 192, list = nimmgr.satList)
+ nim.advanced.sats = getConfigSatlist(192,nimmgr.satList)
nim.advanced.sat = ConfigSubDict()
lnbs = [("0", "not available")]
for y in range(1, 33):
nim.advanced.lnb[x].lofl = ConfigInteger(default=9750, limits = (0, 99999))
nim.advanced.lnb[x].lofh = ConfigInteger(default=10600, limits = (0, 99999))
nim.advanced.lnb[x].threshold = ConfigInteger(default=11700, limits = (0, 99999))
- nim.advanced.lnb[x].output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
+# nim.advanced.lnb[x].output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
nim.advanced.lnb[x].increased_voltage = ConfigYesNo(default=False)
nim.advanced.lnb[x].toneburst = ConfigSelection(choices = [("none", _("None")), ("A", _("A")), ("B", _("B"))], default = "none")
nim.advanced.lnb[x].diseqcMode = ConfigSelection(choices = [("none", _("None")), ("1_0", _("1.0")), ("1_1", _("1.1")), ("1_2", _("1.2"))], default = "none")
nim.advanced.lnb[x].powerThreshold = ConfigInteger(default=50, limits=(0, 100))
elif slot.nimType == nimmgr.nimType["DVB-C"]:
- nim.cabletype = ConfigSelection(choices = [("quick", _("Quick")), ("complete", _("Complete"))])
+ nim.cabletype = ConfigSelection(choices = [("quick", _("Quick")), ("complete", _("Complete"))], default = "complete")
elif slot.nimType == nimmgr.nimType["DVB-T"]:
list = []
n = 0