File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 31
31
* isochronous in each direction at the same time - at least 8 endpoints.
32
32
* * Device supports all standard endpoint sizes (wMaxPacketSize)
33
33
* * Device can handle an interrupt latency of at least 100ms if reset is not being performed and address is not being set
34
+ * * USBPhyEvents events are only sent when USBPhy is in the initialized state
35
+ * * When unpowered only the USBPhyEvents::power event can be sent
36
+ * * On USB reset all endpoints are removed except for endpoint 0
37
+ * * USBPhyEvents::out and USBPhyEvents::in events only occur for endpoints which have been added
38
+ * * A call to USBPhy::ep0_write results in USBPhyEvents::in getting called if not
39
+ * interrupted by a power loss or reset
40
+ * * A call to endpoint_read followed by endpoint_read_result results in USBPhyEvents::out getting called if not
41
+ * interrupted by a power loss or reset
42
+ * * Endpoint 0 naks all transactions aside from setup packets until one
43
+ * of ep0_read, ep0_write or ep0_stall has been called
44
+ * * Endpoint 0 stall is automatically cleared on reception of a setup packet
34
45
*
35
46
* # Undefined behavior
36
47
* * Calling USBPhy::endpoint_add or USBPhy::endpoint_remove outside of the control requests SetInterface or SetConfiguration
37
48
* * Devices behavior is undefined if latency is greater than 2ms when address is being set - see USB spec 9.2.6.3
38
49
* * Devices behavior is undefined if latency is greater than 10ms when a reset occurs - see USB spec 7.1.7.5
50
+ * * Calling any of the USBPhy::endpoint_* functions on endpoint 0
39
51
*
40
52
* # Potential bugs
41
53
* * Processing control packets in the wrong order when multiple packets are present
You can’t perform that action at this time.
0 commit comments