diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-03-17 11:48:39 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-03-17 11:48:39 +0000 |
commit | 9a5ae36a4f62e0cda37972401c61727c6804a985 (patch) | |
tree | 77452ab5bbd5fc2fa983d8da6d76e2f883d7b02c /LUFA/Drivers | |
parent | 7d51e51c79c3af7791f4c3e8c7e5e8196a2c3f93 (diff) | |
download | lufa-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')
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Pipe.c | 9 |
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);
|