Jaky typ pripojeni pro klavesnici?

Pavel Kutina hw na prelude.cz
Úterý Srpen 27 10:29:27 CEST 2019


Díky za tipy, ale jak to nakonec vidím, skončí to tak, že se budu snažit 
udělat "doopravdickou" PS/2 - našel jsem totiž projekt, který mne hodně 
zaujal, ale už tak tam bude úprav víc než dost, takže předělávat obsluhu 
klávesnice by bylo asi dost práce navíc. Už jen ten překlad z japonštiny 
nějaký čas zabere :) Ale je to v podstatě to, co chci, s několika malýmí 
"jenom":

- jenom udělat PS/2 klávesnici
- jenom přepsat displej z ILI9341 na uc1608
- jenom změnit typ procesoru z stm32f103 na 401RE (Nucleo 64) nebo rovnou na 
407VGT6

Už jen tyhle "jenom" mne zabaví tak do vánoc, a to ještě netuším, co na mne 
vykoukne po překladu :)
Ten projekt: https://github.com/Tamakichi/ttbasic_arduino
Trochu háček je ta japonština, ale co jsem prohnal translatorem a pochopil z 
obrázků a zdrojáku, vypadá to hodně pěkně - takhle nějak jsem si 
představoval ten můj BASIC, resp. jeho rozšíření.

Takže teď už "jenom" udělat tu PS/2 klávesnici... Neroste někde nějaký 
hezký, funkční a přiohnutelný projekt? Můžu to psát od nuly, ale proč 
vymýšlet kolo.

Pavel Kutina



----- Original Message ----- 
From: "Jindrich Fucik" <fulda na seznam.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Tuesday, August 27, 2019 9:17 AM
Subject: Re: Jaky typ pripojeni pro klavesnici?


>Z mého pohledu se mi to nezdá tak stejné.
> Jde o to, že klávesnicový procesor může dělat buffer a skládat si do něj 
> znaky, ačkoli hlavní procesor dělá něco jiného a zrovna ho znaky 
> nezajímají.
> Tedy - hlavní procesor generuje hodiny pouze techdy, když ho zajímají 
> stisklé klávesy.
> Zároveň hlavní procesor může generovat hodiny, když chce bliknout nějakou 
> z LEDek.
>
> Teď mi došlo - tohle je vlastně SPI sběrnice, takže klidně připoj 
> klávesnici pomocí SPI. Je jedno, jestli použiješ hardware a nebo si jí 
> uděláš softwarově.
>
> Něco jako: příkazy od mastera pro klávesnici:
> 00 = NOP (potřebuješ pokud chceš jen číst)
> 01 = dej mi délku bufferu
> 02 = dej mi jeden znak z bufferu
> 03 = dej mi celý buffer
> 04 = dej mi stav LEDek
> 1x = rozsviť LEDky X
> Možné odpovědi z klávesnice:
> 00 = nop+end of buffer (slouží mimo jiné pokud master čte celý buffer a už 
> není co poslat)
> 01-50 = stisk klávesy XX (hex)
> 51-A0 = uvolnění klávesy XX-50
> Fx = stav LEDek je X
>
> ---------- 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:11:28
> Předmět: Re: Jaky typ pripojeni pro klavesnici?
>
> Teď mi tak došlo, že je vlastně celkem jedno, kdo ty hodiny generuje - v
> podstatě by mi ale generování hodin z nadřízeného procesoru jen lehce
> zkomplikovalo život tím, že bych musel odesílání znaku synchronizovat, ale
> nevidím tam žádnou výhodu. Samozřejmě procesor v klávesnici i tak může 
> spát,
> to mi došlo až po odeslání té předchozí zprávy.
>
> 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
> _______________________________________________
> 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