Cache the USB_DeviceState variable internally in the library core when multiple checks are required in a single loop iteration, to reduce compiled code size.
This commit is contained in:
parent
93793679c9
commit
3ae9e6042f
6 changed files with 30 additions and 23 deletions
|
@ -115,10 +115,12 @@ uint8_t Endpoint_WaitUntilReady(void)
|
|||
return ENDPOINT_READYWAIT_NoError;
|
||||
}
|
||||
|
||||
if (USB_DeviceState == DEVICE_STATE_Unattached)
|
||||
uint8_t USB_DeviceState_LCL = USB_DeviceState;
|
||||
|
||||
if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
|
||||
return ENDPOINT_READYWAIT_DeviceDisconnected;
|
||||
else if (USB_DeviceState == DEVICE_STATE_Suspended)
|
||||
return ENDPOINT_READYWAIT_BusSuspended;
|
||||
else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
|
||||
return ENDPOINT_READYWAIT_BusSuspended;
|
||||
else if (Endpoint_IsStalled())
|
||||
return ENDPOINT_READYWAIT_EndpointStalled;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue