diff options
| author | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-10 00:54:08 +0000 | 
|---|---|---|
| committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-10 00:54:08 +0000 | 
| commit | 7aecda6fda5bcced68d72b0cf73d00174aa5c7cd (patch) | |
| tree | d4711605cf9dc612ac3282877895bff295daf0ab /Projects/AVRISP | |
| parent | 1e3513ed70565daf100aa2a3425b3912dea4d2c8 (diff) | |
| download | lufa-7aecda6fda5bcced68d72b0cf73d00174aa5c7cd.tar.gz lufa-7aecda6fda5bcced68d72b0cf73d00174aa5c7cd.tar.bz2 lufa-7aecda6fda5bcced68d72b0cf73d00174aa5c7cd.zip  | |
Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.
Diffstat (limited to 'Projects/AVRISP')
| -rw-r--r-- | Projects/AVRISP/Lib/PDITarget.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/Projects/AVRISP/Lib/PDITarget.c b/Projects/AVRISP/Lib/PDITarget.c index 7b35a3336..a0bbf7dfa 100644 --- a/Projects/AVRISP/Lib/PDITarget.c +++ b/Projects/AVRISP/Lib/PDITarget.c @@ -98,14 +98,16 @@ uint8_t PDITarget_ReceiveByte(void)  	// One Start Bit
  	while (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK);
  	  TOGGLE_PDI_CLOCK;
 -		
 +
 +	TOGGLE_PDI_CLOCK;
 +	
  	// Eight Data Bits
  	for (uint8_t i = 0; i < 8; i++)
  	{
 -		if (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK)
 -			ReceivedByte |= 0x01;
 +		if (!(PDIDATA_LINE_PIN & PDIDATA_LINE_MASK))
 +			ReceivedByte |= 0x80;
 -		ReceivedByte <<= 1;
 +		ReceivedByte >>= 1;
  		TOGGLE_PDI_CLOCK;	
  	}
  | 
