XMEGA USB Kommunikation

ThomasW69
 
Avatar
 
Subject:

XMEGA USB Kommunikation

 · 
Posted: 22.02.2013 - 13:00  ·  #1
Ich versuche gerade vom PC aus mit dem Xmega über USB zu kommunizieren.
Das klappt soweit ganz gut. Über EP0 kommandos kann ich prima z.B. den Flashdownloader im Bootsektor aktivieren.
Man kann ja auch bei den EP 0Kommandos in der Delphi Routine usb_control_msg(..) einen Buffer mitgeben wo man diverse Zusätzliche Daten mitsenden kann. in der XMega- Routine myUSB_ControlRequest(bRequest : Byte; wValue : word) : boolean;
vermisse ich aber eine Auswertemöglichkeit des Buffers.
Gehe ich richtig in der Annahme, dass das was ich über den Buffer mitgebe einfach im @RxBuf landet und ich das in der Prozedur USB_CheckRxTx die ja auch vorhanden ist entsprechend des empfangenen EP0 kommandos auswerten muss?
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: XMEGA USB Kommunikation

 · 
Posted: 22.02.2013 - 18:18  ·  #2
Hallo Thomas,
der "kleine" USB Treiber kann keine Buffer Daten empfangen da dies aus Platzgründen nicht implementiert worden ist. Das geht nur über EP1 und EP2. EP0 ist nur für Controlrequest gedacht mit Bytes oder Word. Das trägt auch zur Sicherheit des Systems bei weil wenn es auf EP0 klemmt dann ist der Treiber Tot.

Gruß
miparo
ThomasW69
 
Avatar
 
Subject:

Re: XMEGA USB Kommunikation

 · 
Posted: 25.02.2013 - 08:57  ·  #3
Danke für die Info.
Mich hatte halt in der Delphi-Demo irritiert, dass dort auch ein 8 byte langes Array mitgeschickt werden kann.
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: XMEGA USB Kommunikation

 · 
Posted: 25.02.2013 - 12:55  ·  #4
Hallo Thomas,
der kleine USB Treiber war halt primär für den Bootbereich der neuen ISP3X-Programmer gedacht und sollte der so klein wie möglich werden,deshalb fehlt hier jeglicher Schnickschnack.
Daten über EP0 tun auch nicht Not denn dafür sind ja die beiden Daten EP's gedacht.
Mit myUSB_ControlRequest(bRequest : Byte; wValue : word) werdenja auch nur der Vendor Request weitergereicht.
Wichtig ist hier auch das der USB_ControlJob innerhalb der ca. 40ms immer aufgerufen wird da Windows das Device sonst als Tot sieht.
Das Demo Prog ist halt auch für den großen USB Treiber , der bei freien Man Power auch mal kommt , gedacht. Der ist eigentlich auch fertig muss aber noch für den EndUser schön gemacht werden. :)
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: XMEGA USB Kommunikation

 · 
Posted: 25.02.2013 - 13:10  ·  #5
und zur Ergänzung:
der "grosse" XMega USB Treiber läuft traumhaft schön, sicher und schnell.
Wird seit 2012 in allen unseren Programmern verwendet.

rolf
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: XMEGA USB Kommunikation

 · 
Posted: 25.02.2013 - 13:58  ·  #6
Pfui
Schmackhaft machen und nicht liefern. :)
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   106   120 · Page-Gen-Time: 0.031819s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI