this modifies the stv0900 src so that when you tune a freq ( FE_SET_PROPERTY ) that when it does it's little adjustments, it saves those settings in the same u.data variables you used to tune with, that way when you do a FE_GET_PROPERTY you can actually pull the info.
the Prof 7500 search +/-5mhz for the signal, and +/-10000 SR, does auto system (dvb-s/dvb-s2/dss), auto modulation (qpsk/8psk), auto pilot, auto rolloff, auto inversion, and auto fec.
so you can put in super generic tuning info, then do a FE_GET_PROPERTY and pull all the specifics out so you can use it in your other tuners that dont do all that fancy stuff.
the Prof 7500 search +/-5mhz for the signal, and +/-10000 SR, does auto system (dvb-s/dvb-s2/dss), auto modulation (qpsk/8psk), auto pilot, auto rolloff, auto inversion, and auto fec.
so you can put in super generic tuning info, then do a FE_GET_PROPERTY and pull all the specifics out so you can use it in your other tuners that dont do all that fancy stuff.
Code:
--- stv0900_core.c.orig 2010-06-21 13:12:09.032070510 -0600
+++ stv0900_core.c 2010-06-19 13:06:38.532428739 -0600
@@ -1629,6 +1629,15 @@ static enum dvbfe_search stv0900_search(
p_result.spectrum = intp->result[demod].spectrum;
p_result.rolloff = intp->result[demod].rolloff;
p_result.modulation = intp->result[demod].modulation;
+
+ // UDL
+ c->frequency = p_result.frequency ;
+ c->symbol_rate = p_result.symbol_rate ;
+ c->fec_inner = p_result.fec ;
+ c->pilot = p_result.pilot ;
+ c->rolloff = p_result.rolloff ;
+ c->modulation = p_result.modulation ;
+ c->inversion = p_result.spectrum ;
} else {
p_result.locked = FALSE;
switch (intp->err[demod]) {
Code:
--- stv0900_priv.h.orig 2010-06-21 13:12:58.282155848 -0600
+++ stv0900_priv.h 2010-06-19 13:11:08.361159042 -0600
@@ -185,7 +185,8 @@ enum fe_stv0900_modcode {
};
enum fe_stv0900_fec {/*DVBS1, DSS and turbo code puncture rate*/
- STV0900_FEC_1_2 = 0,
+ STV0900_FEC_NONE = 0,
+ STV0900_FEC_1_2,
STV0900_FEC_2_3,
STV0900_FEC_3_4,
STV0900_FEC_4_5,/*for turbo code only*/