Jaky typ pripojeni pro klavesnici?

Jindrich Fucik fulda na seznam.cz
Úterý Srpen 27 20:43:06 CEST 2019


Jen pro rozšíření obzorů:
https://www.instructables.com/id/Commodore-64-Revamp-With-Raspberry-Pi-Arduino-and-/?utm_source=newsletter&utm_medium=email

Dne 27.8.2019 v 10:29 Pavel Kutina napsal(a):
> 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
>>
> 
> _______________________________________________
> 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