From: Nico S. <nic...@fa...> - 2007-05-05 20:30:01
|
Nico Sabbi wrote: > Zoilo Gomez wrote: > >>>> The Diseqc-specs at >>>> http://www.eutelsat.com/satellites/pdf/Diseqc/Reference%20docs/bus_spec.pdf >>>> (table on page 13) confirm that dvbtune is in fact sending the wrong >>>> command. >>>> >>>> With a patched dvbtune (pol-bit and band-bit both inverted) it works >>>> OK, and is also according to the Eutelsat specs. >>>> >> >> I have attached a patch for you. >> >> The problem is only in dvbtune (version 0.5); you may not have been >> using dvbtune (dvbtools); dvbscan and szap (linuxtv-dvb-apps) do not >> suffer from this problem. >> >> Z. >> >> >> ------------------------------------------------------------------------ >> >> diff -Naur dvbtune-0.5.orig/tune.c dvbtune-0.5/tune.c >> --- dvbtune-0.5.orig/tune.c 2004-02-06 15:00:36.000000000 +0100 >> +++ dvbtune-0.5/tune.c 2007-04-30 21:22:53.000000000 +0200 >> @@ -203,7 +203,7 @@ >> * bits are: option, position, polarizaion, band >> */ >> cmd.cmd.msg[3] = >> - 0xf0 | (((sat_no * 4) & 0x0f) | (hi_lo ? 1 : 0) | (pol ? 0 : 2)); >> + 0xf0 | (((sat_no * 4) & 0x0f) | (hi_lo ? 0 : 1) | (pol ? 2 : 0)); >> >> diseqc_send_msg(secfd, pol, >> &cmd, hi_lo, > > I disagree with your changes: according to the specs that you linked the fields are: *switch-number *switch option *satellite position *polarization *frequency_is_in_hi_band *bytecode 1 A A V Lo F0 2 A A V Hi F1 3 A A H Lo F2 4 A A H Hi F3 5 A B V Lo F4 6 A B V Hi F5 7 A B H Lo F6 8 A B H Hi F7 9 B A V Lo F8 10 B A V Hi F9 11 B A H Lo FA 12 B A H Hi FB 13 B B V Lo FC 14 B B V Hi FD 15 B B H Lo FE 16 B B H Hi FF assuming that in the code "pol" stands for "pol_is_vertical" and that "hi_lo" stands for "hi_band" ( frequency above SLOF) and counting bits from 8..1 - the last bit must be set to 1 when hi_band is 1 - the forelast bit (0x2) must be set when the polarization is horizontal (this polv is 0). Please, explain why you believe that the current code is incorrect |