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í
×
    dnes 18:00 | Bezpečnostní upozornění

    Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.

    Ladislav Hagara | Komentářů: 0
    dnes 14:33 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Nová verze

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | Nová verze

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 9
    dnes 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2647 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: rozbor kódu - unicable diseqc

    21.11.2015 10:02 marian34
    rozbor kódu - unicable diseqc
    Přečteno: 671×
    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.