aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/frontend.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-07-05 23:27:14 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-07-05 23:27:14 +0000
commite1685e42414d9d21f240f2655ce30b802c952753 (patch)
tree281b4ea09ccd64216147bf63e3777c0c456b3580 /lib/dvb/frontend.cpp
parent4337dd9e01096cd7dbd045f3922e6a378fa86ce5 (diff)
downloadenigma2-e1685e42414d9d21f240f2655ce30b802c952753.tar.gz
enigma2-e1685e42414d9d21f240f2655ce30b802c952753.zip
add support for new frontend to set power limiting mode
Diffstat (limited to 'lib/dvb/frontend.cpp')
-rw-r--r--lib/dvb/frontend.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index b86acef8..e1af3098 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -1535,7 +1535,19 @@ void eDVBFrontend::tuneLoop() // called by m_tuneTimer
break;
case eSecCommand::SET_POWER_LIMITING_MODE:
{
- if (m_need_rotor_workaround)
+ char proc_name[64];
+ sprintf(proc_name, "/proc/stb/frontend/%d/static_current_limiting", m_dvbid);
+ FILE *f=fopen(proc_name, "w");
+ if (f) // new interface exist?
+ {
+ bool slimiting = m_sec_sequence.current()->mode == eSecCommand::modeStatic;
+ if (fprintf(f, "%s", slimiting ? "on" : "off") != 1)
+ eDebug("write %s failed!! (%m)", proc_name);
+ else
+ eDebug("[SEC] set %s current limiting", slimiting ? "static" : "dynamic");
+ fclose(f);
+ }
+ else if (m_need_rotor_workaround)
{
char dev[16];
@@ -2258,7 +2270,8 @@ bool eDVBFrontend::setSlotInfo(ePyObject obj)
// HACK.. the rotor workaround is neede for all NIMs with LNBP21 voltage regulator...
m_need_rotor_workaround = !!strstr(m_description, "Alps BSBE1") ||
!!strstr(m_description, "Alps BSBE2") ||
- !!strstr(m_description, "Alps -S");
+ !!strstr(m_description, "Alps -S") ||
+ !!strstr(m_description, "BCM4501");
m_can_handle_dvbs2 = !!strstr(m_description, "Alps BSBE2") || !!strstr(m_description, "BCM4501");
eDebug("setSlotInfo for dvb frontend %d to slotid %d, descr %s, need rotorworkaround %s, enabled %s, DVB-S2 %s",
m_dvbid, m_slotid, m_description, m_need_rotor_workaround ? "Yes" : "No", m_enabled ? "Yes" : "No", m_can_handle_dvbs2 ? "Yes" : "No" );