-
1. Data: 2009-05-09 22:17:28
Temat: LCD na LPT (na USB)
Od: konrad95 <h...@g...com>
Witam,
Ostatnio zacząłem bawić się w programowanie portu LPT. Jestem na etapie
wysyłania bitów (umiem zapalać i gasić diody, etc). Przeglądając sieć,
wpadłem na pomysł zaprogramowania wyświetlacza. Niestety - stary komp
posiadający port LPT stoi teraz w szkole i pełni rolę serwera. W domu
mam tylko laptopa z usb.
I moje pytanie - czy ta ( http://tinyurl.com/lptusb ) przejściówka
działa na zasadzie emulacji portu LPT (czy mogę się odnosić do niej i
wysyłać dane tak jak do zwykłego portu LPT)? Czy ten (
http://tinyurl.com/lcd4x16 ) wyświetlacz zadziała na niej? Używam
Linuksa (Ubuntu).
Pozdrawiam
Konrad95
-
2. Data: 2009-05-09 22:24:29
Temat: Re: LCD na LPT (na USB)
Od: Adam Dybkowski <a...@4...pl>
konrad95 pisze:
> Ostatnio zacząłem bawić się w programowanie portu LPT. Jestem na etapie
> wysyłania bitów (umiem zapalać i gasić diody, etc). Przeglądając sieć,
> wpadłem na pomysł zaprogramowania wyświetlacza. Niestety - stary komp
> posiadający port LPT stoi teraz w szkole i pełni rolę serwera. W domu
> mam tylko laptopa z usb.
>
> I moje pytanie - czy ta ( http://tinyurl.com/lptusb ) przejściówka
> działa na zasadzie emulacji portu LPT (czy mogę się odnosić do niej i
> wysyłać dane tak jak do zwykłego portu LPT)?
Nie zadziała. Potrzebujesz do laptopa karty PCMCIA LPT. Ale jeżeli jest
to nowy sprzęt z ExpressCard to karty LPT nie zadziałają (w trybie
sterowania indywidualnymi bitami). Już lepiej kup wyświetlacz z USB i
już. Szukaj hasła "CrystalFontz".
> Czy ten (
> http://tinyurl.com/lcd4x16 ) wyświetlacz zadziała na niej? Używam
> Linuksa (Ubuntu).
Wyświetlacz wygląda standardowo. Czyli na powyższym konwerterze USB->LPT
nie zadziała.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
3. Data: 2009-05-09 22:29:28
Temat: Re: LCD na LPT (na USB)
Od: konrad95 <h...@g...com>
Adam Dybkowski pisze:
> konrad95 pisze:
>
>> Ostatnio zacząłem bawić się w programowanie portu LPT. Jestem na etapie
>> wysyłania bitów (umiem zapalać i gasić diody, etc). Przeglądając sieć,
>> wpadłem na pomysł zaprogramowania wyświetlacza. Niestety - stary komp
>> posiadający port LPT stoi teraz w szkole i pełni rolę serwera. W domu
>> mam tylko laptopa z usb.
>>
>> I moje pytanie - czy ta ( http://tinyurl.com/lptusb ) przejściówka
>> działa na zasadzie emulacji portu LPT (czy mogę się odnosić do niej i
>> wysyłać dane tak jak do zwykłego portu LPT)?
>
> Nie zadziała. Potrzebujesz do laptopa karty PCMCIA LPT. Ale jeżeli jest
> to nowy sprzęt z ExpressCard to karty LPT nie zadziałają (w trybie
> sterowania indywidualnymi bitami). Już lepiej kup wyświetlacz z USB i
> już. Szukaj hasła "CrystalFontz".
>
>> Czy ten (
>> http://tinyurl.com/lcd4x16 ) wyświetlacz zadziała na niej? Używam
>> Linuksa (Ubuntu).
>
> Wyświetlacz wygląda standardowo. Czyli na powyższym konwerterze USB->LPT
> nie zadziała.
>
Mam Compaq Presario F730US - ten model nie ma ani PCMCIA ani ExpressCard
:/ Czyli pozostało mi chyba tylko sprowadzenie z powrotem kompa ze
szkoły ;) Co do wyświetlacza na USB - ja nie chcę kupić wyświetlacza
żeby mi coś pokazywał non-stop, tylko żeby nauczyć się programować tego
typu rzeczy.
Dzięki za zainteresowanie wątkiem :)
Pozdrawiam
Konrad95
-
4. Data: 2009-05-09 22:34:06
Temat: Re: LCD na LPT (na USB)
Od: BartekK <s...@N...org>
Adam Dybkowski pisze:
> konrad95 pisze:
>
>> Ostatnio zacząłem bawić się w programowanie portu LPT. Jestem na etapie
>> wysyłania bitów (umiem zapalać i gasić diody, etc). Przeglądając sieć,
>> wpadłem na pomysł zaprogramowania wyświetlacza. Niestety - stary komp
>> posiadający port LPT stoi teraz w szkole i pełni rolę serwera. W domu
>> mam tylko laptopa z usb.
>>
>> I moje pytanie - czy ta ( http://tinyurl.com/lptusb ) przejściówka
>> działa na zasadzie emulacji portu LPT (czy mogę się odnosić do niej i
>> wysyłać dane tak jak do zwykłego portu LPT)?
>
> Nie zadziała. Potrzebujesz do laptopa karty PCMCIA LPT. Ale jeżeli jest
> to nowy sprzęt z ExpressCard to karty LPT nie zadziałają (w trybie
> sterowania indywidualnymi bitami). Już lepiej kup wyświetlacz z USB i
> już. Szukaj hasła "CrystalFontz".
>
>> Czy ten (
>> http://tinyurl.com/lcd4x16 ) wyświetlacz zadziała na niej? Używam
>> Linuksa (Ubuntu).
>
> Wyświetlacz wygląda standardowo. Czyli na powyższym konwerterze USB->LPT
> nie zadziała.
>
Oj zadziała(łby) gdyby napisać odpowiedni soft + parę kabelków mądrze
skręcić. Na wyjściu przejściówki USB-LPT masz wszsytkie potrzebne linie
LPT (DATA0-DATA7, sterowanie itp), trzeba tylko przekonać przejściówkę
że na jej końcu wisi drukarka (i przyjmuje dane z linii D0-D7), oraz
wysyłać do tej drukarki odpowiednie "znaki" odpowiadające odpowiednim
stanom pinów D0-D7, ale przyjmując sterowanie 4bit oraz brak odczytu
(tylko zapis) do lcd - to wystarczy.
Sam swego czasu tak zmajstrowałem sterowanie "na piechotę" tyle że w
windowsie, wybierając "typowa drukarka - tylko tekst" na danym porcie, i
wysyłając odpowiednio spreparowane pliki do tej drukarki. Problemem jest
tylko to, że driver może obcinać wszystko co poza znakami w ASCI oraz
kodami sterującymi - trzeba odpowiednio wybrać linie portu, by operować
w zakresie dostępnych kombinacji bitowych. Albo zmajstrować mały kawałek
procka który to zamieni. Ale z tego co pamiętam to w linuksowym cat plik
> /dev/usblp0 nie cięło niczego, wszystko ładnie szło co do bitu,
jedynie trzeba było dobrze ustawiać PE/Busy/Ack
--
| Bartlomiej Kuzniewski
| s...@d...org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338
173
-
5. Data: 2009-05-09 23:15:51
Temat: Re: LCD na LPT (na USB)
Od: konrad95 <h...@g...com>
BartekK pisze:
> Sam swego czasu tak zmajstrowałem sterowanie "na piechotę" tyle że w
> windowsie, wybierając "typowa drukarka - tylko tekst" na danym porcie, i
> wysyłając odpowiednio spreparowane pliki do tej drukarki. Problemem jest
> tylko to, że driver może obcinać wszystko co poza znakami w ASCI oraz
> kodami sterującymi - trzeba odpowiednio wybrać linie portu, by operować
> w zakresie dostępnych kombinacji bitowych. Albo zmajstrować mały kawałek
> procka który to zamieni. Ale z tego co pamiętam to w linuksowym cat plik
> > /dev/usblp0 nie cięło niczego, wszystko ładnie szło co do bitu,
> jedynie trzeba było dobrze ustawiać PE/Busy/Ack
Masz może jakiś schemat jak to połączyć? Działało by to gdybym napisał
własny program w C? Chodzi mi czy będzie śmigać wysyłanie bitów funkcją
outb().
Pozdrawiam
Konrad95
-
6. Data: 2009-05-10 08:01:29
Temat: Re: LCD na LPT (na USB)
Od: "T.M.F." <t...@n...mp.pl>
konrad95 pisze:
> Witam,
>
> Ostatnio zacząłem bawić się w programowanie portu LPT. Jestem na etapie
> wysyłania bitów (umiem zapalać i gasić diody, etc). Przeglądając sieć,
> wpadłem na pomysł zaprogramowania wyświetlacza. Niestety - stary komp
> posiadający port LPT stoi teraz w szkole i pełni rolę serwera. W domu
> mam tylko laptopa z usb.
>
> I moje pytanie - czy ta ( http://tinyurl.com/lptusb ) przejściówka
> działa na zasadzie emulacji portu LPT (czy mogę się odnosić do niej i
> wysyłać dane tak jak do zwykłego portu LPT)? Czy ten (
> http://tinyurl.com/lcd4x16 ) wyświetlacz zadziała na niej? Używam
> Linuksa (Ubuntu).
Kup lepiej jakis uklad FTDI, FTDI232 lub pochodne, bedziesz mogl
wykorzystac USB, uniwersalne niezalezne od systemu drivery i
programowanie sie uprosci. Ilosc linii IO ktore ten uklad oferuje jest
wystarczajaca.
-
7. Data: 2009-05-10 10:47:19
Temat: Re: LCD na LPT (na USB)
Od: Mirek <i...@z...adres>
konrad95 wrote:
> Używam
> Linuksa (Ubuntu).
>
W repo masz program lcd4linux, niestety na przejściówce USB-LPT mogą być
problemy, ale warto to sprawdzić.
Funkcja outb() raczej nie zadziała, ale możesz tak jak pisze kolega
BartekK wysyłać dane do /dev/usblp0, co do podłączenia to pewnie
4-bitowo (bo nie będzie z czego sterować "RS" wyświetlacza): D0-D3
wyświetlacza do D0-D3 lpt, "Enable" do "STROBE" lpt (STROBE powinno
dawać automatycznie impuls po zapisie do /dev/usblp0), "RS" wyświetlacza
np do D4 lpt. "R/W" można do masy (do wyświetlacza tylko zapisujemy).
Pozostaje tylko ułożyć sobie odpowiednią sekwencję bajtów do sterowania
- tutaj uwaga: niektóre wyświetlacze dziwnie się inicjalizują zwłaszcza
w trybie 4 bitowym (trzeba mu wysłać trochę śmieći i poczekać, następnie
zadać tryb 4-bitowy i znów poczekać - OIDP)
Mirek.
-
8. Data: 2009-05-10 11:33:55
Temat: Re: LCD na LPT (na USB)
Od: BartekK <s...@N...org>
konrad95 pisze:
>> Ale z tego co pamiętam to w
>> linuksowym cat plik > /dev/usblp0 nie cięło niczego, wszystko ładnie
>> szło co do bitu, jedynie trzeba było dobrze ustawiać PE/Busy/Ack
> Masz może jakiś schemat jak to połączyć? Działało by to gdybym napisał
> własny program w C? Chodzi mi czy będzie śmigać wysyłanie bitów funkcją
> outb().
Raczej nie ma co liczyć że outb() ci zadziała. To zupełnie inny sposób
wysyłania danych ;)
outb() możesz sięgać (jak ioperm zezwoli) do portów (adresów w
przestrzeni i/o) fizycznych w komputerze, czyli w zasadzie wyłącznie
podpiętych przez ISA/PCI/PCIe (i mobilne mutacje expresscard,Pcmcia) -
urządzenie (tutaj port lpt) musi być w "hardwarowej" przestrzeni
adresowej "wprost".
A to co ja proponuje, to sterowanie przez wysyłanie danych (bajtów,
całych, odpowiednio złożonych) do "urządzenia" wirtualnego w systemie,
występującego przeważnie jako /dev/usblp0 albo /dev/usb/lp0 (zależnie od
systemu i kernela). Tak samo jakbyś te bajty wysyłał do pliku, a potem
hex-edytorem obejrzał, czy odpowiednie bity się zgadzają. Pomijając
kwestię delayów między kolejnymi wysłanymi ("wydrukowanymi" do
/dev/usblp0) bajtami, bo lcd tak szybko jak lpt działa, karmić się
danymi nie da)
http://www.hardwarebook.info/Centronics
Upraszczając trochę - jak sobie załączysz na taką przejściówkę LPT
drukarkę jakąś starszą-hardwarową, np jakąś igłówkę, i zrobisz komendę
"cat plik.txt /dev/usblp0", a plik bedzie zawierac jeden bajt równy "B"
(literę B), to komputer będzie czekał aż na porcie LPT zniknie sygnał
BUSY (drukarka zajęta gdy =1, drukarka gotowa gdy zwarte do masy) a
potem na liniach danych D0-D7 ustawi się 0x42 (czyli 0100 0010 binarnie)
i drukarka wydrukuje odpowiedni znaczek, potwierdzi krótkim sygnałem
(zwaciem do gnd) na linii /ACK - i nic więcej się nie stanie.
--
| Bartlomiej Kuzniewski
| s...@d...org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338
173
-
9. Data: 2009-05-10 13:09:29
Temat: Re: LCD na LPT (na USB)
Od: J.F. <j...@p...onet.pl>
On Sun, 10 May 2009 12:47:19 +0200, Mirek wrote:
>konrad95 wrote:
>> Używam Linuksa (Ubuntu).
>>
>W repo masz program lcd4linux, niestety na przejściówce USB-LPT mogą być
>problemy, ale warto to sprawdzić.
Niemal gwarantowane ze nie zadziala.
>Funkcja outb() raczej nie zadziała, ale możesz tak jak pisze kolega
>BartekK wysyłać dane do /dev/usblp0, co do podłączenia to pewnie
>4-bitowo (bo nie będzie z czego sterować "RS" wyświetlacza): D0-D3
>wyświetlacza do D0-D3 lpt, "Enable" do "STROBE" lpt (STROBE powinno
>dawać automatycznie impuls po zapisie do /dev/usblp0), "RS" wyświetlacza
>np do D4 lpt. "R/W" można do masy (do wyświetlacza tylko zapisujemy).
>Pozostaje tylko ułożyć sobie odpowiednią sekwencję bajtów do sterowania
Tylko ze przejsciowka nie wysle nastepnych bajtow dopoki drukarka nie
potwierdzi ze odebrala poprzedni.
Trzeba bedzie jakis sprytny impulsatorek podlaczyc do lini BUSY, a
moze INTR ..
J.
-
10. Data: 2009-05-10 19:47:49
Temat: Re: LCD na LPT (na USB)
Od: Mirek <i...@z...adres>
J.F. wrote:
> Trzeba bedzie jakis sprytny impulsatorek podlaczyc do lini BUSY, a
> moze INTR ..
Z BUSY to problemu nie będzie - wystarczy podać na stałe NOT-BUSY,
gorzej może być faktycznie z ACK (o ile jest niezbędny) - może wystarczy
podać zanegowany sygnał STROBE?
Mirek.