Konference: SAPI-1 a československé mikropočítače

Od: Jiri Biba
Datum: 17.6.2013 14:16
Předmět: Re: RE: RE: klavesnice


Na data do klávesnice kašlu, to není u Sapi potřeba. A pokud bych dal ten
 konvertor do klávesnice, tak by nebyl problém hlídat Caps a Num a podle toho
spínat ledky. No a Scroll by mohlo být jen napájení.
A propo, posíláš do klávesnice inic sekvenci? Prý se PS2 asi 6-7 let zpět 
inicializují samy. Pokud jo, tak ty data do klavesnice jsou bezpředmětný.
Jirka

----- PŮVODNÍ ZPRÁVA -----
Od: "Martin Lukasek (sapi tu byla ta zakroucena vec pandora.cz)" <martin.lukasek tu byla ta zakroucena vec artax.cz>
Komu: "Konference 'SAPI-1 a československé mikropočítače'"
<sapi tu byla ta zakroucena vec pandora.cz>
Předmět: RE: RE: klavesnice
Datum: 16.6.2013 - 19:11:06

> 
> Ahoj,
> 
> zkoušel jsem to jen s klávesnicema, co mám doma a ty šlapou všechny.
Interrupt mám na sestupnou hranu hodin, na kterou to pak vlastně v tom
přerušení hned čtu. Pokud se posílá něco z počítače do klávesnice,
tak klávesnice čte data pří vzestupné hraně a tím pádem já opět v
interruptu na sestupnou hranu vystavím data, který si klávesnice při
vzestupné hraně přečte.
> 
> Hezký večer
> 
> Martin
> 
> From: Jiri Biba (sapi tu byla ta zakroucena vec pandora.cz) [mailto:unive.nb tu byla ta zakroucena vec volny.cz]
> Sent: Sunday, June 16, 2013 5:15 PM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: RE: RE: klavesnice
> Importance: Low
> 
> Díky náčelníku!
> Já se náhodou dostal ke scankódům v  11 bitovým zobrazení, takže to byl
právě ten můj problém co jsem popisoval. Třeba tohle:
http://www.urel.feec.vutbr.cz/MIA/2009/puhony/index.html
> Jak je to s převodem do 8 bitů už vím, to co jsi mi poslal to jen
potvrzuje. Je to ozrcadlený a znegovaný.  Celá  sranda je od toho, jak v
obslužným programu rotujou a rovnaj do slova těch 11 bitů.
> Díky za AT Mega, ale v ní jsem nedělal, pro mě by byl problém. S 20
nohým Atmelem 51 řady to je mnohem jednodušší vejde se  do krytu FRB. 51
mám v malíku, mám prostředí procíky a můžu si s tím programově dělat 
cokoliv. Program klávesnice na LCD od študáků mám už projitej,
okomentovanej a mám přesnou představu, co s tím při převracení na Sapi.
> A propo, chodí ten tvůj s každou PS2? Slyšl jsem, že některý reaguji na
vzestupnou a jiný na sestupnou hranu hodin...
> Jirka
> 
> 
> 
> From: Martin Lukasek (sapi tu byla ta zakroucena vec pandora.cz<mailto:sapi tu byla ta zakroucena vec pandora.cz>)
[mailto:martin.lukasek tu byla ta zakroucena vec artax.cz]
> Sent: Saturday, June 15, 2013 9:10 AM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: RE: RE: klavesnice
> 
> Ahoj,
> 
> scan kody z PS/2 jsou osmibitove, start+paritu+stop pouzij jen na zajisteni
spravneho prijeti, pak Ti staci tech 8 bitu. Data jdou postupne od nejnizsiho
bitu.
> 
> START - D0 - D1 - D2 - D3 - D4 - D5 - D6 - D7 - PARITY - STOP
> 
> Scan kodu je vice sad. Standardne se pouziva Set 2. Najdes ho napr. tady
http://www.computer-engineering.org/ps2keyboard/scancodes2.html, pekny popis
komunikace je tady http://www.computer-engineering.org/ps2protocol/ nebo tady
http://proton.ucting.udg.mx/~mariocc/cap10.pdf a ja asi nejvic pouzival
http://retired.beyondlogic.org/keyboard/keybrd.htm.
> 
> "A" by melo posilatscan kod 1C. C7 a 438 mi zni jako bitove ozrcadlene a navic
C7 zinvertovane, 438 je pak se start stop i paritou. Ale to dost zalezi, jak
jsou udelane ty rutiny. Nevim na! co jak pouzivam spozdovai smycky. Ja mam
interrupt na hodinach a prectu, coje na datach a nekm to soupnu, smitec. Az je
to cele, strci se to do bufferu a rict si o to pak musi program, co chce znak z 
klavesnice.
> 
> V priloze mas zdrojaci i schame, ale otazka zni, zda cizi zdrojaci nejsou vic 
matouci, nez si to napsat znovu. Ja vysel z nejakych existujicich knihoven, ale 
pak jsem tam musel udelal tolik zmen a uprav, ze bych si to ted urcite napsal
znovu sam, ale uz se mi to nechce predelavat, kdyz to slape.
> 
> Krasny den
> 
> Martin
> 
> 
> From: Jiri Biba (sapi tu byla ta zakroucena vec pandora.cz<mailto:sapi tu byla ta zakroucena vec pandora.cz>)
[mailto:unive.nb tu byla ta zakroucena vec volny.cz]
> Sent: Saturday, June 15, 2013 12:39 AM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: Re: RE: klavesnice
> Importance: Low
> 
> 
> Tak jsem koukal na ten převodník PS2 na Sapi a narazil jsem na záhadu s
kódovací tabulkou. Jak známo, scan kód PS2 klávesnice je jedno až
vícebytovej a každej byte sestává z série 11 bitů, tedy 11 pulsů hodin,
ke kterejm jsou přidaný bity kódu na datovým drátu.  První bit je start,
pak je 8 bitu dat, pak parita a stop. Scan kódy jsou popsaný v tabulkách
formátem 0XXX hex a je do nich zahrnutý kromě dat i parita, start a stop bit.
U toho převodníku se příjem scan kódu startuje start bitem, kterej se ale
zahodí, pak se slízne 8 bitů, pak parita a stop bit, který se taky oboje
zahodí. Takže výsledek je pouze 8 bitů kódu. Porovnával jsem PS2 tabulku
popsanou 11 bitama a příjmovou tabulku převodníku popsanou 8 bitama.  No a
narazil jsem na to, že pro stejnej znak si tabulky neodpovídají.
> Třeba scan kód pro A je 438hex. V převodníku je ale  C7 hex. Rozkreslil
jsem si to po bitech a na nic jsem dlouh! o nemohl přijít. I když jsem
odmazal start, paritu a! stop, zbytek byl stále rozdílný. Pak jsem si nějak 
všiml, že se obojí liší směrem čtení, tedy PS2 má první , tedy start
bit na časový ose vpravo, kdežto převodník ho má vlevo a ještě je
rozdíl v inverzi dat. Odzkoušel jsem to pro několik znaků a je to vždy
stejný. Budu se do toho muset víc ponořit, abych přišel na to, proč to tak
je.
> Taky jsem koukal  do softu převodníku a řekl bych, že předěláním na
výstup pro Sapi se soft ještě hodně zjednoduší vykucháním obsluhy LCD
displeje a navíc několikanásobně zrychlí, v obsluze displeje je hromada
zpožďovacích smyček, nejdelší skoro 0,4s.
> 
> Jirka
> ---------------------
> sapi tu byla ta zakroucena vec pandora.cz
> Konference o SAPI-1
> ---
> POZOR! Provoz systému Pandora.cz bude k 30. listopadu 2013 ukončen.
> Více informací: http://goo.gl/b99cI
> 


Ostatní příspěvky vlákna:

 
[2013/1 (16)] [2013/2 (90)] [2013/3 (37)] [2013/4 (48)] [2013/5 (36)] [2013/6 (128)] [2013/7 (27)] [2013/9 (29)] [2013/10 (64)] [2013/11 (63)]


[2010 (676)] [2011 (586)] [2012 (976)] [2013 (538)]