[2/4] v4l-utils/libdvbv5: add support for ISDB-S tuning
Commit Message
From: Akihiro Tsukada <tskd08@gmail.com>
Added LNB support for Japanese satellites.
Currently tested with dvbv5-zap, dvb-fe-tool.
Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
---
lib/libdvbv5/dvb-sat.c | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
Em Wed, 08 Oct 2014 21:09:39 +0900
tskd08@gmail.com escreveu:
> From: Akihiro Tsukada <tskd08@gmail.com>
>
> Added LNB support for Japanese satellites.
> Currently tested with dvbv5-zap, dvb-fe-tool.
>
> Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
> ---
> lib/libdvbv5/dvb-sat.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/lib/libdvbv5/dvb-sat.c b/lib/libdvbv5/dvb-sat.c
> index e8df06b..70b1021 100644
> --- a/lib/libdvbv5/dvb-sat.c
> +++ b/lib/libdvbv5/dvb-sat.c
> @@ -91,6 +91,13 @@ static const struct dvb_sat_lnb lnb[] = {
> .freqrange = {
> { 12200, 12700 }
> }
> + }, {
> + .name = "Japan 110BS/CS LNBf",
> + .alias = "110BS",
> + .lowfreq = 10678,
> + .freqrange = {
> + { 11727, 12731 }
> + }
Hmm... a quick search for 110BS gave me this datasheet:
http://www.sesl-sharp.com/Products/pdf/rf201309_e.pdf
Frequencies there are a little broader. If this datasheet is
right, .freqrange should be:
{ 11710, 12751 }
> },
> };
>
> @@ -304,6 +311,8 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms,
> */
> pol_v = 0;
> high_band = 1;
> + if (lnb == &lnb[8])
> + vol_high = 1;
I don't like the idea of using an index here. It would be easy
to have this broken.
Also, probably the best would be to add another field and/or a libdvbv5
property to indicate the DiSEqC specific stuff as found in Japan.
What kind of DiSEqC switch are you using (if any)?
> } else {
> /* Adjust voltage/tone accordingly */
> if (parms->p.sat_number < 2) {
> @@ -316,6 +325,8 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms,
> rc = dvb_fe_sec_voltage(&parms->p, 1, vol_high);
> if (rc)
> return rc;
> + if (parms->p.current_sys == SYS_ISDBS)
> + return 0;
Are you sure that this need is due to ISDB-S, and not due to a
different DiSEqC switch or satellite system arrangement?
> if (parms->p.sat_number > 0) {
> rc = dvb_fe_sec_tone(&parms->p, SEC_TONE_OFF);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -91,6 +91,13 @@ static const struct dvb_sat_lnb lnb[] = {
.freqrange = {
{ 12200, 12700 }
}
+ }, {
+ .name = "Japan 110BS/CS LNBf",
+ .alias = "110BS",
+ .lowfreq = 10678,
+ .freqrange = {
+ { 11727, 12731 }
+ }
},
};
@@ -304,6 +311,8 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms,
*/
pol_v = 0;
high_band = 1;
+ if (lnb == &lnb[8])
+ vol_high = 1;
} else {
/* Adjust voltage/tone accordingly */
if (parms->p.sat_number < 2) {
@@ -316,6 +325,8 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms,
rc = dvb_fe_sec_voltage(&parms->p, 1, vol_high);
if (rc)
return rc;
+ if (parms->p.current_sys == SYS_ISDBS)
+ return 0;
if (parms->p.sat_number > 0) {
rc = dvb_fe_sec_tone(&parms->p, SEC_TONE_OFF);