LPT port a pruchozi zarizeni

Miroslav BENES mbenes na tenez.cz
Pondělí Květen 6 12:16:33 CEST 2002


Preji krasny den !

Uvazuji o zbastleni zarizeni, pripojeneho na LPT port. Protoze ho ale nechci "obsadit", 
rad bych to stvoril "pruchozi" - stejne jako napr. ZIPky nebo externi HDD ...

Zkousel jsem o tom neco nastudovat ze zdrojaku kernelu (sdileni pomoci ovladace 
parport), ale nejsem z toho moc moudry. Docela slusne je to posano i na :

http://people.redhat.com/twaugh/parport/html/parportguide.html

,ale ani tam jsem nenasel odpovedi na urcite otazky. Proto bych se rad zeptal na vase 
zkusenosti s touto problematikou. A konkretne :

 1) Jak jsou fyzicky zapojeny zminene "pruchozi" periferie ? Zda se, ze datova a ridici 
sbernice (out) je zapojena transparentne a ridici signaly jsou voleny tak, aby na ne 
nereagovala tiskarna, ale aby se daly poznat v "pruchozi" periferii. Co se ale deje v 
tiskarne ve skutecnosti, kdyz se meni (jen) stavy ridicich signalu - napr. AUTOLF a 
SELECT ? Nebude na to nejak reagovat ?

 2) K cenu je dobry signal SELECT (out) ? Chapu to dobre, ze s jeho deaktivaci 
prestane tiskarna uplne reagovat ? 

 3) Vstupnimi signaly (ACK, BUSY, PAPEER OUT, SELECT, ERROR) hlasi tiskarna 
svuj stav. Muzu je (beztrestne) menit a sledovat ve svem ovladaci napojenem na 
parport, pokud je mi predano rizeni ? A nebude na ne reagovat ovladac lp ? Nemel by, 
kdyz nema v ruce zezlo, ale radsi se ptam ...

 4) Jak casto predava rizeni ovladac lp.c behem tisku ? Ve zdrojaku je toto :

/*
* Give a chance to other pardevice to run in the meantime.
*/
lp_yield(minor);

Ale nepoznam z toho (ani z funkce lp_yield), jestli se port uvolnuje po kazdem znaku 
(bytu), po odeslani urciteho bloku nebo az po uplnem ukonceni tiskove ulohy. Tedy - je 
mozne hrabat se na portu a _zaroven_ tisknout ?



Uvital bych u nejake vzorove reseni podobneho probelmu. Predem dekuji.



--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux