X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/8f6b4ddf764c3a54e42d00a7502c82c5c3e71b1c..1c16ae399a9f924c15d9dec54cacb1320ff0a92f:/LUFA/Drivers/USB/LowLevel/Pipe.h?ds=inline diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.h b/LUFA/Drivers/USB/LowLevel/Pipe.h index 253ce2a93..9d8dded04 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.h +++ b/LUFA/Drivers/USB/LowLevel/Pipe.h @@ -553,15 +553,20 @@ #define Pipe_IsSETUPSent() ((UPINTX & (1 << TXSTPI)) ? true : false) - #define Pipe_ClearIN() MACROS{ UPINTX &= ~(1 << RXINI); UPINTX &= ~(1 << FIFOCON); }MACROE + #define Pipe_ClearIN() MACROS{ uint8_t Temp = UPINTX; UPINTX = (Temp & ~(1 << RXINI)); \ + UPINTX = (Temp & ~(1 << FIFOCON)); }MACROE - #define Pipe_ClearControlIN() MACROS{ UPINTX &= ~(1 << RXINI); UPINTX &= ~(1 << FIFOCON); }MACROE + #define Pipe_ClearControlIN() MACROS{ uint8_t Temp = UPINTX; UPINTX = (Temp & ~(1 << RXINI)); \ + UPINTX = (Temp & ~(1 << FIFOCON)); }MACROE - #define Pipe_ClearOUT() MACROS{ UPINTX &= ~(1 << TXOUTI); UPINTX &= ~(1 << FIFOCON); }MACROE + #define Pipe_ClearOUT() MACROS{ uint8_t Temp = UPINTX; UPINTX = (Temp & ~(1 << TXOUTI)); \ + UPINTX = (Temp & ~(1 << FIFOCON)); }MACROE - #define Pipe_ClearControlOUT() MACROS{ UPINTX &= ~(1 << TXOUTI); UPINTX &= ~(1 << FIFOCON); }MACROE + #define Pipe_ClearControlOUT() MACROS{ uint8_t Temp = UPINTX; UPINTX = (Temp & ~(1 << TXOUTI)); \ + UPINTX = (Temp & ~(1 << FIFOCON)); }MACROE - #define Pipe_ClearControlSETUP() MACROS{ UPINTX &= ~(1 << TXSTPI); UPINTX &= ~(1 << FIFOCON); }MACROE + #define Pipe_ClearControlSETUP() MACROS{ uint8_t Temp = UPINTX; UPINTX = (Temp & ~(1 << TXSTPI)); \ + UPINTX = (Temp & ~(1 << FIFOCON)); }MACROE #define Pipe_IsNAKReceived() ((UPINTX & (1 << NAKEDI)) ? true : false)