Enterprise Forever

:HUN => Hardver => Topic started by: Z80System on 2014.September.28. 04:04:19

Title: HID kezelés Arduino -val
Post by: Z80System on 2014.September.28. 04:04:19
Ajánlom a videót is, alul :

http://www.adafruit.com/product/1501

bár ennek csak 5 GPIO csatlakozója van,

ennek már 18:

http://www.adafruit.com/products/2000
http://www.adafruit.com/datasheets/ATMEGA328P.pdf
https://learn.adafruit.com/introducing-pro-trinket

Egy ilyen vackot lehet kapni 10 dodóért, és USB -n már lehet is feltölteni rá az anyagot (de azt még nem tudom, milyen szoftverrel a PC oldalon),
viszont ha debuggolni akarod a futó progit rajta, akkor kell venni még hozzá egy ilyen kábelt:
https://www.adafruit.com/product/70
20 dodóért.
Tehát összesen 30. De ekkor normális IDE -ből tolhatod rá a kódot, teljes debug supporttal.

A 18 GPIO pin meg egér esetében 12 (control) + 8 (serial) + 6 (ps/2) = 26 kéne legyen, de aztán lehet hogy control -ból elég az 4+1+1 érintkező is ( vagy akár lehet hogy a serial -on sincs használva mind a 8 ) és akkor már lehet hogy beleférnénk a 18 -ba,

vagy pld. nekem tuti nem fog kelleni a joystick support, és akkor máris beleférünk,

de az is lehet hogy a piacon van hasonló cucc hasonló olcsón, aminek még 2, 4, akárhány GPIO -val több van ...

Egy sima 3 gombos joy bekötésére pedig elég lenne a 18 biztosan, hiszen a joy 9 tüske, EP oldalon pedig össze lehet hozni még szépen is 4(irany)+1(lövés)+1(j)+1(k)+1(l) = 8 tüskéből.



Én simán azt mondom, hogy olyan olcsó, hogy még játszani is megéri kipróbálni ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 04:18:04
Vagy lehet hogy érdemes lenne ezekre a funkciókra mégis egy Raspberry Pi ?

Tehát itt van ez az egér dolog, meg hogy én különösebb átkábelezések nélkül akarnék sokgombos joystick -ot (mert azt joystick -enként kell megcsinálni, a "konvertert" meg csak egyszer),

tehát ha a Raspberry Pi nem is jó egy olyan komplex hardware emulációra, mint régen álmodoztam, nem lehet hogy ezekre a kis feladatokra jó lenne ? Tehát arra gondolok, hogy nem az egyes funkciónként használnánk mondjuk az előbb linkelt mikrokontrollereket, egyet az egérnek, egyet a joy -nak, saját programmal, hanem mindkettőt ugyanazzal a R. Pi -vel oldanánk meg ?

A legfrisebb b+ modellnek 40 GPIO érintkezője van. Az már elég lenne a Control1+Control2+Serial(mert látom az egér azt is használja) csatlakozók lefedésére ami összesen 32 érintkező ...

Persze akkor már csak 8 láb maradna a perifériáknak amiket szintén a Pi -re kéne ugye kötni, ami sovány, hisz eszközönként kilenc tüske lenne, minimum 9 de inkább 18 vagy annál is több érintkező kéne a 32 EP érintkezőn kívül ...

De erre is van megoldás, van pld. egy Raspberry Pi Compute Model verziója a kártyának, melynek 120 GPIO érintkezője van:

http://www.element14.com/community/community/raspberry-pi/raspberry-pi-bplus?CMP=KNC-EU-RPI-BPLUS

Ami azt jelenti, hogy az EP összes hátoldali csatlakozóját lefedhetné akár egy ilyen Compute Model PI, és az csak 60 érintkezőt foglalna (persze a video csatlakozót ugyse akarnánk keresztülvinni rajta, de elvben gondolkodva), vagyis 60 maradna még a perifériáknak is, mely 9 pólusú joystick -okkal gondolkodva több mint 6 eszköz,

nem beszélve arról, hogy az USB egeret nyilván kényelmesen, magas szinten tudnánk olvasni Pi alatt és emulálni az EP -nek belöle boxsoft egér illesztő kimenetet, nem kéne alacsony szinten kezelni a PS/2 -t, GPIO tüskéken keresztül.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 06:39:00
Úgy első rápillantásra meg azt képzelném, hogy egy ilyen (vagy ehhez hasonló):

https://www.adafruit.com/products/1535

20 dodós vackot meg beépítve az EP -be, és a kimenetéről megvezérelve a billentyűzet mátrixot bluetooth billentyűzetet kaphatnánk ...

Ami szintén nem volna egy űberszar dolog ... :)

(Közben ránéztem a videóra is, ez itt pont az ellenkező irány, tehát digitális gombokat tudsz a bemenetére tenni, és azokat küldi bluetooth keyboard (vagy akármi) protokollal az ellenkező oldalra, de biztos létezik a korábban említett irány is ...)

Mindenesetre én böngészni fogom ezeket az oldalakat, mert úgy látom hogy pont létezik az ilyen irányvonal, ahol kompakt modulok vannak összeépítve, és neked csak a bekötéseiket kell megcsináld, meg rájuk a szoftvert, és nem kell áramkört tervezz és legyárts ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 14:35:08
Quote
Ez szerintem az atombombával verébre esete lenne (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)
Ez igaz, de egy Pi -t egyszer megvenne az ember, aztán azzal bármit megcsinálhatna, amit csak akarna ... ahogy régebben már volt róla szó. Egy hardver, aztán bárki bármit cserélhetne benne ... (most ebben az esetben nem egy bővítőhardver, hanem egy konverter hardver az EP IO illesztésekhez.

Ami miatt inkább nem tetszene, hogy nem tudom vajon elmenne -e az EP tápjáról ... Ha nem, az nagyon nem tetszene ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 14:42:56
Quote
Ez szerintem az atombombával verébre esete lenne (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)
De mellesleg ez a megoldás:
http://www.adafruit.com/products/2000 (http://www.adafruit.com/products/2000)

nagyságrendileg megegyezik azzal a PIC -es módszerrel, mint amit te linkeltél, vagy nem ?

(Mellesleg sztm tök nagy poén lenne ebben az esetben is, hogy egy egész 16 MHz -es mikroszámítógép lóg a joystick kábeljén ... 10 dollárért ... :))
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 15:39:06
Az egyetlen dolog amiért ezt még nem rendeltem meg:
http://www.adafruit.com/products/2000 (http://www.adafruit.com/products/2000)

az az, hogy az 5V -osból pont kifogytak, van mindegyikből, csak pont az 5V pro verzió (18 GPIO) fogyott el,
3V -ossal meg nem akarok kísérletezni, megvárom míg lesz az 5V -os újra.

De akkor tuti rendelek belőle vagy hármat, és olyan custom illesztőket programozok beléjük, amilyeneket csak akarok (tudok) ... :)

Csinálok egy atari (commodore) 3 gombos joy -os illesztőt, meg csinálok egyet a Sega Megadrive kontrolleréhez (3 vagy 6 gomb), meg csinálok egyet egérhez ...

Valahogy úgy képzelem el, hogy az egyetlen barkácsolás amire szükség lesz, az az élcsatlakozók méretre vágása,
ha az meglesz (még nemtom hogyan sajnos, és EP hátsó csatlakozók méretében sajnos nem találtam készeket),
akkor a szerelés része sima vezetékek forrasztgatásából fog állni, a többit szoftveresen tudom majd csinálni.

Szóval pont az amit akarok, minimál hardver maxi szoftver ...

Ha az első három már működik akkor negyediknek meg jöhet a belső vezeték nélküli bill modul ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 15:52:06
Hmmm ... az e-bay -en találtam egy helyen, csak kicsit húzós a szállítás. De lehet ennyit megér :

http://www.ebay.com/itm/Adafruit-Pro-Trinket-5V-Logic-Atmega328-Microcontroller-Board-Use-w-Arduino-IDE-/181536422940?pt=LH_DefaultDomain_0&hash=item2a4469fc1c

Egyáltalán nem biztos, hogy az anyaoldalon olcsóbb lenne a szállítás, csak mondjuk onnan mindent egyszerre meg lehetne rendelni, kábelt, satöbbit ...

Persze még az is lehet, hogy ezek is az anyaoldaltól vennék ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 15:56:10
Azt már korábban is akartam kérdezni,
hogy tudja valaki mi a neve annak a tüskének, amivel ezt a típusú nyákot szerelni kell ?

Tehát van ez a kép:
http://www.adafruit.com/images/970x728/2000-06.jpg

Ezen lehet látni, hogy a panelra rádugtak egy kábelt, de azokat a tüskéket, amire rádugták a kábel csatlakozóját, azokat nem szerelik a panelre alapból,
hanem a panelen csak lukak vannak, és mindenkinek magának kell befforrasztania azokat a tüskéket, amiket használni akar.

A tüskék nem a panel tartozékai (tudtommal) ... szóval valahogy úgy képzelném, hogy vagy kell legyenek ezek a tüskék mindenféle tüskeszámmal,
vagy valami könnyen darabolható, törhető formában .... tudja valaki mi ennek a tüskének a neve, és hol adják ?
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 16:14:35
Hmmm ... Itt van egy 20 digital GPIO -s ! :

http://www.adafruit.com/products/1086
http://www.adafruit.com/products/1315
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 17:55:51
Mékkissebb:

http://arduino.cc/en/Main/ArduinoBoardNano
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 18:31:23
Mit gondoltok, egy ilyennél:

http://store.arduino.cc/product/A000053

Mit jelent az, hogy operational voltage az 5V, de limit voltage meg 6V-12V ?

Most megy ez 5V tápról, vagy nem ?

Mert arra nagyon nem lenne kedvem, hogy a control portok ures lábaira 9V -ot kelljen kivezetni ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 19:31:03
Na közben én itt olvasgattam ezeket a kis mikrokontroller kártyákat, és következőket silabizáltam ki:

Van egy atmel nevű cég,
www.atmel.com
aki gyárt 600 féle mikrokontrollert,

aztán vannak cégek, mint az arduino
arduino.cc

meg az adafruit
www.adafruit.com

akik kis nyákokra szerelik ezeket a kontrollereket, ellátják kivezetésekkel, USB -vel, meg ilyen alacsony szintű programozó csatlakozókkal (melyek már a szerelőcég specifikusak lesznek), adnak mindehhez minden oprendszer alá driver -eket, és integralt fejlesztőeszközöket, mellyel ilyen C szerű, tök magas szintű kis könyvtárak használatával (vagy persze addig süllyedhetsz alacsony szintre amíg csak akarsz, de az én szempontomból pont az lenne a lényeg, hogy pikkpakk, minnél gyorsabban) írhatsz rá programokat, amit az IDE -vel a driver -eken kersztül szépen feltöltesz a kütyükre, és már fut is.

A programokat meg így kell elképzelni:

init()
{
HúzzLemindenBemenetetNullára();
ÁllítsBeMindenKimenetetNullára();
}

loop()
{
OlvassBeEgyBemenetet();
IrdKiAzEgyikKimenetre();
}

És ennyi ! Nekem nagyon tetszik ... :)

(Mondjuk korábban említettem a debuggolást ... azt benéztem, nincs debuggolás, csak bizonyos csatlakozási lehetőségek lehetőséget adnak egy karakteres stream írására/olvasására,
és így tudsz magadnak a tényleges működést nem (feltétlen) befolyásoló debug adatokat küldeni/fogadni, amit kijelez az IDE. Az is Jó.)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 22:17:19
Na ez lett a végeredmény:
http://arduino.cc/en/Main/arduinoBoardMicro

A másik fele ennyibe kerül, de a szállítása húzósabb, hivatalos helyén épp kifogyott és 2 digitális GPIO -val kevesebb van neki. Ennek 20 van.

Próbának jó lesz, hogy mire megyek ezzel a technológiával. Ha összejön, akkor majd legközelebb vehetem az olcsóbbat, mert a 2 mínusz lábon (meg jelentéktelen dolgokon) kívül kompatibilisek.

Persze nem csak ezt vettem, hanem mindenféle kiegészítőket, szerelődeszkát, satöbbi, szóval jó kis próba lesz ... :)

(Remélem még véletlen sem fogom összeadni soha mennyi pénzt vertem el eddig EP -re ... :))

De hálistennek az extrák sem kellenek többször, ezzel össze tudom rakni, kipróbálni a dolgokat, és ha kész, akkor egy olcsóba beletölteni, és kampec.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 22:28:21
Direktben persze lehet hogy a táppal is bajaim lennének (azt írja hogy nem lehet 6V -nál, de inkább 7V -nál kisebb feszkóval külső tápolni, ami elég szarul hangzik), de USB -ről meg lehet tápolni, szal a "fejlesztői" lap funkcióját el tudja majd látni.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 22:29:44
Jujj ez nagyon izgi ... ilyet még nem csináltam soha ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 22:38:29
Lehet basic -ből azokat a portokat írogatni/olvasgatni amiket a control portok kezeléséhez kell használni ?

Tudom hogy lehet basic -ből in/out -olni, csak azt nem tudom, hogy a conrol portok portjait azt frissíti az exos megszakban, vagy nem ?

Szóval tudom stabilan tesztelni a cuccomat majd basic -ből,
vagy assembly -ben kell teszteljek, letiltott megszakok mellett ?

Basic -ben könnyebb az output kijelzés ...
Title: Re:HW készítés Arduino-val
Post by: Zozosoft on 2014.September.28. 22:42:34
Nem, mert pl a billentyűzetkezelés is bezavar. Esetleg POKE 56,201-el...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 22:45:31
Quote
Nem, mert pl a billentyűzetkezelés is bezavar. Esetleg POKE 56,201-el...

Á, ha nem tudjuk biztosan, akkor inkább assembly -ben letárolom a memóriába, meg ilyenek ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.28. 23:34:53
Quote
Direktben persze lehet hogy a táppal is bajaim lennének

Mégse, csak rendesen el kell olvasni:

Ha van stabil 5V -od, akkor adhatsz neki stabil 5V -ot egy erre való lábra, ha nincs stabil 5V -od, akkor 7V-12V (vagy max. 6V-20V) -t adhatsz neki egy másik lábra, amit ő majd leszabályoz magának 5V -ra, de ilyenkor az 5V -os inputra nem szabad(érdemes) már rakni semmit.

Magyarul megy ez mindennel, ami szem-szájnak ingere ...



Mondjuk így kapcsiból viszont benéztem az USB -t is valószínűleg, mert nem azt írták, hogy képes kezelni egy USB bill/mouse -t, hanem azt, hogy számítógépre dugva bill/mouse -nak tudja mutatni magát a számítogép fele.
Magyarul pont azt a fordítást néztem be, mint korábban a kékfognál ... :)

Én nem tom mi van itt, mindenki számítógépeknek akarja magát mindenféle input eszköznek kiadni ? Most "potyára" figyel rajta majd az az USB ? :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 00:26:47
Hopi, itt van egy olyan, amilyennek (is) hittem én azt a rendelt mikrokontrollert:

http://www.hobbytronics.co.uk/usb-host-keyboard

és szinte minden típusú USB eszközhöz adnak előre megírt szoftvert hozzá.

Ilyennel lehetne pld. megcsinálni, hogy egy ilyet belülre szerelve, belenyomva egy USB wireless vevőegységet, akár vezeték nélküli billentyűnk legyen.

Felszerelve egy USB csatlakozót a gépre persze vezetékes is lehetne.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 02:04:34
És ugyanazzal a vassal, de másik szoftverrel lehet kezelni USB egeret:

http://www.hobbytronics.co.uk/usb-host-mouse

De bevallom olyan "apróságokra" még nem sikerült rájönnöm, hogy:

Ez most egy önálló mikrokontroller kell legyen, ha cserélgethetem a szoftverét, de akkor ebből a pár bájtból kezelik az USB eszközöket, amit a download -nál le lehet tölteni az egyes USB eszköz típusokhoz ?

Ha pedig önálló mikrokontroller, amiben az egyes USB eszköz típusok kezelése implementálva van, akkor miért nem adják ki a szoftvert úgy, hogy én testreszabhassam, kiegészíthessem ?

Most ez mégis inkább egy kiegészítő modul, és az értékek kezelését már egy másik mikrokontrollerrel kell végezzem ? Miért nem használhatom ki azt, amit csak tud az USB HOST -os mikrokontroller ?

Ez mitől egy dedikált "USB HOST BOARD", mitől HOST -abb ez, mint a korábbi mikrokontroller, ami pedig kifejezetten USB DEVICE (SLAVE) ? Ha minden USB kezelés egy szoftverben van megvalósítva, akkor a korábbi mikrokontroller -be miért nem tudok én egy olyan szoftvert tölteni, amitől az is USB HOST lesz ?

Szóval jó nagy kavarc ez bennem ...

De az azért 99%, hogy legrosszabb esetben egy ilyen USB HOST kártyával összekötve a már megrendelt típusú mikrokontrollert, akár ki is hagyhatom a PS/2 protokol implementálását a mikrokontrolleremben, olvashatom mindjárt az USB HOST MOUSE mikrokontroller mouse értékeit (egyszerőbb, és direktben USB -ből jön, nem kell USB->PS/2 átalakíto az USB egereimhez), és azokat tolhatom boxsoft formátumban az EP -nek ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 02:11:32
Ez a PS/2 wiki oldaláról van, és nagyon a direkt USB kezelés mellett szól szerintem:

Conversion between PS/2 and USB

Many keyboards and mice were specifically designed to support both the USB and the PS/2 interfaces and protocols, selecting the appropriate connection type at power-on. Such devices are generally equipped with a USB connector and ship with a passive (http://en.wikipedia.org/wiki/Passivity_(engineering))wiring adapter to allow connection to a PS/2 port. Such passive adapters are not standardized and may therefore be specific to the device they came with. They cannot be used to adapt other devices to PS/2 ports.[citation needed (http://en.wikipedia.org/wiki/Wikipedia:Citation_needed)] While combi-devices supporting USB and PS/2 are still available, most USB keyboards and mice in the 2010s no longer come with or even support the PS/2 protocol.[citation needed (http://en.wikipedia.org/wiki/Wikipedia:Citation_needed)] Connecting them to a PS/2 port would require an adapter, actively translating between the protocols. Such adapters only support certain classes of USB devices such as keyboards and mice, but are not model- or vendor-specific.
Older PS/2-only peripherals can be connected to a USB port via an active adapter, which generally provides a pair of PS/2 ports at the cost of one USB port.[citation needed (http://en.wikipedia.org/wiki/Wikipedia:Citation_needed)]
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 03:29:03
Kipróbáltam gyorsan mindkét vezeték nélküli logitech egeremet, hogy megy -e USB->PS/2 átalakítón keresztül, és persze nem megy egyik sem.

Van egy olyan érzésem, hogy a ps/2 az a vezetékes egerekhez lesz jó, ha valaki beéri a vezetékessel ... :)

Persze elvben lehetne tökéletes USB->PS/2 átalakító, de nem akarok olyat keresgélni (mellesleg konkrétan nem is találtam :)) mindíg azzal vacakolni, ha van egy USB -s egerem (és úgyis az lesz) ...

Szóval meg fogom csinálni először a PS/2 kezelést, vezetékes PS/2 egérrel, de csak a gyakorlás kedvéért, hogy belejöjjek a dologba (meg végülis miért ne tudjon olyat IS a szuper átalakítóm, ha egyszer képes rá), de én nem fogok itt megállni, kell a direkt USB a vezeték nélküli egérhez ...

És ha az is meglesz, addigra semmi nem állhat a vezeték nélküli billentyűzet útjába se ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 10:34:15
A boxsoft egér mennyi lábat használ konkrétan a serialról ?

Mert a control portokon max 8* 2 láb használt, a serialon meg 5 láb használt elvben,
ami összesen 21 láb, és nekem összesen csak 20 lesz.

De szerintem nem használja mind az 5 lábat a serial -ból az illesztő, kérdés hogy mennyit ?
Ha csak 1 -et is szabadon hagy, akkor lefedhető lenne egyetlen IC -vel mindhárom csatlakozó.

Következő lett a haditerv:

- Először meg kell csinálni egy síma c64/cpc/atari joy kiosztás kezelést. Idővel meg lehet mindhármat, először egy olyat amit tud az én joy -om (a komolyabb joy -ok kapcsolóval tudnak több félét).

- Aztán második lépésnek meg kell csinálni egy sega megadrive kontroller kezelést, ez annyiban bonyolultabb mint az előző(k), hogy itt már a kontroller oldalon is kell trükközni, nem csak az EP oldalon.

- Aztán jöhetne a PS/2 egér kezelés.

- Végül pedig az USB egér kezelés.

- Slusszpoénnak pedig meg kéne csinálni valami nyomógomb + led kombóval, hogy az előbb felsorolt eszközök között váltani tudjon (esetleg a kimeneti control portok között is váltani tudjon, vagy pedig esetleg 2 szett legyen az input csatlakozókból, és szolgálja ki mindkét control portot egyszerre).

Szép fokozatos haditerv ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 10:37:15
Az okos haditervemből kihagytam, hogy ezek csak az EP oldali csatlakozók, inputom is kell legyen 4+3 (*2) minimum ... :)

Szal egy (ilyen) panellel csak egy control port lesz kezelve ...
Title: Re:HW készítés Arduino-val
Post by: Povi on 2014.September.29. 10:39:49
ezt is esetleg lehetne nézegetni:
http://www.aliexpress.com/item/Free-shipping-PS2-keyboard-driver-module-serial-transmission-keyboard-capture-module/1867214268.html

PS/2 átalakitó soros vagy párhuzamos jelre.

Billentyűzethez reklámozzák, de elvileg a PS/2 egér jelalakja (maga a protokoll) ugyanaz, mint a billentyűzeté.

Persze ez is mikrokontrollerrel működik (mintha manapság már elfelejtettek volna diszkrét kapukból építeni bármit is, az eredeti MGY féle XT bill. kártya még léptetőkkel és shift-regiszterekkel oldotta meg hardveresen a bill. soros jelét 8bites párhuzamosra alakítást.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 10:50:25
Nem rossz tipp (ha lehet egérhez is használni, ha nem), bár ennél azért több leírás kéne róla ... :)

Lehet hogy mások kitalálgatják hogy kell használni az ilyet, de én meg igazából az elvi sémákat, "buszokat", kapcsolódási felületeket sem értem ...

(Kemény 2 napja se nézegetem én ezeket ugye ...)

De beszélnek ezek serial -rol, SPI, ISP, ICSP, FTDI -ről, a rosseb se érti mi mire jó ... :)

Érdekes egy projekt lesz ez ... és miközben azt sem tudom mi min keresztül tud kommunikálni mivel, még azt is találjam ki, hogy épp milyen protokollt implementál pld. "serial" -on az adott cucc ... vazze ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 19:40:58
Aham, lehet hogy megvan a válasz, hogy miért is nem enged (valójában azt töltesz fel amit akarsz, tehát enged, de miért nem támogatják magától értetődően) pld. egy korábban linkelt USB HOST mikrokontroller kártya szoftverében turkálni (bár végülis a testreszabás még a következőktől függetlenül is hasznos lehetne) a gyártója:

Hát azért, mert valószínűleg nem sokat tudnál mellé rakni már ... vagy ha mégis, akkor is van értelme kompakt egységként kiadni (ami pld. jelen esetben az EP -hez nem biztos hogy jó lesz),

mert ezeket a kompakt mikrokontrolleres kártyákat úgy tervezik, hogy valami részfeladatot oldanak meg csak, memóra és számítási kapacitás limitek miatt, aztán ezek a kártyák kommunikálnak utána egymással valamilyen interfészen keresztül.

Tehát van egy mikrokontrolleres kártya, amit például most megrendeltem olyan 6-7 ezer környékén, az tud vagy 3-4 különböző interfésszel kommunikálni a síma GPIO -n kívül, aztán hogy melyiket használod a tényleges feladatvégzésre, vagy melyiket debuggolásra, az már a felhasználón múlik. (A kivezetések száma egyébként behatárol, tehát ha te épp X lábakon serial (vagy akármi más típusú) kommunikációt végzel, azt addig nem tudod GPIO célra használni.)

De az olcsóbb típus, ami úgy 2-3 ezer körül van, az is majdnem ugyanennyi féle kommunikációs szabványt, és majdnem ugyananyni GPIO -t.

És akkor az a USB HOST kártya pedig úgy kapcsolódik a mókához, hogy nyilván az is tud valamilyen (minimum egy serial)  módon kommunikálni, elvégzi a saját feladatát, kezeli az USB -t, ellátja az USB HOST funkcióit, és mellesleg képes valami nem annyira teljesítményigényes módon adatokat (pld. egérnél koordináta, billentyűnél ascii kód) küldeni a másik mikrokontrolleres kártya számára, aki feldolgozza azt.

Tehát nem azt mondom, hogy jó hogy nem tudom a kódjukat testreszabni, de ha jó nekem a kód amit adnak, akkor nem is feltétlen kellhet, és amúgy meg teljesen belepasszol ebbe a "minden mikrokontrolleres kártya végzi a saját feladatát" képbe ...

Legfeljebb nekem nem azt kell majd választanom a billentyűkezeléshez, ha az ascii protokollja nem engedi pld. az EP fele rendesen kezelni a CTRL,SHIFT vagy hasonló gombokat ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.29. 23:42:41
Na, oszladozgat a köd, kezdem felismerni a fogalomkategóriákat ... :)

Szóval nem voltam olyan nagyon eltévelyedve USB (host) ügyileg, mint amennyire el voltam ...

Ha jól értem, akkor:

Csak a nagyobb, drágább kártyákra tesznek beépítve USB host képességet, mint pld. ebbe:

http://arduino.cc/en/Main/ArduinoBoardDue

Más gyártóknál is igaz, hogy csak a nagyobb, fullosabbakban van, vagy azokban sincs. Nagyon derága az USB host, ezért külön kártyákon adják. Legalábbis a nem fullosabb kártyákhoz külön kell megvedd.

A nem fullosabb kártyákon (olyan elektronikákat szedtek össze, amik nem tartalmaznak) nincs USB host funkció,
hanem az USB csak a kártya programjának feltöltésére,
program futása közben serial kommunikációra,
valamit szintén futás közben egy MÁSIK eszköz fele (amelyik USB host) keyboard és mouse eszközként tud viselkedni.

Ilyen például az, amit rendeltem:
http://arduino.cc/en/Main/ArduinoBoardMicro

Aztán van a még olcsóbb dolog:
http://www.adafruit.com/products/2000

ahol az USB csatija az semmire nem használható futás közben, csak a programjának feltöltésére szolgál.
Mert kispórolták belőle azt a funkciót. Ami sztm nem is baj, attól olyan olcsó.



Namost azoknál az eszközöknél, amik nem tartalmazna USB host elektronikát, azokhoz lehet plussz panelek formájában azt hozzácsapni.
Célszerű is árban is és méretben is ezt a 2 -ből összerakást csinálni, mert olcsóbbra is jön ki (tud kijönni), meg méretben kisebbre is (tud kijönni), mintha egyben vennénk meg egy fullos panelt.

Ilyemsik vannak ilyen USB host "shiled" -ekből (valamiért pajzsoknak hívják a periférikus bővítő paneleket, amik persze lehet hogy nagyobb teljesítményűek minden szempontból, mint a main panel ...):

https://www.sparkfun.com/products/9947
http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino/
http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini/


És az a helyzet hogy nem is van nagyon több ... vagyis én még nem találtam.
És ezek közül a kicsi, az sajna 3V -os, én meg az EP miatt 5V -ot választottam a main panelemnek, mert nem akartam jeleket illesztgetni, és a 3V -os kis USB host nem kompata az 5V -os "fő panelemmel".

Ez az előző három cuccos azért lenne jó, mert ezeket direkt az általam választott mikrokontrollerhez készítették, így annak szoftvere vagy kompatibilis az USB shield -ekkel, vagy pedig adják a full szoftvert. (Amit én választottam mikrokontroller deszkát, az nyílt forrású szabványokra épul hardveresen és szoftveresen is.)


Találtam ugyan mégegyet, ezt:
http://www.hobbytronics.co.uk/usb-host-keyboard

ami jó lenne méretben (jó kicsi), nagyjából jó árban, csakhogy ezzel meg az a helyzet, hogy ehhez binárisban (hex -ben) adják a szoftvert, ami az egérhez jó lenne, de a billentyűhöz nem. Forrást meg nem adnak hozzá, de legalábbis nem verik nagy dobra.
Még mindíg írhatnék hozzá sajátot, de ez ráadásul nem is az az "AVR" mikrokontroller "család" mint a fő deszkám (amit valamilyen szinten nyilván most megtanulok majd programozni), hanem egy "PIC" nevű mikrokontroller "család" egy tagja, mely mellesleg tartalmaz USB host elektronikát is.

Szóval ha ezt választom a billentyűzethez (is, mert egérnek jó lesz a gyári szoftverrel), akkor meg kell tanuljak "PIC" -ül is, és nem tudom hogy ahhoz is adnak -e olyan USB host kezelő könyvtár támogatást, mint amit az Arduino által gyártott, AVR mikrokontrollercsaládomhoz. Gyanítom nem ... hanem valahonnan nyílt forrású cuccokból kéne tudjak valamit lefordítani alá ... legjobb esetben ... vagy implementálni egy sajátot, direktben kommunikálva az USB host elektronikával a mikrokontrollerben ... szívesebben kihagynám ...


Az arduino platform ilyen API -t nyújt az USB keyboard- hoz:

[ul][/ul]
Ez tökéletes, ennél bonyolultabb nem kell. Ha a PIC -es cucchoz is lenne ilyen API, akkor azzal se lenne semmi gáz ...
Persze az is lehet, hogy van is ... csak még nem néztem utána ... Csak itt arduino alatt az embernek az arcába tolják ... viszont megfelelő vas meg nem nagyon van arduinóra ... persze az is lehet hogy beférnének ... ha meg befér, akkor mit vacakoljak ...

Kívülre az egérnek lesz ilyen PIC -es kicsi, ahhoz jó a gyári szoftver,
belülre a bilentyűnek meg lenne a nagyobb, arduino kompatibilis cucc ...

Persze meg kell nézni, hogy elég -e a memória neki a kis mikró kártyán, amit választottam ...

Szóval jó komplex kis legó ez ... :)

Lehet tényleg az a legtisztább, ha az ember magának rakja össze a mikrokontrolleres kariját, és akkor azon minden pont úgy van, ahogy neki kell ...

De hát pont ezt akarom elkerülni ... hogy tervezési, gyártási folyamatok legyenek ...

Bárki megvehetne egy (vagy kettő, ha akar USB -t is) kártyát, drótokkal összeforraszti, feltölti program, és kész ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 00:04:39
De pld. itt van ez:

http://microcontrollershop.com/product_info.php?cPath=407_418&products_id=2649&osCsid=a7gcafrbs00r5p2elafkaohhs3

ez elég kicsi, nem méregdrága, 2 USB eszközt is tudna kezelni, és van neki akár 28 GPIO -ja, nekünk meg csak 16 kell a billentyűzethez, vagy max +1 a reset -hez ...

már megint csak az a kérdés, hogy vajon milyen magas szinten lehetne elérni az USB billentyűzet funkcióit belőle, van -e hozzá ilyen magas szintű támogatás,
de azért még ne legyen annyira magas szintű, hogy fogjak egy másik hardvert, és kérdezzem le ettől a hardvertől, valami protokollal ...
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 00:25:18
Hát ahogy olvasom, ezt is másik mikrokontrollerrel való kommunikációra találták ki,
többféle firmware -t adnak hozzá,
amik közott filerendszert kezelni képes is van, meg konkrét zenelejátszásról olvastam, mint parancs, amit fogadni képes ...

Persze nem száz, hogy esetleg nincs valami alacsonyabb szintű parancsa is, a bill kezelése esetén (vagy esetén is),
de akkor is kell mellé még egy külön mikrokontroller, és nem arról van szó, hogy adnak egy könyvtárat,
amihez te hozzárakhatod a kis funkciódat ... :(
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 00:27:51
Márpedig azzal a samu wireless billentyűvel látni akarom működni az EP -t,
a wireless mouse meg már trivialitás ... :)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:08:55
Na, ez az arduino nem játszik, egy napon belül küldik a cuccost:
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:11:48
Ja, az egér nem arduino, de az is most jött, hogy legyen egy szép az EP -hez, meg nem is volt PS/2 -esem már (meg vezetékes sem, egyáltalán ...).

A ledekhez képest a cucc nem olyan kicsi azért, hanem benéztem a ledeket, ezek valami óriási ledek, ilyet még nem is láttam soha ... :)

A harmadik képen pedig ott van a cartridge SD kártya, a méretösszehasonlításhoz.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:15:32
Tesztnek először megvillogtatok egy ledet, és ha megy, akkor jöhetne első értelmes lépésként a síma sokgombos/autofire -es joystick csatolás,

csak nem volna rossz ha lenne nyákra szerelhető joystick (apa) meg nyákra szerelhető ps/2 (anya) csatim,

mert azokat tudnám szerelni forrasztás nélkül ... de nem találtam még ... ezért a két árva csatiért meg nem akarok külön rendelést ...
Title: Re:HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 11:20:58
Quote from: Z80System
hanem benéztem a ledeket, ezek valami óriási ledek, ilyet még nem is láttam soha ... :)
Írta, hogy 10mm-es :-) (Voltak ott 5mm-esek is.)
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:22:49
Quote
Írta, hogy 10mm-es (http://enterpriseforever.com/Smileys/phpbb/ds_icon_smile.gif) (Voltak ott 5mm-esek is.)
Há néztem én ? LED, oksa az led. Erre kiderül hogy van belőle annyi méret mint cipőből ... :)

Legalább jól látom majd a bagokat ... :)
Title: Re:HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 11:35:05
Mivel már rég nem csak egérről beszélsz, azt javasolnám, hogy csináljunk egy külön topikot ennek, mondjuk HW készítés Arduino-val vagy ilyesmi.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:49:19
Ahogy szokott lenni: úgy topikolsz, ahogy szeretnél.

Viszont ez fogja vezérelni az egeret is a végén.

És mikor már USB egér is lesz, nem biztos hogy arduino vagy csak arduino mikrokontroller kártya lesz használva.

Ez lesz a sorrend:

- Síma sok gombos joy
- Sega megadrive kontroller
- PS/2 mouse
- USB mouse

És aztán lesz egy másik projekt is, ami egy belső egység lesz, hogy az EP billentyűzet fizikai vonalaira lehessen csatlakozni a kimenetével:

- PS/2 billentyűzet
- USB billentyűzet

Mondjuk én a PS/2 billentyűzetet sosem fogom rendesen beszerelni egy EP -be, de ha már van hozzá kész program (tegnap láttam), akkor miért ne próbálnám ki még az USB előtt.
Ezt a billentyűzetes projektet úgyis csak egy különálló EP alaplapon fogom először megcsinálni, valószínűleg ki kell hozzá majd forrasszam a billentyű fólia csatlakozóit az alaplapról (ha nem találok megoldást arra, hogy fizikailag hogy tudnák a fólia mellé dugni valami szalagkábelszerűt az illesztőhöz), és vezetékkel forrasztani be az alaplapra a fóliacsatlakozót is meg az illesztőt is,
Szóval valszeg taknyolni kell majd hozzá az alaplapot, úgyhogy van egy ház nélküli alapom, azon először kipróbálom, úgyhogy akkor belefér egy PS/2 szoftver feltöltés is,
a programnak az a része ami meg az EP vonalait kezeli, ugyanaz lesz az USB -nél is.
Title: Re:HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 11:54:42
Pont az lesz nekem itt a nagy élvezet (ha minden igaz :)), hogy úgy fejlesztek "hardvert", hogy valójában csak szoftvert fejlesztek.

A hardver fejlesztés annyiból megáll, hogy kiválasztom a megfelelő mikrokontroller kártyákat, és a kivezetéseiket összekötöm egymással és a különféle eszközök (EP, joy, egér, bill) kivezetéseivel ...
Title: Re:HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 12:03:23
Quote from: Z80System
Ezt a billentyűzetes projektet úgyis csak egy különálló EP alaplapon fogom először megcsinálni, valószínűleg ki kell hozzá majd forrasszam a billentyű fólia csatlakozóit az alaplapról (ha nem találok megoldást arra, hogy fizikailag hogy tudnák a fólia mellé dugni valami szalagkábelszerűt az illesztőhöz), és vezetékkel forrasztani be az alaplapra a fóliacsatlakozót is meg az illesztőt is
Legszebb úgy, ha hagyod a fólia csatlakozót, és az aljára kötöd be vezetékekkel az új cucc csatlakozóját. Külső billentyű kivezetést is így csináltuk.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 12:06:11
Vannak is ott pacnik, ahova forrasztani lehet. Lehet, hogy előre tudták? :-) (http://gafz.enterpriseforever.com/Galery/Alapgep/Picture/ISSUE6-4.jpg)
Title: Re:HW készítés Arduino-val
Post by: szipucsu on 2014.September.30. 12:19:19
Quote from: Zozosoft
Mivel már rég nem csak egérről beszélsz, azt javasolnám, hogy csináljunk egy külön topikot ennek, mondjuk HW készítés Arduino-val vagy ilyesmi.
Szerintem nem is fórum, hanem külön blog kéne Z80System-nek, mert legtöbbször az ő hozzászólásai követik egymást. Ez már inkább blog. És a blogbejegyzéseket kommentelhetnék a többiek fórumhozzászólások helyett.
Másrészt ezt ember követni se tudja, ezt a rengeteg mindent, aztán később meg jön a "nem tetszett figyelni, amikor erről vagy arról volt szó". Hozzám már régóta csak kb. a 10%-a jut el annak, ami ide kerül a fórumba.
Az lenne jó, ha valaki összefoglalná a legfontosabbakat, amikről szó volt itt a fórumon az elmúlt hónapokban, hogy senki ne maradjon le semmiről, akit még érdekel az EP.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 13:06:33
Quote
Legszebb úgy, ha hagyod a fólia csatlakozót, és az aljára kötöd be vezetékekkel az új cucc csatlakozóját. Külső billentyű kivezetést is így csináltuk.

Hát csak maga a panel(ek) meg ugye az alaplap felett lesz(nek) (mert alá nem férnek nyilván),

és akkor 16 drótot kell alulról felhozni a panelekhez ... hol jönnek fele a drótok ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 13:10:51
Quote
Szerintem nem is fórum, hanem külön blog kéne Z80System-nek, mert legtöbbször az ő hozzászólásai követik egymást.
Van ebbe az örök nyafiba valami azért, de én a magam részéről továbbra se a "félszavakból is félreértjük egymást és napokig azon gondolkodunk, hogy is érthette a másik" módszer híve vagyok.

Annak írom, akit érdekel. Mitől érdekes vagy baj az, ha valaki sokat szövegel ? Hozzád csak a "10% jut el" ... és ? Azt olvasol amit szeretnél, nem ?

Konkrétan azt írod a végén, hogy HOZZÁD (vagy akiket még érdekel az EP) nem jutnak el az információk AZÉRT mert én sokat szövegelek ? ? ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 13:25:53
Hát minden igaznak tűnik az ígéretekből ...

Összedugtam, feltelepítettem az IDE -jüket, beállítottam a kártyám típusát meg a COM port számát,
kiegészítettem a kártyájukon lévő ledet villogtató "programot" próbából egy másik lábbal is,
rádugtam egy ledet a lábra, és lőn villogás. :)

A "program" meg így néz ki:




Code: [Select]
void setup()
{
  pinMode(13, OUTPUT);
  
  pinMode(12, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  delay(1000);
}





Hát akkor lássuk mennyi kód fér bele a 32K -jába, és hogy a gyakorlatban mire elég a sebessége ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 13:28:18
Quote from: Z80System
és lőn villogás. :)
A képen nem villog :-D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 13:29:39
Quote
A képen nem villog (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)
Fúúú ... az valami bag lesz akkor ... utánanézek ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 13:46:50
Tök jó, az az alap hardware tutorial -juk, hogy breadboard -on, alkatrészekből (jó, az USB kezelőhöz panelt használnak, de nyilván azt is lehetne alkatrészekből) összeraknak egy Arduino kártyát :) :

http://arduino.cc/en/Main/Standalone
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.September.30. 17:39:47
Quote from: Z80System
Tök jó, az az alap hardware tutorial -juk, hogy breadboard -on, alkatrészekből (jó, az USB kezelőhöz panelt használnak, de nyilván azt is lehetne alkatrészekből) összeraknak egy Arduino kártyát :) :

http://arduino.cc/en/Main/Standalone

Ebben mi a meglepo? Az Arduino legegyszerubb formajaban kb egy Atmel AVR mikrocontroller, es kb kesz is :) Na meg persze, hogy AVR-be tesznek bootload-rt pl stb. Csak ki kell vezetni par kivezetest stb, meg esetleg kvarc miegymas. Ez az Arduiono dolog kisse fel van fujva, egyesek az MCU-t rajta egyenesen "Arduino chip"-nek nevezuk, pedig ugye az egy AVR. Jo, mondjuk a fenti dog egyszeru "Arduino" sok mindenre nem jo, az AVR-nek alapbol van soros portja de TTL szintu. Ha normalis soros port kell, akkor kell pl egy MAX232, vagy ha USB akkor a cikkben is emlitett serial-USB atalakito, pl FT232.

Nem neked szol, csak altalaban mondom (foleg egyes MCU-s formukon talalkozni vele), hogy nagy a hype az Arduino korul, pedig vehetsz a boltban egy szem MCU-t is, igaz akkor kell PCB neki, meg ez meg az :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 18:02:46
Quote
Ebben mi a meglepo?
Nekem minden meglepő, az is hogy van nagyméretű led, meg az is hogy ha rákötöm erre a szutyokra, akkor tényleg villog.
Egyébként meg ez többnyire amolyan hobbi vagy tanuló cucc, így Ardunio -san használva, és pont az a lényeg (meglepő, poén, akármi) hogy ők tutorialban elmagyarázzák azt, amit ők valójában csinálnak. Hogy béluskám veszed tőlunk az Ardunio -s lapokat, de ha akarod 10 perc alatt összedugsz egyet magadnak alkatrészekből, így és így csináld. Adják a lapkáik összes típusú tervezési dokumentációjat, sematikusat, nyákot, mindent. Kendd a hajadra, használd ahogy akarod. Ki csinalja még ezt ?

Quote
 Csak ki kell vezetni par kivezetest stb, meg esetleg kvarc miegymas.
Ja, és pont ehhez a miegymáshoz csinálnak kedvet a kis tutorialjukkal, ahelyett hogy azt tolnák, hogy ők az egyigazság, bármire arduino van irva, csak azt vedd.
De ha valakinek télleg nagy gond a PCB előállítása (és hobbi szinten kinek nem az ?), akkor használj minket.


Quote
az Arduiono dolog kisse fel van fujva

Pontosan nem tudom mi van rajta felfújva, de én azt sem tudtam 2 napja hogy létezik olyan (még azt sem tudom igazán milyen kategóriák ezek) mikrokontroller csalad hogy AVR vagy PIC,
és most sem tudok róluk semmit az égvilágon, semilyen elektronikai részletet, egyetlen mikrokontrollerrel nem ismerkedtem meg, és nem is szándékozok 6 évig elektronikai megoldásokat tanulmányozni, meg utasításkészleteket, meg hogy hogyan kell assembly -ben elérjem a kontroller hardver elemeit,

de ma C++ -ban tudom elérni egy ilyen ATMEL AVR mikrokontroller legtöbb fícsőrét, és azt tervezem hogy egyetlen (usb -hez mégegy) marha kis méretű panellel hozzácsatolok az EP -hez mindenféle input eszközt, és a tervezkedésemnek van is némi alapja, úgy hogy közben mint említettem: semmit nem értek mindehhez.

Ettől nagyszerű az arduino sztm ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.September.30. 19:33:35
Nem letoltas akart lenni :) Jo ez az arduino, szo sem rola. Csak eppen nem sokkal tobb mint egy MCU magaban, sok ember meg azt hiszi, hogy ez vmi speci cucc, es nem is jon ra, hogy tulkeppen MCU-t programozgat. Amit megtehetne magaban is, illetve ami hw keszitesnel elonyosebb is (viszont teny, hogy ilyen kis "kesz" alakban egyszerubb lehet kiserletezni, viszont "kesz" termekbe en akkor is sima pl AVR-t tennek). Vegulis az Arduino nem mas, mint AVR, kenyelmesen es quickstart turbo boost-al :D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 19:57:03
Quote
Vegulis az Arduino nem mas, mint AVR, kenyelmesen es quickstart turbo boost-al (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)
Hát ja. Csináltak különböző árú, méretű és képességű panelokat, amik közül az ember válogathat,
ezek közül több fajta összekapcsolódhat, az alap méretet kifejezetten ilyen emeletesen lehet egymásra pakolni,
ahova nem elég az alap teljesítmény, vagy kellenek az extra ficsotok, mint az usb, wifi, mindenféle motorvezérlők,
csillió féle "priféria", melyek mindenféle módokon képesek kommunikálni egymással hardveresen,
és az egészre rá van húzva egy c++ (sőt valami java is, bizonyos részeknél, de azzal még nem találkoztam) könyvtár,
és mindegy melyik cuccukat használod, ugyanazzal az API-val hajtod meg, nyilván csak azt használva ami a rendszeredben épp van.

Mindezt úgy, hogy minden teljesen nyílt, és más gyártók is csinálnak ilyen kompatibilis lapkákat, amiket (ha kompatibilisre csinálták),
szintén visz a könyvtárjuk.

Az arduino nem is annyira a panelek (de azert az is), hanem a "platform", a libbel együtt.

Szóval olyan "plug and play", magas szintű dolog. Persze, ipari dolgokat nem ilyen lapokból fognak összerakni.
Pont ilyenekre van ez kitalálva sztm, mint amire én is használom.

Látod, itt van az USB host kérdés, és meg vagyok lőve, mert az eddig általam talált arduino kompatibilis USB host shield -ek azok elég nagyok,
nem tudom hogy férne be az EP -be, ami meg kicsi, annak a belseje "zárt", a szoftver meg nem azt csinálja ami nekem kéne.

Abban reménykedek, hogy mire odáig elérek, addigra kijön egy arduino kompatibilis kis méretű usb host shield ...

Vagy jöhetne akármilyen másik is, csak ne ASCII karaktereket toljon az USB billentyűzetről, hanem keydown/keyup uzeneteket.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 20:51:58
Quote from: Z80System
Ki csinalja még ezt ?
Más hasonló cégek.

Quote
De ha valakinek télleg nagy gond a PCB előállítása (és hobbi szinten kinek nem az ?)
Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.September.30. 20:59:01
Quote from: Zozosoft
Más hasonló cégek.
Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.

Mondjuk nem tudom mennyi, ha valaki maganak epit csak vmit, nem tul draga jatek az igy meg mindig? Ha mondjuk kell min 10 darab ugy mar talan normalisabb ... Ha mechanikaval nem allnek hadilabon :) csinalnek olyasmit, amit latni a neten: PCB "maras" sav helyett vmi hazi barkacs eszkozzel ami egyszeruen vmi furo szeru entitassal "lecsiszolja" a nem kello reszet. Egyszeru, gyors, nem kellenek vegyszerek, stb, szamitogeprol vezerelheto ... Miegymas :D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 21:02:45
Quote
Más hasonló cégek.

Pld. ?


Quote
Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.

Egy ilyen kész panelt tegnap megrendeltem, ma már barkácsolhattam vele.

Egy custom panelt meg kell tervezni. Milyen programmal lehet egyáltalán egy panelt megtervezni ? Gyakorlat nélkül lehet olyat csinálni ?
Kinából egy fuvar 2/3 hét. Mennyiért gyártják le a panelt ? Mennyi idő alatt csinálják meg ?
Mi van ha elrontom ? Újabb fuvar ... Kidobott pénz ...
Amennyire én tudom még te sem tudsz smd -t forrasztani, speckó forrasztó cuccok kellenek hozzá. Az is egy nagyobb adag zsé.
Ne csináljunk már úgy, mintha PCB -t összerakni (pláne smd -t) gyerekjáték lenne, mint a gombvarrás, amihez a feltételek már minden háztartásban adottak ...
Hozzáértők, nagy tapasztalattal rendelkezők, kisebb SZÉRIÁKban is képesek már elfogadható áron gyártani őket ... szupi ... de még mindíg nem a kezdők terepe.

Majd ha rajz alapján a kész cuccot küldik vissza, egyedileg is megfelelő áron ...

Stb ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.September.30. 21:31:28
Quote from: Z80System
Pld. ?
Nekem innen lesz játékszerem :-) (http://www.parallax.com/) Hogy mi lesz belőle, az titok. Fogpiszkáló, ha el nem... :-D (gondolom mindenki ismeri a viccet)


Quote
Egy ilyen kész panelt tegnap megrendeltem, ma már barkácsolhattam vele.
Ez teljesen ok, hogy fejlesztéshez készet vesz az ember.

Quote
Milyen programmal lehet egyáltalán egy panelt megtervezni ?
Pl. Eagle

Quote
Gyakorlat nélkül lehet olyat csinálni ?
Nekem se tanította senki :-) Persze nyilván egy kisebb darabbal kell kezdeni, de itt pont ilyenekről van szó.
Meg lehet közöségileg is, ha ott tart már a dolog.

Quote
Amennyire én tudom még te sem tudsz smd -t forrasztani
Én nem is tennék rá SMD-t, az ördögtől való találmány :twisted:

Ha jól néztem ezekből az AVR cuccokból is van DIP. Amit magamnak kinéztem, abból biztos van :-)

De ezt a Nyákosdi természetesen arra érteném, ha kikisérletezel már egy működő dolgot, amiből aztán többeknek kéne gyártani.
Lehet Budapesten is nyák gyártót találni, csak az nem olyan kényelmes, mert nem lehet a karosszékből intézni :-) hanem el kell menni.
De persze ezt nem azért írom, hogy mindenképpen nyákot kell gyártanod, csak jeleztem, hogy nem akkora gond manapság, mint azt írtad. Lásd pl készülnek az SD adapterek is.
, speckó forrasztó cuccok kellenek hozzá. Az is egy nagyobb adag zsé.
Ne csináljunk már úgy, mintha PCB -t összerakni (pláne smd -t) gyerekjáték lenne, mint a gombvarrás, amihez a feltételek már minden háztartásban adottak ...
Hozzáértők, nagy tapasztalattal rendelkezők, kisebb SZÉRIÁKban is képesek már elfogadható áron gyártani őket ... szupi ... de még mindíg nem a kezdők terepe.

Majd ha rajz alapján a kész cuccot küldik vissza, egyedileg is megfelelő áron ...

Stb ...
[/quote]
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 22:33:39
Legújabb álom EP :) :
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.September.30. 22:52:12
Quote from: Z80System
Legújabb álom EP :) :
Ez nagyon futurisztikusan néz ki... :-)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.September.30. 23:27:43
Nincsen valami olyan nagyon vékony szalagkábel, vagy csatlakozó, amit be lehet dugni úgy az EP billentyű fólia csatlakozóba, mintha a fólia lenne ?

Vagy neadjisten olyan, hogy még a fóliát is mellé lehet dugni ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 12:58:50
Úgy tűnik, hogy 3V -os fajtából kapható lenne olyan panel kombó, ami kellene a gép belsejébe szereléshez.

Egy mikrokontroller panel és egy usb host shield panel, amelyik közül mindegyik arduino kompatibilis (vagyis használhatom hozza az arduino usb host könyvtárat),
és mindegyik olyan kicsi, hogy elférnének a gép belsejében.

Tehát végre meglenne az a kombó, hogy befér, könnyen programozhatom, és tud USB -s billentyűt kezelni.

Csak az az egy baj van velük, hogy ezt csak 3V -osban találtam meg, nem 5V -osban.

Az lenne a kérdésem, hogy ugye belülről az EP -ben a billentyűzet vonalait kéne vezéreljem vele,
és vajon nem lehet -e, hogy véletlenül a billentyű vonalak olyan elektronikához kapcsolódnak, aminek pont jó lenne a 3V is ?

Vagy ha az elsőre nem a válasz, akkor 16 vonalat illeszteni 3V -os kimenetről a billentyű vonalaihoz vajon mekkora alkatrészkupac lenne ? (Fogalmam sincs hogy kell/lehet illeszteni 3V -ról 5V -ra.)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 13:14:58
A cucc kimeneténél (azaz ami az EP-nek bemenő jel), ki kell próbálni, jó eséllyel a 3V-os 1-et is 1-nek érzi, a 0 az meg ugye 0V.
Az EP-ből jövő, a cuccba menő jelnél meg kéne nézni a leírásban, hogy inputra mit visel el a cucc, attól, hogy 3V-os a tápja, még lehet az inputja 5V tolerant. Ha jól tudom az SD kártya vezérlője is ilyen.

Ha még is illeszteni kell, itt írnak megoldásokat. (http://www.savagecircuits.com/content.php?85-Mixed-Voltage-Systems-Interfacing-5V-and-3-3V-Devices)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 13:16:14
Billentyűnél lesz neked 10 EP-ből jövő, és 8 EP-be menő.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 13:19:10
Quote
A cucc kimeneténél (azaz ami az EP-nek bemenő jel), ki kell próbálni, jó eséllyel a 3V-os 1-et is 1-nek érzi, a 0 az meg ugye 0V.
Az EP-ből jövő, a cuccba menő jelnél meg kéne nézni a leírásban, hogy inputra mit visel el a cucc, attól, hogy 3V-os a tápja, még lehet az inputja 5V tolerant. Ha jól tudom az SD kártya vezérlője is ilyen.




Aham ... én is ilyet olvasok:


Quote
Connecting a 3.3V level output pin to a 5V level input pin works fine.
The problem occurs in the other direction: a “1″ output on a 5V logic level is about 5V, whereas the maximum allowed input level for a “1″ on a chip powered by 3.3V is 3.3+0.5, i.e. at most 3.8V.


itt:

http://jeelabs.org/2013/04/24/what-if-i-mix-3-3v-and-5v/
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 13:24:36
Quote
Billentyűnél lesz neked 10 EP-ből jövő, és 8 EP-be menő.

Na ez érdekes ... én eddig tök azt hittem, hogy az összes billentyű vonal az bemenet,
amire majd vagy rakok jelet (digitális magasat), vagy nem, a kontrolleremből,
attól függően, hogy milyen billentyű lenyomást akarok neki szimulálni ...

Ezek szerint nem értem azt sem, hogy kell az EP -nek billentyűleütést szimulálni ... :(

De mit "ad" nekem a billenytű ? Annak csak "kapnia" kéne ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 13:46:53
Nézd a rajzot. (http://enterprise.iko.hu/schematics/EP64-2-RT.jpg)

A 25-ös IC-be kerül, amit OUT (0B5H)-val kiküldesz. Ennek az alsó 4 bitje választja ki, hogy a billentyűmátrix melyik sorát akarjuk beolvasni.
Ez 4 bit megy át 26-os IC-be, ami "10-ből az egyiket" dekóder. Azaz van neki 10 kimenete, és a bemenő érték ezek közül aktívál egyet, ami a 0-9 értékeknek felel meg. A-F értékeknél nem aktív egyik kimenet se. (Erre írtam korábban, hogy létezik ilyen IC-ből 16-os is, így lehetőség lett volna egy fejlettebb EP modellnél PC-hez hasonlóan több billentyűs (numpad, stb) billentyűzetet építeni, a plusz sorokba bekötve ezeket.)

A lényeg az, hogy a 10-es csatlakozó egyik lábán 0 lesz, ezt a sort kérdezi le a gép, és a bemeneten 0-ra kell húzni az ebben a sorban lenyomott gombokat. Ami nincs lenyomva ott nem kell jelet kiadni. Az 1-re álló alapállapotot az RP2-es ellenállás csomag biztosítja.

Tudsz egyszerűsíteni is, a kimeneti csatlakozó helyett veszed 26-os IC bementi 4 bitjét, és így 10 helyett elég csak 4 drót. (Ahogy korábban már írtam, szerintem az alaplap aljára forrasztott vezetékekkel érdemes bekötni.)
Title: Re: HW készítés Arduino-val
Post by: szipucsu on 2014.October.01. 13:47:33
Quote from: Z80System
Konkrétan azt írod a végén, hogy HOZZÁD (vagy akiket még érdekel az EP) nem jutnak el az információk AZÉRT mert én sokat szövegelek ? ? ?
Ezt írtam. Elég nehéz kihalászni a fontosabb, számomra hasznos információkat. De lehet, hogy minden hasznosat megtaláltam, nem tudom. A webes emu egér funkciójának híre eljutott hozzám. Nem tudom, más korszakalkotó dolog történt-e mostanában.
Talán az én magánügyem, hogy a hardver szinte egyáltalán nem érdekel, nem értek hozzá. De ha pl. elkészül valami co-processzor az EP-hez, szívesen megnézném, mit csinál, hogyan működik.
De tőlem szövegelj sokat nyugodtan, csak én nem valószínű, hogy elolvasom mind, mert a téma általában nem érdekel, és irdatlan mennyiség. De ha mások győzik ezt mind olvasni, akkor oké.
Kíváncsi lennék, Zozo hogyan győzi a topikokat áthelyezni, szétválogatni. :D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 13:58:17
Quote
A 25-ös IC-be kerül, amit OUT (0B5H)-val kiküldesz. Ennek az alsó 4 bitje választja ki, hogy a billentyűmátrix melyik sorát akarjuk beolvasni.
Na ezt most azonnal nem értem, de időt fogok szánni rá, hogy feldolgozzam.

Quote
Ahogy korábban már írtam, szerintem az alaplap aljára forrasztott vezetékekkel érdemes bekötni.
Ez viszont továbbra sem nagyon tetszik, bár meg fogom nézni, hogy a drótokat fel tudnám -e hozni valahol a nyák oldalánál, mert még így is 12 vezeték lenne ...

Sokkal jobban tetszene ha be tudnám dugni a fólia mellé, vagy tüskesort forrasztanék a fólia csati helyére, és a tüskesorra kötném be vezetékkel a fólia csatit is vissza, meg mellé az USB vezérlő kimenetét is.

Szerinted egyébként van esély rá, hogy kiforrasszam azokat a fólia csatlakozókat anélkül, hogy totál szétbarmoljam a nyákot ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 14:15:49
Quote from: Z80System
Ez viszont továbbra sem nagyon tetszik, bár meg fogom nézni, hogy a drótokat fel tudnám -e hozni valahol a nyák oldalánál, mert még így is 12 vezeték lenne ...
Nem értem miért nem tetszik. Mikor bent van a házban, bazi nagy luk van az alaplap alatt, bőven elfér alatta bármennyi drót.

Amúgy forrasztgatáshoz 80 eres IDE kábelből szedjél ki drótokat, azok nagyon pici finomak, jól lehet vele dolgozni.

Quote
Sokkal jobban tetszene ha be tudnám dugni a fólia mellé
Ilyennel próbálkoztak külső billentyű bekötés kapcsán, és általában az lett a vége, hogy a fólia végét, meg a csatlakozót is hibásra lett gyötörve.

De ha nagyon fel akarod alulról vezetni a drótokat, ott van még az a nagy ovál luk ahol a ház középső tartója megy át. Az általam említett finom drótból ott is simán fel lehet hozni 2 tucatot is akár.

Quote
Szerinted egyébként van esély rá, hogy kiforrasszam azokat a fólia csatlakozókat anélkül, hogy totál szétbarmoljam a nyákot ?
Nem sok :oops: de legalábbis a csatlakozó szét fog olvadni. Tartalék csatlakozót meg nem is találtam még, Spectrumos méret van, de ilyen 10-es nincs.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 14:21:37
Quote
Nem értem miért nem tetszik. Mikor bent van a házban, bazi nagy luk van az alaplap alatt, bőven elfér alatta bármennyi drót.

Amúgy forrasztgatáshoz 80 eres IDE kábelből szedjél ki drótokat, azok nagyon pici finomak, jól lehet vele dolgozni.

De ha nagyon fel akarod alulról vezetni a drótokat, ott van még az a nagy ovál luk ahol a ház középső tartója megy át. Az általam említett finom drótból ott is simán fel lehet hozni 2 tucatot is akár.

Oks, köszi, akkor ez lesz.


Quote
Ilyennel próbálkoztak külső billentyű bekötés kapcsán, és általában az lett a vége, hogy a fólia végét, meg a csatlakozót is hibásra lett gyötörve.

Ezért szerettem volna LAPOS szalagkábelt, vagy fóliakábel csatlakozót találni ... de persze nem találtam ...


Quote
Nem sok (http://enterpriseforever.com/Smileys/phpbb/ds_icon_redface.gif) de legalábbis a csatlakozó szét fog olvadni.

Na ettől féltem ... akkor inkább neki sem állok ... marad a vékony drót, ahogy mondod ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 14:26:27
Egy plusz ötlet:
A mátrixban (http://enterprise.iko.hu/schematics/EP64-4~1.jpg) van hét nem használt billentyű hely. Ide be lehet tenni plusz gombokat, amihez a KEYBOARD táblázataiban lehet kódot rendelni. PL HOME/END, Page Up/Down, ilyeneket ismer az EXOS Editora (Shift, Alt, stb + joy módon), ezeket meg lehetne valósítani. Anno csináltunk ilyet átdrótozott PC billentyűzetnél is.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 14:32:12
Quote
Egy plusz ötlet:
Mátrixban üres hely: felteszem ez azt jelenti, hogy beolvasott bit a portról, ami sosem lehet aktív, mert az EP -n ott nincs fizikai billentyű ?

És ok, persze, én tudnék visszaadni oda is "lenyomottat", de ha eddig nem figyelték azt a bitet, akkor ezután ki figyelne rá ?

Valami módosított, hekkelt exos figyelne rá, vagy mi ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 14:49:19
Quote from: Z80System
Mátrixban üres hely: felteszem ez azt jelenti, hogy beolvasott bit a portról, ami sosem lehet aktív, mert az EP -n ott nincs fizikai billentyű ?
Így van.

Quote
Valami módosított, hekkelt exos figyelne rá, vagy mi ?
Pl, vagy módosított BRD/HUN/stb társulat. (Anno ahhoz a PC billentyűhöz a HUN-ba raktam.

Alapból asszem *-ot írnak az ilyen gombok, a nem használt helyekre azt rakták a táblázatba.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 15:00:37
Még egy ötlet: vannak ilyen wireless bill+egér kombók, azoknak egy USB vevőjük van. Tehát csinálhatnád egy USB-s vezérlővel az illesztést.
Ha a 26-os IC-ről szeded a 4 bitet, akkor lehetne a nem létező 0A-0Fh billentyűzet sorokban lekérdezni az egeret, ráadásul 8 bites átvitellel.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 15:04:52
Na, akkor úgy tűnik megoldódott a belső szerelés kérdése is:

Ez a cucc (a 3.1 -es):
http://www.pjrc.com/teensy/teensy31.html
speckója:
http://www.pjrc.com/teensy/teensy31.html#specs

gyors, sok memóriás, 34 GPIO -s, 3V -os, de 5V input toleráns a digitális bemenetein, legnagyobb hibája hogy nem tól olcsó.

Ez pedig egy hozzá kapcsolható pici kis USB HOST kari:
http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini


Mindkettő arduino kompatibilis. Ami azért is marha érdekes, mert az első az nem egy AVR hanem egy ARM cucc ...

Ezek szerint az arduino nem is AVR specifikus ... tehát pld. ARM fordítónak is kell lennie akkor benne ... Vagy legalábbis ennek a hardveres kimeneteit tekintve arduino kompatibilis kártyának a készítői behekkelték az ARM fordítót az arduino IDE alá ...

Mondjuk valószínű nem az arduino usb host könyvtárát kell használni hozzá, hanem adnak hozzá egy sajátot ... viszont azt nem tudom milyen magas szintű a bill. kezelés abban ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 15:12:28
Quote
Még egy ötlet: vannak ilyen wireless bill+egér kombók, azoknak egy USB vevőjük van. Tehát csinálhatnád egy USB-s vezérlővel az illesztést.
Ha a 26-os IC-ről szeded a 4 bitet, akkor lehetne a nem létező 0A-0Fh billentyűzet sorokban lekérdezni az egeret, ráadásul 8 bites átvitellel.


Ja, gondoltam rá hogy kéne az egeret is felhasználni (két usb- s bemenetet semmiképp nem akarnék, mert egy usb bemenet is kerulni fog vagy 20 ezerbe),

de én arra gondoltam, hogy belülről a rendes helyére (control port, serial) kéne huzalozni úgy, hogy ha nincs egér rádugva/bekapcsolva, akkor úgy viselkedjen a mikrokontroller, mintha nem lenne rajta az EP vonalain, és akkor továbbra is kívülről rádugott (control port, serial) egeret érezze.

De ezt elvetettem, mert ugye eddig csak 20 GPIO -ban gondolkodtam.

Ezt ha jól értem a megoldásod (részleteiben persze még nem értem, de lényegében) GPIO számban megoldaná,
csak hát egy új mouse.xr módot kellene hozzá írni ... nem ?

Viszont az előbbi post értelmében mostmár akár 34 GPIO porttal is lehet gondolkodni, mert az ott jelölt cuccnak annyi van.
Szóval akár hagyományos bekötésű egéret is lehetne vele ... persze nem számoltam pontosan össze még a vonalak számát ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 15:18:19
Quote from: Z80System
csak hát egy új mouse.xr módot kellene hozzá írni ... nem ?
Igen, de ez a rész már gyerekjáték.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 15:28:59
Na itt a megoldás.

Tehát valószínűleg az arduino hivatalos usbhost könyvtára, az csak egy ilyen kezdemény, csak egeret és billentyűt támogat, és csak egyetlen arduino kártyán.

Viszont a korábban linkelt USB Shield kártya készítői adnak egy fullextrás usb host library -t, ami támogat egy csomo arduino és egyéb mikrokontrolleres kártyát az USB Host shield kártyájukhoz.

Beszélgetni az egyes eszközökkel ugyan alacsony(abb) szinten kell, ilyen bufferekkel, protokollokkal, de van hozzájuk tutorial:

egér:
http://www.circuitsathome.com/communicating-arduino-with-hid-devices-part-1

billentyűzet:
http://www.circuitsathome.com/mcu/how-to-drive-usb-keyboard-from-arduino
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 16:44:44
És akkor azt jól értem, hogy a billentyűzet kezeléséhez akkor összesen elég lenne 8+4 vonal és ebben már kezelni lehetne az egeret is, módosított mouse.xr -rel ?

Semmi több drót nem kéne, csak 12 darab ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 16:52:09
Quote from: Z80System
És akkor azt jól értem, hogy a billentyűzet kezeléséhez akkor összesen elég lenne 8+4 vonal és ebben már kezelni lehetne az egeret is, módosított mouse.xr -rel ?

Semmi több drót nem kéne, csak 12 darab ?
Igen. Plusz azért GND meg +5V nem árt :-)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 17:01:51
Quote
Igen. Plusz azért GND meg +5V nem árt (http://enterpriseforever.com/Smileys/phpbb/ds_icon_smile.gif)
Igen, de azokra van plussz láb mindíg.

Tehát olyanok ezek a cuccok, hogy van rajtuk mondjuk 14 digital GPIO,
és akkor örülsz, hogy az elég a 12 vonaladra, ami kell,
na igen ám, de a kártyának XYZ buszon/interfészen kell kommunikálnia az USB Host kártyával,
ás annak a busznak a mondjuk 4 lába az lejön az elérhető GPIO lábak számából,
meg akarsz kommunikálni soros vonalon a PC -vel fejlesztés közben, és akkor annak a lábai is lejönnek a GPIO lábakból ...

És hoppá, máris nem elég a láb ...

De a tápra és a földre mindíg van külön láb ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 18:10:30
Most így elgondolkodva ... igazán kivezethették volna az EP billentyűzet mátrixát, akár 16 vonalas kivitelben ... de akár 12 -esben is ... még a 16 -os is elfért volna egy 2X8 -as csatin ...

Mennyivel egyszerűbb lenne külső billentyűt szerelni ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 18:25:14
Bakker ... hát most nézem/jut eszembe: a szuperturbó gépemen pont ilyen van csinálva ...

Kihoztátok a billentyű vonalakat ilyen nyomtató csatlakozó szerűvel, ráadásul nem olyan frankó vékony kábellel amit mondtál (az tényleg jó vékony bakker!),
hanem a hagyományossal ... azok még olyan durungok ...

Viszont már azzal is nagyon ötletesen, roncsolás nélkül, az EP szellőző rácsain keresztül hoztátok ki ...

Arra gondolok, hogy ez talán nekem is símán beleférhetne ...

Vékony kábellel, fekete színűvel (jobban megy az EP -hez) kihozni a 12 es/vagy 16 vonalas módszert, ellátni valami frankóbb csatlakozóval (nem ennyire széles, bumszli),

és akkor máris nem is kell beleszerelni az EP -be a mikrokontrollereket, nem kell ilyen kicsiket keresgessek,

abszolút jó lehet egy normál forma faktorú cucc, és a csatlakozónál fogva szépen le lehet húzni az EP -ről az egészet alkalomadtán,

plussz akkor az USB is marad cserélhető, azt dug rá az ember, amit csak akar ...

Megfelelő hosszú kábelekkel meg megvalósulhat az álmom is: egyetlen eszköz kezelheti az összeset akár ... egy ilyen 40 GPIO -s ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 19:57:47
Quote from: Z80System
hanem a hagyományossal ... azok még olyan durungok ...
Az úgy 18 éve készült, akkor még nem volt 80 eres ide :-)

Quote
Vékony kábellel, fekete színűvel
ASUS alaplapokhoz adtak olyat. Gigabytehoz meg kéket :-)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 20:11:53
Arra gondoltam, hogy a 10 -eset akkor nem kéne kivinni,

csak a 8+4 -et.

A 10 -es maximum akkor hiányozhatna, ha csak kapcsolókkal akarnék billentyűzetet csinálni, elektronika nélkül, nem ?

Arra meg most akkor nem készülnék fel, ez megint az mint a joy átkábelezés, hogy annak vagyok híve, hogy van egy külön konverter, egyszr megcsinálva, és magát az eszközt nem kell átalakítnai mindíg, ha mást dugsz rá.

Lennének is ilyen din -ek, sztm ezek a fekete kábellel nem mutatnának nagyon rosszul:

http://www.tme.eu/hu/details/mdc-104/mini-din-csatlakozok

Csak most meg az jutott eszembe, hogy a tápot is ki kéne vinni rá(juk), meg a földet, sőt a reset -et is ... nem ?

De szerencsére mini din az lenne 4 - 8(vagy 9) -ig minden.

Vagyis egy 8 -ast kéne a 8 -asra,

és egy 7 -est meg a 4+5V+föld+reset -hez, és akkor ha akarná, akkor arról használhatná a tápot is, meg reszetelni is lehetne billentyűről.

Ezzel úgy meg is tudnék békülni, mert így akkor lehetne külön konverter (saját csatlakozóról tápolva) a billentyűzethez (meg újfajta egérhez),

meg ha olyat akarok építeni, akkor lehetne együtt is a többivel (hátsó csatlakozók eszközei), ilyenkor onnan van táp (joy portrol), annak nem is kéne a billentyűzet kivezetés tápja.

De a kérdés az lenne, hogy vajon ez a kis vékony kábel, ami a 80 -as IDE -ből van, az jó tápkábelnek ? Elég vastag ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 20:58:00
Na, lehet újabb "forradalmi" ötletem van ...

A bill kábelt alul hozom ki a gépből, hát alul is vannak hűtőrácsok!
És ez az iszonyat vékony szalagkábel ez elfér alul a gép lábai között.

Ráadásul a tápcsatlakozónál van egy pont megfelelő irányú hűtőrács a gép hátához közel. Jól gondolom hogy ott simán ki tudna jönni a szalagkábel ?

Mert az nagyon frankó lenne, hisz akkor oldal irányba nem zavarna semmit. Kvázi sikerülne a hiányzó hátsó "billentyűzet portot" kialakítani vele.

Ha ott hátul lenne, akkor nem is kéne mini din csatlakozókra szétszedni,
hanem mehetne egy sim 15 pines lengó d-sub -bal is (vga csati), lehet kapni abból is olyat, aminek fekete a háza.

Hátul nem lenne baj, ha kicsit nagyobb lenne ... sőt talán hátul már lehetne akár a kábel eredeti csatlakozójához hasonló csati, csak rövidebb.

Egy olyanon már ki lehetne hozni vagy 20 csatlakozót, és abból akár 5 vezeték is lehetne a táp. Mondjuk 3 táp +2 föld.


Jut eszembe: ezek a 80 -as IDE kábelek ezek ugyanúgy 40 pint vittek át ? Minden pinhez 2 drót van a szalagkábelben ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 21:09:47
Quote from: Z80System
Jut eszembe: ezek a 80 -as IDE kábelek ezek ugyanúgy 40 pint vittek át ? Minden pinhez 2 drót van a szalagkábelben ?
Minden második drót GND.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 21:10:30
Kontrol portoknál is lenne egyébként olyan lehetőség, hogy kivinném a nemtomhánybites értéket, mielőtt még 4irány+lövés drótra lennének szétszedve,

és akkor lehetővé válna az EP -vel beszedni azt s sokféle értéket, mint korábban írtam ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 21:13:38
Quote
Minden második drót GND.
Jó, de a csatlakozóik azok 40 pinesek ...

Oké, hogy 80 zsinórból minden második föld, de hát honnan kapják a földet ? A csatlakozók kiképzése olyan, hogy egyik (a föld) lábat ratolja 40 zsinórra ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 21:15:32
Quote from: Z80System
A csatlakozók kiképzése olyan, hogy egyik (a föld) lábat ratolja 40 zsinórra ?
Igen.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 21:18:31
Quote from: Z80System
Kontrol portoknál is lenne egyébként olyan lehetőség, hogy kivinném a nemtomhánybites értéket, mielőtt még 4irány+lövés drótra lennének szétszedve,

és akkor lehetővé válna az EP -vel beszedni azt s sokféle értéket, mint korábban írtam ?
4 bites értéked van, így 16x3-at lehetene, azaz összesen 48-at.
Meg a billentyűzeten a plusz sorokban kapsz 6x8-at, ami szintén 48.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 21:43:39
Itt mikor a billentyűzetnél nem a 10 bitet vesszük figyelembe, amelyek közül garantáltan csak egyik lesz kijelölt,
hanem 4 biten vesszük le a "címet", akkor nem alakul ki itt valami időzítési kérdés ?

Tehát honnan tudhatom hogy egy olyan időpillanat van, amikor mind a 4 bitem jó, és leolvashatom őket ?

Ugyanez visszafele, mikor beírom neki a 8 bitet visszafele, nem kellene valami 9. madzagon jeleznem neki, hogy na most kész mind a 8 bit, veheted befele ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.01. 22:35:17
Nincs itt semmilyen időzítés. A 8 bement az mindig aktív, és folyamatosan változhat, ahogy nyomkodja a felhasználó a gombokat :-)
A beszedést a 27-es IC végzi, az IN x,(0B5h) utasítás eredményeként beengedi az aktuális 8 bitet a billentyű csatlakozóról a Z80 adatbuszra.
Ha nem akarod folytonosan a 4 bit értékét újraolvasni, akkor a 25-ös IC 1-es lábát figyelve lehet megtudni, hogy új érték lett kiírva a 0B5h portra, azaz a jelen esetben érdekes 4 bit módosult.
Ha van olyan ebben a cuccban, hogy IRQ, akkor ezt arra lehetne használni.

Ami lényeg: annyi idő alatt ami a leggyorsabb 0B5h írás és olvasás között eltelik, neked detektálni kell, hogy már másik sor kell, és azt a 8 bitet kirakni.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 22:50:41
Quote
Ha van olyan ebben a cuccban, hogy IRQ, akkor ezt arra lehetne használni.

Van benne IRQ, de asszem csak egy lábon lehet használni, ami végülis lényegtelen,
de vannak olyanok is, amik minden lábon képesek megszakítani.

Bár például forrás azonosítást nemtom lehet -e. Persze itt most csak egy forrás lenne.

Azt már néztem, hogy egy már megírt ps/2 bill. kezelőben is a megszakítást használják,
mert ott is valami futó élre kell olvasni, vagy mi ...

Quote
25-ös IC 1-es lábát figyelve lehet megtudni
Felfut, lefut, hovafut ?

Quote
Ami lényeg: annyi idő alatt ami a leggyorsabb 0B5h írás és olvasás között eltelik, neked detektálni kell, hogy már másik sor kell, és azt a 8 bitet kirakni.
És ez sztd kb. mennyi idő ? Ez gyakorlatilag egy 4 MHz z80 out és közvetlen utána jövő in között eltelt idő, nem ? Lehet kb. 4-6 mikroszekundum ...

Mivel ez a chip 16 mhz, nincsen nagyságrendi különbség az órajelek között ... Ajánlott a megszak, nem ?




És sztm az olvasási irányban is van idő dolog, nem csak a visszaírási dolognál, mert azzal hogy én beállítok a következő in -ig,
attól még előfordulhat az simán, hogy én 2 bitet beolvasok, erre a z80 felülfrissíti a 4 bitet, és második kettőnek már az újat olvasom,
vagyis nem azt fogom neki beadni amit kért, mert nem jól olvastam k ia 4 bitet ... nem ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.01. 23:24:39
Az a (nem elvi) megoldás, hogy bár az arduino platform API nem tartalmaz ilyet, de attól még természetesen direkt port író/olvasó műveletekkel lehet egyszerre több bitet kezelni.

Lehet hogy ez már ténylegesen egy órajelciklusban történik meg, az is lehet, hogy valami élre (ahhoz hogy megtudjam, a tényleges mikrokontroller helpjét kéne olvassam, amik ilyen 1000 oldalas (szó szerint) doksik tudnak lenni ...

Mindenesetre mégha élre történik a port (több bit) írás/olvasás, az az él akkor sem kell szinkronban legyen a z80 -on beálló változásokkal. Vagy z80 -on is egyszerre állnak a be a bitek a billentyű/joy port esetében ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 15:54:52
Hát pedig egyébként ez a raspberry pi is piszkálja továbbra is a csőrömet ...

40 GPIO -ja van, 800 Mhz -es cpu -ja, 512MB ram -ja ...

Értem hogy atombombával verébre, de ha egyszer 15 -ezerből megvan dobozostól,
olcsóbban kijön mint a mikrokontrolleres lapkás kombók ...

Mondjuk tápolását még nem néztem, az igaz ...

Csak ezzel az időzítés kérdéssel ne "ijesztettetek volna be", akkor komolyan foglalkoznék a dologgal ...
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.02. 16:11:45
Quote from: Z80System
Van benne IRQ, de asszem csak egy lábon lehet használni, ami végülis lényegtelen,
de vannak olyanok is, amik minden lábon képesek megszakítani.

Bár például forrás azonosítást nemtom lehet -e. Persze itt most csak egy forrás lenne.

Azt már néztem, hogy egy már megírt ps/2 bill. kezelőben is a megszakítást használják,
mert ott is valami futó élre kell olvasni, vagy mi ...
Felfut, lefut, hovafut ?
És ez sztd kb. mennyi idő ? Ez gyakorlatilag egy 4 MHz z80 out és közvetlen utána jövő in között eltelt idő, nem ? Lehet kb. 4-6 mikroszekundum ...

Mivel ez a chip 16 mhz, nincsen nagyságrendi különbség az órajelek között ... Ajánlott a megszak, nem ?




És sztm az olvasási irányban is van idő dolog, nem csak a visszaírási dolognál, mert azzal hogy én beállítok a következő in -ig,
attól még előfordulhat az simán, hogy én 2 bitet beolvasok, erre a z80 felülfrissíti a 4 bitet, és második kettőnek már az újat olvasom,
vagyis nem azt fogom neki beadni amit kért, mert nem jól olvastam k ia 4 bitet ... nem ?
16x gyorsabb, mint a 4MHz-es Z80, mivel az AVR-ek egy utasítás lefut egy ciklus alatt, míg Z80-on minimum 4 ciklus kell egy utasításhoz.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 16:18:29
Ha jól tippelem max 11 Z80 órajel alatt kell megoldani a dolgot.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 16:28:35
Quote
Ha jól tippelem max 11 Z80 órajel alatt kell megoldani a dolgot.
És csak akkor ha tényleg használok megszakítást arra, hogy észrevegyem a megváltozást ...

Tehát ha van az a jel amit mondasz, hogy na, most megváltozott. Na akkor van 11 z80 óraciklusom, hogy beolvassam a 4 bitet, hogy mit kérnek, és beállítsam a 8 bitet arra, amit kértek, igaz ?

És akkor arról nem is beszélve, hogy ehhez akkor kell +1 vonal, a megszakításhoz ...

És akkor ez még csak a billentyűzet problémája,
a joystick -nál nincs ilyen megszakításra használható jelem ... ott észre kell vennem simán, hogy az 5 inputom közül melyik aktív, és beadnom a választ ... gondolom szintén 11 z80 ciklus idő alatt ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 16:39:32
Quote from: Z80System
Tehát ha van az a jel amit mondasz, hogy na, most megváltozott. Na akkor van 11 z80 óraciklusom, hogy beolvassam a 4 bitet, hogy mit kérnek, és beállítsam a 8 bitet arra, amit kértek, igaz ?
Igen. És aztán a 8 bitnek folyamatosan változni kell, ha nyomkodják az oda tartozó gombokat. Ismételt beolvasáshoz nem kell újabb B5h írás, pl egy space-ra várásnál elég a ciklus elött beállítani a B5h értékét, utána már csak olvasni kell meg tesztelni, hogy megnyomták-e.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 16:50:06
Hmmm ... hát így belegondolva ... lehet hogy nem egy ilyen sovi 16 Mhz -es cuccal kellett volna erre rámenni ...

Kényelmes melóhoz kéne ide egy 100 MHz -es dolog ... nem ? Vagy mégtöbb ?

Nyilván idő fog elmenni a PS/2 vagy USB billentyűzet beolvasásával is, azt is csinálnom kell a loop -omban ...

Arról nem is beszélve, hogy a PS/2 bill olvasása is használja a megszakítást ...

Most egy kicsit nem értem, hogy mi itt a helyzet ... valahogy azt hittem, hogy egy ilyen bill. csatolási feladathoz egy EP -nél 4X nagyobb órajelű dolog az simaliba ... kényelmes dolog lehet ...

De most kicsit úgy kezdem érezni, hogy nem ...

Persze lehet hogy csak nem értek valamit ...

Az mindenesetre tök hülyen hangzik, hogy egy 16MHz -es bill illesztő nem elég gyors a 4 MHz -es EP -hez ... :)
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.02. 18:34:45
bőven elég kell, hogy legyen a 16MHz, csak assembly-ben kéne programozni... :mrgreen:

nem csak az az előnye, hogy gyorsabb, hanem pontosan ki lehet számolni az időzítéseket. Vagyis pontosan tudod, hogy két asm utasítás között lesz 62.6 ns (16MHz-en).
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.02. 20:33:26
Quote from: Povi
bőven elég kell, hogy legyen a 16MHz, csak assembly-ben kéne programozni... :mrgreen:

nem csak az az előnye, hogy gyorsabb, hanem pontosan ki lehet számolni az időzítéseket. Vagyis pontosan tudod, hogy két asm utasítás között lesz 62.6 ns (16MHz-en).

Pontosan. Most amivel foglalkozni szeretnek (tobbek kozott!) VGA jel eloallitasa kozvetlenul "filleres" AVR altal (tudom van ilyen project mar, de megam szeretnem "felfedezni"). Ott is az a lenyeg hogy orajel pontossagra kiszamolja az ember, hogy fog osszejonni ... Meg szerencse, hogy AVR RISC-ben ez azert egesz egyszeru, legalabbis nincs _annyira_ sok variacio :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.02. 20:38:46
Amire gondoltam anno en billencs illesztesnel: nem lenne szinte semmi idozites gond, ha szerezne az ember egy kis kapacitasa (cca 10*8 bites is eleg lenne) dual port SRAM-ot, vagy vmi hasonlot. Igy a RAM egyes bitjeinek pontos allasa szimulalja a billentyuket. EP valtogathatja a cuccost a 0xB5 porton akar 1GHz-es Z80-al is :) akkor is jo lesz, a dual port RAM egyik portjanak cimbusza kapcsolodik ugye a B5 iras cuccosra, az onnan olvasott adat (adatbusz) meg B5 in iranyban. A dual port RAM masik busza meg csatlakozik az MCU-hoz, aki szep kenyelmes tempoban ahogy neki tetszik irja a RAM tartalmat. Tudom, nekem maniam a dual port RAM (tobbszor felhoztam), pedig olyan meg nem is volt soha a kezemben :D
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 21:11:10
Mindenesetre anno Tigriannak sikerült egy ilyen cuccal (http://www.atmel.com/images/doc2543.pdf) a PS/2 illesztés. (http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 21:24:46
Mindenesetre én meglepődtem ...

Valahogy úgy éreztem (a "gondolni" szó már túl erős), hogy ha az ember 4 MHz -es z80 rendszerhez akar valami hardvert csinálni, mely hardver ráadásul mindösszesen annyi,
hogy figyel pár vezetéket, és a vezetékek állapotától függően rak értékeket pár másik vezetékre, és mellesleg még feldolgoz valami ps/2 vagy usb eszköztől kapot néhány bájtos memóriabuffereket, függvényhívásokat,
akkor egy 16 MHz -es cucc olyan érték (hisz csak 4MHz a proci, amihez kapcsolódni akarok), aminél a sebesség mint olyan fel sem merülhet mint paraméter.

Pedig valójában nagyon is felmerül. A 160 vagy az 1600 MHz lenne az az érték, ahol ez a dolog fel sem merülne ...

Valószínűleg amiket én csinálni akarok, azok is olyan feladatok, amiket egy olyan "programozható logikai áramkör" kütyüvel sokkal jobban meg lehetne csinálni,
mint egy ilyen mikroprocesszoros rendszerrel.

Nem látom igazából az elvi különbséget, sosem tanultam digitális hálózatokat, vagy ezek elvi okosságait, csak valahogy úgy érzem, hogy mivel a feladatok nem annyira "algoritmikusak",
simán, vagy könnyen le lehetne írni őket olyan alkatrésszel, ahol "nincs loop", és a "jel terjedése" igazából nem függ valami proci ciklusidejétől, hanem egyszrűen a logikai kapuk késleltetéseitől ... de most el ne kezdjétek, hogy a proci is csak logikai kapuk ... :)

Nyilván sokkal egyszerűbb amit meg akarok csinálni, minthogy egyáltalán egy proci kéne hozzá. Pld. egy joy illesztésnél ... Persze egy olyan feladatnál, mint egy PS/2 vagy USB eszköztől kapott memóriabuffer feldolgozása mi a helyzet azt még nem látom ... 100% -ban azt sem látom, hogy lehetne -e ilyen feladathoz tervezni logikai áramkört ... vagy mire megtervezném ezt a logikai áramkört, addigra nem "procinak" hívnák -e ... :)

Szóval valószínűleg logikai hálózatok tervezésében is sokkal jártasabbnak kéne legyek ahhoz, hogy programozható logikai áramkörrel próbáljam megoldani a feladatot ...

Mikroprocesszoros rendszerekhez, szoftverhez meg azért nem vagyok annyira hülye.

Csak valahogy ezekhez az alacsonyszintű dolgokhoz, amiknek kb. a kapuk késleltetésével (nanoszekundumuknál is kisebb lehet) kéne megtörténjen, ott valahogy gyenge a mikroprocesszoros rendszer ciklusideje.

Értem hogy ki lehet számolni hogy z80 ez valam 11 miroszek vagy mennyi, de mi lenne ha én ezt a joy illesztőt egy 100MHz -es géphez akarnám passzintani ? Akkor meg 1000 MHz mikrokontrolert kéne alkalmazzak, és azzal kéne olyan megfontolásokkal megoldjam a dolgot mint jelenleg a 4/16MHz esetben ...

Szóval mikor a ps/2, usb eszközök adatainak értelmezésével kell molyolni, oda valószínűleg a procis rendszer okés, de mikor ilyen jelek figyeléséről, meg kiírásáról van szó, akkor meg az oda szükséges gyors (kvázi 0 idejű) működést sima logikai kapukkal kéne megcsinálni ... vagy nemtom ...

Most találkozok ilyen problémákkal először ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 21:30:27
Quote
Mindenesetre anno Tigriannak sikerült egy ilyen cuccal (http://www.atmel.com/images/doc2543.pdf) a PS/2 illesztés. (http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)
(http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)
Igen, azt én is valószínüsítem, hogy a feladat (azzal a lappal amit én választottam most) nem lehetetlen ...

(Valószínű hogy a linkelt atmel még sokkal gyengébb is, majd ellenőrzöm. (Nem dokumentálta egyébként az ember, részletesebben ? Kíváncsi lennék mit hogy csinált.))

Szóval inkább csak azon csodálkozok, hogy egy 16 MHz es mikroprocesszoros rendszernél még egyáltalán bármilyen formában figyelembe kell venni az időt, egy billentyű illesztéshez ... egy 4 MHz -es renszrnél, ami valszeg 10X lassabb mint amivel a billentyűt illeszteni szándékozok ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 21:37:00
Az is külön érdekes kérdés, hogy (ellenőriztem, lehet 4 független interrupt forrásom is, de kettő mindenképp),

szóval hogy figyelnem kell majd pld. a PS/2 eszközöknél valami órajelre, melyet az eszköz ad, és lefutó élénél kell majd adatbiteket olvassak ... ezt nyilván interrupttal tudom megcsinálni (hacsak nem annyira gyors a loop -om, hogy simán loop -ban olvasgatva sem hagyok ki egyetlen lefutó élt sem, de én megszakkal akarom),

csakhogy kell egy másik megszak is, ami meg az EP -t figyeli, és gyorsan kiszolgálja, ha kell ...

namost mi van ha egyikkel törődök még, mikor már jön a másik ... persze el lehet itt kezdeni, hogy nézzem meg milyen hosszú egyik, meg másik, és valahogy trükközzem össze a megszak prioritásokkal, meg ilyenekkel, hogy mindkettő ki legyen szolgálva idejében ... de amit én magyarázni próbálok, az az, hogy én tökre azt hittem, hogy a 10X -es sebességnél már ilyen megfontolásokat, trükközéseket nem kell csinálni egy sima billentyű kezelésnél ... pedig dehogynem ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 21:37:10
Quote from: Z80System
Most találkozok ilyen problémákkal először ...
Én nem :oops:
Amit én akarok ott is erősen kérdéses, hogy mi jön ki belőle... de ígérik annak a cuccnak új generációját, ami már 16 mag, 200Mhz, 64 IO lesz :-) bár itt majd kérdéses lesz, mennyire lesz otthonilag kezelhető kivitel. Bár valami paneles verzió biztos lesz előbb utóbb.

Az esetedben az eredetileg akart egér illesztés az egyszerübb dolog, hiszen ott te írhatod a MOUSE.XR-be a vevő részt, így összehangolható kényelmesen a dolog.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 21:39:40
Quote
em lenne szinte semmi idozites gond, ha szerezne az ember egy kis kapacitasa (cca 10*8 bites is eleg lenne) dual port SRAM-ot, vagy vmi hasonlot. 
Igen de az én projektem olyan, hogy nem akarok építeni. Maxi szerelés annyi lehet, hogy vezetékeket forrasztok össze,
és pld egy külső joy illesztőnél nem lehet rászerelni a meglévő alkatrészekre, meg ilyenek ... Szóval egy darabba összeszerelhető dologban gondolkodok ... mint egy ilyen mikrokontroler kártya ... mindegy végülis, de PCB ne kelljen ... akkor se ha kintre lesz az áramkör ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 21:40:38
Quote from: Z80System
(Valószínű hogy a linkelt atmel még sokkal gyengébb is, majd ellenőrzöm. (Nem dokumentálta egyébként az ember, részletesebben ? Kíváncsi lennék mit hogy csinált.))
Itt a topikja a projektnek. (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/) Van is ott valami forráskód betéve.

Amit belsőleg tudott órajelet a vezérlő az 4MHz-es géphez volt elég, turbós (ami abban az időben 6/7.12Mhz volt) géphez egy külső 18.43Mhz-es kristály lett rátéve.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.02. 21:52:23
Quote from: Zozosoft
Mindenesetre anno Tigriannak sikerült egy ilyen cuccal (http://www.atmel.com/images/doc2543.pdf) a PS/2 illesztés. (http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)

ja, emlekszem. Nem lehetetlen, csak "kenyelmetlen" :) amugy ezzel mi lett? Emlekeim szerint "atirodott" a flash neha, az meg gaz volt :( Azota ebben nincs elorelepes? max ki kene venni az upgrade lehetoseget, vagy egy jumperrel engedni, vagy tudomisen :) Vagy nem az okozta a gondot, hogy ez a "firmware" frissites sw-bol jellegu cucc kapcsan bejott ez a bug is?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 21:56:46
Elhalt a dolog, leginkább azért mert Tigriannak már nem volt ideje EP-zni :-(

Nem tudom hol ment bele a bug, de az elvileg nem módosuló boot loader is meg tudott sérülni, és akkor már kiszedéssel, újraprogramozással lehet feléleszteni. Nekem volt egy sima és és egy turbós is, de mindkettő megzakkant.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 22:02:26
Quote
Nem tudom hol ment bele a bug, de az elvileg nem módosuló boot loader is meg tudott sérülni,
Na látjátok ilyen szempontból is sokkal jobb egy kész, kipróbált agyontesztelt mikrokontrolleres kártya:
nekem ilyen gondom nem lesz, mivel smd -sek, kártyában is elég kicsik tudnak lenni,
és a feltöltés, programozás, minden olyan dolog, ami NAGYOBB melót igényelne, mint a tényleges feladat (dógok illesztése),
már rég kész, programok, support adott.

Én egy kész kis elektronikát használok, még akkor is ha az csak egy AVR kivezető lap szinte, de az a "szinte" okozza azt a kompaktságot, amitől érdemes amatőr szinten nekifutni ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 22:24:48
Annak nagyon örülök, hogy Zozó vékonydrótos tippjével, meg a tápcsatlakozónál, gép alján lévő pont jó irányú "hűtőrácsfelfedezésemmel" hátul nagyon kényelmesen kivezethető a bill. összes vezetéke, meg még mellé amik kellenek, tápok, reszet, jelzőbit, akármi ... oly módon, hogy az a végső, összerakott gépnél sem ront az esztétikán (lévén alul/hátul), ráadásul roncsolni sem kell semmit ...

Elvben beszerzek még pár drótot, meg csatlakozót, (meg egy ps/2 bill. -t persze ... :)) és nagyon remélem hogy ezzel az egy mikrokontrollerres lappal (ami akkora kb. mit a z80 a gépben) kívülről megoldható az USB -s ezsközökön kívülről minden, amit csak csatolni akartam az EP -hez ...

Már az is tök jó poén lesz, hogy vezetékesből azt rakok rá, amit csak akarok, legyen az sokgombos joy, sega megadrive kontroller, vagy ps/2 -es mouse/keyboard.

Persze ezzel a mikrokontrollerrel amim van a GPIO -k száma miatt valószínűleg nem minden egyszerre lesz rádugható, hanem egyszerre mindíg csak egy eszközt tud majd kezelni előbbiek közül, de később egy többlábassal, vagy több ilyennel akárhány eszköz lehet egyszerre, pld. mind a négy ... :)

Aztán következő lépés lesz az USB, de közben arra is rájöttem, hogy igazából usb -ből is vannak joy -ok és játékvezérlők is, azokat sem szabad kihagyni ... és mindezekből van már vezetéknélküli is ugye ...

Szóval azzal hogy a billentyű (vagy újfajta egér) drótok hátra lesznek vezetve, nem különül el többé a dolog külső elektronikával csatolt,
és belülre szerelhető elektronikával csatolt dologra,
hanem szépen összeforrt a két projekt: vannak a gép hátán csatlakozók, amiken ott van MINDENféle input device,
és kell csinálni (akár egyetlen!) hardvert ami azokra illeszteni tud ... bármit! :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.02. 22:31:01
Quote from: Z80System
Na látjátok ilyen szempontból is sokkal jobb egy kész, kipróbált agyontesztelt mikrokontrolleres kártya

Ezzel nem ertek egyet (egy AVR szerinted nem tesztelt, de a ra epulo kartya az tuti? vagy nem ertem), nem normalis, hogy egy MCU flash tartalma csak ugy serul. Mivel az Arduinoban is pont AVR van, ha hozzakotod, az is ugyanugy serulhet, ha az talalja ki az ember, mi a fene lehetett itt a hatterben. Lehet, EP-tol kap tusket, vagy tudomisen. De akkor az masra is veszelyes lehet. Igen, az Arduinora is. Bar pl nem tudom, hogy a fenti projectben pontosan hogy volt felprogramozva az az MCU, pl a brown-out volt-e hasznalva stb, de talan anno irtam is a tasztillesztos szalban. Oh, regen volt, megkeresem ... Szoval ki tudja. Nehez dolgok ezek :(
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 22:38:30
Quote
Ezzel nem ertek egyet 
Hát nekem az volt a feltételezésem, hogy nyilván nem a cucc volt rossz, hanem a programozásba, inicializálásban, akármiben rontott el valamit a tigrian nevű illető ...

Persze ez csak prekoncepció, nincs bizonyítva.

De ha igaz, akkor onnantól áll amit mondtam: az a hiba olyan kódban van, amit nekem már nem kell elkövetnem, mert nekem kompakt platformként adták oda a cuccot,
és nem kell az aljáról programoznom.

Olyan ez mint a védett mód a 386 -nál ... köllött a 32 bit, meg a lineáris memória, de én akkor is csak alkalmazást programozni akartam volna 32 biten,
na de ahhoz hogy az első pixelt kirakjam, ahhoz előtte hetekig nyammogni kellett dos alól a protected mód bekapcsolásához ... hogy minden szaros descriptort, meg interrupt vektort, meg francemlékszikmármiket az ember korrektül felállítson ... hogy végre beírhassa az egy sort, ami kirakja a pixelt ...

Nyilván (nem nyilván, értem) ott is valami nem jól lett megcsinálva, és emiatt mehet tönkre a progi a cuccban ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 22:39:59
Quote
Már az is tök jó poén lesz, hogy vezetékesből azt rakok rá, amit csak akarok, legyen az sokgombos joy, sega megadrive kontroller, vagy ps/2 -es mouse/keyboard.
És menni fog az autofire is ! Végre !!! :)

Olyan autofire -os joy -aim meg kontrollereim vannak, hogy húsz potival lehet állítani rajtuk az autofire frekvenciáit, jellemzőit ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.02. 23:05:24
Quote from: Z80System
Hát nekem az volt a feltételezésem, hogy nyilván nem a cucc volt rossz, hanem a programozásba, inicializálásban, akármiben rontott el valamit a tigrian nevű illető ...

Vegulis, ez a feltetelezes sem biztos, hogy rossz. Meg 2012-ben a tasztillesztos topic-ban (most olvastam vissza, mar el is felejtettem) irtam pont erre, hogy jo lenne tudni, hogy pl a BOD engedelyezve volt-e, tobbek kozott hasonlo dolgok kivedesre is hivatott lehet, amennyire en tudom. Amugy ott volt az AVR forras is, de az mar nem letoltheto. :( Most meg mar nem talalom, az vmi regebbi elfekvo gepem hdd-jen lehet :( Mondjuk a FUSE bitek allasa akkor sem biztos, hogy benne volt, mert az nem a program resze, hanem az AVR programozasanal kell beallitani.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.02. 23:07:59
Quote from: lgb
Amugy ott volt az AVR forras is, de az mar nem letoltheto. :( Most meg mar nem talalom, az vmi regebbi elfekvo gepem hdd-jen lehet :(
Reméljük meg van, mert innen szerintem a nagy szerver összeomlásban tűnhetett el :-(
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.02. 23:14:56
Quote
Amugy ott volt az AVR forras is, de az mar nem letoltheto
Ja én is átfutottam a topikot, de én sem találtam olyat nagyon, ami magyarázna részleteket a dologról.

De végső soron nem gáz, mert az arduino "hivatalos" kontributált listáján van egy teljes PS/2 billentyű kezelő,
úgyhogy ott meg tudok majd nézni egy implementációt, az egér meg annak valami deriváltja lesz remélhetőleg,
abban bízom hogy csak a beolvasott bitek értelmezése lesz más egérnél. (Még nem néztem a PS2 protokollokat.)

De persze attól még majd össze kell hekkelni a kártyámmal is, meg az EP oldali jelekkel is.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 00:00:39
Quote from: Z80System
De végső soron nem gáz, mert az arduino "hivatalos" kontributált listáján van egy teljes PS/2 billentyű kezelő

En most csak arra utaltam, ami segithetne megfejteni azt, hogy miert "megy tonkre" a cucc, vagyis serult a flash tartalma. Nyilvan lehetne ujat csinalni, de szerintem itt vmi komoly gixer van, ilyennek nem kene tortennie. Ha meg megtortenik, lehet egy mas design-nal is elo fog jonni. persze, lehet hogy nem :D
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.03. 00:05:06
Emlékeim szerint gyors, többszöri, gép ki-be kapcsolgatástól tudott megdögleni. (Asszem valami EXDOSt próbáltam csatlakoztatni, amit csak többedik próbálkozásra látta a gép.)
Volt amikor az EP-s programmal helyre lehetett rakni, de amikor a boot loader sérült, akkor lehetett kiforrasztani.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 00:35:06
Quote from: Zozosoft
Emlékeim szerint gyors, többszöri, gép ki-be kapcsolgatástól tudott megdögleni. (Asszem valami EXDOSt próbáltam csatlakoztatni, amit csak többedik próbálkozásra látta a gép.)
Volt amikor az EP-s programmal helyre lehetett rakni, de amikor a boot loader sérült, akkor lehetett kiforrasztani.

Hmmm, igy belegondolva ... Van vhol leiras, hogy AVR pontosan hogy lett rareszelve a gepre? pl AVR reset laba? A problema az, amire amugy az AVR leirasa is figyelmeztet, hogy specifikacion aluli feszultsegszinten nyilvan (mint minden elektronikus alkatresz) nem mukodik megfeleloen, kulon kiter arra hogy flash serules is lehet, mert pl a programkod vegrehajtasa soran total hibasan ertelmez dolgokat, stb. Ennek a leiras szerint azonban vannak ellenszerei. Egyik pl az, hogy RESET-ben kell tartani az AVR-t amig tapfesz nem normalizalodik. Ezert is kerdeztem, hogy lett bekotve az. Lehet, az EP ki-be kapcsolasnal foleg gyorsan egymas utan novelte a valoszinuseget, hogy tul alacsony tapfesz tovabb fennmarad, az AVR-nek meg nem volt kulon RESET elhozva az EP-tol? Masik ajanlott ellenszer: a mar emlitett BOD (Brown-Out Detector, vagy mi a szosz). Ezt a FUSE bitekkel kell beallitani programozasnal, es arra jo, hogy adott feszultsegszint alatt nem engedi hulyeskedni az AVR-t, cserebe sleep modban tobbet fogyaszt az MCU (ennek EP-n nincs jelentosege, csak mas projecteknel ahol sleep-eltetik is a cuccost neha). Ja, es ha boot loader-t nem nagyon kell frissiteni: szokott lenni egy lock bit arra, hogy a loader legalabb ne legyen irhato. Illetve Atmel-ek irnak meg par dolgot, kulon szekcio van a flash corruption megelozesere, bar 2012-ben is kb hasonlot irtam, most el is olvastam a specifikacio vonatkozo reszet (mondjuk nem eppen a kerdeses ATtiny-et, de gondolom ezek altalanos ervenyu tanacsok).

Btw, Zozo, pont amit te is kuldtel PDF, 157. oldalon ott is irnak errol, "Preventing Flash Corruption".

Tul'keppen lehet, csak nemi FUSE bit allitas kene az eredeti MCU-s taszt illeszton (BOD bekapcsolasa), es utana nem fordulna tobbe elo a gond?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 14:01:20
Hmmm ... most jut eszembe, hogy ps/2 -höz is gyártottak vezetéknélküli cuccokat, sztm. nekem is van otthon, még tíz évvel korábbról ... Ilyen külső egységek voltak, rádióval, amik ps/2 -be mentek bele.

És mivel mostmár nem beépíthető egységben, hanem roncsolás nélkül kivezetett, külső eszközben gondolkodok a billentyűnél is, ezért akár a ps/2 -t is lehet komolyan venni, nekem is ...

Úgyhogy akár ps/2 -nél is lehet vezeték nélküli a dolog, nem is kell megvárni az USB -t.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 14:14:43
Quote from: Z80System
Hmmm ... most jut eszembe, hogy ps/2 -höz is gyártottak vezetéknélküli cuccokat, sztm. nekem is van otthon, még tíz évvel korábbról ... Ilyen külső egységek voltak, rádióval, amik ps/2 -be mentek bele.

És mivel mostmár nem beépíthető egységben, hanem roncsolás nélkül kivezetett, külső eszközben gondolkodok a billentyűnél is, ezért akár a ps/2 -t is lehet komolyan venni, nekem is ...

Úgyhogy akár ps/2 -nél is lehet vezeték nélküli a dolog, nem is kell megvárni az USB -t.

PS/2 elonye, hogy egyszeru. Hatranya, hogy ugye egyre kevesebb van belole bill+eger manapsag. Ezen segithet a passziv USB-PS/2 atalakito, ami filleres dolog, elektronika nincs is benne. Ezzel az a gond, hogy csak akkor mukodik, ha a kerdeses eszkoz "tudja" a PS/2-t is, meg ha USB kabele is van, elektronikus szinten PS/2-t kell beszelnie a cuccnak, hogy mukodjon. Anno C64DTV moddingnal talalkoztam viszont azonnal olyan USB billenccsel amivel nem ment passziv atalakitoval. Viszont, van aktiv PS/2-USB kulso atalakito is, azzal elvileg mennie kell PS/2-re dugva minden USB-s bill+egernek. Tehat a kerdes tenyleg az, hogy megeri-e az USB-vel a szivas ezek utan. Mondjuk egy USB host az EP-be azert cool lenne, lasd az USB hattertaras topic-omat, ha nem is bill+egerrol van szo eppen :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 14:38:52
Ilyen "aktív" típusú usb->ps/2 konverterrel nem találkoztam még ... pedig kerestem ...

Azért én az USB -t is meg fogom csinálni.

Mivel én kész panel + library kombóval dolgozok (majd USB esetében is), és a könyvtár -nak van háttértár alkönyvtára is,
ezért a mikrokontrollerig nem lenne nehéz (mert kész van, amúgy nyilván nehéz lenne),

de azután a mikrokontrollernek nyilván egész máshova kéne kapcsolódjon az EP -ben, mint ahol a billentyűt vagy az egeret kezelem majd,

szóval nem nagyon értem ezt az "USB host az EP -ben" dolgot (mindamellett hogy nem is beleszerelhetőre csinálom, hanem külső eszközként),

hisz olyan mikrokontrollert kéne akkor belülre szerelni, aminek lenne annyi lába, meg sebessége, hogy az összes dolgot amit csak USB -re lehet dugni (egér, billentyű, háttértár, és akkor innentől bármi ...) képes legyen az EP -ben megvezérelni, egyszerre ...

és akkor egy hub -bal akármit rá lehetne dugni az EP -re, mondjuk egy kiszerelt usb csatlakozóval ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 14:50:42
Na, itt megall a tudomanyom, pl nem tudom, hogy sima USB hub-ot ra lehet-e tenni egy atlag MCU vagy akarmi altal implementalt USB portra, es tudja-e kezelni vagy o mindig csak egy eszkozre szamit. Anno voltak olyasmik amik pl USB hub-rol nem mentek, tehat valami kulonbseg kell, hogy legyen ... Pedig tenyleg jo lenne ;) Igen, abban igazad van, hogy az USB a bill+egerre kicsit mas teszta mint USB hattertar fogadasa, max az egyeduli kozos pont az USB :D En abbol indultam csak ki, hogy ha nekiallnek ilyennek, inkabb megprobalnam egy fust alatt (persze ha megy, fene tudja ...) megoldani az osszes USB-vel lehetseges/celszeru dolgot, es az sem baj, ha nem kulso. Persze ennek hatranyai is vannak, ha egyaltalan meg lehet igy oldani, elegge elvi szinten gondolkodok meg csak ezen ... Aktiv USB-PS/2 atalakitot en is csak "hallottam, hogy van" latni nem lattam :(
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 14:52:11
Persze ... valahol minden flexibilis ...

Kintre szerelni, bentre szerelni részletkérdés ...

Én most majd kezelek N típusú eszközt, a háttértár "csak" +1 új eszköz ...

Belül így vagy úgy minden elérhető, kívülre van amit ki kell vezetni (pld. bill vonalak) ...

Ki/be szerelés meg csak méretek kérdése ...

Még az is lehet, hogy mire a végére érek, olyan eszköz lesz amit lehet belülre szerelni, és csak az USB -t kell kivezetni róla ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 14:54:27
Az az USB host könyvtár, ami arduino alá van írva, az 99% hogy kezeli a hubot ... más usb host implementációk kiköthetik, hogy ők tudnak hubot fogadni, vagy csak egyből az eszközt ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 15:04:32
Quote
Még az is lehet, hogy mire a végére érek, olyan eszköz lesz amit lehet belülre szerelni, és csak az USB -t kell kivezetni róla ... (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)
Sőt ... kicsit a felhasználási logikába is belegondolva ...

Az ilyen régi fajta digitális joystick, meg ps/2 eszközöknek eszközönként kell egy csatlakozó, és megfelelő számú vonal befele az EP be ...

Ezeknek az eszközöknek ps/2 -ig bezárva most megcsinálom a külső eszközt, mely a billentyű vonalak kivezetését igényli, de egyébként egy külön kis külső "doboz" ...



Aztán persze mikor az USB jön, az éppígy lehetne külső doboz,
de mivel USB -nél (az ilyen hub -ok meg mindenféle kombinált rádiós nano receiver -ek miatt) elég lehet egyetlen plusz csatlakozó is minden rádugott eszközhöz,
ezért azt már érdemesebb lenne beletervezni az EP -be, mint ahogy a tigrian -os PS/2 volt ...

Persze ehhez ki kell tudni szerelni a gépre egy USB ajzatot, vagy valahogy USB vezetéket lógatni ki a gépből a meglévő hűtőrácsokon, és az USB vezetékének lehet vannak sokkal nagyobb követelményei, mintsem csak úgy kilógatható lenne, szalagkábelként ...

Meg persze egy belső eszköz sokkal több beforrasztott kábel kell legyen belül ... nagyobb mókolás ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 15:15:16
DE az valóban nagy só lenne, ha EP -n lenne egy USB, amire hubbal rákötöd a PC billt/egeret/joyt/játekvezérlőt/háttértárat ... és működnek ... :) !

És ez nem kivitelezhetetlen, amennyire itt most belemásztam a dolgokba ... szinte mindenünk megvan már hozzá ...

Persze én biztos nem fogok az USB háttértárhoz EXOS bővítőket írogatni, meg magamtól nem találnám meg azt sem, hogy kellene átadjam az adatot az EP -nek,

de úgy értem, hogy Zozóval, mint a billentyűzetet is ... hogy megmondja ... na úgy már mindenünk megvan hozzá ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 17:19:37
Zozo, kb. mi az a minimális vezetékszám, amit ki kéne vezetni az EP -ből abban az esetben,
ha szeretnék USB -n betöltést is csinálni az EP -be ?

Tehát a cartridge -nek ugye van vagy 25 csatija kb, de azzal ő tud ram bővítő is lenni, meg mittudom én ...
Ha én csak annyit akarnék, hogy egy olyan kommunikációm legyen amivel "betölteni" tudok,
és én azt kívülre akarom csinálni, nem beszerelni a gépbe, az kb. mennyi drót ?

Mert nyilván nem kell hozzá annyi mint a bővítőcsatin, hisz a cartridge -on is működik, az meg sokkal kevesebb drót,
de mennyi a minimum, hogy egy betöltés működhessen ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 17:37:36
Quote from: Z80System
Zozo, kb. mi az a minimális vezetékszám, amit ki kéne vezetni az EP -ből abban az esetben,
ha szeretnék USB -n betöltést is csinálni az EP -be ?

Bar nem vagyok Zozo .., :) de szerintem ez attol fugg, hogyan oldod meg. Konkretan: ha az USB illeszto cuccosod kulso, onnantol te dontod el, hogy kommunikal az az EP-vel, vegulis ket droton RS232-vel is mehetne akar, bar ez nyilvan inkabb vicc :) Gondolom 8 bites parhuzamos adatatvitelre gondolsz. Tehat 8 vezetek azert kell. Meg ugye GND sem art. Aztan kell egy jel, amivel EP tudatja, hogy olvasni akar a cuccosodrol egy byte-ot, illetve pl masik jel, amivel azt, hogy irni. Es ugye nem art tudni, hogy ez most parancs, vagy adat, tehat meg egy, ami ha pl I/O port, akkor az A0, es akkor van egy pl parancs port, meg eggyel felette az adatport, vagy forditva. Feltetelezve, hogy barmilyen megoldast is valasztasz, a cimdekodoklas mar meg van oldva (pl cartridge eseten, ha nem kell az egesz cartridge, akkor vegulis mind1, csak kisse pazarlas, hogy 64K-t elhasznalsz ket szem portra). Ha az EP buszara csatlakozol, akkor valoszinu, hogy elo kell allitani a select jelet neked valahol persze. Ha meg EP-n belul teszed, akkor erevenyes lehet a fenti vazlatom, hogy csak azon vezetekek mennek ki a gepbol, amik mar "elo vannak keszitve".

Errol jut eszembe: mindig szivfajdalmam volt, hogy most csinalni specko nyakot (ami bemegy cartridge helyere, vagy a buszbovitore, stb), stb, ha az ember ilyenekkel akar jatszani. Tenyleg nem lenne rossz otlet, ha az EP cartridge megoldasahoz hasonloan (ahol o eloallit oda custom RDCARD jelet stb) lenne egy uj csati, amin 8 bit adat van RD/WR, es mondjuk 4 szem adat, es csak I/O porton erheto el, ami mar "elo van dekodolva", igy 16db I/O port le van foglalva neki. Igy konnyebb lenne kiserletezi, foleg, ha a csatlakozo valami egyszeru lenne pl egy 25 polusu regi rs232-hez (sorry, nem tudom a nevet) hasonlo. Olyan csatit lehet kapni, nyak-ba ultethetot is, vagy dugaszolhatot, miegymas. Vagy lehet mas valakinek persze jobb otlete is :) Esetleg EXTCOL jelek pl oda is atvezethetoek lennenek, hatha valaki ilyennel is akar jatszani. Vagy ez hulye otlet?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 17:47:13
Felét sem értem annak amit mondasz,

majd Zozo megszakérti,

de túl sok irányba el is kóricáltál, valószínűleg azért (is), mert rossz lehet a kérdésem is:

valószínűleg rossz az az elképzelésem, hogy az IDE és az cartridge SD az egy már bejáratott, közös módon működik,
inkább az lesz az igazság, hogy a kettő másképp van megoldva, talán mondta is Zozo, hogy az IDE az port olvasással megy, míg a cartridge SD az meg memory mapped IO,

úgyhogy mivel én valszeg nem akarnék szegmensként látszódni, valószínűleg nekem a z80 port olvasás lenne a kézenfekvő (de nyilván semmiképp sem egy soros port),

tehát a kérdést talán úgy lehetne feltenni, hogy ha én úgy akarok működni mint mondjuk az IDE kártya, tehát mondjuk legyen 8 bit párhuzamosan, akkor mennyi drót kéne legkevesebb hozza ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 17:53:57
Quote from: Z80System
tehát a kérdést talán úgy lehetne feltenni, hogy ha én úgy akarok működni mint mondjuk az IDE kártya, tehát mondjuk legyen 8 bit párhuzamosan, akkor mennyi drót kéne legkevesebb hozza ?

Sorry, de tovabbra sem ertem. Mihez kotod a drotokat az EP-n? A buszhoz kozvetlenul? Megengedheto, hogy EP-ben is legyen par plusz alkatresz, vagy ott csak vezetek lehet? Ahogy elozo hozzaszolasomban leirtam, 8 adat,GND, WR/RD, nem art legalabb egy vezetek address (data/command), kb ennyi. Illetve, ha EP-bol jon a tapfesz, annak is. Az EP-ben lehet-e alkatresz: ha kozvetlenul a buszhoz kapcsolodsz, akkor ugye figyelni kell, hogy IOREQ meg REFRESH jelek, I/O cim dekodolas (ha nem EP-ben csinalod, akkor kivul kell, de akkor ahhoz a 8 drotot meg ki kell vinned a cimhez is!), ezert mondtam hogy talan celszerubb ott par alkatresszel kepezni egy szamodra egy olyan RD es WR jelet pl, amik csak akkor aktivak (lehet active low is, most nem ez a lenyeg), ha van RD/WR igeny, es az altalad kivant I/O portra megy mar. Igy erthetobb?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 18:27:48
Quote
Igy erthetobb?
Nem részleteiben, de lényegében igen: azt akarod mondani, hogy egy kevés gépen belülre is szerelt alkatrésszel nagy mértékben lehetne csökkenteni a kivezetendő drótok számát ...

Hát igen eléggé kavarog ez bennem ... mert végülis maguk a drótok is "módosítás" az EP belsejében, miért ne férhatne bele "pár alkatrészes kivezetés" is ...




Fura ez az egész ... jó sok lehetőség van ...


Az biztos ugye, hogy legjobb lenne ha az EP -hez nem kéne nyúlni ... de úgy csak a játékvezérlő és egér típusú hardvereket tudom illeszteni, legyen az hagyományos, vagy ps/2 esetleg USB ...

Ha billentyűt akarok akkor mindenképp vannak kintről alapból hiányzó vezetékek (úgy kb. 15),

de ha file töltést, akkor is gondolom kb. ugyanennyi, amik persze ott vannak a bővítő vagy esetleg cartridge porton is, de én nem szeretném az input eszközökhöz azokat lefoglalni, érthető okokból ...

Tehát ezeket ki kéne vezetni, egy olyan plussz "portra", amin előző kettő minden drótja megvan. És akkor lehetne szabadon hekkelni anélkül, hogy a másik kettő, amit alapvetően nem inputra (HID inputra gondolok) találtak ki, lefoglalódna ...

Nade ha esetleg elkezdenénk belülre is szerelni, hogy csökkkentsük a kivezetendő drótokat, akkor meg már miért ne mindent belülre szereljünk ... Tehát olyan szívesebben venném, ha vagy teljesen belső, vagy teljesen külső dologban gondolkodhatnék ...

Namost feltételezzük hogy tudnék egy akkora eszközt csinálni, ami mindent kezel USB -n keresztül. Ez az eszköz EP -re kb. ennyi dróton csatlakozna:

- 8+4+1 : bill+egér (modosított mouse.xr -rel)
- 16 : storage
- a joystick -hoz kellene plussz drót, vagy az is kezelhető lenne az bill+egér drótokon ? ha kellene plussz, akkor mennyi ? ugyanannyi mint kívülről a control portokon ?
- 2 : táp
- 1 : reset
- X: és még ki tudja milyen jelző drótok, amiről most még nem tudok, mint ahogy a billentyűnél is kiderült

Ez eddig 32 GPIO + joystick(ha kell a joystick -hoz plussz drót) + X ...


Ez azt jelentené, hogy a fizikailag beférő eszközt olyan 40 dróttal kéne keresztül kasul bekötni az EP -be, belülről ... namost kész kártyában gondolkodva ez határeset, mert 36 GPIO -s cucc még kapható készen elég kicsiben, hozzá való kicsi USB host shield karival ...

De ha pld. 40 vagy több GPIO kéne akkor már kész hártyában olyan kicsit kapni, amin olyan sok van, per pillanat nem találtam ...

Meg már így is, az a 40 drótos bekötés ... elég gubanc lenne, nem ?

És akkor még meg kellene bírkózni az USB kiszerelésével is ...

Szóval kicsit szét vagyok esve, hogy melyik irányba is lenne célszerű menni ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.03. 18:53:58
Quote from: Z80System
az USB vezetékének lehet vannak sokkal nagyobb követelményei, mintsem csak úgy kilógatható lenne, szalagkábelként ...
Szedtél már szét PC-t úgy az elmúlt 10-12 évben? :) Az előlapi USB-k pont szalagkábellel vannak bekötve általában...
Szóval szerint a 4 USB dróton kívül nem kéne mást kivinni.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 19:06:08
Ez lenne még fontos:

Quote
- a joystick -hoz kellene plussz drót, vagy az is kezelhető lenne az bill+egér drótokon ? ha kellene plussz, akkor mennyi ? ugyanannyi mint kívülről a control portokon ?


Meg a storage -hoz egy jobb becslés mint a 16 ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 20:10:25
Quote from: Zozosoft
Szedtél már szét PC-t úgy az elmúlt 10-12 évben? :) Az előlapi USB-k pont szalagkábellel vannak bekötve általában...
Szóval szerint a 4 USB dróton kívül nem kéne mást kivinni.

Akkor lehet en ertettem felre, hogy kivul akarja az USB-s "illesztot" es kabelekkel osszekotni az EP-vel, bar nem tudom mennyire jo otlet az EP buszt kabeleken vezetni :-P Az novelheti az egesz busz impedanciajat tudomisenmiet, hacsak nincs levalasztva vmi busz meghajto cuccal kozben.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 20:25:21
Quote
kkor lehet en ertettem felre, hogy kivul akarja az USB-s "illesztot" es kabelekkel osszekotni az EP-vel,
Jól értetted, amíg fel nem vetetted újra a storage eszközöket, addig kívül fele hajlottam, és azt lattolgattam (volna, ha tudnám mennyi drót kell hozzá), hogy van -e esélye/értelme a storage -ot is beleszámítva külsőben gondolkodni ...

Mert ugye mik húznak kifele:

- Ha van egy eszköz, ami kezel fullban USB -t, és vezérelni tud párhuzamosan 3-5 eszközt, mint keyboard,mouse,joy,storage, akkor feltételezhetően ez egy elég nagy teljesítményű, nem filléres eszköz lesz, és akkor miért ne lenne ugyanez az eszköz felruházva ps/2 és hagyományos eszközök kezelésével is. Miért kéne akkor már külön eszköz előbbiekhez? De nyilván nem akarok minden nem usb eszköznek is, eszközönként külön dugót kivezetni.

- Hiányzó billentyűzet vezeték csatlakozót viszonylag könnyen, szépen, roncsolásmentesen meg lehet oldani.

- Nagy hely.

- Nagy teljesítményű, 50-70 GPIO -t tartalmazó eszközt kész kártyában csak olyat találtam, ami nem férne el belülre.

És mi húzna befele:

- Csak 4 drótot kéne kivezetni, az USB csatinak, amire dugdoznak a népek, nem kéne 50 zsinórt kivezetni a billentyűnek és a storage kezelésnek.

- Kompakt, nincs +1 hardver egység, aminek talán még saját táp is kell.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 20:26:53
Quote
 bar nem tudom mennyire jo otlet az EP buszt kabeleken vezetni (http://enterpriseforever.com/Smileys/phpbb/ds_icon_razz.gif) Az novelheti az egesz busz impedanciajat tudomisenmiet, hacsak nincs levalasztva vmi busz meghajto cuccal kozben.
Na pont ilyesmi valamire gondoltam az USB zsinórjával kapcsolatban ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 20:35:40
Quote from: Z80System
Na pont ilyesmi valamire gondoltam az USB zsinórjával kapcsolatban ...

Sima USB kabel kevesbe kenyes erre, mert ugy talaltak ki, hogy vedve legyen, differencial szignalt hasznal (azert van D- es D+ jelzesu cucc benne). Egy szamitogep buszrendszere viszont nem arra keszult, hogy vezetekeken vigye tovabb az ember, nyilvan :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.03. 20:40:09
Quote
nyilvan (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)
Neked nyilván, én valamiért ezeket a problémákat a frekvenciákkal kapcsoltam össze fejben, és azt gondoltam hogy egy modern USB -n zajló adatátvitel biztos sokszor nagyobb frekiket igényel, mint egy EP 4 MHz -e, annál meg nincs nagyobb freki a buszon (gondolom), arról meg még úgy gondoltam, hogy ha nem is az északi sarkig, de elvezethető.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.03. 21:19:47
Quote from: Z80System
Neked nyilván, én valamiért ezeket a problémákat a frekvenciákkal kapcsoltam össze fejben, és azt gondoltam hogy egy modern USB -n zajló adatátvitel biztos sokszor nagyobb frekiket igényel, mint egy EP 4 MHz -e, annál meg nincs nagyobb freki a buszon (gondolom), arról meg még úgy gondoltam, hogy ha nem is az északi sarkig, de elvezethető.

Koze van a frekvenciahoz nyilvan. De az EP-t, a buszrendszert, a nyak-ot arra terveztek amire vallo, es akkor amikor keszult. Nyilvan egy modern PC-ben pl a buszrendszer sokkal magasabb frekvencian uzemel, megis mukodik. Meg par KHz-es tartomanyban is lehet olyat csinalni, hogy hasznalhatatlanna torzulnak a digitalis jelek.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.04. 03:05:45
Milyen kis PS/2 -es vackokat csinálnak mostanában ... :) :

http://www.ebay.com/itm/HP-MINI-KEYBOAR-WITH-TRACKERBALL-Keyboard-mouse-PS2-405503-031-/360621275689?pt=UK_Computing_KVM_Switches_KVM_Cables&hash=item53f6b3fa29

Reneszánszát éli a PS/2 a mini billencsek formájában ... a mikrokontrollerek visszahozzák a PS/2 -t ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 02:37:58
Mi van akkor, ha két TTL kimenetet direktben szembekapcsolok egymással, és az egyiken 0 van a másikon meg 1 ? (mert gondolom a 0-0 vagy 1-1 esetben nincs semmi, de a 0-1 esetben vagy az 1-0 esetben gondolom füst, nem ?)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 03:58:16
Másik kérdés, hogy mi van akkor, ha simán csak lekötöm a földre, minden nélkül.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.05. 08:37:13
Lehet, hogy semmi, a leírások a cucc tönkremenetelét jósolják ilyen esetekre.
Open Collectoros kimenet kell, azokat lehet összekötni.

Ez egyébként neked is kell, hogy ne legyen gond abból, hogy a te cuccod azt mondja nincs lenyomva gomb, az EP billentyűzeten meg le van nyomva.
De az is jó, ha szoftverből tudod úgy vezérelni, hogy 0-nál 0 legyen, 1-nél (azaz nincs lenyomva) meg semmi, azaz lebegő legyen.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 12:32:09
Quote
Lehet, hogy semmi, a leírások a cucc tönkremenetelét jósolják ilyen esetekre.
Mitől lehet a semmi ? Valami extra védelemtől ?



Quote
Open Collectoros kimenet kell, azokat lehet összekötni.

Na, ezzel az open kollektorral majd falnak mentem tegnap ...

Tegnapig úgy gondolkodtam egy digitális kimenetről, hogy az egy olyan áramkör kimenete, mely nem arra van tervezve, hogy ő bármilyen jelet is fogadjon,
hanem hogy "eldöntse", hogy egy digitális vonalon 0 vagy 1 legyen.

Egy digitális bemenetről pedig úgy gondolkodtam, hogy az egy olyan áramkör bemnete, mely nem arra lett tervezve hogy ő bármilyen jelet is meghatározzzon,
hanem simán csak "elfogadja" hogy a vonalon épp mi van.

A Vonal pedig egy kiment és egy bemenet összekötéséből áll, semilyen más kombóban ez nem értelmes (sőt kimeneteknél veszélyes is).



Ezzel szemben tegnap meg kellett (volna, ha képes lettem volna erre) ismerkednem az open kollektoros bemenet fogalmával (mert persze a PS/2 -höz az kell), melynek lényege az, hogy félig a bemeneti oldalon meg lehet határozni, hogy a vonal értéke milyen legyen, és ha a vonal értéke magas, akkor egy a bemenetre kapcsolt normál kimenet meghatározhatja a vonal állapotát,
de ha a bemeneti oldalon 0 van a vonalra állítva, akkor a rá kötött kimenet nem tudja meghatározni többé a vonal állapotát, lehet akármi a kimeneten, a vonal (bemenet) értéke 0 lesz.

Tehát ez az open kollektoros "bemenet" ez fenti kimenet/bemenet definícióba nem fér be, mert ez nem csak egy "bemenet", hanem egy "kimenet is", abban az értelemben hogy képes ő is meghatározni, hogy mi legyen a vonal állapota.

Már ettől égnek áll a hajam, de azt hittem, hogy ilyen open kollektoros istennyilából csak bemenet van. A kimenetek azok mindíg normál kimenetek, melyek kísérletet tesznek a vonaluk (így a hozzájuk kötött bemenet) meghatározására,
és egy normál bemeneten ez sikerül is nekik,
egy open kollektoros bemeneten meg majd a bemenet megmondja, hogy felülbírálja -e (0 -ra), vagy pedig hagyja a kimenetnek meghatározni a vonal (így a bemenet) értékét.



Namost rosszul gondoltam akkor hogy a kimenetek mindíg "normál" kimenetek?
Vagy pedig ahhoz hogy egy open kollektoros bemenet kifejthesse "áldásos" tevékenységét (talán már az eddigiekből is kitűnt, hogy nagyon haragszom az open kollektorra :)), ahhoz külön open kollektoros kimenet is kell ? Tehát egy open kollektoros bemenetre nekem mindíg egy open kollektoros kimenetet is kell kössek ? Ebben az esetben nem is szabad open kollektoros bemenetre normális, nem open kollektoros kimenetet kössek ?

Ha pedig a kimenet mindíg normál, akkor mikor én két kimenet (melyek nem open kollektorosak) összekötéséről beszélek, akkor mit jelent ez:


Quote
Open Collectoros kimenet kell, azokat lehet összekötni.

Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 12:57:50
Tök jó, hogy a PS/2 doksik a neten nem értenek egyet abban, hogy a PS/2 clock frekije milyen range -be esik ...

Beszélnek 10-16.7 KHz, vagy 20-30 KHz -ről, de olyat is találtam amelyik 33 KHz -ben maximalizálja ...

Szuper, és tudni tud bárki valamit is ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 13:25:10
Eszembe jutott, hogy a műszerem tud mérni frekit is, így beleírtam az arduino loop -ba, hogy semmi más ne csináljon, csak egy digitális lábat kapcsolgasson.

Ilyen formában 99.02 KHz lett:

void loop()
{
        digitalWrite(12, HIGH);
        digitalWrite(12, LOW);
}



Ilyen formában pedig, 105.6 KHz

void loop()
{
        while(true)
        {
         digitalWrite(12, HIGH);
         digitalWrite(12, LOW);
        }
}



Egy 16 MHz -es AVR -en ... :(



Külön érdekesség, hogy a freki méréshez elég csak a műszer egyik tüskéjét odaérinteni a lábhoz, és már mutatja is a frekiértéket, még az is mindegy, hogy melyik tüskéjét ...

Ez vajon miért van ?
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.05. 15:46:01
Quote from: Z80System
Tök jó, hogy a PS/2 doksik a neten nem értenek egyet abban, hogy a PS/2 clock frekije milyen range -be esik ...

Beszélnek 10-16.7 KHz, vagy 20-30 KHz -ről, de olyat is találtam amelyik 33 KHz -ben maximalizálja ...

Szuper, és tudni tud bárki valamit is ?
A 16kHz jó lesz.
De miért nem méred ki a multimétereddel a billentyűzeten, mennyi a CLK órajele?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 15:52:01
Quote
A 16kHz jó lesz.
De miért nem méred ki a multimétereddel a billentyűzeten, mennyi a CLK órajele?

Mit értesz azalatt hogy jó lesz ? Nem hinném hogy én állíthatnám az órajel frekijét, meg még ha állíthatnám is, az állítási parancsot először az alapértelmezett órajelfrekivel kellene lekommunikáljam -> szetm ez nem állítható.

A billentyűzet hardver tervezésekor állítanak be egy frekit (egy range -en belül, melyről írtam), amit nekem kezelnem kell tudni. Szeretnék felkészülni bármilyen billentyűzetre, nem csak az enyémre. Nagyobb freki, gyorsabb reakcióidő ... lehet hogy igényesebb billentyű nagyobb frekin tolja az anyagot.

Lemérni meg még azért nem mértem le, mert még nem jött meg a PS/2 billencsem, és ha majd le is mérem, akkor is csak az enyémet fogom tudni, nem minden PS/2 billencsét.
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.05. 16:03:09
Quote from: Z80System
Mit értesz azalatt hogy jó lesz ? Nem hinném hogy én állíthatnám az órajel frekijét, meg még ha állíthatnám is, az állítási parancsot először az alapértelmezett órajelfrekivel kellene lekommunikáljam -> szetm ez nem állítható.

A billentyűzet hardver tervezésekor állítanak be egy frekit (egy range -en belül, melyről írtam), amit nekem kezelnem kell tudni. Szeretnék felkészülni bármilyen billentyűzetre, nem csak az enyémre. Nagyobb freki, gyorsabb reakcióidő ... lehet hogy igényesebb billentyű nagyobb frekin tolja az anyagot.

Lemérni meg még azért nem mértem le, mert még nem jött meg a PS/2 billencsem, és ha majd le is mérem, akkor is csak az enyémet fogom tudni, nem minden PS/2 billencsét.
oké, rájöttem, nem te akarod küldeni a jelet, vagyis nem te állítod elő az órajelet, hanem olvasod. A 16kHz arra vonatkozott, ha billentyűzetet építenél, akkor küldd 16kHz-es órajellel.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 16:05:31
Quote
Ha jól tippelem max 11 Z80 órajel alatt kell megoldani a dolgot.

Az ugye kis csalással 3 mikroszekundum,

namost ezt írja egy ember assembly -vel megoldott 16MHz -es AVR megszakításról:

"So in total, an ISR using the ISR define will take you 2.625 µS to execute, plus whatever the code itself does."

Itt:
http://www.gammon.com.au/forum/?id=11488



Ez persze még mindíg nem egy raw megszakítás rutin, hanem egy ISR nevű makróval létrehozott függvény, aminek még nem néztem utána, lehet ezt már az AVR C tartalmazza, és lehet nem véletlenül azt csinálja, amit.
Így néz ki:

How long does it take to execute an ISR?

According to the datasheet, the minimal amount of time to service an interrupt is 4 clock cycles (to push the current program counter onto the stack) followed by the code now executing at the interrupt vector location. This normally contains a jump to where the interrupt routine really is, which is another 3 cycles.


Then an ISR routine (declared with the ISR define) does something like this:

Code: [Select]
// SPI interrupt routine
ISR (SPI_STC_vect)
 118: 1f 92         push  r1   (2)    // save R1 - the "zero" register
 11a: 0f 92         push  r0   (2)    // save register R0
 11c: 0f b6         in  r0, 0x3f (1)  // get SREG (status register)
 11e: 0f 92         push  r0  (2)     // save SREG
 120: 11 24         eor r1, r1 (1)    // ensure R1 is zero
 122: 8f 93         push  r24  (2)
 124: 9f 93         push  r25  (2)
 126: ef 93         push  r30  (2)
 128: ff 93         push  r31  (2)
{
That's another 16 cycles (the cycles are in brackets). So from the moment the interrupt occurs, to the first line of code being executed, would be 16 + 7 cycles (23 cycles), at 62.5 nS per clock cycle, that would be 1.4375 µS. That's assuming a 16 MHz clock.

Then to leave the ISR we have this code:

Code: [Select]
}  // end of interrupt routine SPI_STC_vect
 152: ff 91         pop r31 (2)
 154: ef 91         pop r30 (2)
 156: 9f 91         pop r25 (2)
 158: 8f 91         pop r24 (2)
 15a: 0f 90         pop r0 (2)    // get old SREG
 15c: 0f be         out 0x3f, r0 (1)  // restore SREG
 15e: 0f 90         pop r0 (2)    // now put old R0 register back
 160: 1f 90         pop r1 (2)    // restore old value of R1
 162: 18 95         reti (4)      // return from interrupt, turn interrupts back on
That's another 19 clock cycles (1.1875 µS). So in total, an ISR using the ISR define will take you 2.625 µS to execute, plus whatever the code itself does.




Magyarul, ha ezt kell használjam, és nem lehet rövidíteni a kódot (simán lehet, hogy csak azért ment el ennyi mindent, hogy C -ben írhassam a megszak kódot), akkor az EP mintegy 3 mikroszekundumunként szaggat(hatna akár) és az én kezelőmön a 16 MHz -es AVR -emen 2.625 mikroszekundum menne a kezeléssel.

Vagyis az idő 90% -a menne el a megszak kezelésére ... és a tényleges bitbeállítások még benne sincsenek ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 16:08:33
Quote
A 16kHz arra vonatkozott, ha billentyűzetet építenél, akkor küldd 16kHz-es órajellel.
Ja igen ... de most az ellenkező oldalon vagyok, ahogy mondod ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 16:58:41
Tehát ha egy (eddig talált legnagyobb frekimegjelölést) 33KHz -es frekit veszünk alapul a PS/2 clock -nak,

akkor 30 mikroszekundum időm van (vagy esetleg annak a fele, nem vagyok biztos hogy a data a teljes periódus alatt ki kell egyen tartva) beolvasni a data -t, vagyis lekezelni a PS/2 megszakítást,

az EP 11 ciklusa, amit Zozo mondott az 3 mikroszekundumra teszi azt az időt, ami alatt le kell cseréljem a bill vagy joystick biteket, vagyis lekezelni az EP megszakítást,

úgy hogy egyikből se vesszen el semmi, mert ha PS/2 megszak elveszik, akkor hülye karaktert olvasok be, ha meg EP megszak elveszik, akkor az EP fog hülye bill/joy -t beolvasni ...

mindezt úgy, hogy a 16 MHz -es ezközömön a megszak kezelése akár 2.625 µS ideig is tarthat ...

ja, és a megszak elindulásáig egyéb idők is befigyelhetnek, ezt is írják ...

bíztató kilátások ... :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.05. 17:02:49
És ha assemblyben programozod a cuccot?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 17:19:19
Hát amiről írtam az eléggé assembly volt már ...

De igen, sok paraméter van még azért,

pld. az EP nem fogja 3 mikroszekundumos loop -pal pörgetni folyamatosan a bemenetet, hanem néhány portváltással beolvas, és aztán békén hagyja 1-2 frame -ig az inputot,

amit én egy ténylegesen raw assembly -ben megírt megszakkal kezelek, remélem a 3 mikroszekundum tört része alatt (nem igaz, hogy nem tudom egy 16 MHz -es AVR -en stabilan kezelni, amit egy 4 MHz -es z80 loop -ban pörgetni képes akár), vagyis megkapja a bitjeit, legyen az joy vagy bill,

ennek a megszaknak kell a legnagyobb prioritása legyen, és akár még a PS/2 megszakot is megszakíthatja, ha másképp nem megy,

de igazából úgy gondolkodok, hogy raw assembly -ben a 3 mikroszekundum mittudomén felébe bele kéne férjen a teljes EP megszak kezelés, plussz a teljes PS/2 megszak kezelés, hisz a PS/2 megszak csak egyetlen bitet kell letároljon valami tömbbe, az EP -jé pedig befrissítsen max 8 kimenetet egy tömbből,

az idő második felében pedig ezeknek a tömböknek a kezelése zajlana a főprogramban, olyan sebességgel, amennyi időt a megszakítások hagynak neki ...

Ebből tehát az következne (elvileg, gyakorlatban nem tudom ez mennyire érezhető majd), hogy ha az EP pld. állandó loopban szkennelné a billentyűt, akkor egy bill változás lassabban kerül majd az EP -hez, ha meg csak néha, mondjuk 50 Hz -enként beolvas párat (ami az átlag gyakorlat sztm.), akkor gyorsabban ... :)

De azért eléggé ki kell élezni a jelenlegi információk szerint azt a két megszak kódot ahhoz, ha azt akarjuk elérni, hogy semmi se veszhessen el soha ...

Fogok azon a két megszakon bíbelődni még sokat sztm ... :)




És ez csak a PS/2 vs EP. Még nem néztem, hogy az USB könyvtár (melyet valószínűleg nem szeretnék újraírni, és valószínűleg az arduino könyvtárra épül, melyet ez esetben nem lehet kihagyni majd) vajon hány darab és milyen hosszú megszakításokkal operál vajon, hogy lehet majd azt az EP 3 mikroszekundumos dolgávala összeegyeztetni ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 17:31:55
Ráadásul azt is néztem már, hogy van párhuzamos írás és olvasás is a digitális ki/be drótokra, úgyhogy egy utasítással tudom olvasni mondjuk az ep 4 bill vezetékét, és egy másikkal írni a 8 -at ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.05. 18:59:35
Quote from: Z80System
Tök jó, hogy a PS/2 doksik a neten nem értenek egyet abban, hogy a PS/2 clock frekije milyen range -be esik ...

Beszélnek 10-16.7 KHz, vagy 20-30 KHz -ről, de olyat is találtam amelyik 33 KHz -ben maximalizálja ...

Szuper, és tudni tud bárki valamit is ?

Szerintem sajnos fel kell keszulni a "legrosszabbra", azaz, hogy lehet akar 33KHz is amit  a billencs nyomat. Amugy szoktak olyat is, hogy a CLK vonal szintvaltasa az MCU interrupt labara van kotve. Igy nem kell allandoan figyelni. A gond akkor van, ha amugy a "foprogramban" az idozites fontos, es bezavar, ha kozben jon egy megszakitas ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.05. 19:01:32
Amugy C-ben AVR megszakitas az biztos holt lassu, mert minden regiszter erteket menti stb. Assembly-ben elhetsz olyannal, hogy mivel AVR-nek azert van 1-2 regisztere, kinevezel X darabot arra, hogy azt _csak_ az interrupt rutinban hasznlod, es mashoz nem nyulsz. igy eleve nincs regiszter mentes/visszaallitas, plusz egyeb C overhead-ek se persze.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.05. 19:06:39
Quote
igy eleve nincs regiszter mentes/visszaallitas, plusz egyeb C overhead-ek se persze.
Ja ... és gyorsan letolok magamnak így assembly -ben egy USB libet is ... :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.05. 23:53:34
Quote from: Z80System
Ja ... és gyorsan letolok magamnak így assembly -ben egy USB libet is ... :)

Ha kedved tartja :) Amug igen, ez gaz, foleg ha az AVR csinalna az egesz USB-t is, de nem arrol volt szo, hogy azt mas cucc (Arduino szohasznalattal talan "shield") csinalja, es az AVR vegulis csak "atjatszo" az EP fele? Mert akkor AVR programja nem feltetlen _annyira_ bonyolult. Bar konnyen jar a szam, sose probaltam ilyet, lehet tenyleg nem lenne egyszeru ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 00:02:31
Kavarog még bennem az egész, de két USB lib is van, és mindkettő nagy annyira, hogy még c++ -ban se legyen kedvem újraírni, nemhogy assembly -ben,

az egyik arduino -s, a másik csak AVR -es, fogalmam nincs hogy melyiknek részletesen mik a tulajdonságaik, vagy mennyire cserélhető le egymással az aljuk,

ami a host shield -del, vagy a host képes AVR -ekkel dolgozik ...


Azt azért simán a c++ kód méretéből kijelenthetjük, hogy a "legfeljebb majd raw assembly -ben összeütjük" metódus nekem a ps/2 -ig bezárólag működhet, és ott is sztm csak a megszakításokra, a többit már c++ -ban fogom csinálni.

Amikor az USB kerül sorra, ott valamelyik libet fogom használni, ahol az egyiknek sztm direkt arduino dependenciája van, míg a másiknak avr-c dependenciája.
Az arduino dependencia itt pár funkcióval jelent csak többet, amit az arduino rátesz az avr-c -re.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.06. 01:02:59
Hmm, sajna nem ismerem a cuccot elegge ehhez en sem. Amikor en gondolkoztam meg (elmeletben csak ...) SD illeszton, en AVR-rel csinaltam volna (CPLD stb nem az en kenyerem) meghozza kb ugy, hogy AVR sajat RAM-jaba olvas mindent, onnan meg megfelelo sebesseggel tudja szolgaltatni az EP fele, ha azzal kesz van. Addig meg vmelyik labat az AVR-nek output-ban busy flag-nek megkapja a Z80 aztan lekerdezgetheti (mondjuk utana tenni egy cuccot, ami akkor engedi a busz pl 7. bitjere, ha a megfelelo I/O porton es olvasasra kivanja a Z80). Ebbol is latszik, hogy mindig egy a gond: kulso alkatreszek kellenek stb, mig CPLD-t az ember olyanra faragja, ahogy kell, mint logikai halozat ... Bar nem tudom ez segitett-e v nem :) Amugy en AVR vs PIC dologban AVR parti vagyok hatarozottan, amde PIC-nek (talan Povi hozta fel) van egy nagy elonye azert a PSP vagy mi, amikor input modban pl a PIC kb latch-eli es onnan elolvashatja PIC kesobb is. Ilyenek neha hasznosak lehetnek, bar tartok tole (mondjuk nem vagyok benne biztos ...), hogy AVR nem tud ilyet (legalabbis a sima ATmega sorozat, az xmega az passz  - megintcsak ...)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 01:18:51
Quote
Addig meg vmelyik labat az AVR-nek output-ban busy flag-nek megkapja a Z80 aztan lekerdezgetheti (mondjuk utana tenni egy cuccot, ami akkor engedi a busz pl 7. bitjere, ha a megfelelo I/O porton es olvasasra kivanja a Z80).

Ja, csak eehhez buszkivezetés kell, amit ellenzel, vagy buszcsatlakozóra rakás, amit én ellenzek,
vagy belülre szerelés, ami opció, de én itt most (bár ez ugye állandóan változik ...:)) bill -nél is, de joy -nál meg pláne külső dologról beszélek.



Quote
Ebbol is latszik, hogy mindig egy a gond: kulso alkatreszek kellenek stb

Ja, hasonlót én is levezettem, hogy mintha az összes dolog (bill/eger/joy) mind ilyen lenne, hogy valamit az EP beállít, és ha már beállította (és ne gyere megint a busszal, meg wait -okkal, mert egy sima külső joy csatin nincs olyan, és a probléma viszont ott is fennáll), szóval ha meg már beállította, akkor Zozo szerint elméletben akár 11 rohadt cikluson belül olvasni akarhatja a választ, addigra ott kell lennie ... és ez a visszatérő jelenség, úgy tűnik nem egy mikrokontroller feladata ... ehhez kéne még neki, valami bufferelt periféria szerű, ami képes az EP csatlakozóinak nagyon gyorsan felelni, és azt a perifériát a mikrokontroller az ő komótosabb ütemében frissítgethesse ... ne kelljen 11 mikroszekundumokon belül ugrálnia ...

Még az is lehet, hogy ha megnéznénk a shield -eket, akkor találnánk köztük ilyet ...

De ha igen, ha nem, úgy tűnik, hogy maga ez az ultragyors reakció ez nem egy mikrokontrolleres feladat, mert erőltetve lehet csak kivitelezni ...

Egy ps/2 vagy usb adatcsomag értelmezése, molyolgatás az mikrokontrolleres feladat, de a jeleket ilyen mikroszekundomos nagyságrenddel frissíteni, valami külső kérelem hatására, az úgy tűnik nem mikrokontrollereknek szánt feladat ... mert ha az lenne, akkor lenne rá funkció (mellesleg simán lehet h van, csak nem tudok róla), nem pedig kínlódva, "éppenhogy" kelljen megvalósítani ...

Vagy nemtom ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 01:24:33
Persze vannak huszonnyóc féle buszai meg portjai, amivel képes nagyon gyorsan, hardveresen, a procija igénybe nem vételével beszélgetni,
csak az EP nem azokon az interfészen akar vele beszélgetni ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 09:59:54
Quote
Ja, hasonlót én is levezettem, hogy mintha az összes dolog (bill/eger/joy) mind ilyen lenne, hogy valamit az EP beállít, és ha már beállította (és ne gyere megint a busszal, meg wait -okkal, mert egy sima külső joy csatin nincs olyan, és a probléma viszont ott is fennáll), szóval ha meg már beállította, akkor Zozo szerint elméletben akár 11 rohadt cikluson belül olvasni akarhatja a választ, addigra ott kell lennie ... és ez a visszatérő jelenség, úgy tűnik nem egy mikrokontroller feladata ... ehhez kéne még neki, valami bufferelt periféria szerű, ami képes az EP csatlakozóinak nagyon gyorsan felelni, és azt a perifériát a mikrokontroller az ő komótosabb ütemében frissítgethesse ... ne kelljen 11 mikroszekundumokon belül ugrálnia ...

Még az is lehet, hogy ha megnéznénk a shield -eket, akkor találnánk köztük ilyet ...

De ha igen, ha nem, úgy tűnik, hogy maga ez az ultragyors reakció ez nem egy mikrokontrolleres feladat, mert erőltetve lehet csak kivitelezni ...

Egy ps/2 vagy usb adatcsomag értelmezése, molyolgatás az mikrokontrolleres feladat, de a jeleket ilyen mikroszekundomos nagyságrenddel frissíteni, valami külső kérelem hatására, az úgy tűnik nem mikrokontrollereknek szánt feladat ... mert ha az lenne, akkor lenne rá funkció (mellesleg simán lehet h van, csak nem tudok róla), nem pedig kínlódva, "éppenhogy" kelljen megvalósítani ...

Ezt a gondolatmenetet folytatva:

Az is lehet, hogy azért nincsenek nagyon ilyen funkciók a mikrokontrollerekben (vagy hát legalábbis ebben az AVR -ben, amit itt babráok),
amik ugye arról szólnának, hogy valami pufferbe/pufferből tároljon le/szolgáljon ki valami biteket a cucc nagyon gyors válaszidővel reagálva valami kinti eseményre,
szóval azért nincs,
mert egyrészt tulajdonképpen van a mindenféle kommunikációs buszok formájában,
másrészt pedig ilyen kombinációból, mint ami nekem kéne a ps/2 beolvasáshoz, ill. az EP -re kiírásokhoz, abból túl sokfajta lehet,
figyeljen X,Y láb ilyen meg ilyen kombinációjára, és ha akármi, akkor olvassa be Z és W láb tartalmát, és akkor azt mondjuk lerakhatná,
és várhatná hogy majd prociból kiolvassa a user kód ...

Szóval nekem az jutott eszembe, hogy egy ilyen AVR chip (és nyilván vannak sokkal olcsóbbak is, pld. rohadtul nem kell USB legyen benne, ebben meg van) már 50 -es szériában is hozzáférhető 3 dollár környékén is ...

Szóval valszeg nagyon kis memóriás, USB nélküli, de akár ugyanígy 16 MHz -es mikrokontrollereket még sokkal olcsóbban lehet venni, és lehet dedikálni a feladatoknak őket ...

Egymás közötti kommunikációra meg már ott vannak a szintén hardver gyorsított fínom kis buszaik ...

Szóval az én (és valószínűleg általános) problémáimra,
mikor nagyon gyorsan kell reagálni valamit külső dolgokra (amik viszont nem ismerik az adott mikrokontroller hardver támogatott standard buszait),
arra valszeg az lehet a válasz, hogy dedikáld a mikrokontrollert az adott "gyors reagálású" feladatnak ...

Itt az én esetemben az lenne tehát valószínűleg a nem (minnél kevésbé) hekkelős, tökölődős hozzáállás,
hogy a PS/2 bitfolyamát egy dedikált mikrokontroller olvasná be, aki semmi mást nem csinálna, egyetlen megszakja a PS/2 -re koncentrálna,
és az EP -re figyelést is egy saját mikrokontroller végezné, mely csak arra figyelne, hogy az EP ki legyen szolgálva,
és a harmadik mikrokontroller lenne az, ami most van, az már ilyen nagyobb memóriás, fullextrásabb, ami a standard buszokon elkéri/odaadja az adatokat a gyors kiszolgálásokat végző mikrokontrollereknek ...

Tehát az valahol egy "hiba", hogy én egyetlen mikrokontrollerrel akarom megoldani a dolgot ...

Hiba alatt itt most azt értem, hogy sokkal nehezebb lesz kicsikarni így a rendszerből, mint úgy lenne, ahogy itt írtam ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 10:09:29
z80 -nál egyébként a SIO/PIO csippek nem pont ilyen feladatokat végeztek ?

Nem arra voltak kitalálva, hogy a mindenkor z80 sebességgel le/fel pakolják a buszról az anyagot,
lehetőséget adva egy lassabb külső egységnek az adathoz történő komótosabb hozzáféréshez ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.06. 11:41:56
Quote from: Z80System
z80 -nál egyébként a SIO/PIO csippek nem pont ilyen feladatokat végeztek ?

Nem arra voltak kitalálva, hogy a mindenkor z80 sebességgel le/fel pakolják a buszról az anyagot,
lehetőséget adva egy lassabb külső egységnek az adathoz történő komótosabb hozzáféréshez ?

Voltakeppen de. A PIO, tehat ha sima parhuzamos buszhoz kell ilyesmi pl jo is lenne, de itt futunk bele abba amit irtam: hogy ha mar MCU stb akkor nem "szep" hogy kivulre kell egyeb komponens is (egy Z80 PIO, vagy legalabb egy IC-nyi latch, amihez nem is kell specko Z80 cucc, vegulis 74xxx IC sorozatban is van ilyen, ami erre eleg), mert ha mar ott az MCU, miert kell koreepiteni egy egesz IC temetot? :( Ebbol a szempontbol jobb a CPLD (csak tudni kene programozni stb ...). Illetve ezt irtam PIC-nel h az a "PSP"-nek nevezett modja pont ilyet tud, hogy "megjegyezi" a dolgot (latch-eli) es raersz kiolvasni MCU-bol kesobb is. Ez mondjuk persze akkor gaz, ha kozben jonne uj adat mar, vagy az az irany, amikor te kuldenel EP fele, hisz akkor kell kuldened amikor EP keri (vagy WAIT-eled addig a Z80-at, vagy hasznalsz vmi busy jelzest amit Z80-al vizsgalsz .... akarmi).
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 17:14:09
Volt a régi boxsoft egér illesztő hardver ...

Abban éppúgy meg kellett oldják egyrészt a serial porttal való kommunikációt, arra figyelést,
másrészt a joystick -on is olvastak be, tehát nekik is nagy sebességgel kellett reagálniuk a joy port out utasítása által kiváltott jel változásra a joy csatlakozón ...

És lefogadom, hogy annak idején nem 16MHz AVR -rel oldották meg ... :)

Persze mivel az egér szoftver részét is ők írták, abban az esetben akár a szoftvert be is lassíthatták, hogy a vezérlőnek legyen ideje reagálni a joy port kérelem változásra,

de működik az joy módban is, akkor pedig nem ők írták a szoftver oldalt ugye a játékokba ...

Van fogalmunk róla az ő elektronikájuk hogy bánik el a problémával ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.06. 17:24:09
Quote from: Z80System
Abban éppúgy meg kellett oldják egyrészt a serial porttal való kommunikációt, arra figyelést,
Nem, mert nincs is ilyen benne.

Quote
másrészt a joystick -on is olvastak be, tehát nekik is nagy sebességgel kellett reagálniuk a joy port out utasítása által kiváltott jel változásra a joy csatlakozón ...
Ez egy 74LS IC-nél kb 10-20 ns :-)

Quote
Van fogalmunk róla az ő elektronikájuk hogy bánik el a problémával ?
Leginkább nincs is probléma! Eleve egy joystick csatlakozóra tervezett egérről van szó. Egyetlen bibi volt, hogy C64-en van kifelé beszélő joy láb, EP-n meg nincs, ezért kellett helyette egy drótot hozni a serial csatlakozóról.

Míg a te esetedben egy tök más szabványú egérről van szó.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.06. 17:34:28
Quote from: Z80System
És lefogadom, hogy annak idején nem 16MHz AVR -rel oldották meg ... :)

Barmilyen gyors egy CPU szeru entitas, az sajna sorosan muxik ... Egy logikai halozat viszont ugye altalaban legalabbis nem, pont ezert nehez emulalni egy masik gepet, mig a nominalis orajelen csinalhatsz egy logikai halozatot ami Z80-knet viselkedik mondjuk FPGA-ban (sot, ha tudnad pontosan hogy volt a Z80 huzalozva, elvileg csinalhatsz teljesen ugyan olyat is, ami maga "a" Z80, akkor max a "gyartastechnologia" kulonbozik). Amugy ugyeskedni lehet, csak ugye optimakolas, assembly, stb, szoval tudas es ido, ami nem feltetlen eri meg. Pl a V-USB a sima Atmega-s (talan ATtiny is) AVR-ken kepes USB eszkozkent viselkedni, ugy, hogy sw-bol rangatja az USB labait, persze ez minden letezo eroforrast kb lekot tenyleg benne. Host-kent azert nem menne, pedig meg ez se full speed USB akkor :) Masik orult:

http://www.linusakesson.net/scene/craft/ (http://www.linusakesson.net/scene/craft/)

A csavo egy atlagos ATmega-ra irt demot. Marmint, o allitja elo a video signalt softwaresen, a hangot softwaresen szinten, es persze kozben vmi animacios, demoszeru izet is produkal. Erdemes megnezni a videot, illetve lentebb azt az ASCII akom-bakomot ami mutatja, hogy kb tenyleg egy szem AVR, ami pl nemi ellenallas oszton at kozvetlenul a VGA monitorra van rakotve, aztan "rangasd softwarebol a labakat" jatek van ... Van az AVR-nek itt 1K ramja, igazabol imho meg video memoria sem fer el, tehat nem ugy muxik, hanem eppen akkor general dolgokat oda ahol epp a kepfelepites tart, es nem video memorias eljarast hasznal, ahogy egy atlag computer (pl az EP is) dolgozik.

Szoval lehet csinalni dolgokat, csak nem biztos, hogy megeri ilyen extrem iranyokra ramenni, max mint tech demo :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 18:02:10
Na ezt most meg kell emésszem ... amiket írtatok ... mert pontosan nem látom át, de valami ilyet érzek:


Hogy akkor nekem a mikrokontrollerrel is "logikai hálózat" módban kéne működjek,

tehát valami oylamire gondolok (és ezt pontosan nem tudom hogyan kéne), hogy a CPU -val ugye én beolvasom a joystick inputokat,
főprogramban, azzal a sebességgel amit tud a loop -om, és ezen értékek alapján,

az EP joystick csatlakozójára menő vonalaknak (maradjunk egyenlőre a joy -nál) NEM AZ ÉRTÉKÉT állítanám, hanem a TÍPUSÁT,
tehát azt hogy ez egy kimenet, vagy bemenet, vagy fel legyen húzva vagy ne legyen felhúzva, meg ilyesmiket,

és valahogy úgy lenne ez bekötve, hogy a vonalak tényleges ÉRTÉKÉT azt továbbra is a joy csatlakozón lévő jelek adják,
ugyanúgy mint egy sima kapcsolós joy csatlakozás esetében is ...



Lehet hogy ez baromság, amit írok, csak nem látom át mitől az,
de ha lehetne ilyet, akkor ily módon azonnali lenne a reakcio z80 joy port írásokra, hisz azok a vonalak kerülnének a bemenetre ...

És ha ez így nem lehetséges, akkor meg nem értem, hogy az a logikai IC a boxsoft illesztőben az milyen logikai funkciót tud, amit én a vonalaim TÍPUSÁNAK állításával nem tudnék "szimulálni" ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 18:42:20
Végülis logikai hálózatként nézve amit (joystick esetében) meg akarok valósítani az az (egyszrűség kedvéért maradjunk 4+1->J esetnél),

hogy vonalanként (irányonként) "és" kapcsolatba hozom a joystick eszközből származó jelet, a megfelelő joystick csatlakozóról érkező jellel,
ezt párhuzamosan megcsinálom minden irányra,
és az öt eredőt meg "vagy" kapcsolatba hozom egymással,
és ezt vezetem a joy csatlakozó J lábára,

így mivel a joystick csatlakozón mindíg csak egy irány aktív, az "és" kapcsolat kiüti azt az irányt, amire a z80 épp nem kíváncsi,
és az öt közül max egy lesz aktív, amit meg a "vagy" kapcsolat rávisz a J lábra ... nem ?

ezt a logikai működést kéne valahogy leszimuláljam a mikrokontrollerem segítségével anélkül, hogy procival kéne mikroszekundumokon belül reagáljak ...

mert a user az úgyis lassan mozgatja a joy -t, arra jó a sima loop, csak a z80 -nak való reagálástól kéne megszabadulni,

hogy az embernek ne kelljen ott megszakításból kínlódni ...

az is lehet, hogy 5 fillérért lehetne rádrótozni olyan logikai áramkört a mikrokontroller kártyámra, ami megoldaná ezt, és megmentene az extrém kínlódásoktól,
és a mikrokontroller meg csak foglalkozhatna szép kényelmesen azzal, ami a dolga, síma loop -ban, megszakítás nélkül ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 22:08:24
Jól gondolom azt, hogy mégha ez a logikai módszer működhetne is a joystick porton amit az előző hsz -ben írtam,

attól még a billentyűvel nem működhetne,

pontosabban csak akkor működhetne, ha 10* 8 kimeneti lába lenne a mikrokontrolleremnek,
amin ott pihenhetne a teljes billentyűzet mátrix,
és a kiválasztó jel azok közül választhatná ki mindíg az aktuális 8 -at,
az előző hozzászólásomban leírt módon ?

Vagyis mégha meg is tudnám oldani ezt a joystick -ra (azt egyre kevésbé hiszem hogy magával a mc -rel tudnék ilyet, de mondjuk plussz egy-két ráforrasztott logikai kapukat tartalmazó IC -vel),
a megoldás a billentyűzetre úgysem lenne jó, mert olyan mc -t ugysem találok, amin 80 lábon ott tarthatnám a teljes mátrixot, hogy a logika válogasson közülük ...

Vagyis billentyűnél úgyis maradnia kéne annak a módszernek, hogy az EP kér, én meg villámgyorsan (ami 10 MHz -re turbózott gépen 1 árva mikroszekundum, bakker!) hozzávágom a kért 8 bitet ?

Mert ha billentyűnél maradnia kellene a módszernek, akkor ha azt meg tudom oldani, akkor már tökmindegy lenne, ha a joystick eset is így működne ... nem kutatnám akkor ennek az "optimalizációnak" a lehetőségeit tovább ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.06. 22:52:04
Mert ha ez így van, akkor azért a 10MHz -es EP -re való felkészülés elég húzós lehet ...

1 mikroszekundum alatt mondjuk (ha nincs különösebb késlekedése magának a megszakításnak, valamit azért csak kell csinálnia, minimum az SP eltárolás gondolom automatikus)
16 utasítást tud végrehajtani az AVR a megszakban, aminek a kódja valami ilyen lehet majd mondjuk billentyűnél:

- push egy regiszter
- regiszterbe beolvas lábakról input 4 bit
- regiszterbe betölt sajátmagával indexelve egy tömbből output 8bit
- regiszterből kiír output 8 bit lábakra
- pop regiszter
- ret

Ez (nem néztem assembly -t csak tippelek) kb. 6 utasítás lesz ... ha egy 10 MHz z80 pörget majd egy bill. scan loop -ot,
és mikroszekundomunként megszakítja ezzel az AVR -t, akkor az idő fele (reméljük csak annyi) elmegy majd a z80 kiszolgálására ... :(

De az nekünk akár még pont jó is lehet ... csuszára ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.07. 00:39:00
Né mááá ... há itt egy ilyen izé :) :

http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216

Szerintem ilyenből tudnám kiépíteni a sok GPIO -s kontrolleremet.
Ez rajta ül az egyik ilyen buszon, 8 darab max, aminek fejenként lehetne 14 GPIO -ja ... vagyis 112 GPIO -m lenne plussz ami a mc kártyán van ...

Mondjuk a 8 darab az belekerülne 20 rugóba ... :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.07. 00:50:58
Quote from: Z80System
Né mááá ... há itt egy ilyen izé :) :

http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216

Szerintem ilyenből tudnám kiépíteni a sok GPIO -s kontrolleremet.
Ez rajta ül az egyik ilyen buszon, 8 darab max, aminek fejenként lehetne 14 GPIO -ja ... vagyis 112 GPIO -m lenne plussz ami a mc kártyán van ...

Mondjuk a 8 darab az belekerülne 20 rugóba ... :)

Ez neked miert is lenne jo? I2C buszon kapcsolodik az MCU-hoz, ott az orajel meg max 400KHz es ugye soros, tehat az overhead-et nem szamitva, csak 50Kbyte/sec a max sebessege (na jo, i2c-bol is van gyorsabb). Vagy hat ha az eleg ... vegulis billentyuk "rangatasara" biztosan.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.07. 00:58:14
Quote
vegulis billentyuk "rangatasara" biztosan.

pontyosan.


Quote
Ez neked miert is lenne jo?

Hát arra, hogy ha kint ül a teljes billentyűmátrix GPIO tüskéken,
akkor ezeknek az értékeit ráérek szép komótosan frissíteni,
és külső logika választaná be a megfelelőket a z80 -nak villámgyorsan (nanoszekundomos időkkel, ahogy zozo írta),
ahogy itt írtam:

http://enterpriseforever.com/hardver/hw-keszites-arduino-val/msg41263/#msg41263

így a mikrokontrollerem megszabadulna a gyors reagálastól, mert a külső logika reagálna helyette a z80 -ra.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.08. 23:12:51
Tök szép elképzelés volt ez:


Quote
- push egy regiszter
- regiszterbe beolvas lábakról input 4 bit
- regiszterbe betölt sajátmagával indexelve egy tömbből output 8bit
- regiszterből kiír output 8 bit lábakra
- pop regiszter
- ret

A baj csak az, hogy jól kifelejtettem a megszak tiltás/engedélyezést, meg hát ezt az apróságot:


Quote
4.8.1 Interrupt Response Time
The interrupt execution response for all the enabled AVR interrupts is five clock cycles minimum. After five clock
cycles the program vector address for the actual interrupt handling routine is executed.


Quote
A return from an interrupt handling routine takes five clock cycles. During these five clock cycles, the Program
Counter (three bytes) is popped back from the Stack, the Stack Pointer is incremented by three, and the I-bit in
SREG is set.

Vagyis 10 ciklus akkor is elmegy, ha egy szaros utasítást nem írok a megszakkezelőbe ... persze minimum kell egy reti ... :)

Vagyis ha jól értem, akkor egy 10MHz -es z80 -at (ami kb. 1 mikroszekundum alatt képes in -t végrehajtani, egy out után ) az életbe nem fog tudni kiszolgálni (atomstabilan) egy 16MHz -es AVR  megszakításból ...

Bakkerság!

Arról már nem is beszélve, hogy mikor nem billentyűről van szó, ahol az AVR -nek csak egyetlen vonalat kell figyelnie megszakítással,
hanem pld. joystick -ról, ahol 5 vonalra is megszakítást kéne tenni, hogy bármelyiken észrevehesse az "engem kezelj" állapotot,
ott (ezzel az AVR -el, ami nekem van) meg vagyunk lőve ... mert tetszőlegesen szabályozható feltételű megszakításból csak 4 láb van ...


Van még valami olyan megszak, ami minden lábon lehetséges, és a változást figyeli (még olvasom) de ha az ilyen, akkor nem jó,
mert nekem rohadtul nem éri meg 5 megszakot kezelni (hisz a változás mindegyiken adott lesz egy "irányváltásnál"), egszerre fog fütyűlni nekem az összes megszak mind a 4+1 "irányon" ... :(
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.08. 23:23:23
Joy-ra az a megoldás, hogy te kiadod az 5 bitet mint egy átlag C64 joy, amit aztán egy Boxsoft féle logikai áramkör le rendez az EP felé.
Itt igazából tök mindegy milyen gyakran frissíted, max lesz pár mikroszekundum késés az irányításban.

Billentyűnél ezt nem teheted meg, ott mindenképpen figyelni kell mit akar az EP.
Pl beolvassa ezt a sort:
ESC     2     3     5     4     6     1     7

Le van nyomva az 1-es, ez ki is van rakva. Olvassa a következő sort:
F1    F2    F7    F5    F6    F3    F8    F4

Ha nem reagálsz időben, és még az előző adat van kint, akkor azt hiszi az EP, hogy az F8 van lenyomva.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.08. 23:32:42
Quote
Joy-ra az a megoldás,

Quote
Billentyűnél ezt nem teheted meg, ott mindenképpen figyelni kell mit akar az EP.

Na most én irkálhatnám a mérgesfejeket, mert te nem olvastál ... de én nem irkálok olyat ... :)


Szóval a joy -ra az nem "A" megoldás, hanem "EGY" megoldás csak, azzal a hátránnyal, hogy kellenek hozzá külön logikai áramkörök ...

És ha joy -nál ezt elfogadjuk "EGY" megoldásnak, akkor bevetve még pár ilyen IC -t is:

 (http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216)
Quote
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216 (http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216)

melyek szabvány buszon beszélgetnek a mikrokontrollerrel, és IC -nként tizenvalahány GPIO portot valósítanak meg,
melyekkel a teljes bill mátrix lefedése (mind a 80 bit) lehetséges lenne (éppúgy mint joy -nál a 3 bit),

így ugyanolyan logikai kiválasztós módszerrel kiválaszthatná magának (10 bites bill kivezetéssel a 4 bites helyett természetesen)
a "z80", hogy melyik 8 bitet is akarja most épp olvasni ...

ekkor (ha minden így működne) az EP oldalra ez az atom gyors megszak nem is kéne ...
kényelmes megoldás volna, jó drágán, jó sok plussz IC -vel, akármilyen lassú mikrokontrollerrel, jó nagy méretben ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.08. 23:56:04
Csak az a baj, hogy ilyen sok IC -s szörnyet sem akarok,
meg olyan félmegoldást se, ami csisszre megvalósítja a 4MHz -re,
és pld. 10 MHz -en már életképtelen lenne ...

Szóval kicsit be vagyok punnyadva ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.08. 23:57:35
Tudom, mindenkinek elege van a dual port memoria maniambol :) de en tovabbra is ezzel tudom kenyelmesen elkepzelni, hacsak nem "aldoz" fel az ember egy egesz mcu-t a billencsre es optimalizalja ezerrel a kodost, stb. A baj csak az, hogy ami legkisebb dual port ram-ot talaltam az 1Kbyte, es 48 labu tokban van, overkill. Ami nekunk kene az ugye 10 byte-nyi :) Na jo, legyen 16 byte (16*8 bit), mert az a "kerek". Ilyen "kicsi" cuccrol viszont nem tudok. Pedig akkor aztan semmi sebessegkenyes mukodes nem lenne. Vagy esetleg van valami "kapcsolomatrix" szeru IC is a vilagon, lehet az is jo lenne ide, arrol viszont meg kevesebbet tudok :( Esetleg tenyleg egy parallax propeller MCU kene, a 8 cog-javal egesz sok dolgot csinalhat "egyszerre".
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 00:02:24
Quote from: lgb
A baj csak az, hogy ami legkisebb dual port ram-ot talaltam az 1Kbyte, es 48 labu tokban van, overkill.
És ennek mi a típusa? Amikor kerestem semmi használhatót nem találtam, akárhány lábbal se. Soros vackok meg egyébb hülyeségek voltak.

Quote
Esetleg tenyleg egy parallax propeller MCU kene, a 8 cog-javal egesz sok dolgot csinalhat "egyszerre".
Az majd kiderül :oops:

De továbbra is ott a példa, hogy Tigrian megcsinálta, régebbi, butább AVR bigyóval!
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 00:03:13
Talán olyan formában lehetne érdekes a sok IC -s verzió,
hogy mikor kész van, akkor a breadboard -ról átszerelném ilyen protó nyákra (azokkal a karika forraszpontokkal, de még mindíg vezetékekkel),
és az lenne a kész verzióm ...

És a lényeget nem is mondom:

Ez a panel lenne a "mega illesztő panel" mely akkor ilyen módon mindent ki tudna szolgálni,
amit csak rádugsz, bill, 1 vagy 2 joy, egér egyben ...

Ami persze a belülre szerelhetőséget mindenféle mértékben redukálná ... zéróhoz közelre ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 00:09:15
Quote from: Zozosoft
És ennek mi a típusa? Amikor kerestem semmi használhatót nem találtam, akárhány lábbal se. Soros vackok meg egyébb hülyeségek voltak.

CYPRESS CY7C130-55PC (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf), amit hirtelen talaltam ...

Quote
De továbbra is ott a példa, hogy Tigrian megcsinálta, régebbi, butább AVR bigyóval!

Nem eloszor irod ezt le, en meg nem eloszor valaszolok, hogy igen, meg lehet csinalni, a gond az, hogy akarja-e az ember kulon. Szoval hogy mast ne csinaljon, MCU dedikalva a feladatra. Ha igen, nincs gond. Ha nem, akkor viszont nem feltetlen lehet meg belezsufolni mas dolgot is. Bar mondjuk a topic soran nem feltetlen ertem, hogy mi a cel. Ha csak billencsre kell a cucc, siman megy az minden extra nelkul is, max "illik" asm-ban optimakolt kodot irni hozza :) bar mondjuk csak billencsre es PS/2 kbd-vel nem olyan vilagvege az.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 00:11:10
Quote
De továbbra is ott a példa, hogy Tigrian megcsinálta, régebbi, butább AVR bigyóval!
Tigrian csak 4MHz -re csinálta meg (nem ?),

és ki tudja, hogy valóban tudta -e a 11 z80 ciklusos reakciót ... vagy csak nem kérdezték olyan gyorsan/szerencséje volt ...

És nem azt állítom hogy nem lehet megcsinálni,
csak annyit, hogy feltételezve hogy csak egy IC -sre akarom (az volna a legjobb),

akkor egy 16MHz -es avr -el, a 10 MHz -es z80 -at, a 11 orajelciklusával (ami kb. 1 mikroszekundum) már önmagában sem lehet 100% -ban megválaszolni,
hiszen egy mikroszekundum alatt 16 ciklusa van az AVR -nek, amiből 10 elmegy utasítás nélkül, a megszakítás késlekedésének,
és ráadásul a joy -nál (ugyanezzel a sebességgel) 5 élfigyelős megszakítás kéne, amiből ebben az AVR -ben csak 4 van.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 00:13:53
Quote
 hogy igen, meg lehet csinalni, a gond az, hogy akarja-e az ember kulon. 

Én akarnám külön, sőt pont úgy akarnám, mivel 16MHz -es AVR lapot 2ezer forintért lehet kapni (csak én nem azt vettem, de lehet),

de én meg azt mondom, hogy 16MHz -es AVR -el, 10MHz -es z80- at, külső logikai támogatás nélkül NEM IS LEHET.

Te nem értesz ezzel egyet ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 00:20:51
Quote
Tudom, mindenkinek elege van a dual port memoria maniambol (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)

És mi lenne ez elviekben ? Mert én még nem értettem meg ...


Quote
de en tovabbra is ezzel tudom kenyelmesen elkepzelni,

Én pedig egy 2 IC -s, 2ezer forintos AVR + CPLD kombóban gondolkodgatok,
hogy a 2 IC az mégsem egy kupac,

és a CPLD mondjuk átvenné az GPIO és a logikai IC- k szerepét is,
oly módon hogy mondjuk soros átvitelt valósítana meg,
és nyilván tartaná a 80+ bitünket meg hozzá a "kiválasztó" logikát is,

és mivel a 80 szoros dolgok belül lennének, ezért nem kellene túl sok kivezetése se legyen a CPLD -nek, de azért nem is kettő,
hisz min 4 + 8 + 1 lábon kommunikálna az EP -vel ...

Persze se árat, se programozó árat nem néztem, ha rohadt drága, akkor hülyeség az egész ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 00:30:12
Quote from: Z80System
És mi lenne ez elviekben ? Mert én még nem értettem meg ...

A dual port RAM olyan RAM, hogy ket "oldalrol", "egyszerre" ket dolog hasznalhatja, azaz van neki 2 cimbusza es 2 adatbusza is, stb. A lenyeg: a dual port memoria egyik portjat statikusan read-re allitod be, a cim legyen az EP altal kivalasztott scanelendo sor. Az adatbuszrol meg olvasod. Lathato, hogy mivel itt semmi MCU stb nincs, ez a mukodesi modot csak a memoria sebessege hatarozza meg. itt voltakepp a dp. memoriaban tarolt egyes bitek mutatjak/emulaljak ugymond a bill.matrix allapotat.

A masik port arra kell, hogy az MCU a PS/2 dolgok hatasara irni tudja (modsitani) az allapotat a cuccosnak. Ha itt lassu az MCU-nk akkor sincs para, "nem marad le", max kesobb latja az EP a billentyut, de nem fog helyette mast latni legalabb.

En egyre jobban ugy latom, hogy ez a sok trukkozes/otlet amiatt kell, mert az ember kombinalt megoldast akar. A mar letezo AVR-es PS/2 illesztes szerintem eleg is lenne, max akkor az bill only, masra kell egy masik MCU. Ha mindenaron akarjuk csokkenteni ezek szamat, akkor viszont oda jutunk, hogy ilyen trukkok kellenek, ami miatt amugy is no a kulso alkatreszek szama, es kb ugyanott vagyunk :(

Vagy ja, CPLD inkabb, vagy legalabbis "vagy az is melle/bele" :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 00:35:22
By the way: MT8812 (http://pdf1.alldatasheet.com/datasheet-pdf/view/77066/MITEL/MT8812/+W517JUIGSElbOVwDtv+/datasheet.pdf)

Na, ezt irtam vhol fentebb, hogy vmi switch matrix szeru ize, ez konkretan egy 8*12-es szervezesu cross point switch cuccos. Azt neztem epp, hogy mas (konkretan C64) PS/2 illesztoben pl ez van, maga ez a switch emulalja a billentyumatrixot, es ezt allitgatja egy MCU.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 08:18:47
Quote
A dual port RAM olyan RAM, hogy ket "oldalrol", "egyszerre" ket dolog hasznalhatja,

Hát lehet, hogy van ilyen ram, de az tutkó, hogy még egyéb logika nélkül a joystick csatlakozón lévő drótok nem tudják meghajtani ... nem ?

Max annyit tudna egy ilyen ram, mint a GPIO -s IC -k, annyiból lenne jó, hogy nem kéne belőle 6 hanem csak 1.
Viszont cserébe a meghajtása bonyolultabb lenne az EP oldalról, komplexebb logika kéne a címzéséhez EP oldalról. Nem ?


Quote
A mar letezo AVR-es PS/2 illesztes szerintem eleg is lenne, max akkor az bill only, masra kell egy masik MCU.

Ahogy írtam nekem nem volna rossz az 1 mc / input device megoldás, mert addig míg nincs USB én egyértelműen külső (sőt, ha lehet kábelre) szerelésben gondolkodok.

De ha sztd jó tigrian megoldása, és VAN megoldás (mert ebben per pillanat nem értünk egyet), akkor légyszi mondd meg hogy egy attiny -val (egyéb logikai alkatrészek nélkül!) hogy oldott meg olyat, hogy 1 mikroszekundum alatt ott legyen a válasz az EP -nél ?

Mert ha megmondod, nekem az jó lenne, PS/2 -ig bezárólag teljesen jó nekem az eszközönkénti mc.


Quote
By the way: MT8812 (http://pdf1.alldatasheet.com/datasheet-pdf/view/77066/MITEL/MT8812/+W517JUIGSElbOVwDtv+/datasheet.pdf)

Na, ezt irtam vhol fentebb, hogy vmi switch matrix szeru ize, ez konkretan egy 8*12-es szervezesu cross point switch cuccos. Azt neztem epp, hogy mas (konkretan C64) PS/2 illesztoben pl ez van, maga ez a switch emulalja a billentyumatrixot, es ezt allitgatja egy MCU.

Ezt meg szuper módon nekem nem mutatja meg épp ... :(
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 08:49:39
Quote from: Z80System
De ha sztd jó tigrian megoldása, és VAN megoldás (mert ebben per pillanat nem értünk egyet), akkor légyszi mondd meg hogy egy attiny -val (egyéb logikai alkatrészek nélkül!) hogy oldott meg olyat, hogy 1 mikroszekundum alatt ott legyen a válasz az EP -nél ?

Hat nezd, o megoldotta, es tudtommal ment, nem volt olyan gond, ami az idokeret szukossege miatti hiba (bar en nem probaltam, de gondolom pl Zozo csak szolt volna ha gond van). Azt, hogy pontosan hogy oldotta meg, nem tudom, kene latni az MCU programjat, amit egyszer ugyan ideadott (itt a forumon post-olta) de onnan sajnos mar nem tolheto le, "torott link" :( Tigrian megoldasnal amugy ugye a gond az MCU flash serulese volt, ami nem von le abbol az ertekbol legalabbis, hogy funkcionalisan korrekt volt. Ahogy mar okoskodtam parszor, szerintem olyasmi gond lehetett, hogy nem lett a kerdeses MCU-n a brownout feature bekapcsolva, vagy hasonlo, Atmel specifikacioja is kulon ir arrol, hogy flash serules lehet, ha nem figyel par fontos szabalyra az ember. Persze, en konnyen okoskodom, szerintem Tigriannak meg mindig nagyobb tapasztalata lehet az MCU programozasban, mint ami nekem van. Amugy, ha csak a brownout fixalna a dolgot akkor a BODEN vagy hasonlo nevu fuse bitet kene beallitani az MCU-n, ha valakinek van ilyen Tigrian-fele illesztoje, es van vmi AVR programozoja, meg kene nezni, hogy allnak most a fuse bitek, es ha BODEN (Brown-Out Detector ENable, vagy hasonlo roviditese, ha jol remlik) nincs beallitva, akkor be kene allitani (aztan checkolni, hogy van-e flash serules igy is). Meg az egesz bootloader-es EP sw-bol frissitheto dolgot ki lehetne szedni, szerintem nem SOS ha amugy jol megy, nem akarja azt minden nap frissiteni az ember, foleg, ha az okoz valahogy esetleg gondot!

Ezt csak azert irtam, mert lehet, PS/2 billencsre tulkeppen mar van is kesz megoldas, ami jo lenne, max par hajszalnyi simagatas lene, a fenti flash problema miatt rajta, es mindenki happy lenne!

Visszaterve a kerdesedre: latatlanban nem tudom, hogy oldotta meg, teljesen oszinten. Lusta vagyok hozza, de eloszor kepek alapjan meg kene nezni, pontosan mihez csatlakozott az ATtiny-vel. Tehat felhasznalt-e WR0 jelet, vagy allandoan csak nezte, es az alapjan modositotta hogy a kimenoleg mit tol ki? Nem tudom. Ha vmi interrupt-ba rakott cuccosrol van szo: azt is fontos megjegyezni, hogy ugye a specifikacioban irjak, hogy hosszabb utasitas eseten ha jon interrupt, az AVR-nek is tovabb tart, mig valaszol ra. Igen am, de foleg, ha sajat magad asm-ban irod, azert tudod, milyen utasitasokat raksz a szerencsetlen programodba, tehat akar kerulheted is a "hosszu" utasitasokat :) Ezzel maximalizalva egy kisebb ertekre az interrupt kiszolgalasi idot. Plusz nyilvan asm es AVR "sok regiszter" adta lehetoseget, hogy nem is kell mentegetni, stb.

Persze legjobb lenne latni a programot. Zozo, neked nincs meg? Anno is kuldtel vmit nekem, de szerintem az csak a bootloader volt, ami jelen esetben sokat nem segit :( Tigrian meg - mint irtam - kedvesen postolta a cuccost, csakhogy az mar nem toltheto le a forumrol :( Talan irta is vki, hogy vmi server crash utan veszhetett el, vagy hasonlo ... Itt volt (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/msg28089/#msg28089).

Mondjuk talaltam eg u27sw.zip-et a sajat gepemen, amin Z80 kod van benne, az sokat nem segit (talan azzal volt hivatott frissiteni a cuccos flash-et EP-rol)?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 09:01:00
Quote from: lgb
Azt, hogy pontosan hogy oldotta meg, nem tudom, kene latni az MCU programjat, amit egyszer ugyan ideadott (itt a forumon post-olta) de onnan sajnos mar nem tolheto le, "torott link" :
Azt te kérted el, nincs meg valahol (múltkor valami régi géped vinyóját emlegetted)?
Nekem bináris verzió van talán, azzal tudtok kezdeni valamit?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 09:04:11
Quote from: Z80System
Tigrian csak 4MHz -re csinálta meg (nem ?)
Itt írtam:  (http://enterpriseforever.com/hardver/hw-keszites-arduino-val/msg41087/#msg41087)
"Amit belsőleg tudott órajelet a vezérlő az 4MHz-es géphez volt elég, turbós (ami abban az időben 6/7.12Mhz volt) géphez egy külső 18.43Mhz-es kristály lett rátéve."
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 09:31:14
Quote
Hat nezd, o megoldotta, es tudtommal ment, nem volt olyan gond,
Tehát mi az amit tudunk (és valszeg nem tévedünk):

- Zozo szerint egy ilyen cuccnak (maximum) 11 z80 órajel alatt kell reagálnia (pld. a billentyűzet, de a joy -nál ugyanez, és valszeg mindennél ugyanez, ami csak in/out -tal kommunikál: minden input eszköz amit csak illeszteni akarok) a megváltozott jelekre (billentyűnél van erre külön drót, joy -nál meg az öt irányról van szó) ahhoz hogy egyetlen beolvasás se olvashasson hülyeséget. Tehát 11 z80 ciklus. Egy 10 MHz -es z80 esetében ez kb. 1 mikroszekundum.

- Az AVR (vizsgált példány) 16 MHz -es, melynek 16 ciklusa van 1 mikroszekundum alatt, melyből 10 akkor is elmegy egy megszakítás kezelésére, ha semmi egyebet nem csinálsz. Ha hosszabb utasítás közben kapja el a megszak, vagy alszik a proci, vagy fene tudja még hány tényező, akkor a 10 ciklusnál még több is. Nekünk max 16 telhet el. És azért valamennyi időt kéne hagyni a főprogramnak is a futásra.

- Ha ezeket nem kérdőjelezzük meg, és nem gondoljuk hogy az attiny -nál kevesebb a megszakítási ciklus veszteség, vagy hogy nagyobb az órajele, vagy ilyesmi, akkor a helyzet ott csak rosszabb lesz.



Sztm. ezeket nagyjából tényeknek lehet tekinteni, nem tudom te melyikkel vitatkozol, így nekem fenntartásaim vannak, hogy a tigrian -os módszer teljesíti a jelen elvárásokat.

Persze abból a szempontból valszeg egy kicsit jobb a helyzet, hogy a 11 z80 ciklus az arra vonatkozik, hogy egy out utasítás után a z80 leghamarabb ennyi idő alatt tud be is olvasni,
de valószínűleg ezt loop -ban ezzel a sebességgel (port váltással együtt!) nem tudja tekerni a z80, tehát egy port váltásra 11 alatt kell reagálni, de egy újabb váltás majd csak később jöhet (némileg) így ha a 11 mikroszekundumot ki is tölti a megszakítás, a következő váltásig tudna futni a főprogram ...

Na ebben az esetben akkor írni kéne egy olyan megszakot, ami 4-5 AVR cikluson belül elvégzi a dolgát, és összesen beleférjen a 16 -ba ...

Szóval ... a fenntartásaim fenn vannak tartva, míg valaki el nem magyarázza, hogyan lehetséges mégis ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 09:33:57
Quote
 turbós (ami abban az időben 6/7.12Mhz volt) géphez egy külső 18.43Mhz-es kristály lett rátéve
Upsz ... ezt közben írta zozó ...

Hát itta megfejtés ... :)


7MHz -es z80 -hoz 18MHz -es AVR ... az már valamennyire klappolhat ...

De nem a 10MHz -es z80 -hoz a 16MHz -es AVR ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 09:35:01
Itt jön a kérdés, hogy manapság mi az elérhető max AVR órajel?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 09:37:32
Quote from: lgb
CYPRESS CY7C130-55PC (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf), amit hirtelen talaltam ...
Na ez végre olyan amire gondolok! Csak 64KB-os kéne, abból megcsinálni a videó memóriát, az ütős lenne! EXOS/BASIC egyik nagy lassúsága, hogy a rendszerszegmens a videó memóriában van...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 09:41:30
Quote
Nekem bináris verzió van talán, azzal tudtok kezdeni valamit?
Hát én biztos nem fogok vele szöszölni ... visszafejtéssel ...


Quote
Itt jön a kérdés, hogy manapság mi az elérhető max AVR órajel?

Hát ja, érdemes lehet utánanézni ...

Itt ugy oldjak meg a hetvensok MHz -et, hogy ARM- et használnak, és arduino kompatibilissé tették szoftverből:

https://www.pjrc.com/teensy/

A 3.1 -es verzió ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 09:45:08
 (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf)
Quote
CYPRESS CY7C130-55PC (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf), amit hirtelen talaltam ...
Bakker nekem erre is csak egy olyan PDF -et tol, amibe az van írva, hogy átmenetileg nem elérhető ... Mi van itt már ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 10:03:54
Quote from: Z80System
(http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf)Bakker nekem erre is csak egy olyan PDF -et tol, amibe az van írva, hogy átmenetileg nem elérhető ... Mi van itt már ...
Nekem is, de beírtam googléba és az tol működő linket :-)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 10:21:26
Quote from: Zozosoft
Itt jön a kérdés, hogy manapság mi az elérhető max AVR órajel?

Nyilvan AVR-tol fugg, de az ilyen kisebb tipusoknal szokott max 8, 16 es 20MHz lenni, pontos tipusa valogatja. A kepek alapjan ATtiny2313-20PU, tehat gondolom 20MHz. Mondjuk sok olyan projectet lattam, ahol kicsit tulhajtjak a tipus specifikalt max orajelehez kepest, tehat valoszinu 20Mhz felett "kicsivel" is mukodokepes marad (foleg +5V-on, 3.3V-nal szokott lenni problema nagyobb orajelnel, hogy akkor mar nem birja, mivel sok ilyen MCU megy 5V es 3.3V-al is, ahogy tetszik neked eppen).
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 10:22:31
Quote from: Zozosoft
Na ez végre olyan amire gondolok! Csak 64KB-os kéne, abból megcsinálni a videó memóriát, az ütős lenne! EXOS/BASIC egyik nagy lassúsága, hogy a rendszerszegmens a videó memóriában van...

Jelen esetben erdemes a Cypress weboldalan nezelodni, gondolom van nagyobb is, mint 1Kbyte :D En ugye epp hogy kisebbet kerestem volna ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 10:24:19
Quote from: lgb
Jelen esetben erdemes a Cypress weboldalan nezelodni, gondolom van nagyobb is, mint 1Kbyte :D En ugye epp hogy kisebbet kerestem volna ...
Bazi drága és gusztustalan felületszerelt :-(
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 10:27:51
Nem volt vmi leiras, hogy kell osszerakni a taszt illesztot? Fenykep alapjan nehezkes kicsit felterkepezni, hogy mit hova ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 10:30:34
Quote from: Zozosoft
Bazi drága és gusztustalan felületszerelt :-(

Sajna ja. De gondolj bele, ket busz, adat+cim, kell lab sajna dogivel. Optimalis esetben is 64K-ra lenne (8+16)*2 = 48 lab csak a ket adat es cimbusznak. Es akkor ugye van meg chip select, write, mindket portra, meg hat a szokasos, tapfesz, GND, ez normal DIP-en nem fog elferni :( En tovabbra is azon gondolkozom, hogy lehetne-e vmi shadow RAM-ot tenni: ha CPU ir, irja mindket 64K-t, ha CPU olvas, akkor mondjuk az "A" IC-bol olvas, a Nick meg a "B"-bol. Igy csak olvasasnal full speed lenne a Z80-nak is, irasnal van egyedul "lassulas". Nem tudom ez mennyit segitene ...

EDIT: a fenti shadow RAM-os trukknek max egy baja van: inicializalaskor (EXOS?) vegig kene irni a videoram-ot, mert ha veletlenul egyik RAM IC tartalma mas mint a masike, az fura lesz :D
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 10:35:23
Quote from: lgb
Nem volt vmi leiras, hogy kell osszerakni a taszt illesztot? Fenykep alapjan nehezkes kicsit felterkepezni, hogy mit hova ...
A topikját érdemes átnézni :-D (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/msg2650/#msg2650)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 11:34:34
Mondjuk azon gondolkodom, hogy ha már így mindent összevásároltam, meg elviekben is belemásztam, megértettem mi a helyzet, tudok a dologban legalább gondolkodni valamennyire ... hát összerakni mindenképp öszerakom.

Legfeljebb ha nem lesz jó 10 MHz -re ... hát nem lesz. Vagy esetleg ha lehet külső órával feljebb húzni, hát majd kipróbálom.

Lehet, mire lesz 10MHz -es EP -m, addigra 100MHz -es AVR lapokat árulnak majd ...

Vagy lehet hogy ha kész, akkor beleásom magam az ARM -be is, és teensy 3.1 -gyel, vagy ami  akkor majd lesz, megcsinálom szintén ...

Vagy akármi ...

Szóval összerakni mindenképp összerakom ... :roll:
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 11:37:09
Quote from: Zozosoft
A topikját érdemes átnézni :-D (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/msg2650/#msg2650)

Megtettem, de mint a valodi eletben, nezek, de nem latok :) Koszi. Na megneztem. Hat sok ujdonsag nincs, fokent az U27 jelu IC-re epul ra, annak bementeit az AVR B portjara koti. Gondolom tehat az AVR B port az mindig output, es ott nyomja ki h a kivalasztott scannelendo sorban mi az eredmeny az EP szamara. Az U27 bemenetei kozvetlenul az EP adatbuszara csatlakozik, ennek also 4 bitje kapcsolodik az AVR-re. Az egyeduli "idegen" (nem U27-hez megy) jelnek az U25 11-es laba tunik ami ugye a /WR0. Valoszinu, ez triggereli arra az AVR-t hogy nezze mar meg mi van az adatbusz (also 4 bitjen), es kivalasztja igy a scannelendo matrix sort. Az mondjuk erdekes, hogy ez utobbi jel az AVR-en a PD3 nevu labra kapcsolodik, ami amugy egyben az egyik interrupt bemenet is az AVR szamara.

Szoval, ezek utan en azt tippelem, hogy a kerdeses AVR programjat amugy nem ismerve, pl a kovetkezo lehetett a mukodese: van 10 byte az AVR RAM-jaban ez az "emulalt" bill matrix allapota az egyes bitekre vetitve. Ha a /WR0 aktiv, interrupt-ot general AVR-en, ami aztan a Z80 D0-D3 segitsegevel megadott X-edik byte-jat ki-out-olja az AVR B portjara. A PS/2 szorakozasnal meg gondolom van egy tablazat a programban, hogy melyik scan kod hanyadik byte melyik bitjet (vagy inkabb mask-al megadva) allitja.

Ezek utan persze az egyeduli kerdes pl az, hogy eleg gyors-e az AVR ahhoz, hogy elkapja a /WR0 altal okozott interrupt-ot. Ez azert is erdekes, mert meg azon ido alatt kell olvasnia a D0-D3-at, amig a Z80 kinn tartja a buszon a cimet. Szoval az AVR interrupt elfogadasa, es akozott, hogy beolvassa az AVR D portjat (azt ertelmezni kicsit tobb ideje is van, eleg ha az ertek megvan ...) nem telhet el tobb ido, amig a Z80 buszon kint van a 0xB4 portra irando ertek. Hacsak nincs az AVR-ben valami olyan feature, hogy automatice latch-eli az input-ot (nem tudom van-e, hogy oszinte legyek). A masik timing ciritical cucc nyilvan az, hogy max 11 (?) Z80 orajel ciklusnyi ido alatt a B porton neki prezentalnia kell mar az uj kbd sor-ra jellemzo adatokat, de szerintem az mar kevesbe necces, ha mar itt vagyunk az interrupt-on belul (ha most at vesszuk, hogy AVR fut mondjuk 16MHz-en az a Z80 4-szerese, szoval a 11 Z80 orajelciklus 44 AVR ciklust jelent). Nekem tenyleg csak az ut szoget a fejembe, hogy az elso lepeshez eleg gyors-e az AVR, a masodik mar nem gond.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 11:44:15
Quote from: lgb
Meg az egesz bootloader-es EP sw-bol frissitheto dolgot ki lehetne szedni, szerintem nem SOS ha amugy jol megy, nem akarja azt minden nap frissiteni az ember,
Az eredeti elképzelés szerint akár naponta többször is :-) A lényege a billentyű map-pelés, lehet UK, BRD, HUN, HFONT, akármihez igazitani.
Egy PC billentyűhöz akár több EP gomb is tehető, pl PageUp-hoz SHIFT+FEL.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 11:45:47
Quote
ha most at vesszuk, hogy AVR fut mondjuk 16MHz-en az a Z80 4-szerese
Nyilván nem 10 MHz -es z80 -ról beszélsz ... a problémázás meg (miután lemondtam a tiszta C++ kódról) végig azon megy részemről ... a 10 MHz -en ...


Quote
Nekem tenyleg csak az ut szoget a fejembe, hogy az elso lepeshez eleg gyors-e az AVR, 

Ez tényleg így van Zozo ? A beolvasáshoz még kevesebb idő áll rendelkezésre, mint a válaszoláshoz ?


Quote
, a masodik mar nem gond.

De, 10 MHz -en simán gond.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 11:49:41
Quote from: Z80System
Ez tényleg így van Zozo ? A beolvasáshoz még kevesebb idő áll rendelkezésre, mint a válaszoláshoz ?
A Tigrian féle bekötésben igen. De az általam javasolt, az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre, hogy a Z80 már a kívánt sort lássa.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 11:51:59
Quote from: Zozosoft
Az eredeti elképzelés szerint akár naponta többször is :-) A lényege a billentyű map-pelés, lehet UK, BRD, HUN, HFONT, akármihez igazitani.
Egy PC billentyűhöz akár több EP gomb is tehető, pl PageUp-hoz SHIFT+FEL.

Na varj, a ketto nem ugyanaz. Ha a mapping-et akarod valtoztatni, az talan elfer az EEPROM-ba, a flash-ben tarolt konkret AVR kod frissiteserol beszelek en most, hisz flash serules problema volt a gond. Vagy azert lett ez igy megoldva, mert nem fert el az AVR EEPROM-jaban a mapping tabla, igy a flash-be kellett tenni, azert kell hozzanyulni a flash-hez feltetlen? Mert ugye az vmi 128 byte. Megoldas lehet meg egy kicsit nagyobb AVR (ami penzben max 1-2 szaz forint kulonbseg, vagy annyi se?) ahol tobb EEPROM van, es akkor a flash-rol le lehet szallni (vagy AVR SRAM-ba tenni, ennek hatranya, hogy persze akkor EP-nek fel kell vhogy toltenie bekapcs utan, addig a default mapping lenne csak, EEPROM eseten ki/be kapcsolas utan is megmarad az utoljara oda irt info).

Mondjuk ez engem kevesbe hatna meg, ahogy a mapping is (de tudom nem vagyuk egyformak ...), egy fizikai EP billentyuzetet sem huzalozod at, mert allitgatod a gepen a nyelvet. En dobnam a PC-s kiosztast, es fixen azt mondanam, hogy adott PC bill gomb az adott EP matrixhoz igazodo gomb, es kesz, fuggetlenul attol, hogy a PC billencsen esetleg nem is az a jel szerepel (ezt csinaltam JSep-nel is). Szoval ez a positional vs symbolic mapping tema ...

Amugy a design stabilabba tetelehez otleteim:

1. EP RESET jel megetetese az AVR-rel, ehhez viszont lehet, hogy az AVR fuse biteket modositani kell (RESET lab funkcio engedelyezese).
2. A mar emlitett BODEN fuse bit bekapcsolasa.
3. Kondi hozzacsapasa az AVR Vcc es GND laba koze, lehetoleg egy 100nF keramia-kondi vagy hasonlo cucc, es esetleg (?) vele parhuzamosan egy kisebb elko is.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 11:52:34
Quote
az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre,
Na azér ! :)

Quote
A Tigrian féle bekötésben igen.
És akkor ezek szerint a 18MHz -re húzott attiny megszakja még ezt is képes lekapni ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 11:56:38
Quote from: Zozosoft
A Tigrian féle bekötésben igen. De az általam javasolt, az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre, hogy a Z80 már a kívánt sort lássa.

Igen, ez amugy nem rossz otlet! Szerintem Tigrian design-jaban a kulcs az volt, hogy egy IC fole epitheto, egyszeru, max 1 jel kell (ha jol nezem) amit mashonnan kell hozni, a WR0. Viszont nem biztos, hogy negy darab plusz vezetek sporolasa a fo problema, ha ugy a timing kevesbe kenyes, es esetleg nem kell kulso orajel/kvarc turobositott EP eseten sem. Vagy nem tudom, Tigrian turbos megoldashoz kvarcot tett oda? Vagy nem lehetne az EP-tol szerezni valahonnan orajelet, ami 20MHz kornyeken van, es igy a kvarc megsporolhato? Bar nem feltetlen tanacsos ilyen frekvenciaju jelet (ami mas vezetokben zavart indukalhat) vezeteken ide/oda vinni, az is lehet ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 12:03:28
Quote
És akkor ezek szerint a 18MHz -re húzott attiny megszakja még ezt is képes lekapni ...
7 MHz -es z80 -hoz ... el ne felejtsük ... nem 10 MHz -eshez ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 12:08:23
Quote from: lgb
Na varj, a ketto nem ugyanaz. Ha a mapping-et akarod valtoztatni, az talan elfer az EEPROM-ba,
Lehet hogy ott volt... emlékeim szerint két külön fájl volt, de mindkettőt lehetett EP-ről küldeni.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.09. 12:09:29
Quote from: lgb
Vagy nem tudom, Tigrian turbos megoldashoz kvarcot tett oda?
Még hányszor írjam le, hogy IGEN! :twisted:
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 12:26:14
Quote from: Zozosoft
Még hányszor írjam le, hogy IGEN! :twisted:

Meg leirod parszor, akkor eleg lesz :) Csak azert kerdeztem, mert nem tudom, EP-ben van-e kozelitoleg olyan orajel vhol, amit meg lehetne vele etetni, es nem kene kvarc akkor turbosabb verziohoz se, mint irtam.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 13:12:09
http://garagelab.com/profiles/blogs/atmega328-overclock-30mhz

Persze ez egy 2 éves cikk, akár lehetnek már ilyen órajelű cuccok, húzás nélkül ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 14:54:27
Quote from: Z80System
http://garagelab.com/profiles/blogs/atmega328-overclock-30mhz

Persze ez egy 2 éves cikk, akár lehetnek már ilyen órajelű cuccok, húzás nélkül ...

Sima ATtiny, ATmega sorozatban nem hinnem, hogy annyira emelnek az orajelet, 20MHz szokott lenni a hivatalos plafon. Mert ugye akinek tobb kell, az mar eleve nem 8 bitest hasznal, ott meg nagysagrendekkel erosebbek is vannak, akar 32 bites ARM magos cuccok, stb is. Akinek meg az felesleges, oda nem valoszinu, hogy 8 biten akar 100MHz-et. AVR-bol is van meg az ATXmega sorozat is (amit nem ismerek) illetve az AVR32-ok, ami viszont total mas mar asm szinten is, illetve ARM magos cuccok (az AVR32 nem ARM viszont - ha jol remlik - de teljesitmenyben hasonlo).
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 15:05:38
http://www.ladyada.net/library/picvsavr.html
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 15:21:16
Quote from: Z80System
http://www.ladyada.net/library/picvsavr.html

Ja, egesz korrekt, mondjuk ATmega es hasonlo szintu AVR-ekbol pl USB tenyleg elegge hianyzik neha ... Amugy orajellel vigyazni! Ugye Z80 vs 65xx kapcsan is elojott, de itt talan meg fokozottabban igaz: magaban nem jelent semmit. Egy haverral komoly vitaba keveredtunk, hogy szerinte a PIC van olyan gyors mint az AVR, es nagyobb orajellel is kaphatoak hasonlo arfekvesu tipusok. Ez utobbiban igaza van, csak egy fontos dolog lemaradt. Sok AVR utasitas egy orajel ciklus. Haver szerint ez PIC-re ugyanugy igaz. Kardoskodott is mellette, amig fel nem tunt neki, hogy a "legtobb PIC utasitas egy ciklus" mondat utan van egy csillag, aztan a kap aljan kisbetuvel: egy utasitas ciklusnak negy orajelciklust nevezunk :-) Azert igy maris nem ugyanaz a leanyzo fekvese ... Na jo, a pontos vitara nem emlekszem (es mint mondtam, PIC-hez annyira sem ertek, mint AVR-hez), az is lehet, hogy nem negy, hanem csak ketto? Viszont ez megmagyarazza azonnal, hogy kb hasonlo kategoriaban miert vannak PIC-ek nagyobb orajellel mint AVR.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 15:27:23
Quote
hogy kb hasonlo kategoriaban miert vannak PIC-ek nagyobb orajellel mint AVR.
Hát ja, bakker !

És ARM -mel mi a helyzet ?
Lehet kiderül, hogy az itt már hússzor linkelt, 72MHz -es ARM -re épülő Teensy 3.1 sem annyival gyorsabb az AVR -nél, mint az órajele mutatja ? :)

Mondjuk ha úgy lenne, akkor mi a ráké bajlódott volna vele az ember, hogy megcsinálja arduino kompatibilsre, ha csak egy alig gyorsabb valamit csinált volna ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 15:33:18
Quote from: Z80System
És ARM -mel mi a helyzet ?
Lehet kiderül, hogy az itt már hússzor linkelt, 72MHz -es ARM -re épülő Teensy 3.1 sem annyival gyorsabb az AVR -nél, mint az órajele mutatja ? :)

Aze' nem :) Az ARM komoly cucc mar. Csucsban az AVR is kepes egy orajel alatt egy muveletet elvegezni (PIC nem), ahogy az ARM is, azonban ne felejtsuk el, hogy az ARM 32 bites adathosszt hasznal, az AVR meg 8 bitest, szoval ha a nyers szamitasi teljesitmenyt nezzuk ... Bar egy MCU eseten nem feltetlen az a fontos persze, hogy 2GHz legyen.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 15:36:47
Hát nekünk most, arra amire használni karjuk, hogy semmi más ne legyen, csak egy chip, és bírjon felelgetni 1 mikroszekundum alatt is ... épphogy 2GHz lenne jó. (Csak ne fogyasszon ... :))
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.09. 15:37:48
Quote from: Z80System
Hát nekünk most, arra amire használni karjuk, hogy semmi más ne legyen, csak egy chip, és bírjon felelgetni 1 mikroszekundum alatt is ... épphogy 2GHz lenne jó. (Csak ne fogyasszon ... :))

Tipikusan ide nem az orajel hanem a feature kene :) Pl a PIC-es PSP, na ezt irigylem azert PIC-ben :D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.09. 15:43:38
Quote
Tipikusan ide nem az orajel hanem a feature kene (http://enterpriseforever.com/Smileys/phpbb/smiley.gif) Pl a PIC-es PSP, na ezt irigylem azert PIC-ben (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)
Jó, azt értem, hogy bizonyos fícsőrökkel le lehet venni az órajelet, és akkor már nem kéne,

de miért pont ez a PSP ?

Ezzel mi lenne más ? HA más lenne, csinálnám ilyennel és kész. Dehát azért mert van rajta egy 8 bites párhuzamos port, attól mi változna,

plussz cuccal meg az AVR is megoldhatja lassan is 50x, megbeszéltük ...

Ez a PSP megoldja nekünk a gyors választ önmagában plussz cucc nélkül ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.10. 21:01:39
Quote
By the way: MT8812

Aham ... igazad lesz ... ez egy 10-15 dollár között kapható cucc (mondjuk DIL tokban 40 -es ... mint a Z80 ... szal nem épp kicsi ... :)),
és ez billentyűhöz lehet közvetlen kapcsolódhatna, joy -hoz meg max 1-2 másik IC -n keresztül ...

Még mindíg inkább ez, mint az én IC kupacos megoldásom ...

Már persze mindez akkor, ha 10 MHz -en nem leszünk stabilak (most megmondom: húzás nélkül biztosan nem), és akarunk 10 MHz -et ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.10. 23:49:40
Na, kipróbáltam ebben a formában is, 3,96 MHz lett a led villogás frekije műszer szerint:

Code: [Select]
void loop()
{
  while(true)
  {
    PORTD= 0xff;
    PORTD= 0x00;
  }
}

Ez egy olyan verzió, mikor a kód ugyan még C++, de már nem függvényeken hanem direkt port íráson keresztül operál.

Mindenesetre így már felverekedte magát a megahercek tartományába.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 00:27:11
Letiltott megszakításokkal a fenti már 3.999 MHz ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 00:35:57
Letiltott megszakításokkal a fenti már 3.999 MHz ...

Hmmm. OUT megvan 1 orajelciklusbol, van ket OUT (tfh C fordito tud opitmalizalni es regiszterekbol tolja v nem'tom). Aztan kell egy RJMP ami ket orajcilus, azaz osszes 4, tehat ebbol az kovetkezne, hogy 16MHz-en hajtod az AVR-t kb?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 01:23:15
Ja, 16 MHz az AVR, de még most próbálom írni ugyanezt assembly -ben ... csak nem sikerül ...

AVR-C -t használva, mely enged inline assembly -t is, de per pillanat meg nem sikerült megbírkózzak az AVR assembly megértésével,
plussz az AVR-C inline assembly -jének szintaxisának megértésével ... szal nem tudtam még összerakni ugyanezt a loop -ot assembly -ben ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 01:25:43
AVR-C meg sima AVR GCC ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 01:37:10
Ha esetleg valakinek az enyémnél nagyobb kapacitású agya van, ez:

http://www.nongnu.org/avr-libc/user-manual/inline_asm.html

az az inline assembler szintaxis, amivel nekem azt a 2 port írás+visszaugrás loop -ot meg kéne valósítsam.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 02:08:22
Ne tedd, az un AT&T asm szintaxis, amit a gcc hasznal (amugy kb minden cpu-nak, x86-nal is ...) azert kell neki, mert azon hint-ek alapjan tud optiamlizalni, es "latja" hogy az asm kod hogyan fugg ossze a C valtozoiddal stb amire hivatkozol, mivel errol tudnia kell. Szoval ettol lesz ilyen bonyolult a szintaxis, ez nem az AVR sajatossaga, hanem a GCC miatt van, meg hogy keverni akarod.

En sima AVR assemblert hasznalok, igaz akkor az egesz cucc asm lesz ... Ilyen pl az avra nevu, abban amit te irtal, az pl ilyesmi lehet:

       LDI R0, 0
       LDI R1, 0xFF
    loop:
       OUT PORTB, R0
       OUT PORTB, R1
       RJMP loop

Namost ennel van szofisztikaltabb megoldas is talan, de most nem ez a lenyeg, hanem a szintaxis :)

Amugy pl itt is lehet olvasgatni, vagy ez mar megvan? http://www.avr-asm-tutorial.net/avr_en/index.html (http://www.avr-asm-tutorial.net/avr_en/index.html)

Itt kicsit elmagyarazza, miert kell ez a "beteg" szintaxis a gcc-nek (epp x86-os peldan): http://wiki.osdev.org/Interrupt_Service_Routines (http://wiki.osdev.org/Interrupt_Service_Routines) Most epp nem talalom, de volt egy "GCC inline assembly black magic" oldal, ahol talan pont a Linux kernelbol volt forras reszlet, es olyan durvan nezett ki, hogy azon versenyeztek, ki tud olvashatatlanabb es megerthetetlenebb reszleteket fellelni a neten :)

Ja, es ha full asm project, akkor viszont ugye neked kell megcsinalni az egeszet, szal a kod elejere pl az interrupt vector table stb, amivel C alatt nem torodsz. Mondjuk nem nagy cucc, optimalis esetben ha int stb sincs engedve, akkor egy szem RJMP utasitas a 0-as cimen. A masik lehetoseg, hogy koztes megoldas: van C es asm is, de nem egy forrason belul: object file-ra forditod mindkettot (asm-ot assemblerrel, C-t C forditoval) aztan linkeled ossze. Ennek hatranya a build mechanizmus kisse bonyolultabba valasa, illetve az, hogy elvesztesz nemi performanciat hogy nem "teljesen" inline a kod, max hivhatod mint fuggveny pl. Ja, es ebben az esetben ismerned kell a C fordito altal hasznalt "stack trukkoket" stb, mert meglepodsz a vegen :) Ismet, ez nem AVR, ez minden platformon igy megy, x86-on is pl.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 10:18:35
Tanx,

Tudom hogy ez tök ellentmond azzal amit eddig hirdettem magamról,
de ez van, az emberek bonyolultak, továbbra is igaz, hogy általában nem a feladatért csinálok dolgokat,
hanem az eredményért (mégha filozófusok csóválnák is a fejüket ezért),
és persze h igazad van hogy minek vergődök ezzel, ha ott a síma assembly,

ettől függetlenül én nem egy egész programot akarok így írni,
hanem ugye 2-3 sor assembly -t ... szóval az már engem is tök felmérgesít,
ha valamit akarok, és nem megy ... úgyhogy inline assembly -ben lesz kipróbálva,
az már héccencség... :)

Egyébként GCC -ben is lehet normálisabb assembly -t használni, ilyen módon:
http://www.nongnu.org/avr-libc/user-manual/assembler.html

De én oda a C++ közepébe csak be akarom szúrni azt a 2-3 sort ... még kifutni sem fog ugye ebből történetesen,
úgyhogy olyan szempontból se problémás a dolog, hogy jujj, ne gabajodjon össze a C -vel ...

Nemá hogy ne jöjjek rá arra a 3 sorra ... :) Tunniakarom.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 14:12:08
Egyébként arról van valakinek valami fogalma, hogy az USB háttértárak esetében mi lenne a helyzet a több darab és féle eszközzel ?

Úgy értem, annó zozó csinált egy IDE karit, és azzal (eddig még) bármilyen ide eszközt sikerült kezelni, legyen az winyó vagy SD kártya, mely IDE interfészt nyújt.

Namost USB esetben akkor egy HUB -bal az EP -re lehet csatlakoztatni 2 winyo -t, 1 CD ROM -ot, 3 SD kártyát meg 4 floppy -t ...

Mindezt párhuzamosan ...

Van valakinek fogalma arról, hogy egyrészt ezeknek a "storage" típusú előbb felsorolt eszközöknek van -e egy olyan közös valami kezelésük (vagy közös kezelésük van -e) USB -n,
mint amilyet az IDE eszköz megvalósított a különböző IDE kompatibilis eszközök használatakor ?

Vagyis ha valaki megírna egy USB vezérlőt, akkor automatikusan tudna az összes ilyen típusú ezközt kezelni, ráadásul ugye akárhány példányt rádugva ezekből,
EP felé is csak egyféle interfészen kommunikálva,

vagy pedig USB -n és/vagy EP fele is külön kéne megvalósítani a különböző eszközök kezelését ?

És hogy illeszkedne ide a darabszám ? Gondolom a darabszámot is valahogy bele kellene illeszteni az EP oldali interfészbe is ... nem ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 15:12:41
Mar irtam, hogy USB eseten a kozos pont az un "USB mass storage" protocol, amit a legtobb ilyen cucc beszel (mittomen, pendrive, USB-s vinyo illeszto, meg iyesmik). Szoval nem kell minden cucchoz kulon "USB driver", elvileg. Arra viszont en is kivancsi lennek (oszinten, fogalmam sincs), hogy egy altlag USB host, ami elerheto szamunkra (legyen az vmi fejlettebb MCU ami tud hw-bol USB-t, PIC-ek kozott tobb ilyen van, sajnos AVR eseten mega-k kozott nincs, vagy akar vmi SPI-on MCU-hoz illesztheto USB interface IC, stb), az mit "tud", lehet-e ele USB hub-ot tenni, stb. Amugy az USB-s topic-ban pont nemreg emlitettem egy IC-t, ami azert cool, mert elvileg "normal" (nem SPI, UART soros stb) adatbusza van 8 bites, tehat akar minden MCU nelkul "szinte csak par drottal" is lehetne EP-hez illeszteni. Ez volt az: http://wch-ic.com/product/usb/ch375.asp (http://wch-ic.com/product/usb/ch375.asp) Reszleteket nem tudok sokkal tobbet, hogy ez tud-e host lenni, vagy legalabbis vmi USB OTG cuccos ... Kisse zavaro a leirasa is, sok hasonlo IC van, es angol nyelvhelyessegben is latok nehol problemat bennuk.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 16:40:12
Milyen editor(oka)t használsz linux -on LGB ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 16:59:56
Milyen editor(oka)t használsz linux -on LGB ?

Marmint, mint altalanos text editor? En altalaban terminal ablakokban dolgozom, van beloluk kb 50 egyszerre, 8 kulobozo workspace-re szetszorva, mivel amit lehet, command line karakteres-felulet-only megoldasban akarok csinalni :) Igy gyakori a full screen terminal window is, ha epp egy dologra koncentralok, neha egerhez orakig nem is nyulok (minek ...). Editorkent ilyenkor pl vim-et hasznalok, ami terminalban futo karakteres entitas kulon edit/parancs moddal, es egyeb "furcsasagokkal" :) Ha valamiert megse ez van, akkor altalaban a geany nevu (GUI-s) hasznalom, bar szinten full screenben.

Ezek utan az is ertheto, hogy amikor SymbOS es EGI-rol beszeltunk miert mondtam, hogy szerintem az ablakos felulet hulyeseg, az ember nagyreszt egy dologra figyel egyszerre, max lehessen valtani kozottuk :) Foleg mivel 8 biten a window azert neheziti is a dolgot, performancia okokbol ugyebar. Bar, ahogy nezem windows-osok is probalkoztak ezzel a fullscreen stb dologgal es az ablakok elfelejtesevel, csak ehhez nem ertek, mivel nem hasznalok windows-t :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 17:04:52
Aham ... na pont ilyenre gondoltam, mint ez a "gány" -is ... :)

És egyébként milyen paraméterek miatt esett erre a választásod,
mikor épp sikerül valaminek kivonszolni az otthonos termináljaidból ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 17:12:24
Aham ... na pont ilyenre gondoltam, mint ez a "gány" -is ... :)

És egyébként milyen paraméterek miatt esett erre a választásod,
mikor épp sikerül valaminek kivonszolni az otthonos termináljaidból ?

Megszokas, hogy pont az. Amugy azert mert python-hoz eleg sok minden van benne, es python munkam soran is sokszor kell, amikor meg elkezdtem foglalkozni python-al azt ajanlottak a legtobben, ha vmi "advancedebb" kellene. Azota meg rajtam ragadt :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 19:30:52
Na elkészült a nagy mű, ebben a formában is 3.999 MHz ... Vagyis jól működik a C optimatalizálója ...

Code: [Select]
   asm volatile
    (
      "ldi r16, %1" "\n\t"
      "ldi r17, %2" "\n\t"

      "Loop:"

      "out %0, r16" "\n\t"
      "out %0, r17" "\n\t"

      "rjmp Loop" "\n\t"
      :
      : "I" (_SFR_IO_ADDR(PORTD)), "M" (255), "M" (0)
      :
    );


Kipróbáltam olyat is, hogy a középső 2 out -ot rengetegszer (kb. 5-10 képernyőnyi) lemásoltam egymás alá.
Na akkor felment 7.955 MHz -re.

Ez az rjmp a leggyorsabb ugrása ennek a procinak ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 19:46:37
Ez az rjmp a leggyorsabb ugrása ennek a procinak ?

Igen, az ugras mint utasitas meg a legkorszerubb RISC procikat is taccsra teszi, mert ugye a szeeeep pipeline stb ami gyorsitani szeretne dobhato ki, mivel nem linearis a programvegrehajtas ... Az alapvetoen mindern procinal szuk keresztmetszet, azert is szokas RISC-en ugy megoldani hogy ahol lehet (ok itt nem lehetne ...) ne legyen ugras, hanem pl minden letezo utasitas egyben felteteles is, mert akkor arra legalabb elore lehet jol szamitani :) Itt az RJMP ket orajel ciklusig tart amugy.

Na mindegy, szerintem igy se rossz (hasonlitsd ossze Z80-al ...) egy out darabonkent 1 ciklus, az RJMP meg 2. Szoval is 4, 16MHz-es AVR-en kijon a kb 4MHz, amit elerhetsz. Meg ha lenne is egy ciklusos ugras, az "csak" 16/3=5.33Mhz-re gyorsitana a kimeneteden merheto frekvenciat. Meg, ha ez a cel, akkor amugy van AVR-ben szerintem mindenfele stuff (PWM miegymas is akar) ami hw-bol general neked ilyet egy kimeneten, anelkul hogy az sw csinalna (bar tudom itt nem ez a lenyeg, hanem hogy mit bir a mcu, azt probalod, ha jol tippelek).
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 20:00:12
Ja, csak pár mérés. hogy ténylegúgyvane, ténylegazvane, ténylegműködike,
meg hát látod, meg kell ismerni ilyen inline assembly szintaxokat, miegyéb ...

Most még össze akarnék lőni egy AVR-C pipeline -t, ami nem az arduino,

egyrészt hogy ne az arduino keretben fussak (ne állítgasson be nekem megszakokat csak hogy tudjon delay() -ezgetni, meg serial -ozgatni, meg ilyenek),

másrészt meg azért, mert ez az arduino is ki tudja mikori AVR-C -t használ ...

AVR-C meg nap mint nap változik ...

De hála istennek AVR-C -nek windows -ra csak ilyen mindenféle IDE -khez adott portjai vannak, amik meg megintcsak ki tudja mennyire frissek ...

Úgyhogy abban gondolkodok, hogy Ubuntu alatt fogom tolni ... és akkor feltételezem arra simán csak tudom használni az eredeti, naprakész AVR-C -t ...

De aztán lehet pár óra szetapolgatás után megfutamodok, és vonyítva futok vissza majd windows -ra, valami kompakt (viszonylag naprakészen tartott) IDE -t feltelepítve ... :)


Ideje lenne elkezdeni végre a lényegi dolgot ... már mindent tudok, mindent körüljártunk ... amíg meg nincs billentyűm, addig meg csinálnám az egeret, csak a bájtok másak ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 20:34:00

Hmmmm ...

http://andybrown.me.uk/wk/2012/04/28/avr-gcc-4-7-0-and-avr-libc-1-8-0-compiled-for-windows/

Ez ígéretes lenne, lehetne maradni vele windows -on, avr-libc -ből csak egyel van nagyobb (1.8.1), de az viszont 1-2 hónapos ... ez meg több mint 2 éves ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 21:31:18
Ha megkérdem az ubuntut hogy milyen avr-libc -t ismer:



user00@LU64T:~$ apt list *avr*
Listing... Done
avr-evtd/trusty 1.7.7-2 amd64
avr-libc/trusty 1:1.8.0-4.1 all
avra/trusty 1.3.0-1 amd64
avrdude/trusty 6.0.1-1 amd64
avrdude-doc/trusty 6.0.1-1 all
avrp/trusty 1.0beta3-7 amd64
avrprog/trusty 0.2.2-2 amd64
binutils-avr/trusty 2.23.1-2.1 amd64
gcc-avr/trusty 1:4.8-2.1 amd64
gdb-avr/trusty 7.6-1 amd64
libavresample-dev/trusty-updates,trusty-security 6:9.16-0ubuntu0.14.04.1 amd64
libavresample1/trusty-updates,trusty-security 6:9.16-0ubuntu0.14.04.1 amd64
simulavr/trusty 0.1.2.2-6.2 amd64



Akkor ő azt hiszi, hogy boldog leszek az 1.8.0 -val:

avr-libc/trusty 1:1.8.0-4.1 all

De pedig nekem az 1.8.1 kell ... hogy érem el hogy lássa az 1.8.1 -et ?

Innen lehetne letölteni kézzel az 1.8.1 -et:

http://savannah.nongnu.org/projects/avr-libc/
http://download.savannah.gnu.org/releases/avr-libc/

De most ha én ezt innen letöltöm, akkor ez egy normális csomagnak fog számítani, amit a csomagkezelő majd figyelembe vesz,
és látja hogy ez frissebb mint amit ő ismer, meg ilyenek ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.11. 21:47:25
A GCC -nek is van már 4.9.1 -es verziója is,

az Ubuntu meg még mindíg csak 4.8.2 -t telepítene ... miért nem frissek ezek ?

Jobban járok ha nem a legfrisebbeket használom, vagy mindenki örökké forrásból fordíd mindent, kézzel töltögetve a forrás csomagokat ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.11. 23:59:34
Miert nem friss ... Ez egy nehez kerdes, es eleg hosszu a valasz :) Egy adott software (pl gcc) fejlesztoi folyton toljak ki az uj verziokat, benne ujabb feature-ok, hibajavitasok es persze bugok is :) Azonban egy disztribucio osszeallitoinak (itt ubuntu) ugy kell gondolkodni, hogy van nekik tobb ezer software project, amibol epitkeznek. Nincs se idejuk se lehetoseguk, hogy minden upstream akcio utan nullarol leteszteljek, panaszkodni viszont naluk fognak (itt "sz** az ubuntu"), hiaba az upstream-ben van a hiba. A megoldas: legtobb disztribucio ritkabban frissit, es a stabilitast helyezi eloterbe. Ha kritikus hiba van, meg arra is hajlando amire esetleg az upstream nem: inkabb visszaportolja a javitast a regebbi de stabl, kiforrott verzioba, minthogy helyette legyen egy uj sw verzio, ami ugyan lehet h vmit javit, uj feature-ot hoz, de kozben 100 bugot is ... Foleg, interakcioban a tobbi komponenssel. Nem olyan egyszeru egy disztrib "gyarto" elete, foleg, ha ugye nem o irja maga a sw-ek nagy reszet, amibol epitkezik, igy esetleg nincs is kozvetlen beleszolasa. Microsoft eseten egyszeru, mert leszolnak a programozoknak hogy "na ez igy gaz, kezd elolrol". Viszont ott egy kezben van minden, mindent uralnak, teljesen mas filozofia.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.12. 00:13:03
Hmmm ... szép filozófikus válasz, nyilván gyík volt a kérdés is, kérdezem konkrétabban:

Ez alapján akarom feltenni a avr-libc -t egy szűz ubuntura:

http://www.nongnu.org/avr-libc/user-manual/install_tools.html

Ez alapvetően 4 pontban definiálja a telepítést (ami nekem kell), mindezeket forrásból mutatja (korábbi verziókat mindből fel tudnám rakni síma ubuntu binárisok formájában, de én a legújabbat akarnám legalább az utolsó kettőből, első kettő nem annyira fontos hogy legfrisebb legyen):

1, GNU Binutils
2, GCC
3, AVR LibC
4, AVRDUDE

Leírtak szerint jártam el, GNU Binutils felcuppant, most jönne a GCC ... GCC 4.9.1 a legfrisebb, azt tenném fel, de a konfigurálása megakad ezzel:

Quote
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

Namost gondoltam sebaj, azokat a hiányzókat felrakom ubuntu binárisból, és nem kell forrásból toljam azokat is.
Hát a GMP -t kapásból nem találom ubuntu -n ... GMP DOC csomag van, de GMP nincs ...

Szóval most elő kell kutyvásszam ezt a sok taknyot, meg lehet azoknak is a taknyait kézzel, és mindegyiknek ki tudja még hány dependenciája lesz ?

Inkább arra gondolnék, hogy forrásból leszednék valami régebbi GCC -t, aminek még nincsenek ezek a dependenciái ... hiszen ha lettek volna már akkor is, mikor az install doksi íródott, akkor írták volna, hogy még 20 csomag kell a GCC fordításhoz ...

Csak nem tudom, hogy melyik GCC verzióig menjek vissza ...


Jajjnekem ... Linux ... :(
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.12. 00:23:03
Jajjnekem ... Linux ... :(

Hat ja. MS-nel, Apple-nek az van amit ok akarnak, lehet fujjolni vagy nem, mind1. Open source dolgoknal az van amit te akarsz, cserebe ossze is kell hoznod amit akarsz :) Az erem ket oldala. A szabadsagnak ara van.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.12. 00:50:03
Na kipróbáltam, 4.8.legnagyobb és 4.7.legnagyobb is ugyanazokat kéri ...

Nemtom meddig kéne még visszamenni, de addigra nem is akarok ...

Úgyhogy marad az összevadászás ... de az már majd csak legközelebb ...

Pedig milyen simán felrakhattam volna ... csakhát az én AVR -em háromszor is külön említik az új avr-libc verzióban ...

Úgyhogy fel kell rakni ... nincsmese ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.12. 20:46:35
Az micsoda az ubuntu -nál, hogy a csomagnevek összevissza vannak ?

pld:

libvalami4
libvalami-dev
libvalami
labvalami2-dev

és itt az első kettő és az utolsó kettő tartozik össze ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.12. 21:23:57
és itt az első kettő és az utolsó kettő tartozik össze ...

Hat h oszinte legyek nem tudom melyik csomagnal lattal ilyet, lehetseges, de ritja, hogy ennyire tul van bolyolitva azert :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.12. 21:27:46
Pld. libusb ...

De nem ez az első mióta próbálom lefordítani a vackaimat ...

libftdi -t fel sem tudtam rakni úgy, hogy az AVRDUDE configja felismerje a LIBFTDI -t és a LIBFTDI1 -et is ...

Szóval lassan kezdem feladni ezt a csomagbuzerálást ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 00:01:01
Hogy találok meg, és hogy hivatkozok linuxon egy USB serial (COM) portra ?

AVRDUDE -nak kell specifikálni portot, és gőzöm nincs linuxon ezt hogy tegyem ... winen csak beírom hogy COM3 mondjuk, amit meg a device manager -ben megtalálok ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.13. 00:57:33
Hogy találok meg, és hogy hivatkozok linuxon egy USB serial (COM) portra ?

AVRDUDE -nak kell specifikálni portot, és gőzöm nincs linuxon ezt hogy tegyem ... winen csak beírom hogy COM3 mondjuk, amit meg a device manager -ben megtalálok ...

-P usb nem eleg neki siman a parameterek kozott?

Amugy UNIX-okban a device-ok ellentetben Windows-al valodi filerendszer entitasok (MS-eknel ez nagyon furan sikerult, ugyan ott is file-nak tuno dolgok vannak lasd pl "COPY CON ...", viszont nem tarsul hozzajuk valodi file, hogy "lasd" is, ami szerintem hiba, es problemat okoz hogy pl CON nevu file-t nehezkes csinalni ezek utan, barmelyik konyvtarban is vagy), pl nezd meg mi van a /dev -ben, azok konkretan azok, ha erdekel. Az USB serial az talan valami /dev/ttyUSB kezdetu vagy hasonlo, de amennyire remlik avrdude meg kene h talalja magatol ha a megfelelo programozot beallitod neki es tudja, hogy USB, esetleg a -P usb -t.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 01:04:50
Ez kellett a rohadéknak:

sudo avrdude -vvvv -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:fast.hex:i

Ne kérdezd miért, szénnékeresgéltem magam, próbálgattam ... Úgy érzem magam mint partravetett hal ezen a linux -on ...

Vagy fene tudja ... lehet csak túl gyorsan akarok mindent ...

De olyan furcsa, hogy hetekig tart csak lefordítani azt, aminek utána majd hetekig találgatod, hogy milyen paramétereket vár ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 01:17:56
Az lett a végeredmény, hogy az avr-libc -n kívül (ami végülis a lényeg volt) mindenből azt használom, amit az ubuntu binárisan telepíthetővé tett.

Egyedül az avr-libc -t telepítettem forrásból. Ebből ugyanis minden platform minden disztribúciója még az egyel korábbit használja, ami meg 2.5 éves tag ...

Az avr-libc meg hála istennek minden nyavajgás nélkül lefordult ...

Azt hittem linux -on majd az összes vonatkozó dolog is egykönnyen a legfrissebből telepíthető ... hát szép álmokat, ez minden csak épp nem egykönnyen ...

Na de legalább az avr-libc -ből használhatok 2 hónaposat és nem két éveset ... linux rúlz ... :roll:
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 01:19:43
Quote
Ez kellett a rohadéknak:

sudo avrdude -vvvv -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:fast.hex:i

Ja ... lehet azt is mondanom kellett volna, hogy egy virtuális gépben van a linux ? (Attól még én nem értem jobban, csak neked ...)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.13. 01:34:20
A /dev/ttyS* elvileg a "valodi" serial port, a /dev/ttyUSB* az USB-s serial, a /dev/ttyACM* izebize az meg USB azonositas soran az olyan USB eszkoz ami magat modemnek tartja id, stb alapjan. Ez erdekes story amugy, mert legtobb reszuk ettol nem modem, max annak hazudja magat valamiert, azt a gyartotol kene megkerdezni h miert :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 08:33:39
Sok helyen a hwinfo nevű terminál parancsot említik mint általános linux hardver infó toolt -t,
ubuntu -n sem parancsnak sem csomagnak nem ismeri ezt a szót ...

Hol van ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.13. 09:01:54
Sok helyen a hwinfo nevű terminál parancsot említik mint általános linux hardver infó toolt -t,
ubuntu -n sem parancsnak sem csomagnak nem ismeri ezt a szót ...

Hol van ?

Nem ismerek ilyet, lshw nevu van pl (terminalban futtatando). De sok ls* kezdetu cucc van, pl lsusb az usb dolgokat listazza, lspci a pci-os dolgokat.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 09:08:20
http://www.binarytides.com/linux-commands-hardware-info/
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 20:11:17
Ugye azt jól értem,

hogy mind a billentyűzet mind a joystick vonalainak beolvasásához a b5 portot kell írni, és a b5 portra kiírt 4 bites érték jelenik meg majd azon az IC -n, amit Zozo korábban megjelölt ( plussz az az egy drót, aminek valami éle a változást jelzi) ?

Tehát mind a billentyűzet, mind pedig a joystick kérelem megváltozását lehet detektálni ugyanazon az egy dróton ?

Tehát ha egy billentyűzet illesztő úgy lesz megvalósítva, hogy a billentyűzet 8+4+1 drótja ki lesz vezetve az EP -ből hátul,

és én egyenlőre így tervezem (rájöttem mostanra, hogy a lehetőségek végtelenek, kinek mi az ízlése, kinek mi jó, maximum talán az ultimate minden usb eszköz belülről, csak egy szal usb kivezetés módszer emelhető a többiek fölé, de az sem 100% -osan, mert arra tuti nem dugsz régi fajta joystickot, max ha először a régi fajta joystick -ot illeszted az USB -hez ... :)),

naszóval először 8+4+1 kivezetéssel tervezem a billentyűzet illesztőket,

és akkor már igaz az, hogy ha egy vezérlő elkapja a változás jelet azon az egy biten, majd beolvassa a 4 bitet, és annak megfelelően beállítja a billentyűzet 8 drótját plussz a joystick 3 drótját is (vagy 6 drót, ha két joystickban gondolkodunk), akkor az egy teljesen korrekt működés lesz ?

Ugyanis ezzel a módszerrel meg lehetne úszni a joystick portok 4+1 drótján a változás figyelést ... (mint említettem ha csak 4 vagy még annál is kevesebb megszakítás láb van egy kontrolleren, ott gázos tud lenni a 4+1 megszakítás ... :))

Azon kívül hogy ez korrekt eredményt adna -e,

még kérdezném azt is, hogy annó lgb mondta, és Zozo megerősítette, hogy ha a billentyűzeten a 10 vonalas kérelemváltozás figyelést valósítanám meg,
akkor ezeken a típusú drótokon még a 11 z80 ciklusnál is rövidebb ideig van csak meg az információ, hogy mit kér éppen a z80,

ez egyébként a joystick 4+1 vonalára is érvényes vagy ott megintcsak van több idő, mint a billentyűzet 4 vonalas módszerében ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.13. 20:28:40
mind a billentyűzet mind a joystick vonalainak beolvasásához a b5 portot kell írni, és a b5 portra kiírt 4 bites érték jelenik meg majd azon az IC -n, amit Zozo korábban megjelölt ( plussz az az egy drót, aminek valami éle a változást jelzi) ?

Tehát mind a billentyűzet, mind pedig a joystick kérelem megváltozását lehet detektálni ugyanazon az egy dróton ?
Igen.

Quote
még kérdezném azt is, hogy annó lgb mondta, és Zozo megerősítette, hogy ha a billentyűzeten a 10 vonalas kérelemváltozás figyelést valósítanám meg,
akkor ezeken a típusú drótokon még a 11 z80 ciklusnál is rövidebb ideig van csak meg az információ, hogy mit kér éppen a z80,

ez egyébként a joystick 4+1 vonalára is érvényes vagy ott megintcsak van több idő, mint a billentyűzet 4 vonalas módszerében ?
A mit kér az ott van mindaddig amíg nem változik. A változás észrevétele korlátos, amit vagy a +1 dróttal, vagy pedig az előzöleg beolvasott 10 vonalas értékhez hasonlítgatással lehetne elkapni.
A billentyű 10 vonal az egyenlő a 2xjoy 4+1-el.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 20:52:54
Quote
A mit kér az ott van mindaddig amíg nem változik. A változás észrevétele korlátos, amit vagy a +1 dróttal, vagy pedig az előzöleg beolvasott 10 vonalas értékhez hasonlítgatással lehetne elkapni.
A billentyű 10 vonal az egyenlő a 2xjoy 4+1-el.

Szerintem nem értetted meg mit akarok kérdezni (két helyen is van 4+1) ...

Tehát billentyűnél EP szempontjából nézve:

4+1 bites kimenet 11 orajelciklusos feleléssel működik, és 8 bitet kell válaszoljak

vagy

10 bitet (drótot) figyelek, amelyiknél mindíg csak egyik lesz kijelölt, de ez az információ (hogy melyik kijelölt) még a 11 órajelciklusnál is csak rövidebb ideig van meg.
Élfigyelt megszaknál ez nem gáz, de ehhez 10 megszak drót kellene (megszakos módszernél). Mindegy, a lényeg hogy az infó nincs meg rajtuk 11 ciklusig, csak még rövidebb ideig.


Namost joystick:

lehet használni ugyanazt a 4+1 bites módszert mint a billentyűnél,

DE

ha nem azt használom, nem a billentyűzet 4+1 vonalát,
hanem a 4+1(X2) drótot hátul a joystick csatlakozó(ko)n, amelyek közül szintén egyszerre csak egy lesz aktív, akkor AZOKON is csak a 11 ciklusnál jóval kevesebb ideig van ott a kérelem ?


Vagy lehet hogy azért sem érthető a kérdésem, mert a joystick csatlakozókon összesen lévő 10 vonal, AZ PONT UGYANAZ, konkrétan ugyanaz a drót mint a billentyűnél a 10 drótos módszernél ?
És mivel pont ugyanaz, ezért nyilvánvalóan azokon is csak rövidebb ideig van az információ, mint 11 ciklus ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 21:09:24
Quote
A billentyű 10 vonal az egyenlő a 2xjoy 4+1-el.

Amit itt írtál is ... :)

(Csak ott még nem értettem meg, majd magam is megkérdeztem, aztán visszaolvasva már megértettem ... :))
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.13. 21:12:30
10 bitet (drótot) figyelek, amelyiknél mindíg csak egyik lesz kijelölt, de ez az információ (hogy melyik kijelölt) még a 11 órajelciklusnál is csak rövidebb ideig van meg.
Nem. Az ott van a "végtelenségig", pontosabban amíg újabb B5h port írás nem történik.
Egy gomb, vagy azonos sorban lévő gombok esetén nem kell újra írni a B5h-t, akárhányszor lehet újból a lekérdezni.

De ott van ugyanaz a korlát, hogy a változást időben észre kell venned, hogy a lehetséges legkorábbi beolvasásánál már a jó sort olvassa.

Quote
a joystick csatlakozókon összesen lévő 10 vonal, AZ PONT UGYANAZ, konkrétan ugyanaz a drót mint a billentyűnél a 10 drótos módszernél ?
Igen, pont ugyanaz.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 21:19:29
Ha engem nem érdekel (egyenlőre) a joystick emulációs kérdéskör az egérnél,
akkor a serial csatlakozás teljesen elhagyható ?

Hol van infó arról, hogy konkrétan mit kell kommunikálnia (joystick és serial portokon) a boxsoft illesztőnek az EP -vel ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 21:34:51
Egyébként a joystick port -ok 6 bemeneti bitjét azt éppúgy ki tudnám vezetni a billentyűzet 8 bementi vonala mellé, nem ?

Vagy a joystick portoknak valójában csak 3 bementi vonaluk van, mely hol az egyik, hol a másik port bemeneteit tartalmazza ?

Akkor azt a hármat (vagy hatot) ... azt honnan lehetne kivezetni ?



Ha már kihozok csatit, kivezetgethetek akármit is, és akkor esetleg nem kell a csatolómnak több csatlakozón az EP- n lógnia ...

Szóval ha már kiviszek 4+1+8 -at, és első körben a joystick -ot is a 4+1 -ről fogom meghajtani, akkor már a bemeneti vonalait is kihúzhatom,
és akkor minden ezen a csatin lesz, nem kell külön a joy portra is csatlakozzak ...

Úgyis kell átalakítás (értsd: zsinórok beforrasztása) a billentyű miatt, azt nem lehet megúszni, akkor már párral több nem oszt,
ha kényelmesen elférnek.

Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 21:42:01
Csak most ki ne derüljün, hogy a joystick portok bemenetei IS megegyeznek a bill. bemeneti vonalaival ... :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.13. 21:43:21
Vagy a joystick portoknak valójában csak 3 bementi vonaluk van, mely hol az egyik, hol a másik port bemeneteit tartalmazza ?
Így van.

Legegyszerűbb az RP2 lábairól, azon ott van a 8 billentyű meg a 3 joy is.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.13. 21:44:46
Csak most ki ne derüljün, hogy a joystick portok bemenetei IS megegyeznek a bill. bemeneti vonalaival ... :)
Nem, a bill a B5h portra megy a 27-es IC-n keresztül, a joy meg a B6h portra megy a 28-as IC-n.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 22:07:49
Quote
A Tigrian féle bekötésben igen. De az általam javasolt, az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre, hogy a Z80 már a kívánt sort lássa.

Akkor ezek szerint a Tigrian féle bekötéssel kevertem ezt össze,
és ezek szerint a Tigrian féle bekötés egy HARMADIK féle bekötés ?

Tehát sem a 4+1 -es sem a 10 -es, hanem egy harmadik féle, aminél igaz, hogy még a 11 órajelnél is kevesebb idő van a kérelem beolvasására ?

Tigrian direkt maga ellen dolgozott, vagy mi ? :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.13. 22:19:45
és ezek szerint a Tigrian féle bekötés egy HARMADIK féle bekötés ?

Tehát sem a 4+1 -es sem a 10 -es, hanem egy harmadik féle, aminél igaz, hogy még a 11 órajelnél is kevesebb idő van a kérelem beolvasására ?
Igen.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.13. 22:26:53
Bár addig USB irányba konkrétan nem fogok elmozdulni, míg a PS/2 eszközök, és a sokgombos hagyományos konrollerek kezelése kész nincs,
de alacsony prioritásban mindíg fut az USB kérdéskör is, mindíg rákeresek a felbukkanó vonatkozásokra,

egy ilyen eredménye egy ilyen találat:

http://uk.farnell.com/atmel/at90usbkey/at90usb1287-usb-jtag-demo-board/dp/1455078

Ez a kari olyan árban van, mint az is amit épp most használok, AVR, 16 MHz -es,
de egy olyan AVR van rajta (AT90USB1287), ami USB HOST képes, és dedikáltan megy ezzel az USB (HOST is) könyvtárral:

http://www.fourwalledcubicle.com/LUFA.php

Itt olvasható, hogy igen, tuti megy ezzel a könyvtárral, USB HOST módban is:

http://www.fourwalledcubicle.com/files/LUFA/Doc/140928/html/_page__a_v_r8_support.html



Szóval, ez egy jó kis lépésnek tűnik nekem az USB HOST megoldás felé,
egyetlen lapba integrálva ami kell az USB HOST -hoz, nem kell több lapot passzintsak,

de a sheet -jéből:
http://www.farnell.com/datasheets/5088.pdf

a következő információkra nem sikerült rájönnöm:

- Milyen feszkóval lehet ezt tápolni
- Hány GPIO lábat tud kezelni
- GPIO -k 5V -osak -e, vagy legalább tolerálják -e az 5V input -ot

Ha ezekre lenne pozitív válasz,
akkor a PS/2 és hagyományos cuccok lezárása után,
mikor az EP kommunikációs sebesség kérdéskör már lezáródott,

akkor egy ilyennel lenne célszerű folytatnom az USB irányba ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.14. 02:02:34
Na közben kiderült, hogy amit én jól feltelepítettem linux -ra, az avr-libc friss verzióját,
azt rohadtul nem látja az avr-gcc, vagyis nem mászott bele az include path -ba,
azt meg kimazsolázni hogy akkor mi ennek a path mókának a korrekt beállítása nem fogom most,
úgyhogy mérgemben gyorsan feltelepítettem a régebbi avr-libc -t, megnéztem hova települ,
aztán leszedettem a package manager -rel, és a helyukre bemásoltam az új avr-libc
iclude/lib könyvtárait. Hála istennek csak valami dokumentációval kapcsolatos binárisai voltak,
azt hagytam is, netről doksizok.

Persze még mindíg lehet gáz, hogy valami alkönyvtár dolog nem stimmel a két verzió között,
de egyenlőre működni tűnik. Kiderül, ha valami alkönyvtár path mégsincs hozzáadva az újból.

Úgyhogy végre lefordult az új immár arduino független hello-world progi, az új avr-libc -vel
és sikerrel fel is avrdudáztam a kártyára. Ugye hogy sokkal szebb, mint az arduino -s verzió :) :

Code: [Select]
#include <avr/io.h>

#define F_CPU 16000000UL
#include <util/delay.h>

#include <avr/interrupt.h>

void main()
{
cli();

DDRD= 0xff;

while (1)
{
PORTD= 0xff;
_delay_ms(50);
PORTD= 0x00;
_delay_ms(2000);
}

/*
asm volatile
(
"ldi r16, %1" "\n\t"
"ldi r17, %2" "\n\t"

"Loop:"

"out %0, r16" "\n\t"
"out %0, r17" "\n\t"

"rjmp Loop" "\n\t"
:
: "I" (_SFR_IO_ADDR(PORTD)), "M" (255), "M" (0)
:
);
*/
}

A Gány meg mint editor nagyon bejövős egyenlőre, tanx lgb!

Úgyhogy ha más nem jön közbe, akkor a következő etáp már valami hasznos dolog is lehet:

- kitalálni melyik portokat használom majd az AVR -ből, milyen funkciókkal az egyes biteken ...
- kitalálni a portok kivezetései melyik lábon vannak az AVR -en és melyiken az arduino micro kártyán ...
- utánanézni, hogy tud -e az ATmega32u4 akkor sok megszakítást is, vagy csak 4 -et ...
- összedrótozni a PS/2 egeret ( a billentyűm még mindíg nem jött meg :( ) az arduino micro -val ...
- írni egy pár soros C/ASM kódot mely kiloggolja PS/2 egér feldolgozott adatfolyamát ...
- összedrótozni az EP -t az arduino micro -val ...
- írni egy pár soros C/ASM kódot mely megtáplálja az EP -t a PS/2 egér adatokkal ...

Utóbbiról jut eszembe: még mindíg gőzöm nincs mit kell betápoljak az EP -nek az egérrel kapcsolatban. Mit adjak a joystick port -ra, mit kell olvassak a serial portról ?
Hol van erről szó ? Van erről szó ? Help, help, help! :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.15. 11:32:28
Majd ha lgb még meg is mondja a hiányzó dolgokat a boxsoft<->EP kommunikációról,

közben párhuzamosan gondolkodok a "billentyűzet egérről" is,

ami ugye abból állna, hogy nem a joystick/serial vonalakat használó, meglévő mouse.xr kommunikáció zajlana,
hanem a mouse a nem használt 6 darab billentyű sorban lenne visszaolvasható.

hogy pontosan hány darabot használna, az részletkérdés,
ahogy a dolgok épp most kinéznek (vezérlő nem csatlakoztatható a gépre bármikor, hanem bekapcsolástól kezdve folyamatosan ott kell legyen), akkor akár 1 vagy max. 2 bill. sor is elég,
ha akkor is tudom érzékelni a b5 port írást mikor ugyanaz az érték van rá kiírva,
akkor elég egyetlen bill. sor is, mert a b5 port írás jel lehet a strobe jelem is, hogy lépjek a következő értékre,
ha csak a változást tudom észrevenni, akkor 2 kell, hogy azokat lehessen váltogatni,
ahol egymás után felváltva lehet felelgetni az X,Y relatív koordinátával,
és akkor egyikre mindíg az X- et másikra mindíg az Y -t lehetne felelni.



Amitől ez a módszer nagyon jó lenne:

8 (bill. sor)+ 4 (bill. sor kiválaszt)+ 1 (bill. sor kiválaszt írás történt)+ 2 (PS/2 bill.)+ 2 (PS/2 mouse) = 17 darab
GPIO -t igénylő (kb. 3000 Ft) alkatrésszel + némi drótozgatással úgy tűnik megoldható lenne a PS/2 bill. + PS/2 egér illesztése,

és mindenki saját maga dönthetne arról, hogy belülre szereli és PS/2 aljzatokat szerel a gépre,
vagy kilógatja az EP -ből a szükséges drótokat roncsolásmentesen, és kívülre rakja az illesztő panelt.



Ami a módszer hátránya: kell hozzá módosított mouse.xr.

Zozo azt mondtad, hogy a módosított mouse.xr az már a legkevesebb. Ezt mennyire lehet készpénznek venni ?
Tehát abban az esetben ha a beolvasás olyan pofon egyszerű, mint fent írtam, akkor mennyire "legkevesebb" a módosított mouse.xr ? Pikkpakk összeraknád ? Vagy még neked is napokig kéne hekkelni ? Esetleg konkrétan ismered már belülről ? Vagy mi ezzel a helyzet ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.15. 20:38:54
Majd ha lgb még meg is mondja a hiányzó dolgokat a boxsoft<->EP kommunikációról,

Mi hianyzik meg? Angol topic-ban leirtam, tobbet en se tudok rola :) Azzal a tudassal irtam az JSep mouse emulaciot, ami lathatoan muxik, tehat tul nagy hiba nem lehet az elmeletemben :) Amugy en Zozo altal nagylelkuen hozzam vagott disasm reszletbol hamoztam ki, hogy hogyan mukodik, nem volt nagy dolog, 10 perc nezegetes kellett, mert az elejen nagyon el voltam tajolodva ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.15. 21:00:16
Valami olyanra gondolok, hogy 1-re állítja a B7 x. bitjét, aztán vár x milliszekundumot, beolvassa a 4 bitet B6-ró, stb...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.15. 21:18:09
Quote
Mi hianyzik meg?

Hát az hiányzik egyrészt, hogy melyik joystick irányon van melyik bit a 4 közül,
vagyis melyik b5 -os biten van melyik bit az aktuális 4 bites infóból,

másrészt (ami még előzőnél is fontosabb lehet) hogy van -e valami szinkron vagy jelzőbit,
amit az EP küld kifele, hogy jelezze, hogy egy 2 bájtos (16 bites) egér üzenet MELYIK 4 bitjét kéri éppen a joystik irányokon ?

Zozo szerint ez úgy működik, hogy már a mouse.xr indulásakor rá kell legyen dugva az illesztő az EP -re,
így az illesztő mindjárt az első 4 bites csomag igényt el tudja kapni, tudja hogy az az első csomag,
és szépen körbe körbe iterálja a 4 csomagot, mindíg a soron következőre váltva egy strobe jelkor,

de ebből az következik, ha a mouse.xr elindulása után dugjuk rá az EP -re az illesztőt, akkor lehet hogy az EP (mouse.xr) épp a 3. négy bites csomagot kéri a 16 bitből,
de az illesztőnek ez még csak az első strobe, erre ő az első 4 bitet fogja odaadni az aktuális 16 bitből ...

Szóval van -e ilyen szinkron, vagy nincse ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.15. 21:20:08
Quote
Valami olyanra gondolok, hogy 1-re állítja a B7 x. bitjét, aztán vár x milliszekundumot, beolvassa a 4 bitet B6-ró, stb...

Ja, full ezt beszéltük angolul is, meg is értettem, csak nem akarom elhinni,
hogy olyan az EP<->boxsoft kommunikáció, hogy egyszer valahogy elcsúsznak (pld. később dug rá, mint indul mouse.xr),
oszt annyi, indíthatod újra, rádugott illesztővel ...

Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.15. 21:26:10
Quote
közben párhuzamosan gondolkodok a "billentyűzet egérről" is,

Azon az IC lábon, melynek valami futó éle mutatja majd az illesztőnek, hogy kiírtak valamit a b5 portra,
az a jel olyankor is jelez, amikor ugyanazt az értéket írták ki a b5 portra (megint) mint ami már rajta volt,
vagy csak akkor, ha megváltozik az érték a b5 porton ?

(Mert ha mindíg jelez akkor strobe jelnek is lehet használni, ha meg csak változáskor, akkor 2 billentyűzet soros egér beolvasás kell a "billentyű egérhez".)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.16. 00:30:05
Na ezek meglettek:

Quote
- kitalálni melyik portokat használom majd az AVR -ből, milyen funkciókkal az egyes biteken ...
- kitalálni a portok kivezetései melyik lábon vannak az AVR -en és melyiken az arduino micro kártyán ...
- utánanézni, hogy tud -e az ATmega32u4 akkor sok megszakítást is, vagy csak 4 -et ...

Sikerült úgy összeállítsam a biteket a portokon, hogy egy porton belül (8 bites a port) csak ugyanolyan típusú adat legyen,
tehát csak bemenet, csak kimenet, csak megszakítás, vagy ilyenek ... ráadásul a kimenet kitölti a 8 bitet ...

Szóval csak egész bájtos írásokkal olvasásokkal kell törődjek, és egy írással olvasással csak egy asm utasítás kell törődjön,
nem kell egy érték bitjeit 26 helyen kezeljem majd, 26 írással vagy olvasással.


Szóval eddig lehetett kb. húzni ... következő alkalommal már heggesztenem kell a drótokat, írni rá a kódot ... :)

A lehetőségek elméleti lattolgatásán és a tervezgetésen túl vagyunk ...


(Ha péntekig nem jön meg a billentyűzetem, akkor elmegyek és veszek egy 700 forintos PS/2 -es bill. -t az A4Team -nél, aztán ha megjött a rendes, akkor eldobom ... :) Lényeg hogy a PS/2 billentyűzettel fogom kezdeni. Remélem mire kész lesz, addigra a custom mouse.xr témában valaki dob egy megoldást, és mehet azzal majd a PS/2 egér folytatás ...)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.17. 11:34:34
Juhú. Utolsó nap, utolsó órájában megjött a billentyű is ... Ma lesz billenytű, spanyol scart meg pár competition pro is ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.17. 15:09:27
És ittvan megjött kunkori ...

hát ... khm ... khm ... ez sem az a billentyűzet lesz amit sokáig fogok emlegetni,
nincs az az élmény, mint annál a billentyűnél, amit még a szuperturbó EP -mhez kaptam,
de mindenesetre legalább a vezérlőt csinálhatom vele és nem kellett vegyek plusszban egy még ennél is vacakabbat ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.17. 15:15:36
nincs az az élmény, mint annál a billentyűnél, amit még a szuperturbó EP -mhez kaptam,
A mikrókapcsolókra vágysz? Az manapság a 30-40000 forintos extra gamer billentyűzetekben kapható. Minden más fólia, rajta a gumbigyó, ahogy EP-ben is.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.17. 15:26:00
Quote
A mikrókapcsolókra vágysz? Az manapság a 30-40000 forintos extra gamer billentyűzetekben kapható. Minden más fólia, rajta a gumbigyó, ahogy EP-ben is.

Ja, végsősoron persze hogy arra vágyok, de egyenlőre az 50K -s billtyűket nem engedtem meg még magamnak,
reméljük eljön még azoknak is az ideje ...

De most ennél egyenlőre beértem volna egy síma fólia billentyűvel, amin kényelmes a gépelés, mint a RÉGI logitech 350 -en vagy ilyesmin ...
Na ez nem olyan ... ez ilyen "szűk" gombos, atombénaság ...

És persze legyen EU angol, fekete, szép állapotban és PS/2 -t is tudjon értelem szerűen ... ezekkel nincs is baj.

Csak gépelni nem jó rajta ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.18. 14:01:48
Egy valami ilyen kényelmességű billentyűt akartam volna, mint ez:

http://www.edigital.hu/Vezetekes_billentyuzet/Logitech_DeLuxe_250_OEM_fekete_billentyuzet-p28069.html
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.18. 14:04:57
Durva, hogy régen ilyenekkel mit kellet szenvedni,
ma meg csak kiválasztom milyen kell, oszt klikk:

http://www.argep.hu/trend/MAGY/Magyar-billentyuezet-matrica.html
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.18. 14:07:03
Itt vannak az érdekesebbjei:

http://www.argep.hu/main.aspx?sucheall=Magyar+billenty%C5%B1zet+matrica&page=4
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.18. 14:28:46
Vagy még ez sem volna rossz, csak PS/2 -esben:

http://olx.hu/hirdetes/dell-minosegi-billentyuzet-es-eger-olcson-IDSPqZ.html
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.19. 03:02:17
Ó bakkerkám ... :)


Na, gondoltam ma este megírom a progit, holnap reggel ráforrasztom azt a pár szál drótot, aztán délután már csak a billentyű mappolásokat lövögetem befele ... :)

Ehhez képest annyit sikerült elérnem, hogy sikerült végre egy megszakítást kiváltanom ... :oops:


Először gyorsan felszórtam a cuccra 3 ledet (azért pont annyit, mert teljesen különálló regisztereken, bitezgetések nélkül 3 láb van jelenleg szabadon),
három színben, mégpedig debug célokra, mert okos fejemmel rájöttem, hogy oké hogy kidobtam az arduino framework -öt, és raw avr-libc -re tértem át,
hogy az arduino ne kezelgessen ott nekem megszakításokat a fícsőreihez, de ezzel kidobtam pld. a serial logging fícsőrt is, úgyhogy max akkor lehet logolni,
ha beletervezem a kütyübe, és persze meg is valósítom ... mert ugye az arduino az az eszközön kezel egy slave usb virtual serial portot ...

Na szóval ledekkel fogok debuggolni, most egyenlőre hárommal. (Ha nagyon muszáj, szöszöléssel felmehetek akár 8 -ig is.)
Ezzel nem is lett volna galiba.


Na akkor élesszünk be egy assembly megszakot ... hát ehhez ugye el kellett olvasni mindenfélét, assembly -ről, megszakról (mind avr-libc, mind hardveres oldalról), meg miegyébről ...

Aztán bepötyögtem és nem szakított ...

Ugye maga a megszakítási láb az egy bemenet (mer én arra állítottam), felhúzóellenállással (mert az kell szinte mindenhova, de a PS/2 -nek biztosan, és ráadásul a teszthez különösen jó volt ha nem lebegdez összevissza), és erre van még rákapcsolva egy lefutó élfigyelő megszakítás, az is azért mert az kell a PS/2 -nek.

A felhúzó ellenállás miatt azt gondolom nyugottan tapperolhatom a drótot, meg érintgethetem a földhoz, ha szakítani akarok. Hát megszakadtam, de ez nem szakadt meg ...

Magát a magasat (amíg nem kötöm le dróttal a földhöz) mérem a lábon 4V formájában, tehát a felhúzás végzi a dolgát.

De mikor letüskézem a földhöz, akkor se szakad meg.

Persze gondoltam mindenféle fordítási, linkelési, akármilyen hibákra, nem teljesen agyondokumentált az avr-libc megszak vektor kezelése ...

De a gond nem magában a megszak vektorban lesz, inkább a megszak engedélyezések, maszk beállítások, request flag törlések körül ...

Végülis összevissza próbálkozással sikerült eredményt elérnem, de mintha nem működne teljesen atombiztosan, az meg ugye semmire nem jó ... :(


Szóval az van, hogy van egy global megszak flag, egy megszakítás vektoronkénti(típusonkénti, forrásonkénti) megszak flag, és van a legtöbbhöz még egy ilyen megszak igény cache flag is, és akkor még a forrás típusától függő paraméterezhetőség ...

És én azt kísérletezgettem ki, hogy ha a megszak igény cache portot (indián nevén: EIFR) törlöm egy írással (doksi szerint írással törlöm a megfelelő bitet), akkor hiába tunkolom a kábelt a föld sínbe, nem lesz megszak.

Ha nullát írok ki rá (vagyis írom, de nullával, nem 1 -gyel, ahogy a doksi mondja), akkor azonnal lesz megszak. Tehát anélkül, hogy a lebegő (ne felejtsük a felhúzó ellenállást) drótot beletolnám a föld sínbe. Egyedül akkor nem lesz rögtön megszak, ha a drótot még indulás előtt csatlakoztatom a földhöz. Ebben az esetben csak akkor lesz a megszak, mikor kihúzom a drótot. Ezt mondjuk betudhatom valami pergési dolognak, mert ugye a megszaknak a lefutó élen kéne sípolnia ...

Ez a nulla írós módszer egyébként megegyezik azzal, mintha egyáltalán nem írnék erre az EIFR portra semmit.

Na és van még egy harmadik eset is, mikor először 1 -et írok rá, de közvetlen utána 0 -át. Na ez az eset működik a leginkább úgy ahogy elképzeltem,
amig nem dugom rá, addig nem fütyül, ha meg hozzáérintem, akkor fütyül a megszak ... Csak itt meg az van, hogy ha úgy indítom, hogy le van dugva induláskor,
akkor mikor kihúzom nem kezd el megszakítani (ilyenkor hol van a pergés?), és van néha hogy még akkor sem ha visszaérintem először, hanem csak a második hozzáérintésre lesz a megszak ... :)

Szóval nem igazán tudom mi ez ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.19. 23:34:32
Hol lehet olyan infót megtalálni, hogy pld. az LDI utasítással csak 16 -nál nagyobb (indexű) regiszterbe lehet értéket tölteni ?

Mert a datasheet -től azt várnám hogy ilyen benne legyen ott, ahol az utasításkészlet van leírva.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.20. 02:09:27
Na meglett a galiba ha minden igaz ... egyenlőre minden teljesen logikusnak és stabilnak tűnik ...

Az volt a gáz, hogy a bootloader bekapcsolva felejtette az USB megszakításait, és azok ott a háttérben operálgattak, mindenféle értelmetlenségeket okozva ...

De mostmár stabilan jön a megszak a PS/2 -től, billentyű nyomásra változnak a ledek, ahogy kell ... úgyhogy remélem felgyorsulnak már végre az események ...

Mondjuk az még lesz egy szép kis szöszölős dolog, mire az EP 17 vezetékét bekötöm a próbapanelre ... ma csak 4 dróttal kellett beforrasztani a PS/2 csatit, de azzal is elszöszöltem pár órát ... minden mütyűr, szétforrasztom, elolvad, elfolyik, leesik, eldől, megégetem az ujjam, stb ... :)

Pld. mikor beforrasztottam a PS/2 aljzatba a kábeleket, utána alig akart belemenni a billentyűzet csatlakozója ... előtte meg teljesen jó volt ... nyilván szétforrasztottam belül a lelkét szegénynek ... de hál istennek érintkezik mind a 4 csati, kimértem.

Na de először meg kell akkor írjam a billentyűk beolvasását, mikor majd már be tudom állítani, hogy 3 általam hardkódolt scancode -ra gyulladjon ki a 3 led a próbapanelen, akkor jön majd csak az EP oldali drótozás kérdése ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 09:10:38
Pld. mikor beforrasztottam a PS/2 aljzatba a kábeleket, utána alig akart belemenni a billentyűzet csatlakozója ... előtte meg teljesen jó volt ... nyilván szétforrasztottam belül a lelkét szegénynek ... de hál istennek érintkezik mind a 4 csati, kimértem.

Az szokott lenni, hogy pl tulmelegitetted forrasztas kozben a cuccot, ezert a muanyag ize bize nemileg deformalodott kozben, es "elallitodtak" az erintkezok. Ez ellen megoldas lehet, ha vagy nem melegited agyon es gyorsan, profin :) forrasztas [ez az ami nekem se szokott osszejonni, kisse remegos kezem van sajna, bar csipesz stb segithet], illetve amit ilyenkor tenni szoktam az az a csunya megoldas, hogy beledugsz egy bele valo csatit a forrasztas idejere, igy nem tud "elallitodni" akkor sem, ha nemileg sikerul tulmelegitened. Bar nem tudom, sikerult-e erthetoen leirni mit akarok :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 09:19:25
Hol lehet olyan infót megtalálni, hogy pld. az LDI utasítással csak 16 -nál nagyobb (indexű) regiszterbe lehet értéket tölteni ?

Hogy oszinte legyek, regen olvastam mar a hivatalos datasheet-et, amde pl ha ezt megnezed:

http://www.avr-asm-tutorial.net/avr_en/beginner/COMMANDS.html (http://www.avr-asm-tutorial.net/avr_en/beginner/COMMANDS.html)

Az LDI-nel az szerepel, hogy "LDI rh,c255", es alul a roviditesek listajaban ott is van, hogy az "Upper page register R16..R31". Amugy ezek a "furcsasagok" azert vannak, mert bar a CPU-nak kb mindegy lenne, szukos az elerheto utasitaskeszlet tartomany, igy neha persze valasztas ele allitja a tervezot, hogy bar az un register file a CPU-ban ISA szinten barmit tudna barmivel, egyszeruen nem lehet eleg utasitast definialni, amivel mindegyik kombinacio elerheto. Jo pelda erre az ARM, ahol ugye 32 bit egy utasitas, igy van minden hulyeseg, pl minden utasitas lehet felteteles automatice, vagy shift-el is kozben adatot, amig a fo funkciot vegrehajtja, stb stb. Azonban ugye ez kisse "pazarlo" az un kodsurruseg nem a legjobb amiatt, hogy igy 32 bit az alap kodszo meret. Ezert talaltak ki a fenti mellett a Thumb utasitaskeszletet, ahol mar nem elerheto minden amit az ARM tudna amugy, cserebe tomorebb a kod, kevesebb memoriat igenyel, stb. Nyilvan AVR eseten nincs valasztasi lehetoseged, az ARM csak pelda volt (btw, van ARM alapu MCU is, sot volt anno hir is, hogy DIP tokozassal is lehet kapni egy konkret tipust, ezek persze siman fejbe vernek egy AVR-t ami 8 bites, az arm meg 32 ... es mas dolgokrol nem is beszelve).
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 09:23:20
Btw, ha mar EP-hez (ami ugye Z80-at hasznal) akar az ember MCU-t csatlakoztatni erdekes lehet (mar ha csak erdekesseg es nem gyakorlati szempontbol is), hogy elvileg Zilog is gyart/gyartott MCU-kat, pl:

http://en.wikipedia.org/wiki/Zilog_Z8 (http://en.wikipedia.org/wiki/Zilog_Z8)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.20. 09:33:59
Hmmm ... hát ha kész vagyok ezzel a PS/2 dologgal,

akkor továbbra is kérdés marad a 10MHz -es (z80) működés (mert ez nem fog menni 10 MHz -es z80 -nal, ha igaz a 11 órajelciklus),

és továbbra is kérdés az USB működés is, ahol a háttérben más megszakítások is lehetnek, melyek valószínűleg nem engedik majd megszakítani magukat (én most majd engedem megszakítani a PS/2 megszakokat is) az én két szép szememért, hogy kiszolgálhassam az EP -t, az USB könyvtárakba belemászni pedig már nem szeretnék ...

Szóval mindkét probléma feloldásához kéne valami plussz funkció, ahol is ugye az mcu sebessége jelentéktelenné válik, mert valami plussz funkció megcsinálja az EP -nek a gyors választ.

Valami olyan dolog, ami 4 biten engedi magát címezni, és 16 darab 8 bites regiszteréből (tárjából) felel egy 8 bites értékkel a 4 bites címzésre, azonnal.
Nem mellesleg engedi magát az előzőtől függetlenül feltölteni aszinkron módon.

Hogy ez egy másik mcu család, vagy egy kiegészítő alkatrész lesz azt nem tudom, de a 10MHz z80 -hoz és a kényelmes, nem bitbabrálós USB -hez kelleni fog.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.20. 09:39:35
Valami olyan dolog, ami 4 biten engedi magát címezni, és 16 darab 8 bites regiszteréből (tárjából) felel egy 8 bites értékkel a 4 bites címzésre, azonnal.
Nem mellesleg engedi magát az előzőtől függetlenül feltölteni aszinkron módon.
Lgb már beírta: dual port SRAM.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 09:43:13
Lgb már beírta: dual port SRAM.

Ja, vagy a cross-switch cuccos, amit pont hasznaltak is ilyen celra pl C64-es PS/2 illesztonel is :) Valahol irtam mar a temaban. Masik lehetoseg: USB MCU-n belul stb bonyolit: interrupt stb azt is kezelni kell ... Ha megelegednel PS/2-vel, akkor annak protokollja egyszeru ahhoz, hogy magad rendezd, es bele lehet vhogy eroszakolni az idozitesbe, hiszen Tigrian-nak is sikerult valahogy, tehat nem a lehetetlenseg kategoria.

Apropo, Zozo, a Tigrian fele illesztodbol kibabralt AVR-rel sikerult vegulis az MSX cuccos? :) Tudod volt, hogy irtad, x10 gyorsabbnak tunik, en meg papoltam a fuse bitekrol stb, de nem remlik, hogy valaszoltal volna, vagy csak en nem figyeltem :(
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 09:57:14
Es vegul meg egy lehetoseg: a Zozo altal is emlitett Propeller nevu MCU, ami tobb magos "csoda". Ebben viszont tenyleg konkretan nulla tapasztalatom van ... Az biztos, hogy ha egy mag elbirja idozitesben a "matrix emulalast", akkor neki eleg csak azt csinalnia neznie, es masik mag foglalkozhat tobbi dologgal. Viszont a Propeller pl nekem emlekeim szerint lasabbnak tunik mint az AVR, itt 4 orajel ciklus egy atlag utasitas, ha jol remlik, AVR-nel a legegyszerubbek csak 1. Viszont cserebe tobb core :) Masreszt, a core-ok kozotti kommunikacio es a "kozponti" RAM resz elerese lassab is vagy mi, foleg ha tobb mag probalja egyszerre, szoval nem vagyok benne teljesen biztos, hogy ez igy idozitesre hogy a fenebe jon ki aztan :( Mondjuk irnak vmi uj verziorol amiben lesz majd bika sok RAM, meg sokkal gyorsabb is lesz, utasitas/ciklis szinten, es orajel max szinten is ... Akkor mar tenyleg erdekelne engem is, akkor lassan mar _TALAN_ nick-et is lehet vele emulalni :D Bar ez utobbit imho tovabbra is FPGA-ban vagy hasonloban kene mint logikai halozatot implementalni (vegulis az eredeti Nick is az, max nem FPGA-nak hivjak amibe szintetizalva lett, ma talan ASIC-nak hivnak?).
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.20. 23:30:56
lgb, van neked valami tapasztalatod, hogy lehetne valami avr gcc flag -gel, vagy ilyesmivel lekorlátozni az avr gcc -t,

hogy a fordított kódban ne használjon N darab (pld. 3) regisztert ?

tehát azt szeretném, hogy a 16,26,27 regisztereket mondjuk ne használja ... hagyja meg a megszakoknak, amik meg assembly -ben lesznek ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 23:35:48
Code: Text
  1.   in R26,PIND   ; portD pin status is read into R26
  2.   RJMP 0x3a
  3. ...
  4. ...
  5.   3a:   b6 3f           in      R3, SREG        ; save status register to R3 [on AVR status register is in the "I/O space")
  6.   3c:   fb a5           bst     R26, 5            ; T-bit is set from bit 5 of R26
  7.   3e:   f9 a3           bld     R26, 3            ; T bit is loaded to bit3 of R26
  8.   40:   70 af           andi    R26, 0x0f       ; R26 AND 0x0F
  9.   42:   2e 5a           mov     R5, R26        ; copy R26 into R5
  10.   44:   6d a0           ori     R26, 0xd0        ; R26 OR 0xD0
  11.   46:   90 1c           ld      R1, X              ; load memory byte at register X (which is R26-R27 register "pair") into R1
  12.   48:   ba 17           out     DDRB, R1       ; set port direction of portB from R1
  13.   4a:   94 23           inc     R2                 ; R2 = R2 + 1
  14.   4c:   24 11           eor     R1, R1           ; R1 EOR R1 (R1:=0)
  15.   4e:   be 3f           out     SREG, R3        ; restore status register from R3
  16.   50:   95 18           reti                         ; return from interrupt handler
  17.  

No, ez itt kerem egy AVR disassembler kimenete Tigrian task illesztojenek flash tartalmabol (ami ugye file-ban megvan csak a forrast sikerult elkeverni ...), altalam commentalva, remelem hirtelen nem szurtam el semmit, illetve az I/O port es register neveket atirtam numerikus ertek helyett (amit disasm kidobott) az adott ATtiny-nek megfelelo dolgokra. Ez maga az interrupt handler lenne, amit az INT1 aktivizal, mely utobbi a WR0 (low active) signalra van kotve. Azaz, ha valtozik, a B4 EP porton vmi, mert oda irtak, az alacsony lesz, gondolom AVR itt a lefuto elre reagalva megszakitast general. Valojaban az AVR flash elejen levo (boot loader ezt kicsit megkeveri, mert ATmega-n legalabbis akkor ket helyen is van, sajnos kevesbe emlekszem mar, remelem jot nezek hehe) interrupt tablaban kezdodik a jatek, ahol van sokfele interruptra RJMP (ugras) utasitas, a legelso amugy a reset, itt nincs feltuntetve.

Az elso erdekesseg, amit meg a hex dump-al is megaldott resz ele tettem maga az interrupt tabla ideillo resze. Itt jon az elso trukk, amit Tigrian alkalmazott. Ugyanis, egy utasitasnyi hely van egy interrupt-nak, utana jon a masik interrupt, tehat logikus, hogy onnan el kell ugrani, azaz normal esetben mindenhol RJMP all ebben a tablazatban. Viszont pont az INT1 helyen egy IN utasitas van. Ennek hatasa ugye az, hogy mivel utana mar masik interrupt belepesi pontja van, arra "fut ra" a dolog, ami nem gond, ha az az interrupt ugyse fordulhat elo. Megis miert csinalhatta igy? Gondolom azert, mert igy tudja a leheto leggyorsabban olvasni a B4-re kiadott erteket, amig a Z80 meg tartja a buszon, ha elotte RJMP-vel elugrik, az biza 2 AVR orajelciklus mielott meg vegrehajtodhatna az IN. Ha most Zozo intelmeit megfogadjuk, ez a hokusz-pokusz nem kellene, ha nem kozvetlenul az adatbuszrol venne le ugye, hanem a demultiplexer bemeneterol.

Valojaban amugy a fenti kod ugy mokodhet amit elkepzeltem. Van a foprogram, o foglalkozik a PS/2 kezelessel. Nem tul time critical, par MHz-en siman elkezel egy PS/2 szintu protokolt. Van valahol tarolva az AVR SRAM-jaban egy 10 byte-nyi teruleten az, ami megfelel 8*10 bitre vonatkozolag az "emulalt" billentyuzet allapotanak, a foprogram PS/2 kutyulasa utan ott "nyom meg" vagy "enged el" billentyuket, a megfelelo byte megfelelo bitjenek allitgatasaval. Az interrupt handler nyilvan a WR0 jel lefuto elere lep eletbe, es feladata az, hogy beolvassa, melyik row-t akarja scannelni az EP, es amilyen gyorsan lehet, ez alapjan a B porton kikuldje a fenti kis "taszt allapot tombunk" ezzel indexelt erteket.

A kulcs itt ugye az, amirol targyaltunk, hogy vmi 11 Z80 orajelciklus van, ha a leheto leggyorsabban EP OUT-ba tesz vmit B4-re majd azonnal olvassa is, igy ennyi ido alatt azt meg kell oldani AVR-en.

Mivel AVR-nek azert van par registere, ilyen esetben "felaldozhatunk" parat, amit az interrupt handler hasznal, es nem fogja menteni, ennek eredmenye az, hogy persze foprogramban nem igazan erdemes hasznalni, mert az elso int utan "el fog allitodni". Viszont igy megsporolunk jo par orajelciklust. Viszont, AVR eseten az SREG (status register, amiben van ugye carry flag, meg a szokasos dolgok) mentese / visszaallitasa tovabbra is a mi dolgunk. Az SREG mint I/O port elerheto (valojaban meg a CPU registerek is, sot RAM cimkent is, csak ugy lassabb lenne, vannak trukkok azert AVR-en ...).

Az a T-bites jatek (a T bit az un transfer bit, arra jo, hogy pl adott reg adott bitjet belemasolhatod, vagy kimasolhatod, igy egyszerubb mindenfele bonyolult elforgatasos jatek helyett "kivagni" adott bitet es mashova "berakni") azert kell, mert a kerdeses AVR eszkozon a portD ugye nem bitfolyamatosan van, mivel egyik lab pont onnan INT1 celra van eppen.

Szoval kb logikus, a portB (ahova a 'valaszt' kiirja ugye) kezelese erdekes. Lathatoan nem vmi adatot ir ki, hanem a DDR-t (Data Direction Register, azaz meghatarozza, hogy az egyes labak a portB-n ki vagy bemenetek) allit helyette. Miert is jo ez? Azert, mert parhuzamosan kapcsolodik szegeny taszt illeszto a billentyuzettel! Ha a billentyuzet es a taszt illeszto rossz csillagallas mellett ellenkezo szinteket allitana be az nem lenne tul szep, illetve akar tonkre is tenne vmit. Itt gondolom vmi olyasmi lehet, hogy a portB mint kimenet mindig 0-ra van allitva. Ha a billentyu nincs lenyomva, akkor az adott pin a DDR-el input-ra all, ami kb nagy impendancias allapot, tehat nem szol bele az AVR a jelszintbe. Ha le van nyomva, akkor 0 ertek kell, ekkor output-ba teszi az adott bit-et, es mivel a portB AVR-ben outputra fixen 0-ra van allitva, ez "lehuzza" GND szintre. Ha kozben EP billencs is le van nyomva, no para, mert az is csak foldre huzna le, tehat nincs konfliktus. Bocs, lehet hirtelen elneztem vmit, illetve csak az interrupt kod alapjan mondom ezt, de kb ez a megerzesem, hogy igy mukodik az egesz a fenti par byte-nyi AVR kodra ranezes utan.

Ja, az ORI azert van ott persze, hogy a D0 memoricimtol nezze azt a kis tablazatunkat. Ebben az AVR-ben csak 128 byte RAm van, de az adat cimterulet elejen az I/O elerheto szinten, a D0 valojaban a RAM vege elott 16 byte-tal van. Ez ugye eleg a 10 byte-os "tablazatra", mivel alapvetoen a select jel 4 bites, max nem lesz hasznalva a tobbi.

Azert van itt feher folt, pl az EOR R1,R1 hogy mire jo ... Elvileg ugye nullaza az R1-et, az oke, de utana ugysem hasznalja mar. Gyanitom, hogy ez valamiert a foprogramnak kell aztan. Hasonlo az R2, amit novel eggyel, de semmire sincs hasznalva, gondolom ezt is a foprogram nezi valahol.

Na, vege a mesedelutannak. Most nem akarok felelotlen igeretet tenni, de szerintem ezt meg lehet tomorebben is oldani ... itt ugye a kulcs az, hogy az interrupt kiszolgalasa es az OUT vegrehajtasa kozott eltelt ido az, aminek akkor ugye 11 Z80 orajelnyi ido alatt le kell futnia. Szerintem meg lehetne csinalni gyorsabbra is ennel, foleg, mivel nem feltetlen ertem, mire valo itt 1-2 dolog :) Mivel RAM nem kell tul sok az egesz cuccnak, akar fel lehet aldozni azt is, hogy a portD "nem folytonos" kiosztasa miatt vmi elkefelt matrixunk legyen, amiben van egy "nagy lyuk", cserebe a T bites jatek pl megsporolhato. Az R5 hogy mire kell neki az passz, szerintem felesleges. Ez talan szinten a foprogramnak szol, es arra kell, hogy programozni lehessen a taszt illesztot EP-rol? Lehet az R2 novelest erzekelve "latja" a foprogram hogy uj adat lett kiirva, es akkor nezi az R5-ot. Oszinen, en inkabb redundans modon (ha kell ilyen) megcsinalnam az IN-t a foprogramban is, ha a Zozo fele bekotest alkalmazzuk akkor az ott "taszt illeszto programzas" kapcsan nem critical, mig a matrix scan miatti lenne csak az interrupt-ban.

Szoval kiesne egy BST egy BLD, egy MOV, egy INC, egy EOR. Ez ot AVR orajelciklus sporolas az OUT-ig azonnal. Cserebe bonyolitottuk a foprogramot ha programozni is akarjuk az illesztot, es pazaroltunk RAM-ot mert nem "tomor" a kbd allapot "tombunk". Kovetkezo igen extrem optimalizacio: tegyuk az egesz interrupt handlert oda, ahol az int tablazat van :D Ezzel nyerunk ket tovabbi AVR orajelciklust (az RJMP nem kell) cserebe kb egyetlen interrupt-ot sem tudunk hasznalni AVR-unkon ami az INT1 utan all, hiszen ott a mi kodunk van helyette. Ezt most csak a hasamra utottem, lehet nem lehet kikerulni vminek a hasznalatat, es ez az elv nem mukodik. Mindenestre a legextremebb adott AVR-re (ami pl mas AVR-n nem is igy nezne ki feltetlen pl mas portkiosztas stb) valo optimalizaciot bevetve 7 AVR orajelciklust sporoltunk azonnal.

Na, most azt hiszem eleget irtam ebben a temaban, kerdeses, hogy valakit erdekelt-e egyaltalan :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 23:51:14
Tovabbi optimalizacio jut eszembe: nagyobb AVR (pl ATmega8, meg mindig nem sokkal dragabb, bar kisse magyobb), ahol pl tobb pin van adott portra, es az a "nincs bitfolyamatos masik port ami csak port" szeru kerdes sem erdekes, igy megsporolhato talan az ANDI, sot az ORI is, mivel eleg RAM ott van (1K ha jol remlik ott mar), az X registar-pair felso erteket meg a foprogrambol folyamatosan adott erteken tartjuk, ezzel mondjuk kisse megint pazarloan banunk a RAM-al, viszont ha ez mukodne az elozo optimalizaciokkal egyutt, akkor talan mar 9 AVR orajelciklust faragtunk el. Plusz, nagyobb AVR: a RAM-jaban meg a pazarlas mellett is elfer vmi kbd layout tabla, nem kell EEPROM-ba irni, ami macera, es az is serulhet a flash mellett, meg ott idozites kritikus az iras, stb, bar valoszinu meg lehet oldani, Tigrian is megcsinalta persze, csak en nem ertek hozza :) Ez mondjuk egy hatrannyal jar: igy a kbd kiosztas mapping tablat minden reset utan le kell tolteni az AVR-be, mondjuk alapbol csak vmi default lenne ott hogy lehessen hasznalni, a RESET routine altal inicializalva. Ennel tobb optimalizacio hirtelen nem jut az eszembe, nem szamoltam ossze, de lehet igy mar ketszer gyorsabb is akar majdnem az AVR IN es OUT kozott a cucc?

Nagyobb AVR masik elonye: pl lehetne ra joy bemenet tudomisen akar C64 szeru joy, mert az pl nekem is van :) Es az pl jelen esetben a "parhuzamosan" kacsolodna a belso joy-al. Azert azzal, mert sajnos az teny, hogy nagyon time critical a kbd port olvasas/iras, az uabban az AVR-ben kevesbe fer bele, hogy masik portot is nezzunk, az viszont igen, ha a kbd matrixba irjunk mas dolgot is mint a PS/2 billencstol jon, mivel az a fogprogram resze, nem time critical. Sot, meg az is belefer, hogy meg egy PS/2 bemenet, es eger, de akkor itt is max kurzor mozgatasra forditjuk le, mert interrupt az kisse "szoros" es mar el vagyon hasznalva erosen. Mondjuk kulso joy kezelest en nem ismerem, ha az nem annyira time critical, akkor lehet belefer egy masik kulso interruptra teve aminek kisebb a prioritasa mint a WR0 altal vezerelt AVR interruptnak, de akkor maris az int tablaba pakoljuk a kodot optimalizacio problemas, es vesztunk OMG 2 teljes AVR ciklust ....

Ja es bocs, lehet kevertem mar vhol a Dave B4 es B5 portjat, nem mind1 :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.20. 23:52:43
lgb, van neked valami tapasztalatod, hogy lehetne valami avr gcc flag -gel, vagy ilyesmivel lekorlátozni az avr gcc -t,

Sajna nem tudom, elso probalkozast kiveve amit tettem AVR-rel, sose C-ztem rajta :) Amugy guglival most rakerestem, vannak ilyen kerdesek, de ahogy latom (legalabbis amiket megneztem talaltokat), nem igazan van pozitiv valasz, vagy csak en neztem pont rossz talalatokat :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 00:35:19
Mindenesetre sztm valami atomjó jutott eszembe most ahogy itt olvastalak,

frankón felelevenítettél és összefoglaltál dolgokat, amikről már beszéltünk, de én teljesen elfelejtettem: pld. azt hogy lenyomatlan billentyű helyett felhúzott bemenetet kell visszaadjak majd az EP -nek ha együtt akarok működni a beépített billentyűzettel ...

Namost ezen elmélkedve jött a következő ötletem:

ahogy itt olvastam, egy PS/2 -es billentyű általában 2 scancode tábla szerint adja vissza a billentyűket. van egy harmadik is (és elvben ugye nincs határ, de már a harmadik is csak egy speciális gyártó ősrégi code táblája, modern PS/2 cucc nem használja),

szóval nagyjából 2 féle scancode táblára kéne felkészüljek, melyek (mivel scancode) fizikai billentyűhöz kötődnek, de 2 féle táblázat.

Namost hogy a billentyű visszaadja -e magárol az inicializálásnál hogy ő melyik, az 1 dolog.
És hogy én implementálom -e ennek a kezelését, az egy másik dolog.
Legjobb esetben is beáll majd valamire ez a dolog, és lesz egy kezelt scancode tábla.

Namost (még ha csak egy is lenne, de minimum 2 van ugye) az viszont hogy egy- egy felhasználó (pld. én) melyik billentyűzetének épp melyik fizikai billentyűjét szeretné melyik EP gombhoz társítani ... mondanom sem kell, hogy billentyűről billentyűre, és felhasználóról felhasználóra változna ...

A testreszabás kérdése eddig számomra nem volt érdekes, nem láttam olyan lehetőséget, ami elég kis munka ahhoz, hogy érdemes legyen foglalkozi a kérdéssel.

Ha valaki testre akarja szabni a billentyű mappingot, annak forrásban kell(ett volna) módosítani, és fordítnai magának egy testreszabott progit.



De most hogy írtad ezt az EP vs PS/2 billentyűzet együttműködést, leesett valami:

Ha felhúzott bemeneten lesz a billentyű sorom, engedve hogy az ep bill. operáljon, akkor én azt vissza is tudom olvasni a kontrollerbe.

Vagyis egyetlen mikrokapcsoló felrakásával, vagy pedig egy speciális (más programok által soha b5 -re ki nem írt billentyű sor) címzéssel átkapcsolnám a mikrokontrollert billentyű mapping testreszabó módba,

ekkor egy tetszőleges program (lehet egy saját kis EP progi is, de sztm a basic editor is jó lesz, mert az is szkenneli a teljes mátrixot szerintem) szkennelné EP pldalon a bill mátrixot, én beolvasnám és ha találok lenyomott gombot (fontos hogy a felhasználó egyszerre csak egy gombot nyomjon le, de sztm ez betartható) akkor beolvasnék egy gombot a PS/2 -ről is (ott is megvárnám az első lenyomott gombot persze) és az összerendelést ELMENTENÉM az AVR perzisztens memóriájába, amit aztán későbbi indulásoknál mindíg visszatöltenék, és testreszabnám vele kódból, a default scan code táblát ...

Így akkor teljesen testre szabható lenne a billentyű mapping a külső és belső billentyűzet között,
és a testreszabás folyamata pedig annyi lenne, hogy először EP -n megnyomunk egy gombot, aztán meg a külső billentyűn, és azok már össze is ragadtak.

Illetve a sorrend most mindegy, lényeg hogy a külső / belső billentyűzetet felváltva nyomogatva már egymáshoz is rendelődnének a billentyűk, amit a cucc megjegyezne perzisztensen ... na sztm ez már nagyon gromek lenne ... :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 01:03:56
Meg egy (az egesz interrupt handlerben out utan is egy, tehat ketto) AVR orajelciklus sporolas :) Ha nagyobb AVR es tobb RAM es/vagy egy teljes 8 bites port input eseten szamuzheto minden utasitas ami SREG-et allitani (flags), igy annak mentese/visszatoltese nem kell :) Igy egyben csokkentettuk az interrupt handler altal elhasznalt regiszterek szamat is. OMG, lassan nem marad utasitas szegeny interrupt handlerben annyira rovid :) Optimalis esetben kb ennyi:

Code: [Select]
IN  XL, INPUT_PORT
LD  XL, X
OUT OUTPUT_PORT,XL
RETI

Hoppa ... :) Ehhez persze az kell, hogy az X regiszter felso byte-ja fixen a foprogram alatt is kb jo helyre mutasson a memoriaba. Mondjuk ezt nem gondoltam elegge at, nem garantalt, hogy jo lesz-e igy. Ha igen, akkor viszont az a durva eset all fenn, hogy ketlem, ez tovabb optimalizalhato lenne, hiszen minden lepes (port olvas, megfelelo emulalat kbd row membol be, valasz kiir, interrupt vege) egyetlen egy utasitas mar csak.

A fenti kod pl ATtiny-n biztos nem megy, meg mason se, ha 256 byte-nal kevesebb RAM van viszont, mert az a trukk hogy elpazarolunk 256 byte-ot eleve, a kerdeses MCU-nak meg annyi RAM-ja sincs mar eleve. Ha fixen tudjuk h az INPUT_PORT-al jelolt porton mi jon a nem hasznalt biteken es az nulla lenne (Tigrian cuccan bizos nem mert a PS/2 data input is, egyszeruen tul keves a lab mashova tenni azon az AVR-n), akkor finomithato esetleg az LDD utasitassal, ahol konstans kis ertek adhato az Y-hoz (akkor az osszes Y YL persze atirando az X-rol) pl. orajel ciklusban ettol nem valtozik ha minden igaz. Vagy vmi hasonlo :) Kezdel belefaradni az optimalizalasba, meg hat elmult 1 ora is mar, ideje lenne inkabb aludnom, es nem szet-flood-olni szegeny forumot.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 01:13:30
És már el is jutottunk oda, amit korábban lefektettünk: ez 5-6 órajelciklus, meg hozzá a 10-11, ami a megszak késleltetése,
és máris ki van töltve a teljes rendelkezésre álló 10MHz -es z80 idő.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 01:14:18
ahogy itt olvastam, egy PS/2 -es billentyű általában 2 scancode tábla szerint adja vissza a billentyűket. van egy harmadik is (és elvben ugye nincs határ, de már a harmadik is csak egy speciális gyártó ősrégi code táblája, modern PS/2 cucc nem használja),

Hat nem tudom. Amennyire remlik, van egy (talan a 3?) ami a legjobb elvileg mert minden gomb egy byte, nincs ilyen extended ize. Cserebe nem minden tudja ... Kerdes, hogy mennyire nem minden, ha 10 billencset megnezel es mindegyik, akkor meg lehet alkudni. Baaar ... na mind1. Szoval, van egy masik amit minden tud kb ma mar (akkor ez lenne az optimalis?), es van vmi oskori, ami a fenet sem erdekel. Elvileg valtani amugy talan tudsz kozottuk (?) mar ha az egyiket eppen tamogatja a billencs, mivel te is tudsz kuldeni billencs fele PS/2-on (pl LED-eket is kapcsolgathatod, ha akarod, azt nem a kbd kapcsolja sajat maganak). bar ezek halvany emlekek a fejemben, lehet mar nem tudom :D Kerestem most: http://www.computer-engineering.org/ps2keyboard/ (http://www.computer-engineering.org/ps2keyboard/) ill van link altalanos PS/2 protocol es mouse-ra is itt-ott benne.

Quote
De most hogy írtad ezt az EP vs PS/2 billentyűzet együttműködést, leesett valami:

Ha felhúzott bemeneten lesz a billentyű sorom, engedve hogy az ep bill. operáljon, akkor én azt vissza is tudom olvasni a kontrollerbe.

Eloszor is, ennek nem vagyok hive :) Szamomra az EP billentyuzetet helyettesitendo, azt jelenti, hogy az EP gombjain sem rajzolod at a feliratot mert mas nyelven hasznalod, en fixen rendelnem hozza, kb ahogy EP-n kinez, nem is erdekel mi van a PC billencsere irva. Ok, ezen jussunk tul, ez az en maniam :)

Ennek ellenere az otleted amugy nem rossz. Elvileg valoban beolvashatod ha jol tippelek, max ugye kene vmi gomb amivel kozlod az MCU-val h setup modban vagy, vagy hogy lepsz be/ki belole, user ne felejtse mar magat setup modban aztan nem erti miert nem tud gepelni stb ... Biztos lehetne ra megoldast talalni persze. Bar ugye aztan mit csinal az infoval, a kerdeses ATtiny-ben ehhez nincs eleg RAM, ok, beirhatod EEPROM-ba persze :)

Quote
Vagyis egyetlen mikrokapcsoló felrakásával, vagy pedig egy speciális (más programok által soha b5 -re ki nem írt billentyű sor) címzéssel átkapcsolnám a mikrokontrollert billentyű mapping testreszabó módba,

Ja ertem, ezt nem ertettem fentebb :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 01:18:07
Quote
a kerdeses ATtiny-ben ehhez nincs eleg RAM

Az általam használt AVR -ekben még perzisztens memóriákból is kilóbájtok vannak ... EEPROM vagy mi a franc ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 01:23:25
16/32KB of In-System Self-Programmable Flash (ATmega16U4/ATmega32U4)
– 1.25/2.5KB Internal SRAM (ATmega16U4/ATmega32U4)
– 512Bytes/1KB Internal EEPROM (ATmega16U4/ATmega32U4)

És én abba az EEPROM -ba gondolnám ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.21. 09:05:03
az EP gombjain sem rajzolod at a feliratot mert mas nyelven hasznalod
Mert már megtették a gyárban :-)
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.21. 09:19:03
És én abba az EEPROM -ba gondolnám ...
Az EEPROM írása és olvasása sokkal több utasítás (és idő), mint a sima RAM-é, legalábbis a PIC-nél igen. Ráadásul ha teljesen korrekt akarsz lenni, EEPROM írás után még érdemes egy verify-t is csinálni.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 09:31:23
Mert már megtették a gyárban :-)

Igen :) de azt mondom, hogy akkor egyszer, amikor flash-eled az AVR-t olyanra csinalod, es kesz. Utana minek valtogatni kiosztast, az EP-n is egy fizikai gomb ugyanott marad, nem mozog, attol, hogy mas nyelvet akarsz hasznalni. Szoval nekem ez az allando atdefinialasi lehetoseg fura otlet, de ha valakinek ez kell ... Nyilvan mindenkinek mas az igenye :) En pl PC-n sem vagyok hajlando magyar kiosztast hasznalni, a fenenek hianyzik, minden ertelmes karaktert eldugtak valahova a hulye magyar ekezetes betuk miatt :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.21. 10:39:47
Szoval nekem ez az allando atdefinialasi lehetoseg fura otlet, de ha valakinek ez kell ...
Szerintem a felhasználók 99%-a azt szereti, ha az a karakter jön a képernyőn, ami a gombra van festve :-)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 10:42:21
Szerintem a felhasználók 99%-a azt szereti, ha az a karakter jön a képernyőn, ami a gombra van festve :-)

Ezt en ertem, szerintem te nem erted mit irok ... Ha van egy valodi EP-d, ott is atfested a gombokat ha mas kiosztast akarsz? Tehat az illesztore visszaterve: ha csak egy EP "bill.folia" kiegeszteskent :) fogjuk fel a PS/2 billencs illesztest, ott is egyszer talan ok erdemes leirni (mert amugy is PC bill mas kiosztasu) hogy mi minek fele meg, de utana minek valtoztatni, EP billentyuzetet sem huzalozod ujra/fested at, mert most mas kiosztasra ternel at. Nekem ez nem vilagos, hogy minek _tobbszor_ valtoztatni, az logikus, hogy egyszer azert nem art az elejen.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 10:57:20
Egyszerű: egyrészt mer "fúmilyenjó, lehet testreszabni, milyen intuitív módon",

másrészt pedig mert pld. a pc billentyűn nincs STOP. Valaki majd a break -et akarja STOP -nak, valaki meg az F12 -t, valaki meg inkább a numerikus entert, vagy akármilyen más extrabillentyűjét a PC keyboardon, pld. sleep, shutdown, akármi ...

Ráadásul míg ezt van kedvem megcsinálni, addig semmi kedvem nincs a ps/2 billentyűvel történő beszélgetés során történő beállítgatást, kódlap kezelést megcsinálni.

Vagyis rátolok egy új billentyűzetet, az majd működik valahogy, akár teljesen rosszul, az ember "összenyomkodja" a testreszabással és jól fog működni.

Ráadásul PONTOSAN úgy, ahogy akarja.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 11:00:44
:) Ne tessek felreerteni, nem mondtam, hogy nem lehet ertelme, azota is csak a sajat szubjektiv allaspontomat hangoztatom, masnak attol meg lehet hasznos :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 11:06:23
Mondjuk az már kezd körvonalazódni, hogy nagyobb projekt lesz ez mint gondoltam ... :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 11:16:52
Mondjuk az már kezd körvonalazódni, hogy nagyobb projekt lesz ez mint gondoltam ... :)

Ez mindig igy van :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 14:16:46
Amugy, ha task-illesztonel megvan az eleg gyors B5h port olvasas es reagalva ra iras, akkor erdekes dolgokat lehet csinalni, mert innentol a foprogram dolga mar, ami sokkal jobban raer, mint az idozites kritikus csopnyi interrupt handler. Pl amire gondoltam: ugye a 4 biten kuldott (a demultiplexer elott, marmint) sor kivalasztas 0....9-ig van erteme, folotte nem. Igy ezeket ki lehet hasznalni masra, ahol a B5 porton valaszunk ra (sajna a timing szukossege miatt az nehezkes, hogy bevonjunk mas portot is a jatekba ... pedig akkor pl lehetne akar egybevonni a boxsoft mouse, kulso joy stb illesztovel, es egy AVR lenne tovabbra is csak bar kisse nagyobb peldany). Az viszont nem lehetetlen, hogy csinalni tok uj mouse interface-t (mouse.xr kell kb mindenhez ami tud boxsoft stb egeret ott meg beleirhatjuk), es igy 8 bittel tudna egyszerre valaszolni is. Az AVR foprogram pedig rohogve elboldogul ket PS/2 eszkozzel is, ha eleg laba van persze az AVR-nek. Igy ha csak PS/2-ben gondolkodunk, eleg egy sima mezei AVR a gepben, es ki lehet hozni ket PS/2 csatit a gepre, billencs es eger celjara. Bar tudom, van aki nem adja alabb az USB-nel :) Vegulis elvileg jovoallobb, az igaz.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 14:46:15
Quote
Az AVR foprogram pedig rohogve elboldogul ket PS/2 eszkozzel is,

Na ezeket a "röhögve elbírjákat" inkább hagyjuk ...

Quote
Igy ha csak PS/2-ben gondolkodunk, eleg egy sima mezei AVR a gepben, es ki lehet hozni ket PS/2 csatit a gepre, billencs es eger celjara.

Úgy látom te sem követed a dolgokat "túl szorosan", de igen pont ez az első allomás, ahova el akarunk jelenleg érkezni. Ezért nyúzom zozót a custom mouse.xr -miatt, de végülis nem eszik olyan forrón a kályhát, lesz még neki ideje reagálni a kérdéskörre egyenlőre úgy tűnik ... :)

Annyi a különbség, hogy én nem főprogramból tervezem (jelenleg) a PS/2 kezelést sem, hanem 3 megszak lesz, melyek egymást is megszakíthatják, és a legmagasabb prioritású az EP megszak lesz természetesen (így azt már nem szakítja meg a másik kettő reményeim szerint).

Azt remélem ettől, hogy ezzel az időzítés kérdések (a PS/2 -es esetben) lezárhatónak tekinthetőek, a főprogramban semmi időzített dolgot nem kell csináljak, csinálhatja a dolgát szép kényelmesen. (Szinkronizálási kérdéseket nem tekintem időzítési kérdésnek, olyan természetesen lesz benne, de minden esetben alá lesz rendelve a megszakoknak.)



Az USB meg egy teljesen külön fejezet lesz, ez a PS/2 -s egy "hekkelős" egy IC -s módszer lesz (mely ráadásul nem is lesz 10MHz z80 kompatibilis 16 MHz -es AVR -en),
az USB előtt a dolognak kapnia kell egy olyan interfészt az EP fele, mely leveszi az avr -ről a sebességterheket, korábban beszélt módszerek valamelyikével, plussz IC hozzáadásával.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 14:57:36
Quote
mely ráadásul nem is lesz 10MHz z80 kompatibilis 16 MHz -es AVR -en

Bár végülis ebben nem vagyok olyan biztos, mert a megszak elkezdődéséig csak 5 avr órajel telik el, akkor ott az ember gyorsan lerendezi a z80 -at (mondjuk további 5 avr orajel alatt)

és akkor még csak 10 avr orajelnel jarunk, es egy 1 mikroszekundum alatt 16 van belole, tehát tulajdonképp megválaszolni meg lehet a 10 MHz z80 -at is topprioritású megszakkal,

és akkor igaz hogy utána kiesik még 5 avr órajel a megszak visszatérésekor, de mivel a z80 -nak 11 órajel (10MHz z80 -nál az 1 mikroszekundum) alatt csak felelni kell tudni,

de valószínűleg nem tudja 11 órajel alatt a következő változását is megejteni a b5 porton, szóval mielőtt jön a következő EP megszak, a 11 z80 órajelen FELÜL lesz még több z80 órajelnyi idő, amíg nem tud jönni a következő EP megszak ... na ezen ciklusok alatt futhatna a másik két megszak és a főprogram ...

Szóval még az is lehet, hogy menni fog 10 MHz -es z80 -nal is ... :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 15:02:14
Na ezeket a "röhögve elbírjákat" inkább hagyjuk ...

Miert? A PS/2 max 30KHz clock-jat interrupt kezeles nelkul is kibirod azert egy pl 8MHz-en futo AVR-rel (ha meg kulso kvarc/orajel, akkor 16MHz-ig is lehet menni, vagy hat feljebb is, ha bator vagy, vagy olyan AVR-ed van). Ami kritikus az ugye a B5 portra megy a scan row select es hamar valaszolni kell (ez volt talan a 11 Z80 orajel ciklus adta ido? ez 8Mhz-en futo AVR szamara ugy 22, 16Mhz-es szamara meg 44, es ahogy mar kifejtettem, kb 4 utasitas hosszu interrupt handlerig le lehetne menni, amibe az azert belefer), kb az az a projectben ami a trukkos, ez magyaran ugye a RW0 leeso elere triggerelt AVR megszakitast jelenti.

Quote
Úgy látom te sem követed a dolgokat "túl szorosan", de igen pont ez az első allomás, ahova el akarunk jelenleg érkezni. Ezért nyúzom zozót a custom mouse.xr -miatt, de végülis nem eszik olyan forrón a kályhát, lesz még neki ideje reagálni a kérdéskörre egyenlőre úgy tűnik ... :)

Kovetem, csak olyan vagy mint en, tul sokat irsz :) Ez onkritika is volt, nem kell megsertodni :)

Quote
Annyi a különbség, hogy én nem főprogramból tervezem (jelenleg) a PS/2 kezelést sem, hanem 3 megszak lesz, melyek egymást is megszakíthatják, és a legmagasabb prioritású az EP megszak lesz természetesen (így azt már nem szakítja meg a másik kettő reményeim szerint).

Aha. Akkor a forprogram semmit nem csinal (na jo, ez koltoi tulzas volt azert, hogy "semmit"), mert minden megszakitasban lesz :) Bar mondjuk akkor nem kell vele foglalkozni, hogy varj az adott esemenyekre, hanem "adodik", az is igaz.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.21. 15:02:40
Csak, hogy idegesítselek: Z180-nál már csak 9 órajel :-D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 15:13:49
Quote
Miert?

Azért mert én is így nyitottam hogy "lazán, meg röhögve" meg C -ben, meg babám ... azt most ott tartok, hogy azt tervezgetem, hogy még a főprogramot is kénytelen leszek lehet assembly -ben megírni, és a 10MHz z80 még mindíg egy kérdés ...

Szóval mindez nem "röhögve" hanem pedig hekkelve ...

Quote
csak olyan vagy mint en, tul sokat irsz :)

Tévedés. Sokat kell írni. Olvasni is.

Quote
Akkor a forprogram semmit nem csinal

Szerintem meg az csinál majd "mindent". Épphogy a megszakok azok amik semmit nem csinálnak.

A két PS/2 megszak a felszólításra beolvas és lerak egy tömbbe +1 bitet, és semmi mást nem csinál.

Az EP megszak meg a felszólításra beolvas egy 4 bites inputot és egy tömbből válaszol rá egy 8 bites outputot, és semmi mást nem csinál.


És aztán lesz a főprogram, aki akár C -ben lesz írva, nem fog gyorsan sem időzítve futni, és loop -ban feldolgozza a 2 PS/2 megszak által tömbökbe tolt biteket és azok hatására állítja azt a tömböt, amiből az EP megszak felelget az EP -nek.

Ráadásul a loop -jában még ő is frissíti az output értéket az EP irányába, azzal a komótos sebességgel, amire képes lesz a loop -ja.

Harmadrészt ő fog felelni azért a magasszintű logikáért is, ami a testreszabást fogja végezni, meg ilyeneket.

Szóval sztm pont hogy a megszakok azok, akik "nem csinálnak semmit" ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 15:14:27
Quote
Csak, hogy idegesítselek: Z180-nál már csak 9 órajel :-D

Na, mostmár aztán télleg kezded kihúzni a gyufát ! :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 15:14:39
Bár végülis ebben nem vagyok olyan biztos, mert a megszak elkezdődéséig csak 5 avr órajel telik el, akkor ott az ember gyorsan lerendezi a z80 -at (mondjuk további 5 avr orajel alatt)

Hmm, nem tudom amugy (utana kene nezni vegre) hany orajelciklus AVR-en az interrupt kezeles pontosan. Emlekeim szerint 4, de ehhez hozzajon az, hogy az eppen futo utasitast elobb meg kell csinalnia, ami legjobb esetben 1, legrosszabb esetben talan 3 (?) orajel ciklus.

Quote
és akkor igaz hogy utána kiesik még 5 avr órajel a megszak visszatérésekor, de mivel a z80 -nak 11 órajel (10MHz z80 -nál az 1 mikroszekundum) alatt csak felelni kell tudni,

Hat az jo kerdes, hogy kiesik-e. Marmint Z80 szempontjabol. Ugyanis,  ugye "legrosszabb" esetet elkepzelve (bar ez nem realisztikus annyira szerintem, mert Z80 csak leteszi vhova az eredmenyt stb kozben, tehat mas opcode is van!), pl       OUT (0xB5),A  / IN A, (0xB5). Azaz OUT utan azonnal IN. Utana viszont kisse nehezkes lenne Z80 szamara azonnal (nincs masik opcode) kezdeni elolrol, mert csak le kell tarolni az eredmenyt, vagy eleve loop-ban kerdezi, miegymas. Amit el tudok kepzelni mint legrosszabb eset, amikor a fenti szekvencia folytatodik, az pl ez:

Code: ZiLOG Z80 Assembler
  1. LD C, 0xB5    ; port num
  2. LD  A, 0   ; scan row #0
  3. LD B , 1  ; scan row #1
  4. ... stb ...
  5. OUT (C),A
  6. IN A, (C)
  7. OUT (C), B
  8. IN B, (C)
  9. ... stb ...
  10. ; result A/B...stb..
  11.  

Ugye itt kerdeses, hogy ilyen valaha komolyan kell is, hogy ennyire "surrun" jon egymas utan. Azonban meg ha van is ilyen, azt se felejtsuk, hogy egy IN vagy OUT vegrehajtasa a Z80-nak messze nem egy orajelciklus, es azt is vizsgalni kell, hogy egy adott Z80 utasitason _belul_ mikor tortenik az aktualis I/O muvelet valojaban. Azaz AVR interrupt szintrol nezve, a valaszt mar pl beallitottuk (az ugy is marad) mielott meg eljutott volna a Z80 az IN -ig vagy legalabbis az IN azon "reszehez" amikor a valodi I/O zajlik. Igy lehet, hogy maga pl az IRET az AVR-n meg az IN "vege fele" lefut, igy mire a kovetkezo OUT azon reszehez erunk ahol Z80 kozli hogy I/O request van, az AVR mar vissza is tert a megszakitasbol.

Quote
de valószínűleg nem tudja 11 órajel alatt a következő változását is megejteni a b5 porton, szóval mielőtt jön a következő EP megszak, a 11 z80 órajelen FELÜL lesz még több z80 órajelnyi idő, amíg nem tud jönni a következő EP megszak ... na ezen ciklusok alatt futhatna a másik két megszak és a főprogram ...
Szóval még az is lehet, hogy menni fog 10 MHz -es z80 -nal is ... :)

Nem kizart :) Tigrian kodjat lehet optimakolni azert, bar egyes ilyen muveletek (lasd ejszakai leveleimet) kisse hajmeresztoek es mashol okozhatnak problemat (pl tobbi megszakitas hasznalatanak ellehetetlenedese, cserebe viszont 2 AVR orajelciklus megsporolasa).
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 15:42:30
Masik hulye otletem: EP-re tenni vmi custom csatlakozot. A gepen belul vmi primitiv AVR eleg lenne, egyeduli feladata fogadni a WR0 altal okozott interrupt-ot, es allat gyorsan valaszolni a B5 porton a kiirt ertek alapjan _ES_ pl a foprogramban csupan kommunikalni akar TTL szintu soros porton az EP csatijara kotott cuccal. Ez utobbira (amire azert pl +5V is ki lenne hozva tapnak) csatlakozhat barmi, pl egy masik kulso komolyabb USB-s MCU is, stb, az o feladata lenne konkretan a periferiakkal beszelni (legyen az PS/2 vagy USB stb), kbd layout-ot igazitani (a belso cuccra mar csak EP matrix poziciok alapjan menne uzenet hogy keyup keydown, stb). Ez latszolag tulbonyolitas, de ha meggondolod: a belso cucc programja egyszeru, remelhetoleg tobbe nem kell hozzanyulni stb, a gepen kivul meg lehet ganyolni, kesobb fejlettebb megoldast raakasztani (mondjuk eloszor csak PS/2 aztan USB), es ehhez nem kell mindig a gepre forrasztott cuccal szorakozni, lehet cserelni egyszeruen regi/uj megoldast pl teszt alatt, miegymas. A ket eszkoz kozotti kommunikacio nem visz hibat a rendszerbe (a kritikus B5 valtozas, ra regalas csak a belso MCU dolga szigoruan!), max ha 9600 baudon csinalja az ember a kulso kommunikaciot akkor erezheto delay lesz a taszt lenyomasa es annak realizalodasa kozott, de nyilvan azert nem 9600 baud-dal kene nyomni feltetlen. Csak hirtelen eszembe jutott, lehet, hulyeseg ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 16:04:30
Hát ez már a plussz alkatrészes módszer, ami már majdnem mindegy akkor hogy egy másik mcu, vagy pedig egy dual port ram, vagy egyéb típusú dolog, amiket linkeltetek korábban ...

Ami miatt viszont mégis elgondolkodtató, az a kivezetett zsinórok száma ... ezeken az AVR -eken minimum 4 fajta busz/port van, amin keresztul hardveresen támogatva tudnak adatot cserélni, a soros porton kívül is ... szóval lenne hardveres, gyors, 2-4 érintkezős átviteli lehetősség épp elég.

És legrosszabb esetben 4(valami busz)+2(táp) = 6 kivezetett vezetékkel meg lehetne oldani.
Az azért sokkal kevesebb, mint a 8(key line)+4(key addr)+3(joy line)+1(key "megszak")+1(reset)+2(táp) = 19 drót.

A 6 vezetéket egy síma PS/2 csatin lehetne csatlakoztathatóvá tenni egy külső eszközzel ... és nem kéne valami 19 pólusú csatlakozó, meg széles szalagkábel ...

És nem kéne új ismeretlen elektronikákat sem beszerezni, csak venni +1 készre szerelt AVR lapot ... és akkor sebességkérdés is mindjárt megoldva ...

Ha meg már úgyis be kell forrasztani a drótokat, mindegy hogy beforrasztunk egy mini kis lapkát is, vagy sem ...

Nagyon szimpatikus ! :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 16:15:54
Quote
a belso cuccra mar csak EP matrix poziciok alapjan menne uzenet hogy keyup keydown, stb)

Egész pontosan a belső cuccba nem kéne semilyen up/down uzenet,
az egy sima 16 bájtos tároló lenne, amiből végezné az EP frissítését,
és kívulről írni és olvasni engedné ezt a 16 bájtot.

persze 1-2 bájttal még lehetne több is, és akkor oda lehetne tenni speciális biteket, mint a reszet, joyok, vagy ilyesmi ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 16:23:24
Egész pontosan a belső cuccba nem kéne semilyen up/down uzenet,
az egy sima 16 bájtos tároló lenne, amiből végezné az EP frissítését,
és kívulről írni és olvasni engedné ezt a 16 bájtot.

persze 1-2 bájttal még lehetne több is, és akkor oda lehetne tenni speciális biteket, mint a reszet, joyok, vagy ilyesmi ...

Azt is lehet, csak ide tobb vezetek kell, meg specko alkatresz (pl DP RAM).
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 16:29:51
Quote
Azt is lehet, csak ide tobb vezetek kell, meg specko alkatresz (pl DP RAM).

Nem, én a belső avr mcu -s dologról beszéltem.

Azt pontosítottam, hogy a 2 MCU közé nem kellenek magas szintű üzenetek, úgy mint up/down, mouse pos, ilyenek,
hanem a kommunikációjuk csak pár bájt írására olvasására kell szorítkozzon.

Az meg hogy belül azt a fix darab pár bájtot hogy értelmezi, az egyszer lefektethető, ahogy mondod, és nem kéne módosítani. Bill, egér, joy, reset, ilyesmi és kész.

Persze ha valaki akar egy újabb dolgot vele, akkor kell módosítani, de azt akkor is kéne, ha valami új drótot akarna kivezetni a belső MCU nélküli esetben ...

Szóval nekem továbbra is tetszik ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 16:38:59
Nem, én a belső avr mcu -s dologról beszéltem.

Azt pontosítottam, hogy a 2 MCU közé nem kellenek magas szintű üzenetek, úgy mint up/down, mouse pos, ilyenek,
hanem a kommunikációjuk csak pár bájt írására olvasására kell szorítkozzon.

Akkor nem ugyanarrol beszelunk, mert nekem kulso kis dobozkakent jobban tetszene az egyik "fele" akkor meg fontos lehet, hany drottal es milyen hosszu drottal van osszekotve. Amugy pl a soros kommunikacio elonye extrem hulyesegre: pl PC-t hozzakotsz soros porton (vagy USB-serial atalakito) es akkor teszt vagy mas jeleggel PC-rol sw-bol is lehet "vezerelni" az EP-t, kvazi. Mondjuk ertelme nem tudom van-e.

Amugy ha mar Dual Port RAM-ot akarsz beepiteni, lehet aztan uber szofisztikali, pl nem csak a B5 output-al indexelni, hanem mas porttal is ami pl kulso joy-hoz kell, vagy a mouse box strobe jelevel stb, es akkor aztan kvazi minden eger/joy/bill kombinacio lefedheto talan, eleg csak a DP ram-ot megfeleloen irogatni, ez kisse komplexebb megoldas, es talan dragabb is, de le lehet fedni vele sok mindent es idozitesi gond sincs mint sw-bol AVR-rel megprobalni.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 16:47:20
Quote
Akkor nem ugyanarrol beszelunk, mert nekem kulso kis dobozkakent jobban tetszene az egyik "fele" akkor meg fontos lehet, hany drottal es milyen hosszu drottal van osszekotve. Amugy pl a soros kommunikacio elonye extrem hulyesegre: pl PC-t hozzakotsz soros porton (vagy USB-serial atalakito) es akkor teszt vagy mas jeleggel PC-rol sw-bol is lehet "vezerelni" az EP-t, kvazi. Mondjuk ertelme nem tudom van-e.

Amugy ha mar Dual Port RAM-ot akarsz beepiteni, lehet aztan uber szofisztikali, pl nem csak a B5 output-al indexelni, hanem mas porttal is ami pl kulso joy-hoz kell, vagy a mouse box strobe jelevel stb, es akkor aztan kvazi minden eger/joy/bill kombinacio lefedheto talan, eleg csak a DP ram-ot megfeleloen irogatni, ez kisse komplexebb megoldas, es talan dragabb is, de le lehet fedni vele sok mindent es idozitesi gond sincs mint sw-bol AVR-rel megprobalni.

Na most megyek a falnak ... :)

Nem lgb, ugyanarról beszélünk.
Ugyanis most meg mikor azt mondtam "Nem, én a belső avr mcu -s dologról beszéltem." akkor nem egy egyedülálló belső mcu-ról beszéltem,
hanem arról, hogy 2 dolog van, egy kívül egy belül, de belül mcu van (ahogy mondtad legelőször) nem pedig egy dual port ram.

A dual ram -ot annyiban hoztam párhuzamba, hogy a +1 belső mcu -s dolog az már nem egy single IC -s dolog, éppúgy mint a dual port ram -os szitu.

A legelső, dupla mcu -s felállásodon csak annyit pontosítottam, hogy a 2 mcu közé nem kellenek key up/down szerű üzenetek, hanem csak egy pár bájtos memória tömb átvitele.
Te először a 2 MCU közé key up/down szerű üzeneteket sugalltál, ezzel vitáztam csak.

Az összes többit már te kavartad bele ... :)










Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 16:55:43
Na most megyek a falnak ... :)
Az összes többit már te kavartad bele ... :)

Oke, feladom, inkabb nezem a SymbOS disasm-ot. :) Ugyanis akkor nem ertem mit akarsz, de ezen ne vitakozzunk :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 17:01:46
Reszeteljünk az első hsz -edre.

Quote
a belso cuccra mar csak EP matrix poziciok alapjan menne uzenet hogy keyup keydown, stb)

Ez sztm azt jelenti, hogy menne a külső mcu -tól egy üzi a belső mcu -nak, hogy az "A" gombot lenyomták, vagy a mouse arrébb ment, vagy resetet nyomtak.

Én ezen annyit pontosítottam, hogy ne ilyen magasszintű üzenetek menjenek a 2 mcu között,
hanem sima bájt csere.
Összesen 2 üzenet mehessen a 2 mcu között, az egyik írja a belső mcu 16(32, akárhány) bájtját,
a másik meg olvassa.

Így se érthető ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.21. 18:37:15
Így se érthető ?

De, azonban ez kb uazt majdnem amit irtam, en keyup keydown alatt azt ertettem, hogy mondjuk 34.-es szamu matrix pozicio (ami ugye X byte Y. bit-je) valtas 0/1 akarmi, ami valoban egyszerubben szolva es szebben kifejezve es a felesleges sallangot leveve  valoban egyszerusitheto sima memory read/write szeru dologkent, mert vegulis az is. Nem PS/2 szeru keyup/keydown-t gondoltam :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 18:44:45
Naszó, ez egy kúlságnak tűnik a kidrótozás egyszerűsége miatt ...

Tehát amint nem single IC -s megoldásban gondolkodunk (és én biztos nem fogok pld. az USB esetben már single IC -t még csak megkísérelni sem),

abban a pillanatban ez a dupla mcu -s módszer a drótozás egyszerűsödése végett elég vonzó megoldás lesz.

(Kívülre meg lehetne csinálni egy PS/2 x 2 + USB x 2 + DB9 x 2 eszközt ... :))
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 19:05:54
Ráadásul ha én megcsinálom ezt a single IC megoldást a jelenlegi alaplapjára redukált EP -vel,
és nem is akarom a 19 drótos formában bekötni egy rendes EP -re, hanem egyből a dual AVR -es kevés zsinóros verziót akarom,

akkor a kód a dual AVR módszerhez már rendelkezésemre fog állni, és gyakorlatilag változatlan forrásból egy ifdefeléssel meg fogom tudni oldani a 2 programverzió fordítását a meglévő kódból.

Egyedül a 2 AVR közti kommunikációt kell majd plusszban beletenni. (Remélem az nem lenne nehéz ...)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.21. 22:32:50
Hát most csak evvel tok szógálni az arra érdeklődőknek: :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.22. 00:11:37
Hát most csak evvel tok szógálni az arra érdeklődőknek: :)

Aha, kisebb LED nem'vot? :) Pia az micsoda? Tudom, a lenyegre kerdezek ra ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 00:16:27
Quote
Aha, kisebb LED nem'vot? :)

Nincs hogy hajjon meg ... én ezt is "kisebbnek" rendeltem ... de ezt küldték ... :)

Quote
Pia az micsoda?

Frissítő. Ballantines névre hallgat ...

Quote
Tudom, a lenyegre kerdezek ra ...

Frissnek kell maradni ... az a lényeg ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 01:07:43
Jajj, mi van akkor itt most az EP 8 bites billentyű soránál ?

Vannak a bitek (a 8 bit -es bájtban), és akkor mikor én jelezni akarom az EP -nek a billentyűsor állapotát, akkor:

- mikor a külső billentyűn nincs lenyomva egy adott gomb, akkor nekem NORMÁL (lebegő) BEMENETRE kell állítsam az MCU vonalat,
és ekkor ha EP billentyű sincs lenyomva, akkor magasra fog állítódni az a vonal, mert az EP nyilván felhúzza azokat a pontokat, ahova csatlakozom majd a 8 bitemmel, és mivel EP billentyű sincs lenyomva, ezért az MCU lebegő bemenetein is a magas jel jeleneik meg (EP felhúzás felhúzza azt is),

ha meg EP -n le van nyomva a billentyű, akkor az lehúzza az EP által felemelt pontot, és ilyenkor majd alacsony jelenik meg az MCU lebegőre állított bemeneti lábain is,


- ha pedig a külső billentyű le van nyomva, akkor nekem a billentyűvonalat ALACSONY KIMENETRE kell állítsam, ami lehúzza az EP felhúzott bemeneteit, függetlenül attól, hogy az EP gomb lenyomott vagy sem.



Igaz ez ? Mert nem biztos hogy jól gondolom ezeknek a nyitott kollektoros/nem nyitott kollektoros ki/bemenetek egymáshoz kapcsolásának szabályait ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.22. 06:40:03
Igaz ez ?
Igaz.
Title: Re: HW készítés Arduino-val
Post by: Povi on 2014.October.22. 08:47:19
Aha, kisebb LED nem'vot? :) Pia az micsoda? Tudom, a lenyegre kerdezek ra ...
Csak most látom a képet, de én is a LED-eken lepődtem meg, és whiskey-re tippeltem volna poénból, de úgy látszik, eltaláltam :-)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.22. 08:53:36
Pedig a ledeket már kitárgyaltuk, hogy nem olvasta el a méretet rendelésnél :-D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 09:16:01
Quote
Igaz.

Az jó, mert akkor kiírok a PORTx indánnevű portomra 0 -át, és akkor a DDRx nevű porton csak váltogatom hogy kimenet vagy bemenet legyen.
A PORTx kimenet esetében az értéket határozza meg, bemenet esetében pedig hogy legyen felhúzás vagy sem.
Kimenetnél értelem szerűen, bemenetnél a magas jelenti a felhúzást.

És mivel nekem nem kell felhúznom most (mert egyetértesz azzal, hogy az EP már felhúzta a drótokat) semmilyen esetben, ezért a PORTx fixen lehet nulla, vagyis bemenet esetén nincs felhúzás a biteken, kimenet esetében meg 0 a kimenet a biteken.

És akkor csak a DDRx -et változtatom, és a felhúzás nélküli (lebegő) bemenet és az alacsony kimenet között fog váltogatni, ami egyrészt akkor marad csak 1 port írás,
más részt nem kell a vonal mindenféle tranziens állapotokon keresztülmenjen, a 2 port módosítgatása miatt ...

Minden más esetben ez bonyolultabb lenne ... Néha kell valami jó hír is ...
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.22. 09:19:32
mert egyetértesz azzal, hogy az EP már felhúzta a drótokat)
Így van, ezt csinálja az a színes IC az alaplap bal alsó sarkában.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.22. 09:40:30
Igaz ez?

Igen, szerintem ugye vmi felhuzo ellenallas +5V-on tartja. Akarmennyi cuccot rakothetsz parhuzamosan (pl eredeti billentyuzet, melle ez a project, stb) a lenyeg, hogy valami vagy hagyja lebegni (persze az ertek aztan nem fog, mivel fel van "huzva" a tapfeszre), vagy lehuzza gnd-re. Ha egy cucc is lehuzta (persze lehet tobb is ...) akkor az eredmeny: "lent van". Ha siman ugy lenne, hogy pl billencs konkret allapotokat allit be (0V/5V) akkor ugye nem tudnal semmit parhuzamosan kotni vele, mert ha ellenkezo dolgot akarnak, akkor a tapfeszt osszekotned a folddel kb, ami nem tul jo otlet. Amugy ez a technika igaz sok busz jellegu cuccnal is, lasd pl C64 IEC busza (amire a floppy megy), maga a PS/2 mukodese is ilyen, termeszetesen. Ott meg olyanok is vannak, hogy raneznek a vonalra, ha alacsony szinten van, valaki mar lehuzta. Igy akar elvileg tetszoleges szamu eszkoz is kommunikalhat, max nyilvan elotte meg kell gyozodni, hogy mas nem hasznalja-e.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.22. 09:45:36
Az jó, mert akkor kiírok a PORTx indánnevű portomra 0 -át, és akkor a DDRx nevű porton csak váltogatom hogy kimenet vagy bemenet legyen.

Hat kb igen, amikor disasm-oltam Tigrian AVR kodjat, ez latszik is: amit kiir B5 portra ugymond, ott az interrupt handlerben a DDR-t allitja csupan, nem a kimeneten talalhato szintet valojaban. Mivel ugye, ha input-ra teszel egy pin-t, akkor o nagy impedanciasnak latszik kivulrol azaz "nem szol bele", ha meg output-ra akkor azt adja, ami output value adva van neki. Itt kell vigyazni, hogy az output ertek mindig nulla legyen, mert ha elszurod, es pl magas szintet kiadsz, es kozben vki lenyom az EP-n egy gombot, akkor az kb rovidzar onnantol ...

Quote
A PORTx kimenet esetében az értéket határozza meg, bemenet esetében pedig hogy legyen felhúzás vagy sem.

Hat, hogy legyen-e felhuzo ellenallas az itt kevesbe lenyeges, mert EP-n mar fel van huzva eleve.

Quote
És mivel nekem nem kell felhúznom most (mert egyetértesz azzal, hogy az EP már felhúzta a drótokat) semmilyen esetben, ezért a PORTx fixen lehet nulla, vagyis bemenet esetén nincs felhúzás a biteken, kimenet esetében meg 0 a kimenet a biteken.

Szerintem is, kimenet MCU szinten legyen _mindig_ es garantaltan nullara allitva, aztan DDR-el kell jatszani. Imho legtobb MCU-nal reset utan input irany a default, szoval azzal kene kezdeni, hogy nullat ir az ember ki, igy az elso DDR bizeralas elott mar biztonsagban vagy, es nem okozhatsz bajt.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 10:16:16
Konkrétan nem emlékszem hogy rövidzár vagy túláramvédelemről (is) olvastam volna,
de olyan komplex kimenetei vannak egy ilyen AVR -nek (datasheet -ben ott vannak az áramkörök), hogy meg lennék lepve ha rövidzárvédelem nem lenne bennük.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.22. 10:21:39
Konkrétan nem emlékszem hogy rövidzár vagy túláramvédelemről (is) olvastam volna,
de olyan komplex kimenetei vannak egy ilyen AVR -nek (datasheet -ben ott vannak az áramkörök), hogy meg lennék lepve ha rövidzárvédelem nem lenne bennük.

Az lehet, de meg ha nem is menne tonkre, akkor sem produkalna valoszinuleg hasznalhato tasztot abban az allapotaban :) Amugy Tigrian anno a taszt topic-ban mintha azt mondta volna, hogy azert is kell vigyazni vele, mert egy AVR modern aramkor siman "lenyomja" az EP-ben hasznalt kimeneti szinteket, es valoszinu elobb menne tonkre az EP-ben vmi, az AVR "erosebb" es talan ahogy mondod vedve is van ellene. Mondjuk ez kisse kodosen lett fogalmazva altalam most ;) A lenyeg, hogy azert nem art vigyazni vele, meg ha fustot nem is produkal, azert nem egeszseges!
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 11:01:24
Abban az esetben vagy amíg nincs megoldva a duál AVR -es, kevés drótos megoldás,
addig ugye 19 dróton kell kijönni az EP -ből, amit én egy 80 eres UDMA-133 -as IDE kábel szétvágásával oldanék meg,
ugyanis ilyen vékonyságú szalagkábelt nem találtam külön olyan boltokban, ahol általában szalagkábeleket nyomnak,
mindenhol ezt az 1,x mm rasztertávolságosat tolják, az előbbi pedig 0,5x mm raszteres, szal csak szerelve láttam, IDE kábel formájában.

1, tud -e valaki valahol ilyen kábelt külön, nem IDE kábelnek szerelve ?

2, vajon milyen csatlakozóra lehetne szerelni minimum 19 ilyen drótot ?

Mert nyilván nem szeretnék direktben forrasztani erre az EP -ből kijövő kábelre semmit, hanem kell rá egy anya, és apa kábelt kell forrasztani az eszközre, amit csatlakoztatni akarunk. De milyen anya/apa tud ilyen lehelet vékony szalagkábelből fogadni legalább 19 -et ? Ha párral több az nem baj, mert akkor legalább tápnak és földnek lehet párral több drótot kijelölni, a nagyobb terhelhetőség miatt.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.22. 11:12:30
Mondjuk szerintem egyszerűbb ha bent van a gépben, és akkor csak 4 drót kell ki, plusz még 2 ha egér is lesz.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 11:27:27
Bakker, hogy ez nekem miért nem jutott eszembe ... :oops:

És az akkor megint ráfér egy PS/2 (mini din 6) csatira ...

(Mondjuk attól még az előző kérdéskör is érdekes nekem továbbra is ...)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.22. 11:28:49
A ket eszkoz kozotti kommunikacio nem visz hibat a rendszerbe (a kritikus B5 valtozas, ra regalas csak a belso MCU dolga szigoruan!), max ha 9600 baudon csinalja az ember a kulso kommunikaciot akkor erezheto delay lesz a taszt lenyomasa es annak realizalodasa kozott, de nyilvan azert nem 9600 baud-dal kene nyomni feltetlen.
Egyébként eleve a PC billentyűzet és annak protokolja (ami arra van kitalálva, hogy Gizike szép lassan pötyögi a betűket) már érezhető késleltetést visz a dologba, legalábbis a Tigrian féle cuccal jól érezhető volt, több programmal is kínszenvedés volt, mert nem lehetett olyan finom lenyomásokat produkálni, mint ami EP billentyűzettel nem gond.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.22. 11:45:11
Egyébként eleve a PC billentyűzet és annak protokolja (ami arra van kitalálva, hogy Gizike szép lassan pötyögi a betűket) már érezhető késleltetést visz a dologba, legalábbis a Tigrian féle cuccal jól érezhető volt, több programmal is kínszenvedés volt, mert nem lehetett olyan finom lenyomásokat produkálni, mint ami EP billentyűzettel nem gond.

Hat ez valoszinu, de kerdes az, hogy mennyit visz bele. Ha most maradunk a sima soros port (most ez csak pelda, nem kell soros port nekunk feltetlen persze!), "amator" 9600 baud-janal, az kb az ugy meg kb mindig eleg masodpercenkent 1000 billentyu event atvitelere. A PS/2 protokoll eseten emlitenek vmi 15-30KHz orajelet, tehat az elvileg meg gyorsabb is. En nem gondolnam ez alapjan, hogy ez a szuk keresztmetszet, vagy legalabbis par ezredmasodpercet nem hinnem, hogy eszre lehet venni embernek. Az persze lehetseges, hogy maga a PS/2 billentyuzetben levo MCU (mert ugye abban is van) mar tobb kesest okoz, nem tudom. Ha ez a helyzet, akkor viszont 1-2 ezredmasodperc hozzaadasaval velemenyem szerint nem rontjuk tovabb a reszponszivitast ember altal eszreveheto modon, ha anelkul se tul jo, igy sem lesz eszrevehetoen rosszabb. Vagy rosszul gondolom?

A masik: most lehet hulyeseget mondok ... de mintha lett volna az eredeti Tigrian fele taszt topic-ban olyan, hogy nala az AVR "szandekosan" kesleltet is ugymond, csak nem emlekszem miert volt :) Talan azert, hogy billenyuzet-kombinaciokat is kezeljen (?), vagy nem tudom. Ha ez volt a negativ tapasztalat oka, akkor az viszont nem az atvitel lassusagaban mint hiba. Ezert is mondtam, hogy en preferalnam a mindenfele kiosztas allitas nelkuli "egyen megoldast" ahol egy PS/2 gomb = egy EP gomb, es kesz, semmifele kavar. Ezen kene aztan kitesztelni, hogy minden trukk nelkul ez igy milyen, itt is jelentkezik-e gond stb. Ha nem, akkor lehet tovabbmenni, ha utana jon vmi nemkivant jelenseg (pl kesleltetes) akkor az gyanus, hogy a kesobbi fejlesztes muve mar ... Van meg vkinek eredeti Tigrian fele illesztoje a gepben, meg vmi programozo cucca AVR-hez szinten? :) Mert akkor lehetne kiserletezni ezzel, nekem most egy darabig konkret hw tuti nem lesz, igy max latatlanban tudnek irni egy egyszerusitett programot ra, minimal funkciokkal, hogy akkor hogy viselkedik ... Viszont ezt se mostanaban az is lehet :(

Amugy, ha a lassu reagalas maga a billentyuzetben keresendo mint problema, akkor az elvileg PC-n is jelentkezo problema kene, hogy legyen persze. Ha ez nem all fenn, akkor megiscsak az EP-PS/2 kozotti illesztesben kell keresni a problemat. Ha az fennallt a Tigrian-fele project-nel is (es ezt irod) akkor eppen abban, a tippem erre kodos emlekim szerint az lehet, amit fentebb kifejtettem, mas realis okot nem latok, de szerintem ezen egy AVR-AVR kommunikacio behozasa (ember szamara) eszreveheto modon nem rontana.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.22. 22:47:10
Juhú. Műxik a PS/2 billentyű beolvasás ...

Ami azt jelenti, hogy még el kell bénázzak egy 13 drótos bekötéssel, ami nem két perc lesz,

és az EP megszak már türelmetlenül várja, hogy kiszolgálhasson ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 01:05:36
Na ... beélesztettem az egér és EP megszakokat is a billentyű megszak mellé, hogy teljes terhelés alatt tesztelődjön a dolog,
meg még kiegészítettem ezzel-azzal, elvben működik az egész egyben, írja+frissíti az EP vonalait is.

Eddig nem több 500 sornál, assembly megszakokkal, és még össze sem vontam a bill/eger közösíthető részeit.

Ami hiányzik egy 0.1 -es működéshez, az az hogy a kódváltás írja is az EP 16 bájtos bufferét, amiből frissül az EP.
Jelenleg csak felismeri ha 'A' gombot nyomtak, és megvillantja a ledeket.

Ha nem bénázom el a holnapot a drótok beforrasztásával, vagy nem jön közbe valami gebasz, akkor holnapra külső billentyűn gépelhetek ... :)

Eddig három billentyűvel teszteltem (az 'A' gomb lenyomást :)), melyek közül kettő USB -ről átalakított billtyű ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 16:15:34
Zozo, meg tudsz/akarsz jelölni nekem valami alaplapi fényképen 8+4+1+táp+föld lábat a billentyűhöz ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 20:07:16
Na, előbányásztam a korábban megadott rajzot:
http://enterprise.iko.hu/schematics/EP64-2-RT.jpg

Tehát ha jól értem, akkor az igényt azt az IC25 2,5,6,9 -es lábáról, vagy az IC26 15,14,13,12 -es lábáról tudom leszedni,
a választ pedig az IC27 3,4,7,8,13,14,17,18 -as lábára kell tegyem.

Namost az IC25 1 -es lába az, ahova valami WR0 nevű jel befut, és ennek lefutó élére kell megejtsem a beolvasást ÉS a választ ugye 11/9 (há persze ...) z80 ciklus alatt.

Namost ha mindez igaz, akkor jönne a kérdés (hogy hol a rákban vannak ezek a nyákon :)), meg az igazi kérdés is, hogy az IC27 1 -es lába az meg egy RD0 nevű jel ... lehetne az is, hogy az ember csak az RD0 valamilyen éleire frissítgeti a 8 bitet az IC27 -en, mert igazából csak olyankor használják őket ?

Másik kérdés, hogy ez a WR0, RD0 jelek ezek már portra filtereltek, vagy pedig fütyülnek majd nekem minden port írásakor(olvasásakor), nem csak a b5/b6 portok bizergálásánál ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 20:26:35
Quote
Namost ha mindez igaz, akkor jönne a kérdés (hogy hol a rákban vannak ezek a nyákon :)), meg az igazi kérdés is, hogy az IC27 1 -es lába az meg egy RD0 nevű jel ... lehetne az is, hogy az ember csak az RD0 valamilyen éleire frissítgeti a 8 bitet az IC27 -en, mert igazából csak olyankor használják őket ?

Amennyire latom, lehetne, csak epp nem erdemes! Ugyanis, ha az RD0 aktiv lesz akkor van kb 1 (?) Z80 orajelciklusod amig a Z80 az IN utasitasban a konkret I/O-t varja. Ha az WR0-ra rakod ki, akkor van ugye az a 11/9, hogy a leheto legsurrubb kodot irva sem tudja elobb beolvasni az uj scan row-t annak kijelolese utan. Szoval elmeletileg igaz amit felvetsz, csak nem tudod olyan gyorsan kiszolgalni ...

Quote
Másik kérdés, hogy ez a WR0, RD0 jelek ezek már portra filtereltek, vagy pedig fütyülnek majd nekem minden port írásakor(olvasásakor), nem csak a b5/b6 portok bizergálásánál ?

A WR0 es az RD0 jelek szerintem a B5 port irasa es olvasasara dekodolt jelek, tehat csak akkor aktivan (es low-active, ha jol remlik). A B6 hogy jon ide? Az mar nem a WR1/RD1? A B7 porthoz meg tartozik a WR2/RD2 - szinten ha jol emlekszem. Imho, ez az egesz WRx/RDx arra valo, hogy ne kelljen az EP-be egy v tobb I/O chip (itt jelen esetben PIO) hanem integraltak Dave-be egy 3*8 bitnyi altalanos celu PIO-t (ami EP-n fixen kbd-re van pl a B5 eseten). De elvileg Dave chip-et kulon is lehetne mas gepben is hasznalni, nem csak EP-ben, kar hogy nem lehet kapni :)

UPDATE: Oh, bocsanat, hulye vagyok ... Nem PIO van a Dave-ben imho :) tehat o csak abban segit, hogy szamunkra az I/O cimbol es Z80 busz jelekbol eloallit egy RD0/WR0 a B5, RD1/WR1 a B6 es RD2/WR2 a B7 port olvasas/irasra vonatkozolag, azt mar az "alkalmazonak" (itt EP128) kell megoldani, hogy aztan pl kimenetet tarolja tartosan az adatbuszrol, pl  WR0 eseten az IC25 az.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 20:36:34
Quote
csak nem tudod olyan gyorsan kiszolgalni

Volt egy ilyen érzésem, de hát nem tudhattam, míg meg nem kérdezem ...

Quote
A B6 hogy jon ide? Az mar nem a WR1/RD1?

De valszeg az, csak ennek a számozásnak most nem szenteltem nagy figyelmet, amolyan wrx/rdx -nek értettem ...

De 2 -es fajtát még nem is igen láttam belőlük se ... attól még lehetnek ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 20:43:47
Fenti rajzon mit jelent vajon az, hogy ha megnézzük az IC25 -nek két darab 1 -es lába is van ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 20:49:33
Na de legalább az IC -ket megtaláltam már mind a hármat,

mondjuk gőzöm nincs mért Uxx jelöléssel vannak a nyákon, és ha ott azzal, akkor a rajzon miért nem Uxx -szel vannak jelölve,

miért ICxx -szel ?



Egyébként meg ki rajzolta a rajzot ? Úgy értem ez amit nézek csak az egyötöde ... ki volt akkoriban olyan őrült hogy ilyeneket rajzolgasson ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 21:00:23
Valamint az IC26 -nál látok egy belső lábszámozást (megjelölést, mert betűk is vannak), az miért van ott külön, és miért nincs más IC -knél sehol ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 21:05:07
Valamint az IC26 -nál látok egy belső lábszámozást (megjelölést, mert betűk is vannak), az miért van ott külön, és miért nincs más IC -knél sehol ?

Nem neztem utana, de ranezesre: ami kivul van az IC labszamok. Ami belul van az funkciora utal, az ABCD bementek alapjan allit elo, 0-9 kimeneteket (azaz a kbd scan row), amolyan BCD dekoder, demultiplexer, vagy ahogy akarod hivni. Azt nem tudom, hogy a tobbi IC-nel a funkciora utalo neveket/szamokat miert nem irtak ki csak itt.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 21:26:18
Az EP kapcsolása az ami ilyen RND sorrendben használja fel az egyes IC -k lábait,
vagy maguk az IC -k tervezői nem törekednek egy szép sorrendben történő lábkiosztásra ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 21:38:23
Az EP kapcsolása az ami ilyen RND sorrendben használja fel az egyes IC -k lábait,
vagy maguk az IC -k tervezői nem törekednek egy szép sorrendben történő lábkiosztásra ?

Hat, attol fugg. Egyes esetekben pl memoria az adatbiteket felcserelheted, mert ugye attol, hogy az IC-n belul egy byte "maskeppen" nez ki (jelentsen ez barmit) ha mindig ugyanugy maskeppen akkor tok mind1, ha az adatbuszra mar jol van huzalozva :) Az megint mas kerdes, hogy adott funkciora rendelkezo IC labat nem hasznalhatod masra nyilvan (pl Vcc labat GND-nek hehe), hogy ez miert tunik ossze-visszanak, nem tudom, de gondolom kapcsolatban van anno a "szokasokkal" (igy tortenete van) masreszt pl meg Z80 eseten is volt egy cikk vhol arrol, hogy miert epp ilyen a labkiosztasa nehol "nem logikus" (ez ervenyes lehet kisebb IC-kre is ami nem CPU ...), es ennek oka pl az, hogy az IC-ben levo kis sziliciumszeleten igy optimalis elhelyezni a dolgokat, ebben a kiosztasban ... Vagy vmi hasonlo :)

Ez a cikk marmint Z80 temaban: http://www.righto.com/2014/09/why-z-80s-data-pins-are-scrambled.html (http://www.righto.com/2014/09/why-z-80s-data-pins-are-scrambled.html)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 21:56:14
IC30 -ból miért van kettő ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 21:59:06
A rajzon alul a RESET az az igazi reset ? És hol a kapcsoló ? Mi az a CPU control bus ? Miért megy a reset e lolyan sok helyre ? Annak a z80 -hoz kéne mennie, oszt jónapot ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:12:14
A rajzon alul a RESET az az igazi reset ? És hol a kapcsoló ? Mi az a CPU control bus ? Miért megy a reset e lolyan sok helyre ? Annak a z80 -hoz kéne mennie, oszt jónapot ...

Sok kerdesed van, tessek elemezni :) Ugye egy atlag szamitogepes rendszerben a buszrendszer harom fo reszebol all: az adatbusz = itt mennek az adatok, cimbusz = itt mennek a memoria es/vagy jelen esetben I/O cimek, es a vezerlobusz (control bus) ami a vezerlojeleket hordozza (tehat pl WR, RD, stb). Kapcsolasi rajzokban buszrendszereknel szokasos, hogy buszrendszer (vagy annak resze, pl csak az adatbusz, vagy control bus) egyetlen vonallal van jelolve az egyseruseg kedveert, es hozza 45 fokban csatlakozo modon "valnak le" a konkret jelek. Lasd pl IC25 bemenetenel.

A RESET jel az ugye kb alapallapotba hozatal (az angol re- es set, tehat kb ujrabeallit ...) a celja. CPU-nal a funkcio vilagos, amde mas alkatreszek is igenyelhetik ezt, tulkeppen barmi, aminek adott erteken _kell_ allnia a "system reset" utan (vagy bekapcsolas utan: nyilvan szukseges egy aramkor, hogy a bekapcsolast reset-kent reprezentalja, erre valo a "reset aramkor"). Ha megnezed a rajzon pl az IC30-at, oda megy RESET jel, azert, hogy a kerdeses flip-flopokat allapallapotba hozza, kulonben bekapcsolas utan allapotuk nem definialt vagy reset gomb megnyomasa utan ertekuk maradna az elozo. Egyes elemek (talan a Nick ilyen?) pl nincs is RESET bemenetuk, ilyenkor az van, hogy allapota nem definialt, es "fel kell programozni" pl CPU altal, mert addig semmi nem mondhato el rola, hogy epp hogyan viselkedik, lehet tok random is. Ez a mukodes nem elfogadhato ott, ahol fontos egy adott kezdeti/stabil allapot, amivel indulni kell.

Illetve Nick-nek van RESET nevu laba, szal' nem'tom, de az is lehet, hogy az ott KIMENET, es a Nick maga a "reset aramkor"? Marmint ami bekapcsolasra eloallitja. A reset gomb mondjuk passz, hogy hol van pontosan ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:21:28
Oks, és akkor ez a reset ez már valami "kimeneti" reset a z80 -tól, és az "igazi" reset a kapcsolóval, az meg valami "bemeneti" reset a z80 -nak ?

Vagy pedig továbbra is hol a kapcsoló.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:22:24
IC30 -ból miért van kettő ?

Nem bantasbol mondom, de nem sok kapcsrajzot neztel meg :) Nincs belole ketto. Az egy 74LS74 ami egy dual flip-flop, azaz egy IC amiben ket flip-flop van. Itt eppen ket kulon elemkent mutatja ezt a ket flip-flop-ot, ennyi a trukk :) Ha megnezed a labszamozast, kb ki is kell jonnie, hogy egyik lab sem szerepel mindkettonel pont ezert. Ez kapcsolasi rajzon gyakori, foleg "egyszeru" elemeknel, hogy egy IC ellenere tobb darabban mutatjak funkcio szerint, foleg pl flipflop, muveleti erosito (pont a kerdeses rajzon is van erre pelda, lasd az IC22) vagy logikai kapunal. A szamozas (mindkettonel IC30 van pl) egyertelmuve teszi, hogy ez valojaban egy darab IC.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:24:08
Quote
Vagy pedig továbbra is hol a kapcsoló.

Úgy is kérdezhetném, hogy ha én egy mcu -val reset -elni akarok,

akkor ezt a reset vonalat kell lehúzzam a földre (és az majd viszi a z80 -at meg mindent ami még ide nincs felrajzolva), vagy nemezt ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:24:47
Oks, és akkor ez a reset ez már valami "kimeneti" reset a z80 -tól, és az "igazi" reset a kapcsolóval, az meg valami "bemeneti" reset a z80 -nak ?

Vagy pedig továbbra is hol a kapcsoló.

Z80-nak bemenete reset, szerintem. A nick-rol beszeltem.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:27:06
Quote
Nem bantasbol mondom, de nem sok kapcsrajzot neztel meg :)

Hát még az őskorban ... analógokat ... de már azt is elfelejtettem ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:27:12
Úgy is kérdezhetném, hogy ha én egy mcu -val reset -elni akarok,

akkor ezt a reset vonalat kell lehúzzam a földre (és az majd viszi a z80 -at meg mindent ami még ide nincs felrajzolva), vagy nemezt ?

Erre sajnos nem tudom a valaszt, at kene nezni az egesz EP kapcsrajzat, vagy megkerdezni aki tudja (Zozo?). En nem talaltam a kapcsolot :) Marmint a rajzon. Marmint a reset kapcsolot. Azt, hogy MCU-val reset-et akarsz az EP-n kivaltani azt hogy kell, fugg attol is, hogy az EP-ben a RESET jel valami open collectoros vagy hasonlo izebize, amit "lehuzhatsz foldre" vagy egyaltalan nem ilyen, es azt nem lehet ... Legalabbis nem igy :) Ha meglenne a reset gomb kornyekenek kapcsrajza, abbol talan kiderulne persze, hogy tudsz reset esemenyt produkalni te is :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.23. 22:31:27
A reset gomb a Davebe megy, az állitja elö a nyomkodástol független pillanatnyi resetjelet. Pcn és sok más gépen pl amig nyomod a reset gombot addig resetben van a gép. Ennek következménye, hogy pl megromlik a ram tartalom mert nincs frissités,stb. De azokon a gépeken nincs meleg reset, míg EPn van, ezért fontos a meghatározott csak pillanatnyi resetjel, függetlenül attol,hogy a felhasználó mit nyomkod.

Nick áll, amig reset van, de egyébként, minden adata változatlan, megy utána tovább. Ez valódi gépen úgy látszik, hogy ugrik a kép egy pillanatra.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:31:38
http://enterprise.iko.hu/schematics/EP64-1~~2.jpg (http://enterprise.iko.hu/schematics/EP64-1~~2.jpg)

Na, megtalaltam :) Lasd a Dave-nel. Ezek szerint a Reset-et a Dave generalja? Es az adja "tovabb". Ha jol latom a reset gomb egyszeruen nullara huzza le a Dave RSTI bementet.

UPDATE: latom kozben Zozo is megszakertette a kerdest :) Bar ez tenyleg lathato, ha az ember megkeresi kapcsrajzon, csak epp nem talaltam elosre sehol, vaksi szemeimmel :(
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:36:06
Tökkjó, ha ti már értitek,

de akkó reszetelni hol (milyen ponton) és hogy (miféle jellel, fel/le, hogy időzítsem az mcu -val, stb.) köll ? :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:38:00
A reset gomb a Davebe megy, az állitja elö a nyomkodástol független pillanatnyi resetjelet. Pcn és sok más gépen pl amig nyomod a reset gombot addig resetben van a gép. Ennek következménye, hogy pl megromlik a ram tartalom mert nincs frissités,stb. De azokon a gépeken nincs meleg reset, míg EPn van, ezért fontos a meghatározott csak pillanatnyi resetjel, függetlenül attol,hogy a felhasználó mit nyomkod.

Ezen filoztam minap. Jo ez a melegreset, de elveszik a regiszterek tartalma azert :) Ez nem tunik nagy ervagasnak, de egyes esetekben jol jonne. Mert ugye hiaba allitod be warm reset cimet, az eredeti PC-t ahol volt a reset nem tudhatod ... Ekkor jutott eszembe, hogy nem lett vona logikusabb, ha reset az cold reset csak, es a hasonlo warm reset-re NMI-t hasznalnak? Mert az ugye kevesbe letilthato (bar oszinten Z80 NMI kapcsan kevesbe vagyok kompetens ...), tehat az is jo lenne, es akkor tobb info maradna meg az aktualis allapotrol CPU register szinten is (igy nem csak a memoriatartalom orzodne meg). Ok, ennek sok gyakorlati haszna nem lenne sok, max pl vmi debug/monitor program cool lenne, hogy "nmi gomb" megnyom, es nezheted hol tartott a program pontosan :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:39:09
Mi a retek az a sok Uxx ? Mér "U" ? Úbazzeg sosejösszrámér U ? :twisted:
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:40:28
Tökkjó, ha ti már értitek,

de akkó reszetelni hol (milyen ponton) és hogy (miféle jellel, fel/le, hogy időzítsem az mcu -val, stb.) köll ? :)

Tippelek, Dave RSTI bemenetet lehuzod a foldre, amugy meg hagyod lebegni (pl input-ra allitva egyeb esetben). Zozo szerint (es ez a logikus) kevesbe szamit mennyi ideig "tartod" akkor sem marad reset-ben ahogy PC-n, itt max az a kerdes, hogy mennyi a _minimalis_ ertek amirol Dave eszreveszi: mert ugye emberi kez nem fog reset gombbal mikroszekundum nagysagrendu lenyomast produkalni, MCU  viszont boven tudna, de lehet azt a Dave meg nem veszi eszre.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:44:46
Quote
Tippelek, Dave RSTI bemenetet lehuzod a foldre,

Na az is egy külön művészet lesz, hogy azt a 22 -es lábat megtaláljam a nyákon ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.23. 22:47:21
Na az is egy külön művészet lesz, hogy azt a 22 -es lábat megtaláljam a nyákon ...

Hasznald a reset gomb-ot akkor :) Onnan is elviheted. Bar lehet akkor hosszabb drot, ganyolas ... Esetleg meg a szinten oda csatlakozo felhuzo ellenallas segit. Illetve akar annak labahoz is forraszthatod, csak vigyazz, hogy a jo felere .. Mert a +5v-ot kozvetlenul nullara huzni az ciki :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:50:45
Azon gondolkodok, hogy egy esetleges végső beszerelésnél az AVR lapot a panel alá tenni elég cinkes lenne (bár lehet hogy nem lenne 100% lehetetlen),

ami csak azért volna jó, mert alulra könnyen lehetne drótokat forrasztani, és nem kéne 16 de akár 19 drótot felhozni, hogy az EP -re a panel alatt legyenek beforrasztva a drótok, de az AVR panel meg felül lehessen.

Szóval az AVR panelt felülre kéne tenni, ott lenne kényelmesen hely neki, de akkor fel kell hozni hozzá alulról a drótokat.

Vagy pedig már a drótokat is felülre kéne forrasztani, de az nehezebb, hogy az ember ráforrassza a drótokat az IC -kre felülről úgy, hogy a lábakat véletlenül ne ónozza egymáshoz ...

Most ezen molyolok ... hogy hogyan kéne a drótokat elkezdeni ráforrasztani felülről az EP alaplapra, hogy ne csináljak több kárt, mint hasznot ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.23. 22:55:50
Valami olyasmi kéne, hogy kiszedni az IC -ket, amire forrasztani akarok (már "lehetetlen" ...),

aztán beforrasztani egy foglalatot nekik, foglalat lábaiba beledugdosni a kábeleket, ahova kell,

és aztán visszadugni az eredeti IC -t bele ...

Így szép szabályosan lennének a drótok, meg minden ... marhaság ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.24. 18:09:24
Ha nincs öszekötve a föld az EP -n és az AVR lapon (nyilván a hálózaton keresztül vannak összetestelve ilyenkor),

az baj tud lenni ?

Tud ettől mindenféle zaj lenni a vonalakon ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.24. 19:30:47
Jeeeeeeeeeeeeeee! :)

Istenkirálycsászáratomállathardverhekkermegaguru lettem ! :)

Ha nyomkodom az 'A' betűt a PS/2 billentyűzeten, akkor a BASIC képernyőn írja az 'A' betűket ...

Köszönöm Zozosoft -nak, lgb -nek, mindenkinek aki segített, apukámnak, anyukámnak, az emberiségnek ... és ... és világbéke ! :)
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.24. 20:19:20
Mint gyerek a cukorkaboltban :) Amugy irigyellek, nekem lennenek otleteim, talan tudasom is hozza, csak idom nincs nagyon, ha meg lenne, akkor a lustasag, mar ami a hw-t illeti :( Bar, most hogy uj lakasba koltoztunk es van kulon "dolgozoszobam" mar nem igazan tudok kifogasokat keresni, nekiallhatnak en is az igazi EP elemenynek, mivel jelenleg mukodkepes EP-m se nagyon van, hiaba van elvileg 2db amugy ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.24. 21:37:22
Na, már gépelek ...

Még a shift meg a nyilak (és pár extra gomb) nem működnek, mert azok multi-byte kódot adnak vissza,

és arra még nem vagyok berendezkedve, de hamarosan majd azok is ...

És még csak akkor működik, mikor folyamatosan van b5 port írás is, mert a port írás nélküli frissítést még nem végzi rendesen,
oda is ki kell még találni valami jó szinkronizációs megoldást, hogy ne akadjon a megszakból frissítéssel, de ne is lassítsa be azt ...

Meg hát optimalizáció, meg hát testreszabás is ... van még meló rendesen ... de gépelni már lehet ... :)
Title: Re: HW készítés Arduino-val
Post by: Ep128 on 2014.October.24. 23:45:23
Most már egy képet is betehetnél a "config -ról" igazán... :-D
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 11:13:46
Hát a minap tettem fel egyet, nincs látványra különösebb különbség:
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 22:20:14
Van ugye még mit csinálni,

de szívesen csinálnám a látványos dolgokat minnél előbb,

tehát pld. az egér támogatást, hogy menjen az is már az elejétől, előjöjjön ha van hiba, stb.

De ahhoz kéne custom mouse.xr.

Ami (mondjuk) azt csinálná, hogy a 10 -es b5 értéknél a b5 -ről visszaolvasható lenne az X egérkoordináta egészben 8 biten,
(ezt akár megteheti a mouse.xr akárhányszor, ha akarja, de nyilván csak egyszer fogja akarni),
aztán beolvashatja a 11 -es b5 értéknél az Y egérkoordinátát,
de azt csak egyszer, mert a 11 -es érték b5 portra írása átváltja a mikrokontrollert a következő egér üzenetre,
és a következő 10->b5 beolvasás már az új egér X koordinátát olvasná be.

Valaki aki esetleg hekkel egy ilyen mouse.xr -t ? :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 22:44:46
Vagy ízé ... lehet hogy pont fordítva kéne ... :)

Tehát az 10 -es érték váltaná az egeret, aztán lehetne beolvasni az X koordinátát akárhányszor,
aztán a 11 -re az Y koordinátát akárhányszor,
és mikor újra kiírnák a 10 -et, akkor már az új (következő) X -et lehetne visszaolvasni (akárhányszor) ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 22:46:01
Vagy ahogy csak tetszik, csak legyen ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 23:25:43
Hogy hívják angolul a felsővesszőt ? Sehol nem találom ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.25. 23:41:26
Hogy hívják angolul a felsővesszőt ? Sehol nem találom ...

Magyarul sem tudom mi az a felsovesszo ... Az aposztrofra gondolsz? Az angolul apostrophe szerintem, de a "felso vesszo" kifejezest meg eletemben nem hallottam, csak probalom kitalalni mire gondolhatsz.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.25. 23:44:36
Az angol összevonásjelre ...

az apostrophe az gondolom ez: "

Én meg erre gondolok: '
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 00:30:18
Zozo, említetted hogy bizonyos játékoknál tigrian keyboard illesztője lassú válaszidejűvé tette a kontrollt ... emlékszel még mely játék(ok) volt(ak) ez(ek) ?

Sir Fred -del próbáltam, mert gondolom annak finom kontroll kell, és hirtelen nem tudom eldönteni, hogy jó -e.
Nem tudom, hogy ott ahol úgy tűnik hogy béna valami, ott tényleg béna az illesztő, a játék béna, vagy én vagyok béna ...

Össze kéne hasonlítsam összerakott gépes, belső joy -os Sir Fred -del ...

Szóval mivel kéne tesztelni sebességet szerinted ? Milyen játékkal ?
Title: Re: HW készítés Arduino-val
Post by: Ep128 on 2014.October.26. 00:39:24
Hát a minap tettem fel egyet, nincs látványra különösebb különbség:
Na, ne szerénykedj, azért ez így már nagyon szép összképet mutat! :-) Köszi!
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 00:41:54
Quote
azért ez így már nagyon szép összképet mutat!

Hiányzik mellőle az egér ... szép fekete logitech majsz ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 00:44:04
Közben kifejlesztettem (:)) a nyilakat, egyéb bizgentyűket ...

Most a stop/pause/reset anomália kifejlesztésén agyalok ...
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.26. 00:49:18
Az angol összevonásjelre ...

Igen, az az aposztrof!

Quote
az apostrophe az gondolom ez: "

Nem, ez az idezojel kerlek :) Quotation mark, szerintem, angolul.

Quote
Én meg erre gondolok: '

Akkor ezek szerint az aposztrof megis :)

Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 00:54:13
Quote
Akkor ezek szerint az aposztrof megis :)

Tanx ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 02:01:25
A pause,stop,reset anomália feloldhatatlan ... :)

Csak rossz megoldások vannak.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 02:01:46
Érdekes, hogy még ugye nincs megírva a b5 port állandó frissítése,
csak akkor frissül, ha írják is a b5 -öt ... mégis minden működni tűnik ...

úgy látszik a programok szorgalmasan írják a b5 -t minden (vagy csaknem minden :)) b5 olvasás előtt ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 10:47:52
A tápot meg lehet ismerni valahogy az EP nyákon ?

A földet ugye meg lehet, mert az olyan vastagabb drót ... tápnak nincs ilyen ismertetőjele ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 10:56:51
Egy helyen a billentyű IC -k környékén 12.02 V -ot mérek ...

Amennyire én tudom eleve 9V -os a tápunk ...

Valaminek kell 12V és FELFELE viszik a feszkót ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:11:07
Valaminek kell 12V és FELFELE viszik a feszkót ?
Te se szoktad sűrűn olvasni a hw topicokat :-)
PAL videó IC-knek kell (plus a SCART csatlakozóhoz). És az egyik leggyakoribb alaplap hiba, hogy a 12V nincs meg, amiról szerintem legalább már vagy 100 hozzászólást értekeztünk :oops:
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:13:04
A tápot meg lehet ismerni valahogy az EP nyákon ?

A földet ugye meg lehet, mert az olyan vastagabb drót ... tápnak nincs ilyen ismertetőjele ?
Ha a +5V-ot keresed, akkor az ott van minden 74... IC jobb felső sarkán (azaz az utolsó lábán).
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:15:36
Ha nincs öszekötve a föld az EP -n és az AVR lapon (nyilván a hálózaton keresztül vannak összetestelve ilyenkor),

az baj tud lenni ?

Tud ettől mindenféle zaj lenni a vonalakon ?
Tud, a lehető legrövidebb úton legyen összekötve. Az alaplapon is ezért vannak plusz összekötések, pl a felső RAM panel sarkára a plusz drót.
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:17:47
Én meg erre gondolok: '
És ez a 39-es vagy a 96-os karakter? :oops:
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:26:07
Szóval mivel kéne tesztelni sebességet szerinted ?
Próbáld pl a FAFO menűjét (bár ezt lehet, hogy módosítottam a Tigrian cucchoz? vagy csak akartam? :oops: )
Bigdemonak az a része ahol mindenféle színuszban rohangálnak a pöttyök, és egy csomó paramétert lehet állítgatni.
Ezek szinte teljesen kezelhetetlenek voltak, nem lehetett egy értéknyit pöccinteni.

Játékra pl a Bumpy jut eszembe, hiába volt benne a kezembe a ritmus, PC-s billentyűvel nem úgy ment, ahogy kellett volna, folyton meghaltam.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 11:30:03
A FAFO -t azt ilyen néven találom az EP image -dzsen ?
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.October.26. 11:38:05
A FAFO -t azt ilyen néven találom az EP image -dzsen ?
Alapvetően Zozotools :-) De múltkor már készült belőle betölthető külön .COM verzió.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 12:14:50
Bekötöttem a reszetet ugyanazzal a módszerrel mint a billentyűzetet.

Vagyis ha reszet van, akkor a lebegő bemenetről átváltok alacsony kimenetre. Ott tartom egy másodpercig.

De nem húzza le a reszetet ... mutatja a műszer, marad magason.

Közvetlenül a reszet kapcsolóra kötöttem be. Arra a lábára, amiről elmegy egy drót a panel alján. Mit csinálok rosszul ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 12:26:56
Olyan, mintha csak egy fizikai kapcsoló lenne képes lehúzni a reszetet,

egy logikai alacsony kimenet az nem ... létezik ez ? Kellene valahova valamilyen ellenállás ? Vagy lehet hogy EP oldali átalakítás nélkül csak kapcsolóval, vagy valami erősítőelemmel (tranyó vagy mittomén) lehet ezt megoldani ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 13:12:09
Na bumm ... ezzel a reszettel megállt a tudomány ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 13:15:02
Az lehet a különbség, hogy a billentyű vonalak azok 10K ellenállásokat használnak, a reszet pedig 1K -s ellenállást ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 14:57:01
Kipróbáltam 2 tranyóval is, direktbe kötve, ellenállások nélkül:

2N3904
BC182

Az első direkt kapcsoló tranyó, a második meg normál erőlködő,
semmi eredmény ...

Szóval valami okos mondja meg mér nem lehet a reszetet ugyanúgy lehúzni, mint a billentyűzetet,
mert NEM MEGY a büdös reszet.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 16:44:54
A FAFO -t nem tudtam kipróbálni (valszeg nem műxik rendesen floppy nélkül),
de a BIGDEMO színuszának menüjén látszik a hiba szépen,
nekem sokszor nemhogy 1, de 2 lépés sem sikerül, csak 3 vagy annál is több.

Elképzelhető hogy sebesség dolog, de az is simán, hogy itt van olyan végre, hogy nem írják a b5 -öt minden olvasás előtt,
így az én implementációm nem is működhet jól, mert jelenleg csak b5 íráskor frissítek ... meglátjuk, tesztnek tökéletes a program,
megnézem majd mi a baj, ill. lehet -e rajta segíteni, hogy a PC billtyű ilyen értelemben is 100 -as legyen ...

A reszet az jobban zavar ... kényelmetlen a hátsó reszet, ha már van PC billtyű.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 16:55:44
Batman meg Sorcery az tök jól megy PC billtyűvel is ... sőt ... megkockáztatom, hogy eddig PC billtyűvel a legjobb, legfinomabb, legkényelmesebb. :)
(Persze a sega control pad valszeg űberelni fogja.)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 17:23:02
Reszet: szerezzek egy relét ? Olyasmire gondolok, mint a remote relék a magnónál ... kapcsolgassam egy relével ?
Title: Re: HW készítés Arduino-val
Post by: lgb on 2014.October.26. 18:20:52
Olyan, mintha csak egy fizikai kapcsoló lenne képes lehúzni a reszetet,

egy logikai alacsony kimenet az nem ... létezik ez ? Kellene valahova valamilyen ellenállás ? Vagy lehet hogy EP oldali átalakítás nélkül csak kapcsolóval, vagy valami erősítőelemmel (tranyó vagy mittomén) lehet ezt megoldani ?

Fura. A reset gomb jo oldalara kototted be? :)  Mert ugye ha a gomb amugy is GND-s labara tetted, akkor sok ertelme nem lesz (bar akkor viszont alapbol is 0V-ot mernel ott). Probald szimulalni, tudomisen, pl ne kosd be sehova az MCU megfelelo labat (az EP-n marmint), csak kosd 1Kohm-os (vagy amennyi az EP-ben is van) ellenallasan at a +5V-ra, aztan nezd meg, hogy ugy le tudja-e huzni. Ha ugy sem, akkor nem az EP-ben van a gixer.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.October.26. 18:30:13
Quote
A reset gomb jo oldalara kototted be?

Persze, ott mérem rajta a +5V -ot, aztán ha reszetet nyomok, akkor az onnan eltűnik,
de ha mcu -val húzom le, akkor megmarad.

Ha nincs az EP -re kötve az mcu láb, akkor meg lemegy alacsonyba.

Quote
csak kosd 1Kohm-os (vagy amennyi az EP-ben is van) ellenallasan at a +5V-ra, aztan nezd meg, hogy ugy le tudja-e huzni

Kipróbálom, de ennek így kell lennie, hiszen ez a helyzet az EP esetben is ...

Kellene valami kapcsolótranyó, amit meg lehet vezérelni 5V -al, és rövidzárközelbe megy át ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 01:28:23
Na, végre volt egy kis időm fejleszteni a billtyűt ...

Meglett a reszet gond, természetesen én rontottam el, simán lehúzza az mcu a reszetet is ... az volt a durva, hogy utána még ki is mértem magamnak, hogy jó amit csinálok, csak nem húzza le ... :oops:



Átalakítottam kicsit flexibilisebbre a kódot, hogy be lehessen hekkelni EPs és PCs kombinációkat is (persze a PCs az nem konfigurálható jelenleg), hogy lehessen olyan dolgokat megcsinálni mint az X PCs billentyűzetkombóra kiadott Y EPs billentyűzetkombó. És persze ezek ne akadjanak össze, minden értelemszerűen működjön.

Ennek eredménye képpen működik a home/end és page up/dn, vagy amit csak akarok.

Csináltam magamnak külön "nagyon hideg reszet" gombot is a hagyományos reszet mellé, ami abból áll, hogy a PC billtyűn ugyanúgy egy billentyűt nyomok, mint a síma reszetnél, de annál a gombnál EP -n nem csak reszetet nyom, hanem C billentyűt is nyom párhuzamosan ...



Most hogy ettől a reszet bénázástól végre megszabadultam, következő lépés az a frissülés lesz, hogy ne csak kérelemre frissítse a B5 -t ... ettől azt várom, hogy megjavulnak olyan szituációk (pld. a bam bigdemo színusz part menü), amelyikekről Zozo azt hiszi, hogy valójában a PC billentyűzet sebessége miatt vannak, valójában meg csak tigrian sem implementálta a kérés nélküli frissülést, és kész ...

Ott ahol van folyamatos kérelem, olyan reszponzív és szuper a PC billentyűvel a kontroll (játékoknál) mint semmi más, se internal joy, se EP billtyű ... sztm. ilyen "sebesség probléma" nem is létezik ... legalábbis remélem ... :)



Ha pedig meglesz a kérelem nélküli frissülés, akkor jöhet végre az egér ... csak ott még mindíg nincs infó a mouse.xr -ről ... a végén még magamnak kell megcsinálnom ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 04:05:17
Megcsináltam egy legegyszerűbb frissítést (4 asm utasítás van egy cli/sei pár között), és valóban van valami sebességprobléma is ... :(

Tehát elvben javult,
pld. mikor a bamsoft bigdemo legelső részében a nagy zöld vízköpő van a képen,
akkor frissítés nélkül, ha nem nyomod még a loop előtt le az ESC -et, hogy a az első beolvasáskor már lenyomott ESC -et olvasson,
akkor nem lép ki abból a ciklusból, és nem tudsz továbbmenni a demóban egyáltalán.

A frissítéssel tovább lehet menni rendesen.

Viszont a színusz rész menüjében a frissítéstől függetlenül képtelen vagyok rendesen csak 1 lépést arrébb menni, legyen szó navigálásról vagy érték állításról ...
Mondjuk nagyon nem aggódok, mert emlékszem hogy ez egy baromi szélsőség volt, mert én még a beépített joy -jal is alig tudtam egyesével léptetni ... majd még 1X kipróbálom hogy a beépített funkcióbillentyűkkel tudok -e 1 -es léptetést elérni az értékeken ... nekem PC billentyűzeten ha nagyon figyelek, hogy gyorsan csináljam, akkor stabil 2 lépés a norma ... egyet még sosem sikerült, ha nem figyelek, akkor meg 3-5 -öt is lép ...

De sztm. normál esetekben (játékok) ez nem jelent problémát ... ezt a menüt szerintem simán csak eltolták bamék és kész ...

Persze attól még nem tökéletes a billtyű, az igaz ...

Mondjuk arra azért kíváncsi lennék, hogy maga a billtyű a lusta, és nem adja elég gyorsan oda a szószt,
vagy az mcu/program -nak szűk a keresztmetszete ahhoz, hogy ne menjen ez a menü stabilan ...

Milyen jó hogy csináltak ilyen béna menüket is annó ... így lehet rajtuk tesztelni ilyet ... :)
Title: Re: HW készítés Arduino-val
Post by: Zozosoft on 2014.November.15. 09:28:49
Izgalmasan hangzik!
Ha jól sejtem az a minimális idő ami alatt elküldi a billentyűzet a lenyomva/felengedve kódot, több mint amennyi az 1 pöccintéshez kéne.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 13:08:08

Quote
Ha jól sejtem az a minimális idő ami alatt elküldi a billentyűzet a lenyomva/felengedve kódot, több mint amennyi az 1 pöccintéshez kéne.

Hát meg van még egy elég kézenfekvőnek tőnő lehetőség is ...

Lehet hogy más a kapcsolási útja a PC billentyűnek, mint az EP beépített billentyűnek. Lehet hogy meg van oldva, hogy a billentyűk mozgási útjának bizonyos SZAKASZÁN kapcsolva tartja a gombot (fóliát, mert persze nincs kapcsolós billtyűm még), míg az EP -nél tudjuk hogy egy iszonyat kis pozícióváltozás is rögtön billtyű le/fel kapcsolást eredményez, mert direkt a kapcsolat a mechnaikai mozgás és a fólia között.

És azt a szakaszt fizikailag nem tudod megfelelő gyorsan mindkét irányban teljesíteni, mert nem elég gyors a kezed és a billtyű visszatérítés rugója ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 13:36:58
Hát ha az előző kérdésre nem is derül fény (hogy mechanikai vagy elektronikai lassúságról van -e szó), de az biztos hogy billentyűzet kérdés a dolog,
mert kipróbáltam másik három billentyűzettel, és mindhárommal tudtam 1 -esével lépni a színusz rész menüjében ... :)

És a három közül amikkel tudok, kettőt USB->PS/2 konverterrel kell használni, csak a harmadik eredetileg is PS/2 -s.

Kár hogy az a billentyű, amit használni fogok, azzal pont nem lehet ... akárhogy is próbálom ...

Persze a másik háromnál is extrém nehéz ... szinte így pöckölni kell a billentyűket, de azokkal megfelelő koncentráció és (kéz)sebesség esetén stabilan működik.

Mondjuk mint mondtam én emlékszem, hogy nekem a rendes beépített EP joy -jal is küzdős volt ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 13:52:08
A billentyűt akkor tehát (még megmatricázok pár gombot egy billtyűn :)) ilyen 0.1 -es verzióban és 4 MHz -es géphez késznek tekinthetjük, kellemesen használható.

Akkor hát legközelebbi lépés az egerentyű lesz ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 14:23:31
Zozo, ha neked kéne belehekkeld a mouse.xr -be hogy menjen egy másik mouse hw -val, akkor miből tartanád célszerűnek a kiindulást ?

Fogjak egy mouse.xr -t és hekkeljek bele hexában ? Vagy az a dissassembly amit egyszer valaki felrakott a mouse.xr -ről, az fordítható vissza bináris mouse.xr -nek ?

Vagy nincs lövésed se ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 17:53:51
Hát ... olyan billentyűzet matricát adtak el, amin nincs csillag a jelek között ... szorzásjel ... mindíg kell legyen valami meglepi ... most így két kukacom lesz ... :)

Mondjuk nem lett szép, de legalább marha ronda lett és eszetlen sokáig tartott ... kitalálhatnának már ezekhez is valami szerszámot ... na de mindegy, most jó lesz, aztán idővel úgyis szerzek valami standard cherry mx -es cuccot, amikre meg lehet rendelni olyan billentyű festéseket, amilyeneket csak akarsz ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 18:26:36
Hmmm ... rájöttem, hogy lehet hogy a rosszándékúak kihagyták a csillagot a készletből, viszont én nagyon okosan több készletet is rendeltem mindjárt ... a többit a fantáziátokra bízom ... :)

(Mellesleg megmagyarázom a megboldogult F9-F12 gombok jelentését is ... :))
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 19:09:40
Fúúúú ... itt van egy még az előzőnél is advancedebb verzió ...

Most még az okoz nagy fejtörést hogy vajon a reszeteket is lecseréljem "(R)eset" és "(C)old reset" betűkre, vagy azokat hagyjam így jeleknek ... :)

(Azt hiszem jelek maradnak, az jól elkülöníti a reszet gombokat a másik két igazából is létező gombtól ...)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 20:32:36
Na ... még tovább fokoztam az evszámmnesszt ...

Meghekkeltem, hogy CTRL+ALT+DEL is reszeteljen, és a CTRL+ALT+INS pedig szuper hidegreszeteljen ... a meglévő egygombos megoldások mellé ...

Fénysebességgel fejlődnek a dolgok ... :)
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.November.15. 21:10:11
Appám, milyen veszett jó lesz majd egy tenkeyless cherry mx gombos EP billentyűzet ... :)

Még azon is lesz jópár billentyű, amire lehet speciális jelentéseket rakni (kombinálás nélkül is),
a numpad teljesen felesleges ... még csak be sem konfiguráltam magamnak, nem használom semmire ... (nem mintha PC -n használnám :)) ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2014.December.15. 14:16:57
http://prog.hu/hirek/3768/Megerkezett+a+RED+Brick+a+belyegnyi+meretu+Raspberry+Pi-szeru+minigep.html
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 01:30:25
Continued from here (sorry hungarian guys, I did not want to begin a new topic):

https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg48693/#msg48693


Quote
I think is better to modify your Arduino keyboard project to  assign the auxiliary keyboard keys on a game, to a button on a joystick. Almost every game have an internal joystick mode. Space is Fire1, but as you say, some programs or games need more buttons that are assigned to a key.

Hmmm ... now you made me thinking ...

It seems a very clever idea from this point of perspective ... the perspective of the EP softwares ...

But there are other viewpoints ...

- I am lazy and I do not like to hack hardwares ...

- When I see soldering iron, I usually begin to cry ...

- And the outlet problem:

Manipulating the keyboard matrix require a minimum of 15 wires (with power+ground+reset) on the motherboard of the EP.

I think of normal EPs with original cases.

So I have to take out 15 wires from the EP, if I want to place the arduino outside of the EP, connecting the keyboard and/or joysticks to it.

With a PS/2 keyboard, that is possible to place the arduino inside the EP, and taking out as few as 4 wires from the EP (or 6 wires, if I would like to be able to refresh the sw in the arduino without assembling the EP, cause I begin to cry from screwdrivers, too :)).

In this case, the joy or controller wires would be an additional 6-9 (or even more, up to 15*2, depending on the pinout and protocol of the joy) wires to take out from the EP ... I would not like that too much ...

And the configuration would be the next problem ... How you mention too, in this way we cannot avoid being able to configure the mapping from the joy directions to keys ... I would have to solve this configuration (don't forget, arduino is inside the EP) from the EP to arduino ...

(Formerly I thought about these things, I could be able to read the keyboard states into arduino (switching the connected arduino lines to input), and in this way the configuration could be possible. Pressing a key on the EP internal keyboard, and after that pressing a connected joystick button, the arduino would be able to set up the mapping between those.)

But this would not be easy, too.


And still ... this is a very interesting idea, you mentioned.


Maybe that would be the nicest (and most involved ... :)) solution,

I would left the keyboard handler arduino inside the EP,
I would take out only 6 wires from the EP,
I would extend the software of the inside arduino with the above configuration feature,

and

I would use an external arduino, as well,
and that arduino would convert the different joy and controller inputs to PS/2 keyboard outputs ... :)

In this case I would connect my joys/controllers like PS/2 keyboards to the EP.
Probably it would not be so important connecting a PS/2 keyboard AND a PS/2 joy/controller together to the EP. And it would not be possible ...

But the joys/controllers would work as keyboards ... and the softwares would be compatible with those ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 01:44:29
And still ... somehow it seems too unnatural and forced and involved solution to me ...

There would be 2 latency on the PS/2 protocol ... I mean not only one PS/2 protocol latency, but two ...

And the native joystick input lines would be avoided ...

I understand that from the perspective of the EP softwares it would be good ... but yet, I do not like it somehow ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 02:03:25
Now, I begin to understand the importance of the PS/2 (like serial, minimal wire number) connectors ...

We can use them to different devices, with a software protocol change ... instead of an always different wire numbered and physically designed one ...
Title: Re: HW készítés Arduino-val
Post by: gflorez on 2015.August.21. 09:29:05
Your requirements are that:

You want to play the keys of an already made game or program on the buttons of your joystick.
But at the same time you want to adapt a "strange" joystick to the Enterprise.

I think you have almost achieved the first requirement, you only have to find the way of assign the keys.

But for the second one you must create a new connector, the same as the strange one. The Arduino is flexible, and fast too. If you have spare pins you can have your ps2 keyboard project and the joystick project inside the same Arduino chip.

Don't intent at first to emulate all joysticks. Begin with the easiest.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 15:22:36
Mit gondoltok, van szerintetek olyan jaték, amelyiket nem lehet billentyűzetről játszani egyáltalán ?

És a billentyűzet alatt értem most (technikai okokból) a belső joy -t is ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 15:59:52
Képzeljétek csak el milyen jó volna pld. az earthlight egy sega kontrollerrel ...

Az ugye 6 iranyban tud mozogni (3D) + a loves ... ez pont ráférne még egy 3 gombos sega kontrollerre is ...
Title: Re: HW készítés Arduino-val
Post by: geco on 2015.August.21. 18:02:11
Mit gondoltok, van szerintetek olyan jaték, amelyiket nem lehet billentyűzetről játszani egyáltalán ?

És a billentyűzet alatt értem most (technikai okokból) a belső joy -t is ...
Én még nem találkoztam olyannal, igaz én a kontrollereket se szerettem, túl sok rajtuk a gomb :D, Quick Shotokon nőttem fel :D
Title: Re: HW készítés Arduino-val
Post by: gflorez on 2015.August.21. 18:08:17
I'm only saying that is better to search for a lower goal in order to take impulse for connecting more complex controlers.

Your project is a great one if you find the way to replicate the  keyboard contacts on the expansion port. Then the project  will be easily copied by other users. The trick to share  those complex things is to make them easy for others. Then the information spreads itself.

Every game has at least one more key than fire-space, say Enter for confirm, "P" for pause, 1 or 2 for number of players, etc. But some games have other necessary actions(pick object, bomb...) assigned to keys as the Enterprise only have one fire button for games on every controller.  It will be great to have them as buttons near the stick.

But that doesn't make the game better
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 18:32:44
Quote
I'm only saying that is better to search for a lower goal in order to take impulse for connecting more complex controlers.

I did not understand this one ...

Quote
Your project is a great one if you find the way to replicate the  keyboard contacts on the expansion port.

As far as I know, unfortunately there is no way to manipulate the "keyboard matrix" from the expansion port.

If there would be a way form the expansion port, that would be great, and I think my keyboard thing would work on that way, already ... :)

That would be a whole different perspective ...

Quote
Then the project  will be easily copied by other users. The trick to share  those complex things is to make them easy for others. Then the information spreads itself.

I could share the codes and I could point at an appropriate MCU "board" (just found chineese replicas of the arduino micro on e-bay at about 10$ + free shipping, I am courious, will those work or not),
but these are not enough ...

One has to dissassemble the enterprise, soldering many wires, and upload the software to the MCU before that.
So it is not an easy way.
If the expansion thing would work at least, that would be a different case ...
Title: Re: HW készítés Arduino-val
Post by: gflorez on 2015.August.21. 23:09:01
I am only saying that better try make your project work with a simple joystick(four directions+three or four buttons). Then if it works try a more complex one.


The chinesse Arduinos work, I already used one of that clones on the Msx to ps2 mouse interface.

They only have a different driver(also chinesse), but  after instaling you can program with the official Arduino software.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 23:31:42
Quote
The chinesse Arduinos work,

It is cool to hear, because I ordered a few ...

But that is not too cool, the original arduino shop have only a few model, all of the other models are "out of stock" ...

Maybe it is not a random thing ...

Quote
They only have a different driver(also chinesse), but  after instaling you can program with the official Arduino software.

I do not use arduino's software (but I use softwares what are used by arduino's softwares :)),
so probably that will be a pain to me, if they changed the bootloader, or such ...
Title: Re: HW készítés Arduino-val
Post by: gflorez on 2015.August.21. 23:48:59
I think the different driver is because the copyright of the Serial to Usb chip the original Arduino use.  The Arduino is an open project but uses a third party chip for that. Then the Chinese use a cheaper one to overcome the copyright.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.August.21. 23:57:16
I used formerly arduino micro which is based on ATmega32U4, which has the whole usb thing inside (as far as I know),

but that is true as well, I ordered now arduino nano (clone) boards too,

because they were unbelievable cheap, and (for example for these joystick things) they can be enough.

Arduino nanos have ATmega328, and probably those features the USB chips you mentioned ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.October.19. 20:15:06
http://prog.hu/hirek/4068/itt-a-genuino-101-az-elso-intel-alapu-arduino-miniszamitogep

Quote
Flash memóriából 196KB, SRAM-ból pedig 24 KB található rajta.

Operációs rendszeréként a ViperOS RTOS funkcionál, aminek köszönhetően valós-idejű vezérlést igénylő feladatokra is fel lehet használni.
Title: Re: HW készítés Arduino-val
Post by: lgb on 2015.October.20. 08:34:56
http://prog.hu/hirek/4068/itt-a-genuino-101-az-elso-intel-alapu-arduino-miniszamitogep

Hat nem tudom, nekem ez a kb semmire sem jo kategoria. Tenyleg par K RAM es flash, arra jo egy olcsobb MCU. Ha meg "komoly" gep kell, akkor meg ott a Raspberry ami arban kb uez, de mondjuk 1Gbyte RAM, es altalanos celu (Linux) OS is fut rajta. Szoval nem tudom hova pozicionalni a dolgot ... Elonye max az lehet, ha vki assembly-ben akarja nyomni mindenaron, de ARM-ot nem akar tanulni (Raspberry Pi, igaz ott C is boven eleg ehhez imho), es az x86 asm jon be neki. Vagy en nem ertem mire jo ez? :) Az mondjuk teny, hogy vannak rajta plussz cuccok (erzekelok) meg BT, ahogy irja is a cikk. Haaat, nem tudom.
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2015.October.21. 19:39:55
http://prog.hu/hirek/4071/intel-alapu-klont-kap-hamarosan-a-raspberry-pi-is
Title: Re: HW készítés Arduino-val
Post by: lgb on 2015.October.22. 07:50:07
http://prog.hu/hirek/4071/intel-alapu-klont-kap-hamarosan-a-raspberry-pi-is

Na ennek mar tobb ertelme van, mint az intel "arduinonak" ... Tobb, de nem eleg, ara tobbszorese egy hasonlo rasp pi-nek. Ok, ha valaki teljes erteku win-t akar futtatni rajta, legyen, de akkor maris nem uaz a kategoria, es felhasznalasi terulet azert ...
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2016.February.27. 13:36:55
Érti azt valaki, hogy ennek a topiknak az értelmében:

https://enterpriseforever.com/hardware/keyboard-fixer

kell -e módosítsak én is a billentyűzet vezérlőmön ?


Konkrétan olyasvalamire gondolnék, hogy kell -e nekem is diódákat rakosgassak akár a bementi akár a kimeneti vonalakra ? Vagy ez csak a fizikai billentyűzetnél létező jelenség ?
Title: Re: HW készítés Arduino-val
Post by: Z80System on 2016.April.08. 19:17:42
https://store.arduino.cc/product/GBX00004

http://www.arduino.cc/en/Main/ArduinoMKR1000