openatv frontend.cppЦитироватьRESULT eDVBFrontend::setVoltage(int voltage)
{
bool increased=false;
fe_sec_voltage_t vlt;
m_data[CUR_VOLTAGE]=voltage;
switch (voltage)
{
case voltageOff:
m_data[CSW]=m_data[UCSW]=m_data[TONEBURST]=-1; // reset diseqc
vlt = SEC_VOLTAGE_OFF;
char filename[256];
snprintf(filename, sizeof(filename), "/proc/stb/frontend/%d/active_antenna_power", m_slotid);
CFile::writeStr(filename, "off");
break;
case voltage13_5:
increased = true;
case voltage13:
vlt = SEC_VOLTAGE_13;
if(m_type == feTerrestrial)
{
char filename[256];
snprintf(filename, sizeof(filename), "/proc/stb/frontend/%d/active_antenna_power", m_slotid);
CFile::writeStr(filename, "on");
}
break;
case voltage18_5:
increased = true;
case voltage18:
vlt = SEC_VOLTAGE_18;
break;
default:
return -ENODEV;
}
if (m_simulate)
return 0;
::ioctl(m_fd, FE_ENABLE_HIGH_LNB_VOLTAGE, increased);
return ::ioctl(m_fd, FE_SET_VOLTAGE, vlt);
}openpli frontend.cppЦитироватьRESULT eDVBFrontend::setVoltage(int voltage)
{
bool increased=false;
fe_sec_voltage_t vlt;
m_data[CUR_VOLTAGE]=voltage;
switch (voltage)
{
case voltageOff:
m_data[CSW]=m_data[UCSW]=m_data[TONEBURST]=-1; // reset diseqc
vlt = SEC_VOLTAGE_OFF;
break;
case voltage13_5:
increased = true;
case voltage13:
vlt = SEC_VOLTAGE_13;
break;
case voltage18_5:
increased = true;
case voltage18:
vlt = SEC_VOLTAGE_18;
break;
default:
return -ENODEV;
}
if (m_simulate)
return 0;
eDebug("[eDVBFrontend%d] setVoltage FE_ENABLE_HIGH_LNB_VOLTAGE %d FE_SET_VOLTAGE %d", m_dvbid, increased, vlt);
::ioctl(m_fd, FE_ENABLE_HIGH_LNB_VOLTAGE, increased);
return ::ioctl(m_fd, FE_SET_VOLTAGE, vlt);
}думаю, причина в этом.