much simpler frequency range check
[enigma2.git] / lib / dvb / frontend.cpp
index e6ff5e180f8d41544896e173a972e175a2cc018a..0fd12bece4eeb7249edb6e1b6271a3c0e299e746 100644 (file)
@@ -17,8 +17,8 @@
 #define BANDWIDTH_AUTO                 (BandWidth)3
 #define GUARD_INTERVAL_AUTO            (GuardInterval)4
 #define HIERARCHY_AUTO                 (Hierarchy)4
-#define parm_frequency parm_Frequency
-#define parm_inversion parm_Inversion
+#define parm_frequency parm.Frequency
+#define parm_inversion parm.Inversion
 #define parm_u_qpsk_symbol_rate parm.u.qpsk.SymbolRate
 #define parm_u_qpsk_fec_inner parm.u.qpsk.FEC_inner
 #define parm_u_qam_symbol_rate parm.u.qam.SymbolRate
@@ -607,7 +607,7 @@ void fillDictWithCableData(PyObject *dict, const FRONTENDPARAMETERS &parm)
        case FEC_7_8:
                tmp = "FEC_7_8";
                break;
-#ifdef HAVE_DVB_API_VERSION >= 3
+#if HAVE_DVB_API_VERSION >= 3
        case FEC_8_9:
                tmp = "FEC_8_9";
                break;
@@ -1229,6 +1229,12 @@ RESULT eDVBFrontend::prepare_sat(const eDVBFrontendParametersSatellite &feparm)
                                parm_u_qpsk_fec_inner = FEC_7_8;
                                break;
                }
+               // FIXME !!! get frequency range from tuner
+               if ( parm_frequency < 900000 || parm_frequency > 2200000 )
+               {
+                       eDebug("%d mhz out of tuner range.. dont tune", parm_frequency/1000);
+                       return -EINVAL;
+               }
                eDebug("tuning to %d mhz", parm_frequency/1000);
        }
        return res;
@@ -1293,7 +1299,7 @@ RESULT eDVBFrontend::prepare_cable(const eDVBFrontendParametersCable &feparm)
        case eDVBFrontendParametersCable::FEC::f7_8:
                parm_u_qam_fec_inner = FEC_7_8;
                break;
-#ifdef HAVE_DVB_API_VERSION >= 3
+#if HAVE_DVB_API_VERSION >= 3
        case eDVBFrontendParametersCable::FEC::f8_9:
                parm_u_qam_fec_inner = FEC_8_9;
                break;