aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-03-17 11:48:39 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-03-17 11:48:39 +0000
commit9a5ae36a4f62e0cda37972401c61727c6804a985 (patch)
tree77452ab5bbd5fc2fa983d8da6d76e2f883d7b02c /LUFA/Drivers/USB
parent7d51e51c79c3af7791f4c3e8c7e5e8196a2c3f93 (diff)
downloadlufa-9a5ae36a4f62e0cda37972401c61727c6804a985.tar.gz
lufa-9a5ae36a4f62e0cda37972401c61727c6804a985.tar.bz2
lufa-9a5ae36a4f62e0cda37972401c61727c6804a985.zip
Software PDI mode breaks unless the software USART has 100 cycles between bits.
Diffstat (limited to 'LUFA/Drivers/USB')
-rw-r--r--LUFA/Drivers/USB/LowLevel/Pipe.c9
1 files changed, 4 insertions, 5 deletions
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);