Forum: Mikrocontroller und Digitale Elektronik Kleines Projekt mit atmega32u2 USB


von Stefan (Gast)


Lesenswert?

Hallo,

ich suche jemanden der mir mit Atmel Studio in C/C++ den USB Teil 
programmiert, so dass ich ein Compoundgerät habe, dass gleichzeitig 
Tastatur (HID) und VCP (virtueller Comport) habe. Es sollen in einem 
Headerfile Funktionen implementiert werden, mit denen man zum HID Daten 
senden kann, sowie vom VCP Daten senden & empfangen kann. Wie aufwändig 
(Kosten und Zeit) ist das in etwa?

Gruß
Stefan

: Verschoben durch User
von marixstorm (Gast)


Lesenswert?

Seh dir mal http://www.fourwalledcubicle.com/LUFA.php an.

Btw. die USB-Klasse heisst nich VCP sondern CDC (Communications Device 
Class) Subklasse ACM (Abstract Control Model).

MfG

von Stefan (Gast)


Lesenswert?

Danke für den Link, sieht gut aus, aber ich suche jemanden der das für 
mich macht...

von Stephan B. (matrixstorm)


Lesenswert?

Hallo Stefan.

Vielleicht kannst du etwas mehr Details nennen?

Was stellst du dir mit/unter "zum HID Daten senden" vor?
Was sind Daten? (Einzelne uint8 oder komplexe Puffer??)

Synchron oder Asynchron?

MfG

: Bearbeitet durch User
von Stefan (Gast)


Lesenswert?

Hallo Stephan,

Mit HID meine ich in dem Fall dass eine Tastatur simuliert werden soll 
(so dass im Gerätemanager eine HID-Tastatur auftaucht), so dass ich in 
der Firmware eine Funktion habe an die ich einen String senden kann. 
Z.B.

HID_Send("ABC123");

Der Rechner an dem das Teil angeschlossen ist bekommt dann einfach die 6 
Tastendrücke ab.

Asynchron reicht, so dass die Funktion zurückkehrt wenn der String 
gesendet ist. Wenn noch weitere Fragen zu klären sind einfach fragen...

Gruß
Stefan

von Stephan B. (matrixstorm)


Lesenswert?

Also wenn du als UART nen Hardware-Uart vom ICs nimmst (und dann keine 
HardwareUSB mehr brauchst), hab ich dir das schnell mit VUSB gemacht. 
(Da ich bereits soetwas fertig rumliegen habe. - Damals fuer eine 
intelligente Tastatur einer CNC Maschiene)

Code war designed fuer tinyUSBboard 
(http://matrixstorm.com/avr/tinyusbboard/) und kann ich dir bei 
Interesse schicken.

MfG

von Stefan (Gast)


Lesenswert?

Hi Stephan,

mit VUSB habe ich auch schon gearbeitet, aber in diesem Fall (die 
Hardware ist bereits fertig) soll das Hardware-USB verwendet werden, wie 
beschrieben als Compoundgerät (CDC und HID). Die Hardware kann ich zur 
Verfügung stellen.

Gruß
Stefan

von Stephan B. (matrixstorm)


Lesenswert?

Hi.

Ich bin leider nicht sicher in wie fern der LUFA-Kram mit dem VUSB-Code 
(fuer maximalen Codereuse) kompatibel ist.

Ich mache mich heute abend mal etwas schlau...

MfG

von Stefan (Gast)


Lesenswert?

Aus dem Bauch heraus würde ich sagen überhaupt nicht, da ja LUFA für den 
Hardware USB Teil gemacht ist, während VUSB eine USB Schnittstelle in 
Software emuliert...

von Stephan B. (matrixstorm)


Lesenswert?

Ja der Hardwarekram wird aber bei LUFA als auch bei VUSB abstrahiert.

Die HID Ansteuerung darueber (die Tastencodeuebersetzung etc) duerfe 
aehnlich bzw. gleich sein.

von Stephan B. (matrixstorm)


Lesenswert?

Hallo

Scheint machbar:

1) Mittels LUFA Ringpuffer Daten vom CDC ACM entgegennehmen
2) Datenbyte mittels PROGMEM-Tabelle uebersetzen (kann man auch anders 
machen, wenn Flashspeicher eine Rolle spielt)
3) Immer sobald HID ready: HID report absenden

Das was auf dem virtuellen Terminal eingeht wird quasi getippt.

MfG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.