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:
parent
8521ce4753
commit
6089b4f5c2
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user