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 16:11 | Zajímavý článek

    Odborníci z Penn State University zkoumají způsob ukládání informací na lepicí pásku. Principiálně by podle nich bylo možné kombinací odlepení a zpětného přilepení dosáhnout uložení informace, kterou opětovným odlepením dokážou přečíst. Výhodou je, že způsob uložení i přečtení je čistě mechanický. Zde o tom referují ve volně dostupném článku. Zajímavé bude sledovat zda se jim v rámci výzkumu podaří prokázat použitelnost i v jiné než

    … více »
    karkar | Komentářů: 6
    včera 13:00 | Zajímavý projekt

    Na GitHubu byl publikován reprodukovatelný návod, jak rozchodit Adobe Lightroom CC na Linuxu a Wine. Návod byl vytvořený pomocí AI Claude Code.

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

    Pokud by někdo potřeboval Wayland kompozitor uvnitř počítačové hry Minecraft, aby mohl zobrazovat okna desktopových aplikací přímo v herním prostředí, může sáhnout po Waylandcraftu. Ukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    17.5. 23:55 | Zajímavý článek

    Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.

    |🇵🇸 | Komentářů: 0
    16.5. 22:33 | Nová verze

    Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.5. 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 3
    15.5. 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 2
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 20
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 30
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1650 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jak číst paralelní port?

    14.10.2020 10:14 U!U!U!
    Jak číst paralelní port?
    Přečteno: 977×
    Mám starší A/D převodník z NDR C571C (AD571) a napadlo mě připojit ho k nevyužívanému paralelnímu portu a měřit s ním. Jenže z /dev/lp0 přímo číst nejde, v repozitáři nevidím nic, co by umělo s paralelním portem pracovat a v céčku ošklivě plavu. Ještě je tady jeden problém - převodník má 10 bitů na výstupu, paralelní port má sice 8 bitů, ale určitě by šlo použít i třeba /Strobe a /LineFeed. Mé někdo nápad, co s tím? Chci z toho příkazem jednorázově dostat hodnotu, je mi jedno, jestli desítkovou (0-1023), nebo šestnáctkovou. Díky.

    Řešení dotazu:


    Odpovědi

    14.10.2020 10:42 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Nebylo by jednodušší vzít arduino s USB převodníkem za 35Kč, nahrát na něj firmatu přímo z Arduino IDE a číst interní 10bitový AD převodník např. z pythonu metodou analog_read?
    14.10.2020 10:55 U!U!U!
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    To bohužel nebylo, Arduino mne vůbec nic neříká a neláká mne. Přece jen jsem ze stavebnic vyrostl. A chci nějak využít LPT. Jen mě mrzí, že na hrátky se starými porty nejsou v repu žádné nástroje.
    14.10.2020 11:14 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Firmware pro arduino (firmata) je hotový, jen se triviálně přes USB nahraje, ani není potřeba nic stahovat kromě Arduino IDE. Výsledkem je destička s USB konektorem, která umí spoustu HW rozhraní a ovládá se jednoduchými příkazy z PC. Knihovny pro firmatu jsou k dispozici pro většinu jazyků. Z mého pohledu je to menší "stavebnice" než holý čip, který má víc bitů než paralelní port.

    Ale držím palce. Když jsem si hrál s logickým analyzátorem přes paralelní port, musel jsem na ovládání paralelního portu také přes Cčko (používal jsem myslím nějak ohackovaný http://www.computernerdkev.heliohost.org/tfla-16/index.htm, už je to dávno)
    14.10.2020 11:17 X
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Nechces vyuzit pomoci arduino a neprogramujes v C/C++. No tak to na to muzes rovnou zapomenout. Pochybuji, ze existuje kouzelny program co bude komunikovat zrovna s tvym 10-bitovym prevodnikem, ktery k nemu "jen tak" nadratujes.
    14.10.2020 12:15 U!U!U!
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Kdysi jsem viděl kratičký kód (v C), tam to bylo pro zápis, používaly se dva porty (0x378 a 0x379), ale nemůžu ho najít. Jistě by šel po úpravě použít i pro čtení. A ještě jednou - chci využít to, co mám, ne to, co mi přijde za 2 měsíce z Číny. A s Arduinem (nebo jinou stavebnicí) se nechci učit, prostě mi je mnohem bližší vzít si hrst odporů, tranzistorů, IO, do ruky pájku s olovnatým cínem, než jen mezi sebou propojovat moduly, abych se ve výsledku kochal nad blikající LEDkou, když se dá blikátko udělat s jedním tranzistorem, jedním R a jedním C za 5 minut.
    14.10.2020 14:59 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Je mi trocha smutno, že každý navrhuje nejak to obísť cez Arduino či USB.

    Tipujem, že čítanie v princípe znamená otvoriť /dev/lp0 na čítanie a čítať. Trebárs aj cez cat. Problém je v tom, že to, čo je k tomu portu pripojené, musí nejak dať najavo, že "teraz!". A podľa toho, čo som za poslednú minútu našiel na googli/wiki, tak sa to urobí tak, že to pripojené zariadenie musí zacvičiť s napätím na pine #1 (strobe). A možno to ešte treba potvrdiť nastavením stavu na pine #10 (acknowledge).

    Pri opačnom smere stačilo urobiť cat - > /dev/lp0 a z tlačiarne už liezol papier ;-)
    15.10.2020 09:24 pet I. | skóre: 13
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Tipujem, že čítanie v princípe znamená otvoriť /dev/lp0 na čítanie a čítať.

    Tipuješ špatně. Znamená to:

    # nastavit v BIOSu port do "hloupého" režimu

    # a pak

    ## napsat program přistupující na fyzické io adresy printerportu a správně obsluhující handshake převodníku a ten spouštět pod rootem,

    ## nebo napsat driver do kernelu který udělá /dev/něco co bude správně obsluhovat handshake převodníku a pak můžeš použít ten cat /dev/něco

    Ale když ty programovat neumíš .... :-(

    21.10.2020 02:09 U!U!U!
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Jak to sdělit, abych stavebničáře neurazil? Skoro to mám!
    Trochu jsem šprtal a sesmolil jsem následující:
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/io.h>
    
    #define portC 0x37a
    int main()
    
    {
       if (ioperm(portC, 1, 1))
        fprintf(stderr, "\e[31;43m Nemáš oprávnění \e[0m\n"), exit(1);
    	outb(0, portC);
    	int dataC = inb(portC);
    	printf("%i\n", ((256*(dataC-192))));
    	return(dataC);
    }

    Tady pracuju s portem 0x37a (řídicí; data lze číst na portu 0x37c v režimu EPP) a - nejdřív se vynuluje (řádek 11), pak se přečte, převede na desítkovou soustavu, odečte 192 (horní 4 bity nelze ovládat a nejsou k nim dráty) a, protože to budou horní 4 bity, vynásobí se to 256. Přestože jsou 3 ze 4 vstupů za invertorem, funguje to.

    Jenže jsem se pokusil do toho nabastlit i čtení z datového portu, nevím, kde dělám chybu, ale hází mi to SIGSEGV.
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/io.h>
    
    #define portD 0x37c
    #define portC 0x37a
    int main()
    
    {
       if (ioperm(portD, 1, 1))
        fprintf(stderr, "\e[31;43m Nemáš oprávnění \e[0m\n"), exit(1);
    	outb(0, portD);
    	outb(0, portC);
    	int dataD = inb(portD);
    	int dataC = inb(portC);
    	printf("%i\n", ((dataD+256*(dataC-192))));
    	return(dataC);
    	return(dataD);
    }
    21.10.2020 08:08 MM
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    není tam problém, že ioperm máš jen pro portD ale už ne pro portC? Asi to budeš muset udělat postupně s 2ma ifama
    21.10.2020 09:13 pet I. | skóre: 13
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Stačí tam dát >> ioperm(portD, 3, 1) <<
    21.10.2020 10:44 U!U!U!
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Ne. Prakticky to přestane fungovat od druhého outb.
    21.10.2020 09:18 jiwopene | skóre: 31 | blog: Od každého trochu…
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Ty dva returny by neměly fungovat.
    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
    21.10.2020 11:59 U!U!U!
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Tohle funguje!
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/io.h>
    
    #define portD 0x37c
    #define portC 0x37a
    
    int main()
    {
    	if (ioperm(portC, 1, 1)) fprintf(stderr, "\e[31;43m Nemáš oprávnění \e[0m\n"), exit(1);
    	if (ioperm(portD, 1, 1)) fprintf(stderr, "\e[31;43m Nemáš oprávnění \e[0m\n"), exit(1);
    	outb(0, portD);
    	outb(0, portC);
    	int dataD = inb(portD);
    	int dataC = inb(portC);
    	printf("%i\n", (dataD+256*(dataC-192)));
    }
    11.11.2020 20:37 frr | skóre: 34
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Mein Kompliment, že se hrdě pouštíte do práce se starobylým LPT portem :-)

    Pozor, LPT port ve standardním režimu (aka "SPP") teoreticky není obousměrný. Některý LPT hardware se dá znásilnit, protože budiče nejsou příliš silné, a čtení dotyčného registru skutečně čte stav vnějších pinů... Pokud ale dokážete LPT přepnout do režimu EPP (nebo snad i ECP), tak je to jiná - při čtení by měl být výstupní budič ve třetím stavu (vysoká impedance). Pokud se nepletu, příslušnou konfiguraci bych očekával v "out of band" registrech SuperIO švába, kterým je LPT port v moderním železe implementován - a na tyto registry je v lepším případě navázáno menu v BIOS SETUPu, kde lze režim portu zvolit. Pokud zjistíte typ SuperIO švába (je-li přítomen), asi bych dokázal dohledat víc.
    [:wq]
    3.11.2020 14:49 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jak číst paralelní port?
    Používání inb a outb je čuňárna, ten program musí běžet pod rootem a nikdy jinak. Vhodnější je použít ovladač ppdev (modprobe ppdev), příklad kódu je tady (kapitola User-Mode Access):

    https://www.htlinux.com/parallel_port_control_in_linux/

    Na to pak stačí, abyste měl oprávnění k příslušnému souboru v /dev/ - u mě stačilo přidat si uživatele, pod kterým pracuju, do skupiny lp: gpasswd -a uzivatel lp

    (Na hračky typu Arduino se vykašlete.)
    Quando omni flunkus moritati

    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.