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 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 1
    včera 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

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

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1819 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Divna rychlost cez libftdi (libusb)

    19.1.2007 15:46 Semo | skóre: 45 | blog: Semo
    Divna rychlost cez libftdi (libusb)
    Přečteno: 233×
    Klucove slova: libusb, AD prevodnik, TCP prenos, usbserial

    Mam AD prevodnik, ktory sa k pocitacu pripaja cez USB. Vnutorne funguje ako seriove zariadenie a pomocou cipu FTDI245BM preklada na USB a hura smer pocitac.

    Podla dokumentacie je tok z prevodniku cca 100kB/s. Pri pripojeni k linuxu sa automatiky natiahne modul ftdi_sio (ktory si vyziada najprv modul usbserial). Potom sa v systeme objavi nove zariadenie pripojene na /dev/ttyUSB0. Ked dam
    cat /dev/tty/USB0 >ad.out
    
    tak skutocne za 100s prenesie cca 10MB dat.

    Mam napisany malicky programcek postaveny nad libftdi, ktory nerobi nic ine, iba v cykle cita z prevodniku a zapisuje na stdout. libftdi je v podstate len wrapper na libusb, ktora bude asi znamejsia viacerym ludom. Problem je, ze tento programcek za 100s zapise len 7.5MB dat. Pricom data su formalne spravne (po USB kabli netecu len tak data, ale nejaky jednoduchy protokol), spravy su spravne dlhe, periodicke vypisy maju spravnu periodu a podobne. Len zuk je znatelne poskodeny a je vleky problem porozumiet ludskej reci. Podla mojho nazoru sa pocitac dohodne s FTDI chipom na nizsej rychlosti posielania dat a samotny programovatelny chip na prevodniku potom zahadzuje data, ktore si FTDI chip nestihne odobrat. Ale produkuje korektny traffic.

    Teraz sa dostavame k niecmu zaujimavejsiemu. Napisal som nahravaci program, ktory cita data z tohto prevodnika a za urcitych podmienok (dostatocne silny signal, dostatocne dlho a pod.) nahrava a konvertuje do oggu. Tento program ma moznost sa na neho pripojit pomocou TCP spojenia a v tom pripade posiela vsetky data z predvodniku do tohoto spojenia. Tento program je postaveny na libftdi (nie nad jadrovym modulom). Ked ho spustim a a pripojim sa na neho pomocou netcatu, tak z neh ocitam 75kB/s. Ale (a teraz prichadza najvacsia zahada uplynulych 2 tyzdnov), ked sa neho propojim programom na diagnostiku a sledovanie toho prevodnika (program, ktory si sama urobila organizacia, pre ktoru to cele robim, napisany v Delphi, bezi pod Win alebo Wine), tak cita rychlostou 100kB/s!

    Moj program (v tomto pripade TCP server) nijak nerozlisuje medzi klientami, proste iba v nekonecnej slucke cita z prevodnika a pise do socketu a naopak (v 2 vlaknach, kedze citanie z prevodnika je neblokujuce). Napriek tomu je z neho jeden klient schopny vytiahnut viac dat ako druhy. Pripajam sa po localhoste, cely pocitac je zanedbatelne zatazeny. Netcat by som nepodozrieval, ze nedokaze citat rychlostou 100kB/s. Rychlosti su potvrdeny jednak velkostou vystupnych suborov, dvak sledovanim vypisu prikazu ifconfig. Sspecialny program neposiela ziadne zahadne prikazy prevodniku. Celu svoju komunikaciu prepisuje do suboru a su tam len same bezne prikazy (nacitat nasov kanalu, z ktoreho prichadzaju data, zapnut prenos a pod.)

    Nenapada niekoho, cim moze byt sposobene spomalene citanie z prevodnika? (Google nasiel iba jedneho zufalca, ktoremu libusb nacitalo z fotaku zmrsene data).

    Do riesenia, ktore sa ponuka ako prve (prepis na jadrovy modul) sa mi nechce. Vysvetlim. Cely program bol postaveny na tomto module az do leta 2006, kedy nekonecne a zufale (a vyvojarmi jadra neriesene) problemy so stabilitou tohoto modulu ma donutili prepisat to na libftdi. Dnes uz sice podla changelogov konecne modul opravili (chyba bola v module usbserial), ale fakt sa mi nechce zase celu komunikacnu vrstvu prepisovat naspat. Program sa odvtedy hodne vyvijal a neda stara verzia vrstvy sa v podstate pouzit neda. Prepis by znamenal cca tyzden prace. Uz samotny prepis na libftdi ma stal hodne nervov a prace.

    Dik vsetkym zapojenym.
    If you hold a Unix shell up to your ear, you can you hear the C.

    Odpovědi

    19.1.2007 16:59 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Divna rychlost cez libftdi (libusb)
    Skúšal si zvýšiť baudrate (a možno aj paritu a stop bity)?
    19.1.2007 17:14 Konopka | skóre: 4
    Rozbalit Rozbalit vše Re: Divna rychlost cez libftdi (libusb)

    Urcite nejsem ten pravy clovek na radu s programovanim v Linuxu, ale zkousel jste tam hodit nejaky jednodussi signal nez je "rec". Co bych si od toho sliboval? Dam si na vstup AD prevodniku sinus, pak si to poslu do souboru a zjistim, jestli mi chybi hodnoty s nejakou pravidelnosti nebo je to "nahodny stav".

    Mate moznost proverit, jestli se Vam ten chip (ftdi) nezahlti a jestli treba (datasheet):
    To send data from the peripheral to the host computer, simply write the byte-wide data into the module when TXE# is low. If the (384-byte) transmit buffer fills up or is busy storing the previously written byte, the device keeps TXE# high in order to stop further data from being written until some of the FIFO data has been transferred over USB to the host. TXE# goes high after every byte written.

    Zkousel jste grab usb komunikace pri tom cat /dev/tty/USB0 a v tom Vasem program a porovnat vysledek. Jestli ne, tak zkuste kouknout na http://wiki.wireshark.org/CaptureSetup/USB

    A posledni vec. Aby vam nekdo byl schopen pomoci s tim programem, mozna by nebylo spatne sem hodit kousek nejakeho kodu (jestli teda muzete, kdyz to pro nekoho pisete).

    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.