aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/CodeTemplates/DeviceTemplate/Descriptors.c4
-rw-r--r--LUFA/Doxygen.conf39
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt6
-rw-r--r--LUFA/DoxygenPages/FutureChanges.txt1
-rw-r--r--LUFA/DoxygenPages/LUFAPoweredProjects.txt5
-rw-r--r--LUFA/DoxygenPages/MigrationInformation.txt4
-rw-r--r--LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c3
-rw-r--r--LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h8
-rw-r--r--LUFA/Drivers/USB/Core/StdDescriptors.h23
-rw-r--r--LUFA/StudioIntegration/VSIX/LUFA.dllbin745984 -> 745984 bytes
-rw-r--r--LUFA/StudioIntegration/VSIX/extension.vsixmanifest2
-rw-r--r--LUFA/StudioIntegration/lufa_drivers_board_names.xml9
12 files changed, 73 insertions, 31 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/Doxygen.conf b/LUFA/Doxygen.conf
index dab7887f7..f90329370 100644
--- a/LUFA/Doxygen.conf
+++ b/LUFA/Doxygen.conf
@@ -1,4 +1,4 @@
-# Doxyfile 1.8.5
+# Doxyfile 1.8.6
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -73,12 +73,14 @@ CREATE_SUBDIRS = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-
-# Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Farsi,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en,
-# Korean, Korean-en, Latvian, Norwegian, Macedonian, Persian, Polish,
-# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
-# Turkish, Ukrainian and Vietnamese.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
@@ -510,6 +512,13 @@ HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
# files with double quotes in the documentation rather than with sharp brackets.
# The default value is: NO.
@@ -531,7 +540,8 @@ SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order.
+# name. If set to NO the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
# The default value is: NO.
SORT_BRIEF_DOCS = YES
@@ -2056,6 +2066,13 @@ CLASS_DIAGRAMS = NO
MSCGEN_PATH =
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH =
+
# If set to YES, the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
@@ -2256,6 +2273,12 @@ DOTFILE_DIRS =
MSCFILE_DIRS =
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS =
+
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
# larger than this value, doxygen will truncate the graph, which is visualized
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 7bd8b2997..01b5a5b10 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -10,14 +10,16 @@
* <b>New:</b>
* - 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 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)
+ * - Changed the VERSION_BCD() macro to accept the major/minor/revision values as separate parameters
*
* <b>Fixed:</b>
* - Core:
diff --git a/LUFA/DoxygenPages/FutureChanges.txt b/LUFA/DoxygenPages/FutureChanges.txt
index 18f572810..af1186374 100644
--- a/LUFA/DoxygenPages/FutureChanges.txt
+++ b/LUFA/DoxygenPages/FutureChanges.txt
@@ -24,6 +24,7 @@
* -# Make HOST_DEVICE_SETTLE_DELAY_MS a global variable that can be changed
* -# Add MANDATORY_EVENT_FUNCTIONS compile time option
* -# Add watchdog support to the library and apps/bootloaders
+ * -# Limit the maximum size of control transfers
* - Testing/Verification
* -# Re-run USBIF test suite on all classes to formally verify operation
* -# Implement automated functional testing of all demos
diff --git a/LUFA/DoxygenPages/LUFAPoweredProjects.txt b/LUFA/DoxygenPages/LUFAPoweredProjects.txt
index ff3b3f42f..2c13e6b4c 100644
--- a/LUFA/DoxygenPages/LUFAPoweredProjects.txt
+++ b/LUFA/DoxygenPages/LUFAPoweredProjects.txt
@@ -50,6 +50,7 @@
* \li Bluetooth Explorerbot: http://code.google.com/p/bluetooth-explorerbot/
* \li Bus Ninja, an AVR clone of the popular BusPirate project: http://blog.hodgepig.org/busninja/
* \li CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig
+ * \li ChameleonMini, a smart card emulator: https://github.com/skuep/ChameleonMini
* \li CD Driver Emulator Dongle for ISO Files: http://cdemu.blogspot.com/
* \li ChipWhisperer, a signal capture device: https://www.assembla.com/spaces/chipwhisperer/wiki/ChipWhisperer_Rev2_Capture_Hardware
* \li ClockTamer, a configurable clock generator: http://code.google.com/p/clock-tamer/
@@ -106,6 +107,7 @@
* \li Openkubus, an open source hardware-based authentication dongle: http://code.google.com/p/openkubus/
* \li Orbee, a USB connected RGB Orb for notifications: http://www.franksworkshop.com.au/Electronics/Orbee/Orbee.htm
* \li Password keyring: http://owlsan.blogspot.no/2013/06/keyring-project-version-10.html
+ * \li Picade alternative firmware, a retro Arcade controller/cabinet: https://github.com/rktrlng/picade_lufa
* \li PPM signal generator over USB: https://github.com/G33KatWork/USBPPM
* \li Programmable keyboard controller: http://41j.com/blog/2011/10/a-programmable-keyboard-controller/
* \li Programmable XBOX controller: http://richard-burke.dyndns.org/wordpress/pan-galactic-gargantuan-gargle-brain-aka-xbox-360-usb-controller/
@@ -114,7 +116,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
@@ -161,6 +162,7 @@
* \li Arduino Uno and Leonardo, official Arduino boards: http://www.arduino.cc
* \li ARPS Locator: http://la3t.hamradio.no/lab//?id=tracker_en
* \li AsTeRICS assistive technologies project, HID actuator: http://www.asterics.eu
+ * \li BitFury, a Bitcoin ASIC miner: https://github.com/aauer1/LUFA-BitFury/tree/master/Projects/BitfuryBTC
* \li Ceberus, a MadCatz Xbox 360 arcade stick modifier: http://www.phreakmods.com/products/cerberus
* \li CFFA3000, a CompactFlash interface for the Apple II: http://www.dreher.net/CFforAppleII
* \li Digital Survey Instruments Magnetometer and Pointer: http://www.digitalsurveyinstruments.com/
@@ -172,6 +174,7 @@
* \li PhatIO, a filesystem based I/O interface: http://www.phatio.com/
* \li PIR-1, an IR control interface for consumer electronics: http://www.promixis.com/pir-1.php
* \li PIR-4, a USB Connected 4 port IR transmitter: http://promixis.com/pir-4.php
+ * \li PortPilot, a USB device charger with power meter: http://portpilot.net/
* \li KeyGlove, an alternative input system: http://www.keyglove.net/
* \li Many of Busware's Products: http://www.busware.de/
* \li MIDIFighter, a USB-MIDI controller: http://www.midifighter.com/
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/VSIX/LUFA.dll b/LUFA/StudioIntegration/VSIX/LUFA.dll
index 6f749c2c2..9ed4d9040 100644
--- a/LUFA/StudioIntegration/VSIX/LUFA.dll
+++ b/LUFA/StudioIntegration/VSIX/LUFA.dll
Binary files differ
diff --git a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
index 87d4ecc18..afe6a70ec 100644
--- a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
+++ b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
@@ -6,7 +6,7 @@
<Author>Dean Camera</Author>
<Version>0</Version>
<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
- <Description xml:space="preserve">LUFA USB Framework</Description>
+ <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
<License>License.txt</License>
<Icon>LUFA_thumb.png</Icon>
diff --git a/LUFA/StudioIntegration/lufa_drivers_board_names.xml b/LUFA/StudioIntegration/lufa_drivers_board_names.xml
index d5e40e913..949ca5711 100644
--- a/LUFA/StudioIntegration/lufa_drivers_board_names.xml
+++ b/LUFA/StudioIntegration/lufa_drivers_board_names.xml
@@ -441,10 +441,13 @@
<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"/>
+ <require idref="lufa.drivers.misc.at45db321c"/>
<require idref="lufa.drivers.peripheral.spi"/>
<require idref="lufa.drivers.board.buttons"/>
<require idref="lufa.drivers.board.dataflash"/>
@@ -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"/>