From 9a5ae36a4f62e0cda37972401c61727c6804a985 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 17 Mar 2010 11:48:39 +0000 Subject: Software PDI mode breaks unless the software USART has 100 cycles between bits. --- LUFA/Drivers/USB/LowLevel/Pipe.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'LUFA/Drivers/USB') diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c index 78c82e8c4..8784bea0c 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.c +++ b/LUFA/Drivers/USB/LowLevel/Pipe.c @@ -80,14 +80,13 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress) Pipe_SelectPipe(PNum); uint8_t PipeToken = Pipe_GetPipeToken(); + bool PipeTokenCorrect = true; if (PipeToken != PIPE_TOKEN_SETUP) - PipeToken = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT)); + PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT)); - if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)) && PipeToken) - { - return true; - } + if (Pipe_IsConfigured() && PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK))) + return true; } Pipe_SelectPipe(PrevPipeNumber); -- cgit v1.2.3