From: Dean Camera Date: Tue, 13 Aug 2013 19:04:40 +0000 (+0200) Subject: Merge branch 'xmega-twi' of github.com:jamuraa/lufa into xmega-twi-integration X-Git-Tag: LUFA-130901-BETA~12 X-Git-Url: http://git.linex4red.de/pub/USBasp.git/commitdiff_plain/5fde9e0f0d029bc8e54f997705074b0442159849?hp=6dd0447c12d1b75611ad8f205890913378635719 Merge branch 'xmega-twi' of github.com:jamuraa/lufa into xmega-twi-integration --- 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 Binary files a/LUFA/StudioIntegration/VSIX/LUFA.dll and b/LUFA/StudioIntegration/VSIX/LUFA.dll differ diff --git a/LUFA/StudioIntegration/VSIX/LUFA.pkgdef b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef index 31a97ce08..b1b2f943b 100644 Binary files a/LUFA/StudioIntegration/VSIX/LUFA.pkgdef and b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef 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 @@ + +