aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt2
-rw-r--r--LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h8
-rw-r--r--LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c2
-rw-r--r--LUFA/StudioIntegration/VSIX/LUFA.dllbin567296 -> 567296 bytes
-rw-r--r--LUFA/StudioIntegration/VSIX/LUFA.pkgdefbin1872 -> 2242 bytes
-rw-r--r--Projects/USBtoSerial/asf.xml2
6 files changed, 9 insertions, 5 deletions
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 3dce7a33b..924aebf91 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -40,6 +40,8 @@
* - Fixed Pipe_GetBoundEndpointAddress() returning invalid endpoint directions on AVR8 architecture devices (thanks to decerri)
* under some circumstances
* - Fixed incorrect USB device state set when a suspended LUFA device is woken while addressed but not configured (thanks to Balaji Krishnan)
+ * - Fixed broken USART SPI driver for the AVR8 architecture due to incorrect initialization
+ * - Fixed re-enumeration issue of XMEGA architecture targets (thanks to xjedlins)
* - Library Applications:
* - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an
* unknown SCSI command
diff --git a/LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h b/LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h
index f12aa77f7..e449a8f5e 100644
--- a/LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h
+++ b/LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h
@@ -133,13 +133,13 @@
static inline void SerialSPI_Init(const uint8_t SPIOptions,
const uint32_t BaudRate)
{
- UBRR1 = SERIAL_SPI_UBBRVAL(BaudRate);
+ DDRD |= ((1 << 3) | (1 << 5));
+ PORTD |= (1 << 2);
UCSR1C = ((1 << UMSEL11) | (1 << UMSEL10) | SPIOptions);
UCSR1B = ((1 << TXEN1) | (1 << RXEN1));
- DDRD |= (1 << 3);
- PORTD |= (1 << 2);
+ UBRR1 = SERIAL_SPI_UBBRVAL(BaudRate);
}
/** Turns off the USART driver, disabling and returning used hardware to their default configuration. */
@@ -151,7 +151,7 @@
UBRR1 = 0;
- DDRD &= ~(1 << 3);
+ DDRD &= ~((1 << 3) | (1 << 5));
PORTD &= ~(1 << 2);
}
diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c
index 209bf9491..9651193a3 100644
--- a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c
+++ b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c
@@ -93,7 +93,7 @@ ISR(USB_BUSEVENT_vect)
USB_DeviceState = DEVICE_STATE_Default;
USB_Device_ConfigurationNumber = 0;
- USB_Device_SetDeviceAddress(0);
+ USB_Device_EnableDeviceAddress(0);
Endpoint_ClearEndpoints();
Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL,
diff --git a/LUFA/StudioIntegration/VSIX/LUFA.dll b/LUFA/StudioIntegration/VSIX/LUFA.dll
index 554b04974..d3e9c23e6 100644
--- a/LUFA/StudioIntegration/VSIX/LUFA.dll
+++ b/LUFA/StudioIntegration/VSIX/LUFA.dll
Binary files differ
diff --git a/LUFA/StudioIntegration/VSIX/LUFA.pkgdef b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef
index 31a97ce08..b1b2f943b 100644
--- a/LUFA/StudioIntegration/VSIX/LUFA.pkgdef
+++ b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef
Binary files differ
diff --git a/Projects/USBtoSerial/asf.xml b/Projects/USBtoSerial/asf.xml
index 04388fa47..be0c00965 100644
--- a/Projects/USBtoSerial/asf.xml
+++ b/Projects/USBtoSerial/asf.xml
@@ -43,6 +43,8 @@
<require idref="lufa.platform"/>
<require idref="lufa.drivers.peripheral.usart"/>
<require idref="lufa.drivers.usb"/>
+ <require idref="lufa.drivers.board"/>
+ <require idref="lufa.drivers.board.leds"/>
<require idref="lufa.drivers.misc.ringbuffer"/>
</module>
</asf>