Hallo,
ich habe das mal in einen getrennten thread gepackt, die andere Frage
bezieht sich auf Probleme mit der synchronen API.
Meine jetzige Frage:
Ich verwende die asynchrone API der libusb. Dazu starte ich einen
Transfer und reagiere in der mitgelieferten Callback auf das Ende der
Übertragung.
Ich frage den Status "LIBUSB_TRANSFER_COMPLETED" ab, um zu prüfen, ob
der Transfer fetig ist.
Mich wundert etwas die Folgende Notiz: "Note that this does not indicate
that the entire amount of requested data was transferred."
Ich frage mich deswegen, wann weiss ich eigentlich, wann der bulk
transfer zu Ende ist?
Folgendes habe ich gefunden:
-The endpoint transfers exactly the amount of data expected.
-The endpoint transfers a short packet, that is a packet with a payload
size less than the maximum.
-The endpoint transfers a zero-length packet.
Was heißt jetzt aber "exactly the amount of data expected". Wo wird das
im USB-transfer mit gegeben, wie viele Daten man erwartet? Ich kannte
bisher nur Fall 2. und 3., also entweder ein short Paket oder ein
zero-length Paket, mit dem das Device dem Host mitteilen kann, dass nun
keine Daten mehr kommen.
Viele Grüße