Commit 32f0f605 authored by Dean Camera's avatar Dean Camera
Browse files

Removed all user pipe/endpoint interrupt APIs, added internal library support...

Removed all user pipe/endpoint interrupt APIs, added internal library support for interrupt driven control endpoints when in device mode by defining INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch.
parent 0d5baf9b
......@@ -158,62 +158,6 @@
*/
#define PIPE_EPSIZE_MASK 0x7FF
/** Interrupt definition for the pipe SETUP bank ready interrupt (for CONTROL type pipes). Should be
* used with the USB_INT_* macros located in USBInterrupt.h.
*
* This interrupt will fire if enabled on an CONTROL type pipe when the pipe is ready for a new
* control request.
*
* \note This interrupt must be enabled and cleared on *each* pipe which requires it (after the pipe
* is selected), and will fire the common pipe interrupt vector.
*
* \see \ref ENDPOINT_PIPE_vect for more information on the common pipe and endpoint interrupt vector.
*/
#define PIPE_INT_SETUP UPIENX, (1 << TXSTPE) , UPINTX, (1 << TXSTPI)
/** Interrupt definition for the pipe error interrupt. Should be used with the USB_INT_* macros
* located in USBInterrupt.h.
*
* This interrupt will fire if enabled on a particular pipe if an error occurs on that pipe, such
* as a CRC mismatch error.
*
* \note This interrupt must be enabled and cleared on *each* pipe which requires it (after the pipe
* is selected), and will fire the common pipe interrupt vector.
*
* \see \ref ENDPOINT_PIPE_vect for more information on the common pipe and endpoint interrupt vector.
*
* \see \ref Pipe_GetErrorFlags() for more information on the pipe errors.
*/
#define PIPE_INT_ERROR UPIENX, (1 << PERRE), UPINTX, (1 << PERRI)
/** Interrupt definition for the pipe NAK received interrupt. Should be used with the USB_INT_* macros
* located in USBInterrupt.h.
*
* This interrupt will fire if enabled on a particular pipe if an attached device returns a NAK in
* response to a sent packet.
*
* \note This interrupt must be enabled and cleared on *each* pipe which requires it (after the pipe
* is selected), and will fire the common pipe interrupt vector.
*
* \see \ref ENDPOINT_PIPE_vect for more information on the common pipe and endpoint interrupt vector.
*
* \see \ref Pipe_IsNAKReceived() for more information on pipe NAKs.
*/
#define PIPE_INT_NAK UPIENX, (1 << NAKEDE), UPINTX, (1 << NAKEDI)
/** Interrupt definition for the pipe STALL received interrupt. Should be used with the USB_INT_* macros
* located in USBInterrupt.h.
*
* This interrupt will fire if enabled on a particular pipe if an attached device returns a STALL on the
* currently selected pipe. This will also fire if the pipe is an isochronous pipe and a CRC error occurs.
*
* \note This interrupt must be enabled and cleared on *each* pipe which requires it (after the pipe
* is selected), and will fire the common pipe interrupt vector.
*
* \see \ref ENDPOINT_PIPE_vect for more information on the common pipe and endpoint interrupt vector.
*/
#define PIPE_INT_STALL UPIENX, (1 << RXSTALLE), UPINTX, (1 << RXSTALLI)
/* Pseudo-Function Macros: */
#if defined(__DOXYGEN__)
/** Indicates the number of bytes currently stored in the current pipes's selected bank.
......
......@@ -14,7 +14,8 @@
*
* <b>Device Mode</b>
* - Support for non-control data endpoint interrupts has been dropped due to many issues in the implementation. All existing
* projects using interrupts on non-control endpoints should switch to polling.
* projects using interrupts on non-control endpoints should switch to polling. For control interrupts, the library can
* manage the control endpoint via interrupts automatically by compiling with the INTERRUPT_CONTROL_ENDPOINT token defined.
* - The Endpoint_ClearEndpointInterrupt() macro has been deleted and references to it should be removed.
*
* <b>Device Mode</b>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment