From ecd82778cf9a53e34f13d9ce6dcd7e1a4cf76b70 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 17 Aug 2009 12:38:24 +0000 Subject: Added beginnings of a new AVRISP-MKII clone project. Added new Endpoint_SetEndpointDirection() macro to set the current endpoint direction for bidirectional endpoints. Renamed internal USB_INT_ENDPOINT_SETUP macro to USB_INT_RXSTPI to fit in with the rest of the interrupt vector macros. --- LUFA/Drivers/USB/HighLevel/USBInterrupt.c | 4 ++-- LUFA/Drivers/USB/HighLevel/USBInterrupt.h | 2 +- LUFA/Drivers/USB/LowLevel/Endpoint.h | 8 ++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'LUFA/Drivers/USB') diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c index a8083c92a..f58e67010 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c @@ -148,7 +148,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) ENDPOINT_BANK_SINGLE); #if defined(INTERRUPT_CONTROL_ENDPOINT) - USB_INT_Enable(USB_INT_ENDPOINT_SETUP); + USB_INT_Enable(USB_INT_RXSTPI); #endif EVENT_USB_Device_Reset(); @@ -236,7 +236,7 @@ ISR(USB_COM_vect, ISR_BLOCK) USB_USBTask(); - USB_INT_Clear(USB_INT_ENDPOINT_SETUP); + USB_INT_Clear(USB_INT_RXSTPI); Endpoint_SelectEndpoint(PrevSelectedEndpoint); } diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h index 14f693050..5407e7d37 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h @@ -72,7 +72,7 @@ #define USB_INT_HSOFI UHIEN, (1 << HSOFE) , UHINT , (1 << HSOFI) #define USB_INT_RSTI UHIEN , (1 << RSTE) , UHINT , (1 << RSTI) #define USB_INT_SRPI OTGIEN, (1 << SRPE) , OTGINT, (1 << SRPI) - #define USB_INT_ENDPOINT_SETUP UEIENX, (1 << RXSTPE) , UEINTX, (1 << RXSTPI) + #define USB_INT_RXSTPI UEIENX, (1 << RXSTPE) , UEINTX, (1 << RXSTPI) /* Function Prototypes: */ void USB_INT_ClearAllInterrupts(void); diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h index a9ec122a2..e27ac50a6 100644 --- a/LUFA/Drivers/USB/LowLevel/Endpoint.h +++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h @@ -331,6 +331,12 @@ * \return The currently selected endpoint's direction, as a ENDPOINT_DIR_* mask. */ static inline uint8_t Endpoint_GetEndpointDirection(void); + + /** Sets the direction of the currently selected endpoint. + * + * \param DirectionMask New endpoint direction, as a ENDPOINT_DIR_* mask. + */ + static inline void Endpoint_SetEndpointDirection(uint8_t DirectionMask); #else #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__) #define Endpoint_BytesInEndpoint() UEBCX @@ -399,6 +405,8 @@ #define Endpoint_ResetDataToggle() MACROS{ UECONX |= (1 << RSTDT); }MACROE #define Endpoint_GetEndpointDirection() (UECFG0X & ENDPOINT_DIR_IN) + + #define Endpoint_SetEndpointDirection(dir) MACROS{ UECFG0X = ((UECFG0X & ~ENDPOINT_DIR_IN) | dir); }MACROE #endif /* Enums: */ -- cgit v1.2.3