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 17:44 | Nová verze

    Linuxová distribuce OpenMandriva byla vydána ve verzi ROME 23.03. Název ROME říká, že se jedná se o průběžně aktualizovanou (rolling) edici. Stabilní edice nese název Rock, aktuálně OpenMandriva Lx 4.3 Dysprosium.

    Ladislav Hagara | Komentářů: 0
    dnes 17:33 | Pozvánky

    Tento pátek od 14:00 proběhne v Brně na FI MUNI konference DevConf Mini. Na programu je celá řada zajímavých přednášek od testování releasů Fedory, přes super počítače nebo Big Data, až po závody autonomních aut. Konferenci bude možné sledovat i na online streamu.

    joejoe | Komentářů: 0
    dnes 15:00 | Zajímavý článek

    Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2023. Adobe Reader, Microsoft SharePoint, Oracle VirtualBox, Tesla, Ubuntu Desktop, Windows 11, macOS, Microsoft Teams, VMWare Workstation. Vše hacknuto. Synacktiv získal 530 000 dolarů a Teslu Model 3.

    Ladislav Hagara | Komentářů: 1
    dnes 07:00 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného 3D softwaru Blender. Přehled novinek i s náhledy v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Po 5 měsících vývoje od vydání verze 6.1 byla vydána nová verze 6.2 svobodného open source redakčního systému WordPress. Kódové jméno Dolphy bylo vybráno na počest amerického jazzového altsaxofonisty, flétnisty a basklarinetisty Erica Dolphyho.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Josef Průša představil (YouTube) novou 3D tiskárnu Original Prusa MK4. Cena sestavené tiskárny je 27990 Kč. Cena stavebnice je 20990 Kč.

    Ladislav Hagara | Komentářů: 4
    včera 19:00 | Nová verze

    Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 6.3.0. Vývojáři upozorňují, že Netmetr byl nahrazen LibreSpeedem, viz příspěvek na blogu CZ.NIC.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byl vydán xorg-server 21.1.8 a xwayland 22.1.9 a 23.1.1. Řešena je zranitelnost CVE-2023-1393 využitelná k lokální eskalaci práv.

    Ladislav Hagara | Komentářů: 4
    včera 15:00 | Nová verze

    Byla vydána nová verze 10 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu.

    Ladislav Hagara | Komentářů: 0
    28.3. 22:33 | Komunita

    Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).

    Ladislav Hagara | Komentářů: 4
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (3%)
     (11%)
    Celkem 375 hlasů
     Komentářů: 7, poslední 28.3. 17:34
    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: 163×
    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.