![]() |
LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
|
#include "../EndpointCommon.h"Go to the source code of this file.
Functions | |
| bool | Endpoint_ConfigureEndpoint (uint8_t corenum, const uint8_t Number, const uint8_t Type, const uint8_t Direction, const uint16_t Size, const uint8_t Banks) |
| Configures the specified endpoint number with the given endpoint type, direction, bank size and banking mode. Once configured, the endpoint may be read from or written to, depending on its direction. | |
| static void | Endpoint_ResetEndpoint (const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE |
| Resets the endpoint bank FIFO. This clears all the endpoint banks and resets the USB controller's data In and Out pointers to the bank's contents. | |
| static void | Endpoint_EnableEndpoint (void) ATTR_ALWAYS_INLINE |
| Enables the currently selected endpoint so that data can be sent and received through it to and from a host. | |
| static void | Endpoint_DisableEndpoint (void) ATTR_ALWAYS_INLINE |
| Disables the currently selected endpoint so that data cannot be sent and received through it to and from a host. | |
| static bool | Endpoint_IsEnabled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the currently selected endpoint is enabled, but not necessarily configured. | |
| static uint8_t | Endpoint_GetBusyBanks (void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT |
| Retrieves the number of busy banks in the currently selected endpoint, which have been queued for transmission via the Endpoint_ClearIN() command, or are awaiting acknowledgement via the Endpoint_ClearOUT() command. | |
| static void | Endpoint_AbortPendingIN (void) |
| Aborts all pending IN transactions on the currently selected endpoint, once the bank has been queued for transmission to the host via Endpoint_ClearIN(). This function will terminate all queued transactions, resetting the endpoint banks ready for a new packet. | |
| static bool | Endpoint_IsConfigured (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the currently selected endpoint is configured. | |
| static uint8_t | Endpoint_GetEndpointInterrupts (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
Returns a mask indicating which INTERRUPT type endpoints have interrupted - i.e. their interrupt duration has elapsed. Which endpoints have interrupted can be determined by masking the return value against (1 << {Endpoint Number}). | |
| static bool | Endpoint_HasEndpointInterrupted (const uint8_t EndpointNumber) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the specified endpoint number has interrupted (valid only for INTERRUPT type endpoints). | |
| static uint16_t | Endpoint_BytesInEndpoint (uint8_t corenum) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Indicates the number of bytes currently stored in the current endpoint's selected bank. | |
| static bool | Endpoint_IsINReady (uint8_t corenum) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the selected IN endpoint is ready for a new packet to be sent to the host. | |
| static bool | Endpoint_IsOUTReceived (uint8_t corenum) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the selected OUT endpoint has received new packet from the host. | |
| static bool | Endpoint_IsSETUPReceived (uint8_t corenum) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the current CONTROL type endpoint has received a SETUP packet. | |
| static void | Endpoint_ClearSETUP (uint8_t corenum) ATTR_ALWAYS_INLINE |
| Clears a received SETUP packet on the currently selected CONTROL type endpoint, freeing up the endpoint for the next packet. | |
| static void | Endpoint_ClearIN (uint8_t corenum) ATTR_ALWAYS_INLINE |
| Sends an IN packet to the host on the currently selected endpoint, freeing up the endpoint for the next packet and switching to the alternative endpoint bank if double banked. | |
| static void | Endpoint_ClearOUT (uint8_t corenum) ATTR_ALWAYS_INLINE |
| Acknowledges an OUT packet to the host on the currently selected endpoint, freeing up the endpoint for the next packet and switching to the alternative endpoint bank if double banked. | |
| static void | Endpoint_StallTransaction (uint8_t corenum) ATTR_ALWAYS_INLINE |
| Stalls the current endpoint, indicating to the host that a logical problem occurred with the indicated endpoint and that the current transfer sequence should be aborted. This provides a way for devices to indicate invalid commands to the host so that the current transfer can be aborted and the host can begin its own recovery sequence. | |
| static void | Endpoint_ClearStall (uint8_t corenum) ATTR_ALWAYS_INLINE |
| Clears the STALL condition on the currently selected endpoint. | |
| static bool | Endpoint_IsStalled (uint8_t corenum) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
| Determines if the currently selected endpoint is stalled, false otherwise. | |
| static void | Endpoint_ResetDataToggle (uint8_t corenum) ATTR_ALWAYS_INLINE |
| void | Endpoint_ClearStatusStage (uint8_t corenum) |
| Completes the status stage of a control transfer on a CONTROL type endpoint automatically, with respect to the data direction. This is a convenience function which can be used to simplify user control request handling. | |
| uint8_t | Endpoint_WaitUntilReady (void) |
| Spin-loops until the currently selected non-control endpoint is ready for the next packet of data to be read or written to it. | |
Variables | |
| uint8_t | USB_Device_ControlEndpointSize |
|
inlinestatic |
Aborts all pending IN transactions on the currently selected endpoint, once the bank has been queued for transmission to the host via Endpoint_ClearIN(). This function will terminate all queued transactions, resetting the endpoint banks ready for a new packet.
Definition at line 401 of file Endpoint_LPC18xx.h.