LPT - jak udawać drukark

Witam...

Nie dokońca wiem gdzie to pisać... Mam taki problem... jest sobie urządzenie, niestety nie mogę ingierować w jego oprogramowanie... do urządzenia powinna być podłączona drukarka na LPT na której drukowany jest raport z działania urządzenia, średnio kilkanaście linijek na godzinę... Niestety brak tej drukarki po pewnym czasie powoduje błąd - przepełnienie bufora. Mnie ta drukarka potrzebna nie jest... Czy da się jakoś wykombinować samą wtyczkę LPT (jakieś zworki albo coś) aby ustrojstwo myślało, że wydrukowało... dodam, że drukarka chodzi jako IBM Printer.... tylko standardowe kody ASCII... w samym urządzeniu nic się nie konfiguruje w tej sprawie... w tej chwili mam tam podłączoną MEFKĘ... ale chciałbym się jej pozbyć całkowicie.

Dzięki za wszelkie sugestie... Pozdrawiam... W.

Reply to
Warlock
Loading thread data ...
[...]
[...] Ja bym podłączył BUSY (pin 11) na stałe do poziomu wysokiego - sygnał ten informuje komputer: "stój i czekaj, aż skończę swoje". A poziom wysoki np. z portu klawiatury +5V przez rezystor np. 4k7 ohm.

Tak przynajmniej kiedy kombinowałem.

Pozdrawiam, Grzegorz K.

Reply to
Grzegorz K.

Użytkownik "Grzegorz K." snipped-for-privacy@post.cross.pl> napisał w wiadomości news:d0jlqh$cd0$ snipped-for-privacy@news.supermedia.pl...

No właśnie... to raczej nic nie da... wtedy ustrojstwo będzie czekało a bufor się będzie wypełniał... To działa tak dziwnie, że nie sprawdza obecności drukarki... ale sygnalizuje przepełnienie swojego bufora... więc jeśli dane się nie wydrukują - to i tak będę miał błąd :(

Jak więc udawać, że się wydrukowały ???

Reply to
Warlock

Jeśli nie zależy ci na danych - to jak pisał przedmówca - któryś z pinów ( albo BUSY albo ACKNOLWLEDGE )do plusa - nie pamiętam dokładnie ale wielokrotnie wpakowywałem się na sytuację odwrotną - uszkodzony kabel drukarkowy informował komputer że wydruk idzie prawidłowo mimo że na drukarce nic nie było - więc trzeba trafić kombinację ACKN i BUSY )

Reply to
Tomasz FANGRAT

Warlock snipped-for-privacy@tlen.pl napisal nam:

a co za system? Kombinuje cos ala konfiguracja drukarki wirtualnej /dev/null ;)? Popytaj na grupach softwareowych?

Reply to
invalid unparseable

To jest urządzenie przemysłowe... soft nie wchodzi w gre... to musi się odbyć na zewnątrz...

Na danych mi nie zależy... boje się kombinować w ciemno z tymi zworkami żeby jakiś dym nie poleciał... to troche nie moja dziedzina :(

Reply to
Warlock

Użytkownik "Warlock" snipped-for-privacy@tlen.pl napisał w wiadomości news:d0jmbt$8md$ snipped-for-privacy@nemesis.news.tpi.pl

formatting link
Jeśli mnie (brak) pamięci nie zwodzi, to handshake na na Centronicsie wygląda mniej więcej tak:

  • Komputer wystawia dane strobując każdy bajt impulsem STROBE. Drukarka, gdy się udławi nadmiarem danych, wystawia BUSY co oznacza brak gotowości (a priori).
  • Drukarka potwierdza każdy odebrany (zastrobowany znak) krótkim (rzędu us) impulsem ACK\. Brak ACK również oznacza brak gotowości drukarki (post factum).

Prawdopodobnie potrzeba, żebyś po każdym impulsie STROBE (0-1-0) generował impuls ACK\ (1-0-1). Nie wiem jak z wymaganymi opóźnieniami. Być może wystarczyłby inwerter na jednym tranzystorze. (ACK\ = ~STROBE). A jeśli nie, to jakiś uniwibrator (7..10us? ) wyzwalany tylnym zboczem STROBE.

Reply to
Marek Dzwonnik

Prawie dobrze ;).

Host wystawia dane, i mruga /STOBE. Drukarka wystawia natychmiast BUSY i trzyma go, dopoki nie bedzie gotowa do przyjecia nastepnego bajtu. Gaszac BUSY mruga przy okazji /ACKNLG.

Jesli drukarka znajdzie sie w stanie bledu, wystawia BUSY, ERROR\ i ewentualnie PE (jesli blad dotyczy braku papieru).

Uwaga: /STROBE, /ACKNLG i /ERROR maja logike odwrotna.

Warlock: pierwszym krokiem powinno byc zwarcie BUSY do masy. Moze to wystarczyc, jesli hosta nie obchodzi /ACKNLG. Jesli nie zadziala, trzeba bedzie wziac jakies ne555 i generowac /ACKNLG powiedzmy 1 ms po /STROBE.

Reply to
Lukasz Spychalski

O ile pamietam to ACK sluzy do zgloszenia przerwania, a pod DOS uzywany byl wylacznie Busy [pod windows byc moze tylko ack, albo wrecz jakis tryb DMA jest uzywany - bo trzeba przyznac ze obsluga centronicsa niewdzieczne zadanie w dzisiejszych czasach]

Busy trzeba wystawic po kazdym bajcie. ACK sie generuje w momencie zejscia Busy.

Sens by nawet mialo zeby komputer musial pczekac z aktywnym strobe na ustawienie Busy - a drukarka czekala z opuszczeniem busy dopiero jak sie strob nieaktywny zrobi - wtedy byloby niemozliwe zgubienie ktoregos sygnalu. Norma ponoc mowi inaczej.

Czyli w sumie konstrukcja na kilku 555 lub 74132 [uwaga - brak zasilania na porcie :-(]

Do tego jeszcze musisz odpowiednio ustawic linie paper_out ..

J.

Reply to
J.F.

Coś mi tu nie pasuje. Przecież Mefka jest drukarką ze złączem szeregowym, a port LPT jest portem równoległym.

Reply to
Amino

Moze to nie mefka, a kafka cs? Albo mefka z konwerterem?

Reply to
Lukasz Spychalski

Na zamówienie... opcja z LPTem...

Reply to
Warlock

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.