abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (4%)
 (10%)
Celkem 367 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: rozbor kódu - unicable diseqc

21.11.2015 10:02 marian34
rozbor kódu - unicable diseqc
Přečteno: 276×
Páni jaksi mi to nejde do makovice.Čerpám z týchto zdrojov:

-patch

+int setup_unicable (int frontend_fd, const uint32_t frequency, int unicable_chan, int unicable_freq, int pol, int band)
+{
+        struct dvb_diseqc_master_cmd cmd = { { 0xe0, 0x10, 0x5a, 0x00, 0x00, 0x00 }, 5 };
+        unsigned int t = (frequency / 1000 + unicable_freq + 2) / 4 - 350;
+        uint32_t ret = (t + 350) * 4000 - frequency;
+        cmd.msg[3] = (t >> 8)                   |       /* highest 3 bits of t */
+                (unicable_chan << 5)            |       /* adress */
+                (0x00 << 4)                     |       /* input 0/1 */
+                (pol << 3)                      |       /* horizontal == 0x08 */
+                (band) << 2;                            /* high_band  == 0x04 */
+        cmd.msg[4] = t & 0xFF;
+        ioctl(frontend_fd, FE_SET_TONE, SEC_TONE_OFF);
+        ioctl(frontend_fd, FE_SET_VOLTAGE, SEC_VOLTAGE_18);
+        usleep(15 * 1000);
+        ioctl(frontend_fd, FE_DISEQC_SEND_MASTER_CMD, cmd);
+        usleep(50 * 1000);
+        ioctl(frontend_fd, FE_SET_VOLTAGE, SEC_VOLTAGE_13);
+        return ret;
-príklad
D1:
  (7..5) Benutzer-Band
  (4)    Satelliten Position: 'A' = 0, 'B' = 1
  (3)    Polarisation: 'V' = 0, 'H' = 1
  (2)    High Band: low = 0, high = 1
  (1..0) Tuning Word MSB

D2:
  (7..0) Tuning Word LSB:
         TuningWord = round(fVCO/4MHz - 350) = round((abs(fSat - fLO) + fUser)/4 - 350)

D3:
  (7..0) PIN

 example:
 fSat = 11837MHz, Horizontal, LNB = (9750/10600/11700)MHz, PIN=20
 User freq = 1400MHz auf Kanal-ID = 0.
 1. do we use highband? what LO freq?
    11837MHz > 11700MHz -> fLO = 10600MHz, hiband = 1
 2. calculate vco freq
    f_vco_goal = abs(f_transponder - f_LO) + f_userband = abs(11837MHz - 10600MHz) + 1400MHz = 2637MHz
 3. calculate 4MHz divider and substract constant value 350)
    (f_vco_goal / 4MHz) - 350 = 659.0 - 350 = 309.0
 4. round value to hit middle of userband as near as possible
    round(309.0) = 309 = 0x0135
 5. program lnb vco value
    D1 : bit(7..5) = 0 (id); bit(0..1) = (309 >> 8) & 0x3
    D3 : bit(7..0) = PIN   -> D1 D2 D3 = 0x01 0x35 0x14  
    hiband = 1             -> D1 D2 D3 = 0x05 0x35 0x14
    horizontal             -> D1 D2 D3 = 0x0D 0x35 0x14
    send DISEQC seq = 0xE0 0x00 0x5C 0x0D 0x35 0x14 oder mit Diseqc Adresse: 0xE0 0x10 0x5C 0x0D 0x35 0x14
 6. as the vco is programmed in 4MHz steps, and we did rounding, we will get up to +/-2MHz frequency offset rel. to middle of user band
    f_vco_real = 4MHz * (tuning_word + 350) = 2636MHz
 7. freq_offset = f_vco_real - f_vco_goal = 2636MHz - 2637MHz = -1MHz
 8. tune dvb tuner
    f_userband + freq_offset = (1400MHz - 1MHz) = 1399MHz
neviem dopočítať(ručne) ten tretí byt(D1).

Odpovědi

21.11.2015 10:28 marian34
Rozbalit Rozbalit vše Re: rozbor kódu - unicable diseqc
Výsledok z príkladu(0x0D) je správny-prakticky overené.No ako sa k tomu autor dopracoval?Prvé dva bity su vždy nulové.Takže pre highband 1, polarizácia 1, sat.poz. 0 = 00110 .Benutzer-band by mal byť pre ID0 001,no z toho mi vychádza D1=00110001 to sa ale nerovná 0x0D.

Pre ID1 mi vychádza D1=00110101,teda 0x35,čo je správna(overená hodnota).

No a pre ID2 a ID3 sa už neviem dopočítať správneho výsledku.

21.11.2015 11:17 chrono
Rozbalit Rozbalit vše Re: rozbor kódu - unicable diseqc
Síce sa tam píše "highest 3 bits of t", ale v skutočnosti sa tam používajú len 2 bity "(1..0) Tuning Word MSB". Ten zvyšný bit je potom v "(7..5) Benutzer-Band", takže to bude 000 0 1 1 01 = 0x0D
21.11.2015 11:29 marian34
Rozbalit Rozbalit vše Re: rozbor kódu - unicable diseqc
Ok,dík.Aj tak mi stále uniká pointa.Ako by si teda dopočítal D1 pre ID1(2,3)?
21.11.2015 14:25 chrono
Rozbalit Rozbalit vše Re: rozbor kódu - unicable diseqc
0x35 je 001 1 0 1 01 (a teda ID1, sat. pos B, pol. V, HiBand)

Pre ID2 a ID3 by sa zmenili tie prve tri bity (na 010 a 011), ostatné bity závisia na iných parametroch (a tie spodné dva na frekvencii)
21.11.2015 16:06 marian34
Rozbalit Rozbalit vše Re: rozbor kódu - unicable diseqc
Už mi začína svitať.Prakticky som to počítal zo zlej strany a zmiatli ma aj nepresnosti v detailoch tých príkladov.Napr. /* highest 3 bits of t */ má byť skôr /* highest 2 bits of t & 0x03*/.Takisto v:
5. program lnb vco value
    D1 : bit(7..5) = 0 (id); bit(0..1) = (309 >> 8) & 0x3
malo byť skôr
...(id); bit(1..0)...
Takisto neviem prečo mi šlo ladenie(na H transp.,hiband) na ID1 s D1=0x35(pol.V,sat.pos B-to by až tak nevadilo),keďže správne by malo byť 001 0 1 1 01=0x2D.To ale mohla byť "chyba merania".

Takže analogicky by pre parametre napr.:11836MHz,H malo platiť,D1=:

ID0->0D
ID1->2D
ID2->4D
ID3->6D
kedže bit(1..0) sa nemení.Uvidíme,ako by povedal slepý.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.