Jaky typ pripojeni pro klavesnici?

Jindrich Fucik fulda na seznam.cz
Úterý Srpen 27 08:33:44 CEST 2019


Ahoj,

drobná poznámka - PICy mají docela hezkou funkci IOC (Interrupt on change), která probudí procesor při změně na více méně jakémkoli pinu. Ale to jsi asi nechtěl slyšet.

Při tvém směru komunikace trochu mysli na to, že budeš chtít blikat s LEDkama a ostatním bordelem.

Ještě se zamysli nad použitím nějaké sběrnice, která se ti moc nehodí ven. třeba I2C nebo tak něco. To ti zjednoduší komunikaci. Některé procesory odbaví I2C i ve spánku :)

Jindra

---------- Původní e-mail ----------
Od: Pavel Kutina <hw na prelude.cz>
Komu: HW-news <hw-list na list.hw.cz>
Datum: 26. 8. 2019 21:08:30
Předmět: Re: Jaky typ pripojeni pro klavesnici?

Tak buydisplay znám a používám, tam jsem pátrání začínal  nevybral jsem si. 
Ten COG je plochou menší, než to, co už mám, no a ten COB - nějak si 
nedovedu představit, že budu v domácích podmínkách řešit propojení té desky 
řadiče se sklem. Ne že bych nebyl drsňák, ale tohle fakt nedám - ona je tam 
tuším hodněnožičková vodivá guma :)

Jinak o té nějaké "pseudoPS/2" uvažuju čím dál víc, ale možná (fakt nemám 
prostudovanou normu, tak mne nebijte) bych hodiny generoval klávesnicí (v 
tomhle případě se mi vymyká označení master-slave, nějak přestávám chápat, 
kdo je v tomhle příběhu kdo). Ale jenom někdy, přesněji při odbavení stisku.

Mám takovou ideu, nevím, jestli je realizovatelná nebo správná - na 
sloupcovou matici nahnat log H a uspat procesor (no dobře, žádný deep sleep, 
bude spíš tak trochu klimbat :), přes diodovou matici si sloučit všechny 
řádky do jednoho, tím při libovolném stisku vygenerovat interrupt, probudit 
procesor a projet tu matici korektně celou. Mít dost GPIO, které umí 
generovat INT, tak to neřeším diodama, ale tohle by mělo být také použitelné 
řešení. Samozřejmě by to hodiny posílalo jen v tuhle chvíli, na straně toho 
velkého procesoru by nahození hodin cuklo za přerušení a procesor by si šel 
přečíst, co mu klávesnice hezkého píše. Nevím, jestli to takhle pojede (a 
jestli se ta klíávesnice probudí dost rychle na to, aby ještě stihla přečíst 
ten první stisk), ale líbilo by se mi to, že ten klávesncový řadič stráví 
většinu života spánkem (můj sen :), samozřejmě s příslušně (téměř) 
zanedbatelnou spotřebou.Člověk je v tomhle kolečku zoufale neefektivní I/O 
device, tak proč to čekání neprospat.

No a kolik toho na ní chci napsat - já nevím :) Je to mechanika z nějaké 
čínské bezdrátovky, dá se na tom psát výrazně lépe, než kdysi na gumáku nebo 
plusku (ale zase zatraceně hůř, než na Thinkpadu) - a přesto jsem toho na 
těch osmibitech napsal docela dost. Když se mi to bude líbit, tak si budu 
hrát třeba často, to fakt neodhadnu.

Pavel Kutina


----- Original Message ----- 
From: "Jindrich Fucik" <fulda na seznam.cz>
To: <hw-list na list.hw.cz>
Sent: Monday, August 26, 2019 7:51 PM
Subject: Re: Jaky typ pripojeni pro klavesnici?


> Ohledně displayů ti poradím mého oblíbeného číňana.
> 3,4" jsou čisté sklo, 5,7" už má plechovej rámeček.
> https://www.buydisplay.com/default/graphic-display/240x160-dots
> https://www.buydisplay.com/default/graphic-display/320x240-dot
> Drsňáci ten nosnej plošňák sundají :)
> Proti převrácení to zajistíš tučnou baterkou :)
>
> Co se týká klávesnice - záleží, kolik toho chceš psát? Já bych se 
> inspiroval tou PS/2, ale vzal bych si nějakou starou verzi. Klidně třeba 
> XT. Stačí, pokud se ti povede se vyrovnat s ghostingem o něco lépe, než 
> staré XT, bude to bezva.
> Tedy, držel bych se myšlenky na synchronní komunikaci, kdy master generuje 
> hodiny a slave na ně reaguje a generuje data.
>
> Dne 25.8.2019 v 20:55 Pavel Kutina napsal(a):
>> Zdravim,
>>
>> potreboval bych trochu popostrcit mozek - buduju si takovou malou hracku, 
>> ARM, k nemu troska klavesnice z nejakeho subntebooku, nejvetsi 
>> transflexni COG LCD, co jsem kde potkal - no a a nad tim vsim BASIC :) 
>> (plus nejaka nadstavba pro dalsi HW drobnosti).
>>
>> Klavesnice (nejen z duvodu vytezovani hlavniho procesoru) ma vlastni 
>> procesor, na nem jsou navesene jesete nejake LEDky a v planu dalsi 
>> ptakoviny. A jeste neni uplne rozhodnuto, jakyze BASIC si do toho nacpu, 
>> anzto se mi nechce psat interpret od nuly, bohate saci, ze budu 
>> priohybavat cizi reseni. Podobnych projektu jsou hromady, takze se da 
>> odkud opisovat nebo se lehce inspirovat.
>>
>> Vsechno mi po HW strance chodi, po SW strance si s tim povidam, ale ted 
>> premyslim, co dal, resp. jak komunikovat mezi klavesnici a hlavnim 
>> procesorem - muzu napsat (nebo opet pouzit nejakou dostupnou) knihovnu 
>> pro emulaci PS/2 klavesnice (neni uplne mala, ma to 80 klaves a mam 
>> vymyslene vyuziti i ruznych "Fn" kominaci atd.), na strane toho hlavniho 
>> ARMu to cist jako PS/2 a je v podstate vystarano.
>>
>> Druha moznost je emulovat nejaky terminal a dovymyslet si chybejici kody, 
>> na strane ARMu si to "nejak" obslouzit po seriove lince.
>>
>> Obe reseni maji sva pro a proti - reseni s terminalem a seriovkou je asi 
>> jednodussi po stance programove, zase to sezere jeden UART ze tri na 
>> hlavnim procesoru. A kazdy UART, ktery nemusim pouzit interne, budu moci 
>> vyuzit na hrani "s okolim".
>>
>> Reseni pres PS/2 znamena napsat kompletni obsluhu a buffering pro stranu 
>> klavesnice (ruzne mnohostisky, pamatovat si, co bylo v predchozim cteni 
>> stisknute a ted uz neni atd. Zatim jsem nepotkal nejaky kompletnejsi 
>> projekt, kde by se dalo inspirovat - vsechny knihovny resi jen vlastni 
>> odeslani, ale uz ne obsluhu te matice, buffering, repeat atp. Aktualne je 
>> tam AVR, co cte matici klaves a pripadne posila nejake scankody - to ma 
>> do PS/2 protokolu jeste docela daleko. Na strane toho ARMu to znamena 
>> trochu pobojovat s prerusenim a nejak to "jen" dodelat :)
>>
>> Nebo si napsat nejaky uplne vlastni system a komunikacni protokol?
>>
>> Co byste zvolili vy - pripadne i proc? Ja se zatim priklanim k te vnitrni 
>> emulaci PS/2, i kdyz to asi bude znamenat vic kodu na strane klavesnice, 
>> ae zase se tam to AVR nebude zbytecne nudit :)
>>
>> Jo a kdybyste nekdo vedel o vetsim COG LCD - ted mam tusim 95x60 mm 
>> aktivni plochy, 240x128 px - TFT nechci z duvodu citelnosti na slunci a 
>> spotreby, stejne tak by to mel byt COG z duvodu hmotnosti, klasika jako 
>> treba 
>> https://www.soselectronic.cz/products/bolymin/bg-320240f-bnchnp-bg320240fbnchnp87a-1-53760 
>> by mi preklapela "notebook" na zadicka :) No v uvahu by asi pripadal 
>> eInk, ale zase neni videt potme a dynamicky to stoji za... za malo.
>>
>> Diky za inspiraci.
>>
>> Pavel Kutina
>>
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list