Re: Soros -- billentyűzet

2006-10-24 bef zés Kiss Gabor

In article [EMAIL PROTECTED],
=?iso-8859-2?b?QuRybmtvcGY=?= Bence [EMAIL PROTECTED] writes:
 
 2006/10/21, [EMAIL PROTECTED] [EMAIL PROTECTED]:
 Hmmm, l=E1ssuk:
  48 =3D #30 =3D B 0011  =3D 0 . 48 -- 0
 177 =3D #B1 =3D B 1011 0001 =3D 1 . 49 -- 1
  51 =3D #33 =3D B 0011 0011 =3D 0 . 51 -- 3
  57 =3D #39 =3D B 0011 1001 =3D 0 . 57 -- 9
  53 =3D #35 =3D B 0011 0101 =3D 0 . 53 -- 5
 183 =3D #B7 =3D B 1011 0111 =3D 0 . 55 -- 7
 141 =3D #8D =3D B 1000 1101 =3D 1 . 13 -- CR
 
 T=E9nyleg stimmel, =E9s a #33-at sem =EDrtam el. =C9n mindig azt hittem, =
 hogy a parit=E1s
 bit az utols=F3. Nagyon k=F6sz=F6n=F6m!
 
 Megn=E9ztem ennek tudat=E1ban gtkterm-ben.
 9600 baud, parit=E1s even/odd - =FAgy t=FBnt mindegy, 7 bites, 1 stop bit=
 ,
 flow control none, Xon/Xoff vagy rts/cts - =FAgy t=FBnt mindegy.
 
 Most m=E1r csak a k=EDv=E1ncsis=E1gom k=E9rdezteti, hogy mi lenne a k=FCl=
 =F6nbs=E9g even/odd
 illetve a k=FCl=F6nb=F6z=F5 flow control-ok eset=E9n, =E9s mi=E9rt nem l=E1=
 tszik ez a k=FCl=F6nbs=E9g
 az =E9n esetemben.

Az hogy te a te oldaladon mit allitasz be, nem befolyasolja
a tuloldalt a paritasbit kiszamitasaban es elkuldeseben.

Te csak abbol valaszthatsz, hogy akarsz-e (es milyen) hibajelzest
a remelttol eltero paritasu input karakterek eseten.

man termios

Flow control nem szukseges, mert olyan rovid rekordok jonnek, amik
elfernek a vevod buffereben. A kulonbseget akkro latnad, ha tobb kilobyte-nyi
adatot probalnal meg bepumpalni maximalis sebesseggel.

kissg
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet : Megoldva

2006-10-24 bef zés Barnkopf Bence

 Az hogy te a te oldaladon mit allitasz be, nem befolyasolja
 a tuloldalt a paritasbit kiszamitasaban es elkuldeseben.
 Te csak abbol valaszthatsz, hogy akarsz-e (es milyen) hibajelzest
 a remelttol eltero paritasu input karakterek eseten.

Ezek szerint a kezelő szoftver kellene jelezzen hibát valamilyen módon -
de nem tapasztaltam semmi ilyesmit. Ugyanazt csinálja odd és even esetén
is. Persze most nem is nagyon érdekel...

 man termios

Ühümm, igen, tanulmányozom... :)

 Flow control nem szukseges, mert olyan rovid rekordok jonnek, amik
 elfernek a vevod buffereben. A kulonbseget akkro latnad, ha tobb
 kilobyte-nyi
 adatot probalnal meg bepumpalni maximalis sebesseggel.

Köszönöm, így teljesen érthető.

A dolog különben tökéletesen működik.
A catty-ben (https://sourceforge.net/projects/catty/) módosítottam annyit,
hogy az olvasó által küldött \r-t cserélje \n-re, így sokkal egyszerűbb
szkriptből feldolgozni:

catty -d /dev/ttyS0 -b 9600 -7 -o -1 |\
 while read str; do xte str $str 'key Return'; done

A 'key Return' persze csak akkor kell, ha a beolvasás után automatikusan
Entert is szeretnék ütni.

Mindenkinek köszönöm mégegyszer a segítséget!

   Bence
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Re: Soros -- billentyűzet : Megoldva

2006-10-24 bef zés Kiss Gabor

In article [EMAIL PROTECTED],
Barnkopf Bence [EMAIL PROTECTED] writes:
 Te csak abbol valaszthatsz, hogy akarsz-e (es milyen) hibajelzest
 a remelttol eltero paritasu input karakterek eseten.
 
 Ezek szerint a kezel=F5 szoftver kellene jelezzen hib=E1t valamilyen m=F3do=
 n -
 de nem tapasztaltam semmi ilyesmit. Ugyanazt csin=E1lja odd =E9s even eset=
 =E9n
 is. Persze most nem is nagyon =E9rdekel...

Ha kezelo szoftver alatt az erted, amelyik a szimulalt gombnyomasokat
kapja es ertelmezi, akkor nem.

Azt javaslom, az elso korben ne foglalkozz ezzel.
Masodik korben olyan programod legyen, amelyik LF-ig olvassa a soros
vonalat (fgets), majd egy az egyben atadja a rekordot az xte-nek.
Kiveve ha a terminal driver szerint paritashiba volt, mert akkor
inkabb eldobja es sipol.

A terminal interfeszen

c_iflag = PARMRK|INPCK|ICRNL;
c_cflag = B9600|CS7|CREAD|PARENB|CLOCAL;
c_lflag = 0;

 A catty-ben (https://sourceforge.net/projects/catty/) m=F3dos=EDtottam anny=
 it,
 hogy az olvas=F3 =E1ltal k=FCld=F6tt \r-t cser=E9lje \n-re, =EDgy sokkal eg=
 yszer=FBbb
 szkriptb=F5l feldolgozni:

Ez mar masnak is eszebe jutott 1970 ota. :-)

man termios: ICRNL
man stty: icrnl

kissg
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet : Megoldva

2006-10-24 bef zés varadi
On Tue, Oct 24, 2006 at 11:45:19AM +0200, Barnkopf Bence wrote:
 
 A dolog különben tökéletesen működik.
 A catty-ben (https://sourceforge.net/projects/catty/) módosítottam annyit,
 hogy az olvasó által küldött \r-t cserélje \n-re, így sokkal egyszerűbb
 szkriptből feldolgozni:
 
 catty -d /dev/ttyS0 -b 9600 -7 -o -1 |\

   tr '\r' '\n' |\

  while read str; do xte str $str 'key Return'; done

Igy nem kell modositani.

-- 
[Varadi Gabor]
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet : Megoldva

2006-10-24 bef zés Barnkopf Bence

 tr '\r' '\n' |\
   while read str; do xte str $str 'key Return'; done
 Igy nem kell modositani.

Ez nem működik, próbáltam.
A tr ugyanis csak a bejövő \n hatására adja tovább az adatsort, addig
gyűjtögeti. Próbáld ki:

(echo -n AAA; sleep 2; echo -n BBB) | tr AB CD

   Bence
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Soros -- billentyűzet

2006-10-21 bef zés Bärnkopf Bence
2006/10/21, [EMAIL PROTECTED] [EMAIL PROTECTED]:

A bejövő adatsor például:
hyperterminál: 0001101957
gtkterm:   000  3 95
Ez utóbbit hexában nézve: 30 30 30 B1 B1 33 B1 39 35 B7 8D

Mit rontok el, vagy hogy kell ezt olvasni? Egyrészt mi az a 11. byte? És
 mitől
lett B1 illetve B7 a 31 és 37 helyett?

A nyolcadik bit a paritás. A 33-at meg elírtad (?) A 11. byte meg a
régóta keresett CR.

Hmmm, lássuk:
 48 = #30 = B 0011  = 0 . 48 -- 0
177 = #B1 = B 1011 0001 = 1 . 49 -- 1
 51 = #33 = B 0011 0011 = 0 . 51 -- 3
 57 = #39 = B 0011 1001 = 0 . 57 -- 9
 53 = #35 = B 0011 0101 = 0 . 53 -- 5
183 = #B7 = B 1011 0111 = 0 . 55 -- 7
141 = #8D = B 1000 1101 = 1 . 13 -- CR

Tényleg stimmel, és a #33-at sem írtam el. Én mindig azt hittem, hogy a paritás
bit az utolsó. Nagyon köszönöm!

Megnéztem ennek tudatában gtkterm-ben.
9600 baud, paritás even/odd - úgy tűnt mindegy, 7 bites, 1 stop bit,
flow control none, Xon/Xoff vagy rts/cts - úgy tűnt mindegy.

Most már csak a kíváncsiságom kérdezteti, hogy mi lenne a különbség even/odd
illetve a különböző flow control-ok esetén, és miért nem látszik ez a különbség
az én esetemben.

Bence





This message was sent using IMP, the Internet Messaging Program.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Soros -- billentyűzet

2006-10-20 bef zés Bärnkopf Bence


Van keszen is, nem kell feltalalni a melegvizet: socat.

Megnézem, köszönöm, így elsőre hasonlónak tűnik, mint catty...

Az igazi gond az, hogy a soros portrol folyamatosan jonnek
a karakterek. Nincs EOF, ha megjott a rekord a kartyaolvasotol.
Milyen algoritmus alapjan dontod el, hogy ennyi volt, es most
kell inditani az xte programot?

Hát igen, ez a következő gondom. Az eszközön azt hiszem nem lehet ilyet
állítani.
Valahogy karakterenként kellene olvasni és kiírni...

  Bence


This message was sent using IMP, the Internet Messaging Program.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet

2006-10-20 bef zés Kiss Gabor

In article [EMAIL PROTECTED],
=?iso-8859-2?b?QuRybmtvcGY=?= Bence [EMAIL PROTECTED] writes:
Az igazi gond az, hogy a soros portrol folyamatosan jonnek
a karakterek. Nincs EOF, ha megjott a rekord a kartyaolvasotol.
Milyen algoritmus alapjan dontod el, hogy ennyi volt, es most
kell inditani az xte programot?
 
 H=E1t igen, ez a k=F6vetkez=F5 gondom. Az eszk=F6z=F6n azt hiszem nem leh=
 et ilyet
 =E1ll=EDtani.
 Valahogy karakterenk=E9nt kellene olvasni =E9s ki=EDrni...

Inkabb engednem be egy tovabbi programba, amelyik mar rekordokra
tudna tordelni az adatot, es az inditana az xte-t.
Par soros PERL script. Konkretabbat mar csak a protokoll ismereteben
mondhatok.

kissg
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet

2006-10-20 bef zés Bärnkopf Bence


A dolog lassan összeáll.
catty kiadja az adatsort, ha jobb nincs free-pascal-ban könnyen írok olyan
programot, ami karakterenként adja tovább az adatsort, ezt meg xte-vel ki tudom
írni.

A gondom az, hogy linux alatt mást látok beolvasva, mint a win-es
hyperterminálban.

A beállítások win alatt: 9600 baud, pritás bit nincs, 8 bites átvitel, 1 stop
bit, hardware (?)...
gtkterm-ben ugyanezek a beállítások, flow control: rts/cts.

A bejövő adatsor például:
hyperterminál: 0001101957
gtkterm:   000  3 95
Ez utóbbit hexában nézve: 30 30 30 B1 B1 33 B1 39 35 B7 8D

Mit rontok el, vagy hogy kell ezt olvasni? Egyrészt mi az a 11. byte? És mitől
lett B1 illetve B7 a 31 és 37 helyett?

Egyszerűen cseréljem ki? Ez elég gány megoldának tűnik, biztos van oka, hogy így
küldi...

   Bence


This message was sent using IMP, the Internet Messaging Program.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet

2006-10-19 bef zés Andras HORVATH

Bärnkopf Bence [EMAIL PROTECTED] wrote:

 Van egy soros portra csatlakozó (kártya olvasó) eszköz, ami egyszerű
 karaktersorokat küld a soros portra. Van arra valamilyen lehetőség,
 hogy ezeket az adatokat átirányítsam, hogy az alkalmazások számára,
 mint billentyűzetről jövő adatok jelenjenek meg?

milyen alkalmazasrol beszelunk?

raas
-- 
Those who say it cannot be done should not interrupt the person doing it.
   -- Chinese proverb

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet

2006-10-19 bef zés Bärnkopf Bence


 Bärnkopf Bence [EMAIL PROTECTED] wrote:

  Van egy soros portra csatlakozó (kártya olvasó) eszköz, ami egyszerű
  karaktersorokat küld a soros portra. Van arra valamilyen lehetőség,
  hogy ezeket az adatokat átirányítsam, hogy az alkalmazások számára,
  mint billentyűzetről jövő adatok jelenjenek meg?

milyen alkalmazasrol beszelunk?


Például egy web-böngésző, vagy egy editor. Általános megoldást keresek,
ezért lenne jó, ha mint billentyűzetről jövő jelek jelennének meg az
alkalmazások számára.

Az xautomation csomagban lévő xte képes ilyen billentyűleütéseket
imitálni:
xte 'str beviendo_szoveg'
xte 'key Return'

Ha be tudom olvasni a soros portról érkező karaktereket mondjuk egy shell
változóba, akkor onnan már így tovább tudom küldeni, mint billentyű
leütéseket. Erre találtam egy catty nevű kis programot (még nem próbáltam
ki), ami elvileg a standard outpura ki tudja írni a soros portról jövő
adatsort. A kettőből talán már össze is lehet rakni

Persze, ha van egyszerűbb megoldás örömmel veszem.

  Bence



This message was sent using IMP, the Internet Messaging Program.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Soros -- billentyűzet

2006-10-18 bef zés Bärnkopf Bence


Sziasztok!

Van egy soros portra csatlakozó (kártya olvasó) eszköz, ami egyszerű
karaktersorokat küld a soros portra. Van arra valamilyen lehetőség, hogy ezeket
az adatokat átirányítsam, hogy az alkalmazások számára, mint billentyűzetről
jövő adatok jelenjenek meg?

Olyasmi módon szeretném használni, mint a vonalkód olvasókat...

 Bence


This message was sent using IMP, the Internet Messaging Program.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: Soros -- billentyűzet

2006-10-18 bef zés Ferenc Wagner
Bärnkopf Bence [EMAIL PROTECTED] writes:

 Van egy soros portra csatlakozó (kártya olvasó) eszköz, ami egyszerű
 karaktersorokat küld a soros portra. Van arra valamilyen lehetőség,
 hogy ezeket az adatokat átirányítsam, hogy az alkalmazások számára,
 mint billentyűzetről jövő adatok jelenjenek meg?

apt-cache show xautomation?
-- 
Feri.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux