forked from mfulz_github/qmk_firmware
Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions.
This commit is contained in:
parent
b8dfa976ce
commit
cd57e855f6
|
@ -400,6 +400,35 @@
|
||||||
return ((UECONX & (1 << EPEN)) ? true : false);
|
return ((UECONX & (1 << EPEN)) ? true : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Aborts all pending IN transactions on the currently selected endpoint, once the bank
|
||||||
|
* has been queued for transmission to the host via \ref Endpoint_ClearIN(). This function
|
||||||
|
* will terminate all queued transactions, resetting the endpoint banks ready for a new
|
||||||
|
* packet.
|
||||||
|
*
|
||||||
|
* \ingroup Group_EndpointPacketManagement
|
||||||
|
*/
|
||||||
|
static inline void Endpoint_AbortPendingIN(void)
|
||||||
|
{
|
||||||
|
while (UESTA0X & (0x03 << NBUSYBK))
|
||||||
|
{
|
||||||
|
UEINTX |= (1 << RXOUTI);
|
||||||
|
while (UEINTX & (1 << RXOUTI));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Retrieves the number of busy banks in the currently selected endpoint, which have been queued for
|
||||||
|
* transmission via the \ref Endpoint_ClearIN() command, or are awaiting acknowledgement via the
|
||||||
|
* \ref Endpoint_ClearOUT() command.
|
||||||
|
*
|
||||||
|
* \ingroup Group_EndpointPacketManagement
|
||||||
|
*
|
||||||
|
* \return Total number of busy banks in the selected endpoint.
|
||||||
|
*/
|
||||||
|
static inline uint8_t Endpoint_GetBusyBanks(void)
|
||||||
|
{
|
||||||
|
return (UESTA0X & (0x03 << NBUSYBK));
|
||||||
|
}
|
||||||
|
|
||||||
/** Determines if the currently selected endpoint may be read from (if data is waiting in the endpoint
|
/** Determines if the currently selected endpoint may be read from (if data is waiting in the endpoint
|
||||||
* bank and the endpoint is an OUT direction, or if the bank is not yet full if the endpoint is an IN
|
* bank and the endpoint is an OUT direction, or if the bank is not yet full if the endpoint is an IN
|
||||||
* direction). This function will return false if an error has occurred in the endpoint, if the endpoint
|
* direction). This function will return false if an error has occurred in the endpoint, if the endpoint
|
||||||
|
|
|
@ -453,6 +453,19 @@
|
||||||
(UPSTAX & (PIPE_ERRORFLAG_OVERFLOW | PIPE_ERRORFLAG_UNDERFLOW)));
|
(UPSTAX & (PIPE_ERRORFLAG_OVERFLOW | PIPE_ERRORFLAG_UNDERFLOW)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Retrieves the number of busy banks in the currently selected pipe, which have been queued for
|
||||||
|
* transmission via the \ref Pipe_ClearOUT() command, or are awaiting acknowledgement via the
|
||||||
|
* \ref Pipe_ClearIN() command.
|
||||||
|
*
|
||||||
|
* \ingroup Group_PipePacketManagement
|
||||||
|
*
|
||||||
|
* \return Total number of busy banks in the selected pipe.
|
||||||
|
*/
|
||||||
|
static inline uint8_t Pipe_GetBusyBanks(void)
|
||||||
|
{
|
||||||
|
return (UPSTAX & (0x03 << NBUSYBK));
|
||||||
|
}
|
||||||
|
|
||||||
/** Determines if the currently selected pipe may be read from (if data is waiting in the pipe
|
/** Determines if the currently selected pipe may be read from (if data is waiting in the pipe
|
||||||
* bank and the pipe is an IN direction, or if the bank is not yet full if the pipe is an OUT
|
* bank and the pipe is an IN direction, or if the bank is not yet full if the pipe is an OUT
|
||||||
* direction). This function will return false if an error has occurred in the pipe, or if the pipe
|
* direction). This function will return false if an error has occurred in the pipe, or if the pipe
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
* - Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic flushing of interfaces when the USB management
|
* - Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic flushing of interfaces when the USB management
|
||||||
* tasks for each driver is called
|
* tasks for each driver is called
|
||||||
* - Added standard keyboard HID report scancode defines (thanks to László Monda)
|
* - Added standard keyboard HID report scancode defines (thanks to László Monda)
|
||||||
|
* - Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions
|
||||||
*
|
*
|
||||||
* <b>Changed:</b>
|
* <b>Changed:</b>
|
||||||
* - Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions
|
* - Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions
|
||||||
|
|
Loading…
Reference in New Issue