XMEGA verschluckt das 1. USB Bulk-Paket

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 13.07.2014 - 12:13  ·  #1
Hallo Leute,

mir ist Heute aufgefallen, das der AVRco-USB-Treiber scheinbar immer das 1.Bulk Paket verschluckt, gibt es dafür einen Grund?

Ich sende über Delphi mit:
Code
res := usb_bulk_write(SelectedDev.hDev, Ep1TxAddrX, onlStatus, m, 1000);


Im AvrCo
Code
Procedure USB_CheckRxTx;
Var Count, C: byte;
 InPointer : tpBuf64;
begin
  if USB_RxDataAvail then
    Count:= USB_RxCount;

 DebugOut('USB Datenanzahl $:'+  ByteToHex( Count ));
    // do something with RXData .....
        InPointer:= @RxBuf;                // ziehe Pointer auf RxBuf
         ONL:= TpPVSStatus( InPointer)^;  
          // Caste den Pointer auf Struktur TpPVSStatus und sichere die Daten
           USB_RxSetBuf(@RxBuf);            // ACKn  ..
  endif;
end


Wenn ich nun von Delphi das 1. Telegramm sende zeigt das Debugaout auch an $40 Daten erhalten, aber wenn ich nun die Daten auswerte, sind alle auf "0".

Lt. USB-Analayser, werden die Daten aber bereits im 1. Paket korrekt gesendet, ich sehe all Daten des Paketes.

Hat Jemand eine Idee woran das liegen könnte?

Gruß
Thorsten
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 15.07.2014 - 21:55  ·  #2
Hallo Thorsten,

wie wärs mit einem extrem kleinen Testprogramm wo das Problem sichtbar wird?
Unsere Programmer arbeiten ja auch mit dem XMega USB und da gibts dieses Problem nicht.

rolf
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 16.07.2014 - 15:23  ·  #3
Quote by rh

Hallo Thorsten,

wie wärs mit einem extrem kleinen Testprogramm wo das Problem sichtbar wird?
Unsere Programmer arbeiten ja auch mit dem XMega USB und da gibts dieses Problem nicht.

rolf


Hallo rolf,

muss ich erst entsprechend zerlegen :)

Aber ich teste Heute Abend mal eine neue Leiterplatte mit einen ATXMEGA256A3U, ich vermute da gibt es trotz Anpassung von Miparo noch Probleme mit demATXMEGA128A1U.
Seit der Anpassung von Miparo hab ich ganz komische Anzeichen :)
Mittlerweile geht ja die SysLEDblink nach Neustart und USB am ATXMEGA128A1U wieder, aber sobald das 1. USB Telegramm empfangen wurde geht das ganze "SysLEDblink" nicht mehr (siehe anderer Eintrag im Forum )

Vielleicht kann ich Morgen schon was dazu sagen.

Gruß
Thorsten (PVS-Deck)
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 27.07.2014 - 11:32  ·  #4
Quote by rh

Hallo Thorsten,

wie wärs mit einem extrem kleinen Testprogramm wo das Problem sichtbar wird?
Unsere Programmer arbeiten ja auch mit dem XMega USB und da gibts dieses Problem nicht.

rolf

Hallo rolf,

anbei das Testprogramm, leider macht das keinen Unterschied, ob ich den 256A3 oder 128A1 nutze.

Folgende Fehler sind zu erkennen:
1. USB Bulk-Paket wird mit Anzahl 64 angezeigt, aber die Daten im RxBuf sind "leer"!
sobald ich ein weiteres Bulk-Paket sende klappt es, dann reicht auch das 1. senden bereits aus.
Aber wenn ich den XMEGA resete, wird das 1. Paket wieder verschluckt.
Anzeige-Anzahl der Daten:JA Daten: NEIN (alles leer)

2. Fehler in Kombination USB-Smart und SysLEDblink;
Weiterhin ist der Fehler aus dem anderen Thread noch immer vorhanden (Bis jetzt keine Antwort von miparo). In diesem Testprogramm kann man dies auch sehr gut sehen.
Sobald ich das erste USB-Bulk-Paket vom PC zum XMEGA sende, bleibt die Funktion
Code
  SysLEDflashOn( 0 ); // OKLED; // Zyklus LED starten


Ohne Funktion, die LED bleibt dort stehen wo sie gerade ist, wenn sie AN ist, bleibt sie AN und wenn AUS dann AUS. Auch ein erneutes ausführen der Funktion "SysLEDflashOn( 0 );" bringt kein Leben mehr rein. Und dies betrifft ALLE Funktionen der SysLEDblink.

Bitte schau mal nach, da ich die Messagefunktion der LED in meinem Programm auch nutze.

Achso, bei den "EP0 ControlRequests" passiert beides nicht! Dort kommt auch der 1. Befehl sauber an und die SysLEDblink läuft ohne Probleme weiter.

Der Fehler ist reproduzierbar mit euren "USB Tester" und mit meinem USB-Host-Programm.

Gruß
Thorsten (pvs-deck)
Attachments
Filename: pvs2014BugTest.zip
Filesize: 4.39 KB
Title: TestPrg
Information: TestPRG USB
Download counter: 29
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 27.07.2014 - 22:35  ·  #5
Hallo Thorsten,

wir sind dran.

rolf
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: XMEGA verschluckt das 1. USB Bulk-Paket

 · 
Posted: 28.07.2014 - 23:58  ·  #6
Kleiner XMega USB Bootloader Bug ist jetzt beseitigt.
Update am Wochenende.

rolf
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: 16 · Cache Hits: 15   111   126 · Page-Gen-Time: 0.031344s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI