Kleines Projekt mit atmega32u2 USB

Gast #3345924
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
Gast #3349371
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
#3349384
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
Gast #3349401
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
#3350234
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren