ATSAM3S2C USB Bulk-komunikace MCU/PC-USB Device Vendor Class

:slight_smile: Je použit režim USB Device Vendor Class

Zkusil jsem to naopak. Posílám data z mcu do PC, přičemž v PC je nastaven přijímací buffer menší než je délka odesílaných dat. Na žádné straně nedojde k chybě, ale tentokrát pokud volám funkci ReadPipe() opakovaně, tak nakonec získám celou poslanou zprávu.

Proč to stejné nefunguje pro udi_vendor_bulk_out_run() nebo jak se dozvědět, že všechny data nebyly přijaty?

Je tu ještě jeden problém, pokud funkci udi_vendor_bulk_out_run přestanu opakovaně volat, tak i přesto funkce WritePipe() nevrátí žádnou chybu a vše se tváří, že bylo odesláno v pořádku.

PS: Náhodou nesetkal jste někdo s problémem, že pokud se v konfiguraci USB nastaví UDI_VENDOR_EPS_SIZE_ISO_FS = 0 (nebo Bulk či interrupt), což by podle dokumentace mělo pouze deaktivovat daný endpoint, tak již nejde nastavit alternative setting na 1(libusbk vrátí chybu, že zařízení pracuje chybně) => nezavolá se makro UDI_VENDOR_ENABLE_EXT()?