1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00

wip: stv0910: Adapt symbolrate in blindscan mode

The blindscan mode searches for a symbolrate-range of +/-25% around the
given start value. To ensure that the highes scanned symbolrate could be
received at all the frontend must be configured to set the
basebandfilter for this symbolrate. Thus increase the symbolrate which
is given to the frontend by 25%.
This commit is contained in:
Julian Scheel 2017-08-02 11:42:54 +02:00 committed by Ralph Metzler
parent 8521ce4753
commit 6089b4f5c2

View File

@ -1248,13 +1248,17 @@ static int set_parameters(struct dvb_frontend *fe)
struct dtv_frontend_properties *p = &fe->dtv_property_cache; struct dtv_frontend_properties *p = &fe->dtv_property_cache;
stop(state); stop(state);
if (fe->ops.tuner_ops.set_params)
fe->ops.tuner_ops.set_params(fe);
if (fe->ops.tuner_ops.get_if_frequency) if (fe->ops.tuner_ops.get_if_frequency)
fe->ops.tuner_ops.get_if_frequency(fe, &IF); fe->ops.tuner_ops.get_if_frequency(fe, &IF);
state->TuneMode = p->symbol_rate & 1 ? BlindScan : ColdStart; state->TuneMode = p->symbol_rate & 1 ? BlindScan : ColdStart;
p->symbol_rate &= ~(0x1); p->symbol_rate &= ~(0x1);
state->symbol_rate = p->symbol_rate; state->symbol_rate = p->symbol_rate;
if (state->TuneMode == BlindScan)
p->symbol_rate = max((u32)(p->symbol_rate + p->symbol_rate/4),
(u32)70000000);
if (fe->ops.tuner_ops.set_params)
fe->ops.tuner_ops.set_params(fe);
stat = start(state, p); stat = start(state, p);
return stat; return stat;
} }