15.12.2012, 14:54 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2012, 15:18 von alibenpeng.)
Hallo Forum,
nach langer Suche, die immer nur halb funktionierende Ergebnisse brachte, habe ich jetzt die Arbeit von Guenter Bartsch [1] und dem V-USB-Projekt [2] kombiniert, und einen USB-HID-Receiver [3] gebaut, mit dem man das Keyboard [4] ohne weitere Treiber als (fast) normales HID-Keyboard benutzen kann.
Der Code läuft mindestens auf ATMega8 (also z.B. dem USBASP [5]) und der ATMega*8-Familie (Arduino und Verwandte), mit 12 oder 16MHz. Außerdem braucht man nur noch einen IR-Empfänger mit 56kHz [6], Schaltplan und nähere Beschreibung gibts hier [7].
Sehr schön. Das passt gut zu dem Projekt was ich gerade andenke..
So als Kommentar: Die Schaltung in [6] hat drei derbe Fehler.
a) C5 ist wenigstens um den Faktor 500 zu klein, und sollte 47nF..200nF sein.
b) C6 dito
c) R5 sollte ganz sicher nicht 1Megaohm sein, sondern doch eher 47ohm..220ohm
C2 und C3 sind abh. vom Quarz.
Wer nen USBasp verwendet, hat korrekte Werte, das funzt also.
15.12.2012, 18:23 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2012, 18:42 von alibenpeng.)
(15.12.2012, 18:06)Wirbel link schrieb:[...]
a) C5 ist wenigstens um den Faktor 500 zu klein, und sollte 47nF..200nF sein.
b) C6 dito
c) R5 sollte ganz sicher nicht 1Megaohm sein, sondern doch eher 47ohm..220ohm
C2 und C3 sind abh. vom Quarz.
Wer nen USBasp verwendet, hat korrekte Werte, das funzt also.
Stimmt natürlich! Den Schaltplan hab ich auch im Halbschlaf zusammengepfuscht,.
a, b) C5 und 6 sind selbstverständlich 100n, nicht 100p.
c) Stimmt auch. Da habe ich einfach R3 kopiert und den Wert nicht angepasst.
Die 22p für den Quarz sind optimal für den 16MHz, laufen aber auch mit 12MHz.
Ich hab das jetzt mal korrigiert, bevor sich noch jemand in die Luft sprengt.
Das kommt auf die Belegung an. Ich habe verschiedene Schaltungen für den USBASP gesehen. Wichtig sind vor allem der Port und das Bit. Für den hier wären das Port B und Bits 0 und 1. Wichtig ist, dass Pin 3 des USB-Steckers zusätzlich noch mit INT0 (PD2) verbunden ist. Der Ausgang vom TSOP muss dann an PD3, was an dem TQFP-Package etwas fummelig zu löten ist.
Die Taktrate solltest Du im Makefile einstellen, lieber nicht das USB_CFG_CLOCK_KHZ in der usbconf.h anfassen!
eigentlich sollten da keine Änderungen nötig sein. Außer den Pins für D+ und D- wird ja nur noch ein weiterer Pin für den TSOP gebraucht, und der muss einen Interrupt auslösen können. Bei den "großen" Atmegas kann das ein beliebiger Pin mit PCINT sein, aber beim Atmega8 muss das PD3 (INT1) sein, da der Atmega8 keine PCINTs kann.
Insofern sollte der Code eigentlich ohne weitere Modifikationen auf dem USBASP laufen (probiere ich aus, wenn meine Bestellung da ist).
(06.01.2013, 22:40)muebau link schrieb:Hi,
hab mir mal das Repo geforked. Meine Version habe ich hier erfolgreich auf einem USBasp laufen. Die LEDS hab ich als Indikator verwendet.
Ist es normal das die ich erst die Shift-Taste druecken muss, diese dann loslassen und dann die Buchstabentaste druecken muss?
muebau
BTW: hast du schon eine remote.conf fuer die aktuelle EasyVDR 1.0? Damit sind dann auch die Tasten out of the box korrekt.
Dass man die Modifier loslassen muss ist leider so, das habe ich nicht anders hinbekommen (sie werden aber immerhin "gesammelt", so dass man mehrere Modifier gemeinsam nutzen kann (z.B. Alt-Shift-Tab). Ich habe irgendwo mal ein Paper zu dem Protokoll gesehen, nach dem das auch anders möglich sein sollte, aber ich weiß nicht, ob ich das in den Decoder-Code reingestrickt bekomme.
Und nein, eine remote.conf habe ich noch nicht (auch kein Easy-VDR). Braucht man die denn überhaupt? Und wenn, wofür, bzw. was geht damit, was ohne nicht geht?
(07.01.2013, 13:35)alibenpeng link schrieb:Dass man die Modifier loslassen muss ist leider so, das habe ich nicht anders hinbekommen (sie werden aber immerhin "gesammelt", so dass man mehrere Modifier gemeinsam nutzen kann (z.B. Alt-Shift-Tab). Ich habe irgendwo mal ein Paper zu dem Protokoll gesehen, nach dem das auch anders möglich sein sollte, aber ich weiß nicht, ob ich das in den Decoder-Code reingestrickt bekomme.
Schade
(07.01.2013, 13:35)alibenpeng link schrieb:Und nein, eine remote.conf habe ich noch nicht (auch kein Easy-VDR). Braucht man die denn überhaupt? Und wenn, wofür, bzw. was geht damit, was ohne nicht geht?
Ach das ist nur ein Mapping von Tasten auf Funktionen. (Taste x soll ESC, Taste y soll "Aufnamen" sein)
muebau
Standard Digitainer + Wlan Atheros + Nova-S Plus + EasyVDR 0.6.10
TC380 + E35M1-M PRO + Wlan Atheros + Nova-S Plus + EasyVDR 0.9
Mist: Wie es aussieht den ersten USB-ASP geschrotet.
Für nen Hinweis wäre ich dankbar. (Das Hexfile sieht z.B. auch etwas merkwürdig aus; B250 nutz ich eigentlich immer weil es sonst je nach Firmware des Programmers/AVR-Dude-Version zu Problemen kam...)
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: current erase-rewrite cycle count is -257 (if being tracked)
avrdude: erasing chip
avrdude: set SCK frequency to 4000 Hz
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (4796 bytes):
Ich ziehe meine eigentliche Frage zurück. Der USB-ASP lässt sich nach etwas Geduld wieder ansprechen und flashen.
Nun ist nur noch die Frage warum die Ruwido Tastatur keine Reaktion zeigt.
Neu: Nach dem zweiten mal flashen zeigt Windows auch schon mal ein unbekanntes HID Device...
Grüße
Martin
----------------------------------------------------------------------------------------------------------- Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken)
Windows erkennt ein unbekanntes Device. (Aber das Virtualbox-Progrämmchen unter Windows weiss schon dass es ein Ruwido* Reciever ist)
Unter Linux kann man per "lsusb" einen RUWIDO Merlin Receiver sehen.
Aber gedrückte Tasten haben z.B. in nem Terminal unter Linux keine Wirkung.
Kann es sein dass ich noch irgendwas im Source falsch konfiguriert habe ?
(3 Posts weiter oben ist der komplette Source so wie ich kompiliert + geflasht habe)
Komisch ist halt dass es "ein bisschen geht"...
Grüße
Martin
----------------------------------------------------------------------------------------------------------- Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken)
27.05.2013, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2013, 08:23 von Martin.)
Mir scheint eher dass es an der USB-ID liegen koennte.
Bin mir leider nicht 100% sicher was da zu nehmen ist damit kein extra Windows-Treiber noetig ist.
Der Receiver hängt bei meinen USBASP auf PB5/SCK. Dazu hab ich widersprüchliches gelesen...
Funktion hab ich damit auch unter Linux keine. (TSOP 31256 testweise an 20cm Kabel)
Grüße
Martin
----------------------------------------------------------------------------------------------------------- Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken)