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 ++++----- LUFA/ManPages/ChangeLog.txt | 2 -- 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'LUFA') 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); diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index b776175d6..8ce9f2240 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -27,8 +27,6 @@ * - Fixed ADC routines not correctly returning the last result when multiple channels were read * - Fixed ADC routines failing to read the extended channels (Channels 8 to 13, Internal Temperature Sensor) on the * U4 series USB AVR parts - * - Fixed PDI programming mode in the AVRISP programmer project not exiting programming mode correctly (clear target - * Reset key twice, possible silicon bug?) * * \section Sec_ChangeLog100219 Version 100219 * -- cgit v1.2.3