diff options
Diffstat (limited to 'LUFA')
-rw-r--r-- | LUFA/CodeTemplates/DeviceTemplate/Descriptors.c | 4 | ||||
-rw-r--r-- | LUFA/DoxygenPages/ChangeLog.txt | 3 | ||||
-rw-r--r-- | LUFA/DoxygenPages/LUFAPoweredProjects.txt | 1 | ||||
-rw-r--r-- | LUFA/DoxygenPages/MigrationInformation.txt | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c | 3 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h | 8 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Core/StdDescriptors.h | 23 | ||||
-rw-r--r-- | LUFA/StudioIntegration/lufa_drivers_board_names.xml | 7 |
8 files changed, 33 insertions, 20 deletions
diff --git a/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c b/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c index b21b81624..a49fd6f36 100644 --- a/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c +++ b/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c @@ -46,7 +46,7 @@ const USB_Descriptor_Device_t DeviceDescriptor = { .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, - .USBSpecification = VERSION_BCD(02.00), + .USBSpecification = VERSION_BCD(2,0,0), .Class = USB_CSCP_NoDeviceClass, .SubClass = USB_CSCP_NoDeviceSubclass, .Protocol = USB_CSCP_NoDeviceProtocol, @@ -55,7 +55,7 @@ const USB_Descriptor_Device_t DeviceDescriptor = .VendorID = 0x0000, .ProductID = 0x0000, - .ReleaseNumber = VERSION_BCD(00.02), + .ReleaseNumber = VERSION_BCD(0,0,2), .ManufacturerStrIndex = 0x01, .ProductStrIndex = 0x02, diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index 7bd8b2997..9c8fd50b9 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -11,12 +11,13 @@ * - Library Applications: * - Added new Bulk Vendor low level device demo * - Added new libUSB host Python and NodeJS application examples for the class driver GenericHID demo (thanks to Laszlo Monda) + * - Added new AVR8 USB option to keep 3.3V regulator enabled (thanks to Michael Hanselmann) * * <b>Changed:</b> * - Library Applications: * - Refactored out USB interface IDs in the demo applications into enums (thanks to Laszlo Monda) * - AVRISP-MKII Clone Project PDI/TPI frequency increased from 250KHz to 2MHz as it is now stable - * - Increased TPI/PDI handshake delay to 1ms from 1us to support targets with high amounts of capacitance on their + * - Increased TPI/PDI handshake delay to 100us from 1us to support targets with high amounts of capacitance on their * /RESET lines (thanks to Paul Duke) * * <b>Fixed:</b> diff --git a/LUFA/DoxygenPages/LUFAPoweredProjects.txt b/LUFA/DoxygenPages/LUFAPoweredProjects.txt index ff3b3f42f..f698e4c7e 100644 --- a/LUFA/DoxygenPages/LUFAPoweredProjects.txt +++ b/LUFA/DoxygenPages/LUFAPoweredProjects.txt @@ -114,7 +114,6 @@ * \li PS/2 to USB adapter: https://github.com/makestuff/p2ukbd * \li RaspiFace, an Arduino platform bridge for the Raspberry Pi: http://www.raspiface.com/ * \li Reflow oven controller: http://danstrother.com/2011/01/15/reflow-oven-controller/ - * \li Reprap with LUFA, a LUFA powered 3D printer: http://code.google.com/p/at90usb1287-code-for-arduino-and-eclipse/ * \li RFPirate, a RF experimentation platform: https://github.com/ebuller/RF-Pirate * \li RF Power Meter, based on the AD8307 log amp: https://sites.google.com/site/lofturj/ad8307-power-meter * \li RF Transceiver using the MRF49XA: http://alternet.us.com/?page_id=1494 diff --git a/LUFA/DoxygenPages/MigrationInformation.txt b/LUFA/DoxygenPages/MigrationInformation.txt index a2b2d4dac..25a30c472 100644 --- a/LUFA/DoxygenPages/MigrationInformation.txt +++ b/LUFA/DoxygenPages/MigrationInformation.txt @@ -11,7 +11,9 @@ * areas relevant to making older projects compatible with the API changes of each new release. * * \section Sec_MigrationXXXXXX Migrating from 130901 to XXXXXX - * No migration information. + * <b>USB Core</b> + * - The \c VERSION_BCD() macro has changed from accepting one floating point parameter to taking three distinct major/minor/revision integer parameters, as + * some edge cases caused incorrect parsing of the input float into the final integer BCD encoded value. * * \section Sec_Migration130901 Migrating from 130303 to 130901 * <b>Non-USB Library Components</b> diff --git a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c index 8faec1df0..dc96c0fe7 100644 --- a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c +++ b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c @@ -112,7 +112,8 @@ void USB_Disable(void) if (!(USB_Options & USB_OPT_MANUAL_PLL)) USB_PLL_Off(); - USB_REG_Off(); + if (!(USB_Options & USB_OPT_REG_KEEP_ENABLED)) + USB_REG_Off(); #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) USB_OTGPAD_Off(); diff --git a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h index 1b72bf13b..fedc04ec1 100644 --- a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h @@ -133,6 +133,14 @@ */ #define USB_OPT_REG_ENABLED (0 << 1) + /** Option mask for \ref USB_Init() to keep regulator enabled at all times. Indicates that \ref USB_Disable() + * should not disable the regulator as it would otherwise. Has no effect if regulator is disabled using + * \ref USB_OPT_REG_DISABLED. + * + * \note See USB AVR data sheet for more information on the internal pad regulator. + */ + #define USB_OPT_REG_KEEP_ENABLED (1 << 3) + /** Manual PLL control option mask for \ref USB_Init(). This indicates to the library that the user application * will take full responsibility for controlling the AVR's PLL (used to generate the high frequency clock * that the USB controller requires) and ensuring that it is locked at the correct frequency for USB operations. diff --git a/LUFA/Drivers/USB/Core/StdDescriptors.h b/LUFA/Drivers/USB/Core/StdDescriptors.h index d7f0ca349..d77acf4e3 100644 --- a/LUFA/Drivers/USB/Core/StdDescriptors.h +++ b/LUFA/Drivers/USB/Core/StdDescriptors.h @@ -85,17 +85,20 @@ */ #define USB_STRING_LEN(UnicodeChars) (sizeof(USB_Descriptor_Header_t) + ((UnicodeChars) << 1)) - /** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded - * Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the - * standard device descriptor. + /** Macro to encode a given major/minor/revision version number into Binary Coded Decimal format for descriptor + * fields requiring BCD encoding, such as the USB version number in the standard device descriptor. * * \note This value is automatically converted into Little Endian, suitable for direct use inside device * descriptors on all architectures without endianness conversion macros. * - * \param[in] x Version number to encode as a 16-bit little-endian number, as a floating point number. + * \param[in] Major Major version number to encode. + * \param[in] Minor Minor version number to encode. + * \param[in] Revision Revision version number to encode. */ - #define VERSION_BCD(x) CPU_TO_LE16((VERSION_TENS(x) << 12) | (VERSION_ONES(x) << 8) | \ - (VERSION_TENTHS(x) << 4) | (VERSION_HUNDREDTHS(x) << 0) ) + #define VERSION_BCD(Major, Minor, Revision) \ + CPU_TO_LE16( ((Major & 0xFF) << 8) | \ + ((Minor & 0x0F) << 4) | \ + (Revision & 0x0F) ) /** String language ID for the English language. Should be used in \ref USB_Descriptor_String_t descriptors * to indicate that the English language is supported by the device in its string descriptors. @@ -736,14 +739,6 @@ */ } ATTR_PACKED USB_StdDescriptor_String_t; - /* Private Interface - For use in library only: */ - #if !defined(__DOXYGEN__) - /* Macros: */ - #define VERSION_TENS(x) (int)((int)(x) / 10) - #define VERSION_ONES(x) (int)((int)(x) % 10) - #define VERSION_TENTHS(x) (int)((x - (int)x) * 10) - #define VERSION_HUNDREDTHS(x) (int)((x * 100) - ((int)(x * 10) * 10)) - #endif /* Disable C linkage for C++ Compilers: */ #if defined(__cplusplus) diff --git a/LUFA/StudioIntegration/lufa_drivers_board_names.xml b/LUFA/StudioIntegration/lufa_drivers_board_names.xml index d5e40e913..7499b2eeb 100644 --- a/LUFA/StudioIntegration/lufa_drivers_board_names.xml +++ b/LUFA/StudioIntegration/lufa_drivers_board_names.xml @@ -441,7 +441,10 @@ <module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525">
<build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/>
+ <device-support value="at90usb1287"/>
+ <device-support value="at90usb1286"/>
<device-support value="at90usb647"/>
+ <device-support value="at90usb646"/>
<build type="define" name="BOARD" value="BOARD_STK525"/>
<require idref="lufa.drivers.misc.at45db642d"/>
@@ -462,6 +465,10 @@ <build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/>
<device-support value="at90usb162"/>
+ <device-support value="at90usb82"/>
+ <device-support value="atmega32u2"/>
+ <device-support value="atmega16u2"/>
+ <device-support value="atmega8u2"/>
<build type="define" name="BOARD" value="BOARD_STK526"/>
<require idref="lufa.drivers.misc.at45db642d"/>
|