Spell checked non-source documentation pages.

pull/1469/head
Dean Camera 16 years ago
parent 663f449c10
commit 619b0b7b6b

@ -44,9 +44,9 @@
* As an open-source option, this bootloader is also compatible with the Linux Atmel USB DFU Programmer * As an open-source option, this bootloader is also compatible with the Linux Atmel USB DFU Programmer
* software, available for download at http://sourceforge.net/projects/dfu-programmer/. * software, available for download at http://sourceforge.net/projects/dfu-programmer/.
* *
* If SECURE_MODE is defined as true, upon startup the bootloader will be locked, with only the chip erase * If SECURE_MODE is defined as true, upon start-up the bootloader will be locked, with only the chip erase
* function available (similar to Atmel's DFU bootloader). If SECURE_MODE is defined as false, all functions * function available (similar to Atmel's DFU bootloader). If SECURE_MODE is defined as false, all functions
* are usable on startup without the prerequisite firmware erase. * are usable on start-up without the prerequisite firmware erase.
* *
* Out of the box this bootloader builds for the USB1287, and should fit into 4KB of bootloader space. If * Out of the box this bootloader builds for the USB1287, and should fit into 4KB of bootloader space. If
* you wish to enlarge this space and/or change the AVR model, you will need to edit the BOOT_START and MCU * you wish to enlarge this space and/or change the AVR model, you will need to edit the BOOT_START and MCU
@ -69,8 +69,8 @@
* <tr> * <tr>
* <td>SECURE_MODE</td> * <td>SECURE_MODE</td>
* <td>BootloaderDFU.h</td> * <td>BootloaderDFU.h</td>
* <td>If defined to true, the bootloader will not accept any memory commands other than a chip erase on statup, until an * <td>If defined to true, the bootloader will not accept any memory commands other than a chip erase on start-up, until an
* erase has been perfomed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from * erase has been performed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from
* being dumped by unauthorized persons.</td> * being dumped by unauthorized persons.</td>
* </tr> * </tr>
* <tr> * <tr>
@ -81,4 +81,4 @@
* manually in the makefile CDEFS.</td> * manually in the makefile CDEFS.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -42,7 +42,7 @@
* *
* Out of the box this bootloader builds for the USB162, and will fit into 2KB of bootloader space. * Out of the box this bootloader builds for the USB162, and will fit into 2KB of bootloader space.
* *
* This spoofs (with permission) the offical Teensy bootloader's VID and PID, so that the software remains * This spoofs (with permission) the official Teensy bootloader's VID and PID, so that the software remains
* compatible with no changes. * compatible with no changes.
* *
* \section SSec_Options Project Options * \section SSec_Options Project Options
@ -56,4 +56,4 @@
* </td> * </td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -42,8 +42,8 @@
* basic USB Audio drivers in all modern OSes (i.e. no special drivers * basic USB Audio drivers in all modern OSes (i.e. no special drivers
* required). * required).
* *
* On startup the system will automatically enumerate and function * On start-up the system will automatically enumerate and function
* as a USB microphone. Incomming audio from the ADC channel 1 will * as a USB microphone. Incoming audio from the ADC channel 1 will
* be sampled and sent to the host computer. * be sampled and sent to the host computer.
* *
* To use, connect a microphone to the ADC channel 2. * To use, connect a microphone to the ADC channel 2.
@ -72,4 +72,4 @@
* <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td> * <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -42,8 +42,8 @@
* basic USB Audio drivers in all modern OSes (i.e. no special drivers * basic USB Audio drivers in all modern OSes (i.e. no special drivers
* required). * required).
* *
* On startup the system will automatically enumerate and function * On start-up the system will automatically enumerate and function
* as a USB speaker. Incomming audio will output in 8-bit PWM onto * as a USB speaker. Incoming audio will output in 8-bit PWM onto
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for * the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO * the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs * mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs
@ -90,4 +90,4 @@
* <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td> * <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -40,7 +40,7 @@
* OSes (i.e. no special drivers required). It accepts and sends up to 255 byte reports to * OSes (i.e. no special drivers required). It accepts and sends up to 255 byte reports to
* and from a USB Host, and by default transmits the last sent report back to the host. * and from a USB Host, and by default transmits the last sent report back to the host.
* *
* On startup the system will automatically enumerate and function as a vendor HID device. * On start-up the system will automatically enumerate and function as a vendor HID device.
* When controlled by a custom HID class application, reports can be sent and received by * When controlled by a custom HID class application, reports can be sent and received by
* both the standard data endpoint and control request methods defined in the HID specification. * both the standard data endpoint and control request methods defined in the HID specification.
* *
@ -71,8 +71,8 @@
* <td>INTERRUPT_DATA_ENDPOINT</td> * <td>INTERRUPT_DATA_ENDPOINT</td>
* <td>Makefile CDEFS</td> * <td>Makefile CDEFS</td>
* <td>When defined, this causes the demo to enable interrupts for the data endpoints, * <td>When defined, this causes the demo to enable interrupts for the data endpoints,
* which services incomming LED reports and outgoing key status reports to and from the host. * which services incoming LED reports and outgoing key status reports to and from the host.
* If not defined, the data endpoints are serviced via polling using the task scheduler.</td> * If not defined, the data endpoints are serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -40,11 +40,11 @@
* OSes (i.e. no special drivers required). It is boot protocol compatible, and thus * OSes (i.e. no special drivers required). It is boot protocol compatible, and thus
* works under compatible BIOS as if it was a native keyboard (e.g. PS/2). * works under compatible BIOS as if it was a native keyboard (e.g. PS/2).
* *
* On startup the system will automatically enumerate and function * On start-up the system will automatically enumerate and function
* as a keyboard when the USB connection to a host is present. To use * as a keyboard when the USB connection to a host is present. To use
* the keyboard example, manipulate the joystick to send the letters * the keyboard example, manipulate the joystick to send the letters
* a, b, c, d and e. See the USB HID documentation for more information * a, b, c, d and e. See the USB HID documentation for more information
* on sending keyboard event and keypresses. * on sending keyboard event and key presses.
* *
* \section SSec_Options Project Options * \section SSec_Options Project Options
* *
@ -67,8 +67,8 @@
* <td>INTERRUPT_DATA_ENDPOINT</td> * <td>INTERRUPT_DATA_ENDPOINT</td>
* <td>Makefile CDEFS</td> * <td>Makefile CDEFS</td>
* <td>When defined, this causes the demo to enable interrupts for the data endpoints, * <td>When defined, this causes the demo to enable interrupts for the data endpoints,
* which services incomming LED reports and outgoing key status reports to and from the host. * which services incoming LED reports and outgoing key status reports to and from the host.
* If not defined, the data endpoints are serviced via polling using the task scheduler.</td> * If not defined, the data endpoints are serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -38,15 +38,15 @@
* Keyboard/Mouse demonstration application. This gives a simple reference * Keyboard/Mouse demonstration application. This gives a simple reference
* application for implementing a composite device containing both USB Keyboard * application for implementing a composite device containing both USB Keyboard
* and USB Mouse functionality using the basic USB HID drivers in all modern OSes * and USB Mouse functionality using the basic USB HID drivers in all modern OSes
* (i.e. no special drivers required). This example uses two seperate HID * (i.e. no special drivers required). This example uses two separate HID
* interfaces for each function. It is boot protocol compatible, and thus works under * interfaces for each function. It is boot protocol compatible, and thus works under
* compatible BIOS as if it was a native keyboard and mouse (e.g. PS/2). * compatible BIOS as if it was a native keyboard and mouse (e.g. PS/2).
* *
* On startup the system will automatically enumerate and function * On start-up the system will automatically enumerate and function
* as a keyboard when the USB connection to a host is present and the HWB is not * as a keyboard when the USB connection to a host is present and the HWB is not
* pressed. When enabled, manipulate the joystick to send the letters * pressed. When enabled, manipulate the joystick to send the letters
* a, b, c, d and e. See the USB HID documentation for more information * a, b, c, d and e. See the USB HID documentation for more information
* on sending keyboard event and keypresses. * on sending keyboard event and key presses.
* *
* When the HWB is pressed, the mouse mode is enabled. When enabled, move the * When the HWB is pressed, the mouse mode is enabled. When enabled, move the
* joystick to move the pointer, and push the joystick inwards to simulate a * joystick to move the pointer, and push the joystick inwards to simulate a
@ -63,4 +63,4 @@
* </td> * </td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -26,7 +26,7 @@
* <tr> * <tr>
* <td><b>Relevant Standards:</b></td> * <td><b>Relevant Standards:</b></td>
* <td>USBIF Audio Class Specification</td> * <td>USBIF Audio Class Specification</td>
* <td>USB-MIDI Audio Class Extention Specification</td> * <td>USB-MIDI Audio Class Extension Specification</td>
* <td>General MIDI Specification</td> * <td>General MIDI Specification</td>
* </tr> * </tr>
* <tr> * <tr>
@ -62,4 +62,4 @@
* </td> * </td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -43,8 +43,8 @@
* device using the basic USB UFI drivers in all modern OSes (i.e. no * device using the basic USB UFI drivers in all modern OSes (i.e. no
* special drivers required). * special drivers required).
* *
* On startup the system will automatically enumerate and function as an * On start-up the system will automatically enumerate and function as an
* external mass storage device with two LUNs (seperate disks) which may * external mass storage device with two LUNs (separate disks) which may
* be formatted and used in the same manner as commercial USB Mass Storage * be formatted and used in the same manner as commercial USB Mass Storage
* devices. * devices.
* *
@ -75,4 +75,4 @@
* - this can be set to any positive non-zero amount.</td> * - this can be set to any positive non-zero amount.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -41,7 +41,7 @@
* boot protocol compatible, and thus works under compatible BIOS as if * boot protocol compatible, and thus works under compatible BIOS as if
* it was a native mouse (e.g. PS/2). * it was a native mouse (e.g. PS/2).
* *
* On startup the system will automatically enumerate and function * On start-up the system will automatically enumerate and function
* as a mouse when the USB connection to a host is present. To use * as a mouse when the USB connection to a host is present. To use
* the mouse, move the joystick to move the pointer, and push the * the mouse, move the joystick to move the pointer, and push the
* joystick inwards to simulate a left-button click. The HWB serves as * joystick inwards to simulate a left-button click. The HWB serves as
@ -72,4 +72,4 @@
* the data endpoint is serviced via polling using the task scheduler.</td> * the data endpoint is serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -42,8 +42,8 @@
* *
* Not that this demo is only compatible with devices which report the correct CDC * Not that this demo is only compatible with devices which report the correct CDC
* and ACM class, subclass and protocol values. Most USB-Serial cables have vendor * and ACM class, subclass and protocol values. Most USB-Serial cables have vendor
* specific features, thus use vendor-specfic class/subclass/protocol codes to force * specific features, thus use vendor-specific class/subclass/protocol codes to force
* the user to use specialized drivers. This demo is not compaible with such devices. * the user to use specialized drivers. This demo is not compatible with such devices.
* *
* \section SSec_Options Project Options * \section SSec_Options Project Options
* *
@ -56,4 +56,4 @@
* </td> * </td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -36,7 +36,7 @@
* \section SSec_Description Project Description: * \section SSec_Description Project Description:
* *
* Generic HID host demonstration application. This gives a simple reference * Generic HID host demonstration application. This gives a simple reference
* application for implementing a Genric HID USB host, for any device implementing * application for implementing a Generic HID USB host, for any device implementing
* the HID profile. * the HID profile.
* *
* Received reports from the attached device are printed to the serial port. * Received reports from the attached device are printed to the serial port.
@ -59,4 +59,4 @@
* serviced via polling using the task scheduler.</td> * serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -45,7 +45,7 @@
* This uses a naive method where the keyboard is set to Boot Protocol mode, so * This uses a naive method where the keyboard is set to Boot Protocol mode, so
* that the report structure is fixed and known. A better implementation * that the report structure is fixed and known. A better implementation
* uses the HID report parser for correct report data processing across * uses the HID report parser for correct report data processing across
* all compatable mice with advanced characteristics, as shown in the * all compatible mice with advanced characteristics, as shown in the
* KeyboardHostWithParser demo application. * KeyboardHostWithParser demo application.
* *
* Currently only single interface keyboards are supported. * Currently only single interface keyboards are supported.
@ -68,4 +68,4 @@
* serviced via polling using the task scheduler.</td> * serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -46,7 +46,7 @@
* This uses a naive method where the mouse is set to Boot Protocol mode, so * This uses a naive method where the mouse is set to Boot Protocol mode, so
* that the report structure is fixed and known. A better implementation * that the report structure is fixed and known. A better implementation
* uses the HID report parser for correct report data processing across * uses the HID report parser for correct report data processing across
* all compatable mice with advanced characteristics, as shown in the * all compatible mice with advanced characteristics, as shown in the
* MouseHostWithParser demo application. * MouseHostWithParser demo application.
* *
* Currently only single interface mice are supported. * Currently only single interface mice are supported.
@ -69,4 +69,4 @@
* serviced via polling using the task scheduler.</td> * serviced via polling using the task scheduler.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -261,14 +261,14 @@ bool SImage_IsEventReceived(void)
* *
* \return A value from the USB_Host_SendControlErrorCodes_t enum * \return A value from the USB_Host_SendControlErrorCodes_t enum
*/ */
uint8_t SImage_ClearPipeStall(const uint8_t PipeEndpointNum) uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum)
{ {
USB_HostRequest = (USB_Host_Request_Header_t) USB_HostRequest = (USB_Host_Request_Header_t)
{ {
bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT), bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),
bRequest: REQ_ClearFeature, bRequest: REQ_ClearFeature,
wValue: FEATURE_ENDPOINT_HALT, wValue: FEATURE_ENDPOINT_HALT,
wIndex: PipeEndpointNum, wIndex: EndpointNum,
wLength: 0, wLength: 0,
}; };

@ -105,6 +105,6 @@
void SImage_SendData(void* Buffer, uint16_t Bytes); void SImage_SendData(void* Buffer, uint16_t Bytes);
uint8_t SImage_ReadData(void* Buffer, uint16_t Bytes); uint8_t SImage_ReadData(void* Buffer, uint16_t Bytes);
bool SImage_IsEventReceived(void); bool SImage_IsEventReceived(void);
uint8_t SImage_ClearPipeStall(const uint8_t PipeEndpointNum); uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum);
#endif #endif

@ -417,7 +417,7 @@ void UpdateStatus(uint8_t CurrentStatus)
/** Displays a PIMA command error via the device's serial port. /** Displays a PIMA command error via the device's serial port.
* *
* \param ErrorCode Error code of the function which failed to complete successfully * \param ErrorCode Error code of the function which failed to complete successfully
* \param ResponseErrorCode Indicates if the error is due to a command failed indication from the device, or a communication failure * \param ResponseCodeError Indicates if the error is due to a command failed indication from the device, or a communication failure
*/ */
void ShowCommandError(uint8_t ErrorCode, bool ResponseCodeError) void ShowCommandError(uint8_t ErrorCode, bool ResponseCodeError)
{ {

@ -36,7 +36,7 @@
* \section SSec_Description Project Description: * \section SSec_Description Project Description:
* *
* Test application. Demonstrates several aspects of the LUFA * Test application. Demonstrates several aspects of the LUFA
* Library. On startup the current temperature will be printed * Library. On start-up the current temperature will be printed
* through the USART every 10 seconds, and the current joystick * through the USART every 10 seconds, and the current joystick
* position will be indicated via the LEDs on the selected board. * position will be indicated via the LEDs on the selected board.
* Pressing the HWB will initiate the USB subsystem, enumerating * Pressing the HWB will initiate the USB subsystem, enumerating
@ -66,4 +66,4 @@
* </td> * </td>
* </tr> * </tr>
* </table> * </table>
*/ */

@ -24,7 +24,7 @@
* code without having to be itself patched and recompiled first * code without having to be itself patched and recompiled first
* - Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to * - Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to
* outdated avr-libc versions. * outdated avr-libc versions.
* - Added support to the CDCHost demo for devices with mutiple CDC interfaces which are not the correct ACM type preceeding the desired * - Added support to the CDCHost demo for devices with multiple CDC interfaces which are not the correct ACM type preceding the desired
* ACM CDC interface * ACM CDC interface
* - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen) * - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen)
* - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan Oakley) * - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan Oakley)
@ -53,7 +53,7 @@
* device descriptor * device descriptor
* - Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name * - Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name
* - Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman) * - Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman)
* - Capitolised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and * - Capitalised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and
* DSearch_Comp_Return_ErrorCodes_t enums * DSearch_Comp_Return_ErrorCodes_t enums
* *
* *
@ -63,7 +63,7 @@
* - Incorporated makefile changes by Denver Gingerich to retain compatibility with stock (non-WinAVR) AVR-GCC installations * - Incorporated makefile changes by Denver Gingerich to retain compatibility with stock (non-WinAVR) AVR-GCC installations
* - Fixed makefile EEPROM programming targets programming FLASH data in addition to EEPROM data * - Fixed makefile EEPROM programming targets programming FLASH data in addition to EEPROM data
* - LUFA devices now enumerate correctly with LUFA hosts * - LUFA devices now enumerate correctly with LUFA hosts
* - Fixed Configuration Descriptor search routine freezing when a comparitor returned a failure * - Fixed Configuration Descriptor search routine freezing when a comparator returned a failure
* - Removed HID report item serial dump in the MouseHostWithParser and KeyboardHostWithParser - useful only for debugging, and * - Removed HID report item serial dump in the MouseHostWithParser and KeyboardHostWithParser - useful only for debugging, and
* slowed down the enumeration of HID devices too much * slowed down the enumeration of HID devices too much
* - Increased the number of bits per track which can be read in the MagStripe project to 8192 when compiled for the AT90USBXXX6/7 * - Increased the number of bits per track which can be read in the MagStripe project to 8192 when compiled for the AT90USBXXX6/7
@ -91,7 +91,7 @@
* - Keyboard and Mouse device demos (normal, data interrupt and fully interrupt driven) combined into unified keyboard and mouse demos * - Keyboard and Mouse device demos (normal, data interrupt and fully interrupt driven) combined into unified keyboard and mouse demos
* - Keyboard and Mouse host demos (normal and data interrupt driven) combined into unified keyboard and mouse demos * - Keyboard and Mouse host demos (normal and data interrupt driven) combined into unified keyboard and mouse demos
* - Removed AVRISP_Programmer project due to code quality concerns * - Removed AVRISP_Programmer project due to code quality concerns
* - Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incomming data * - Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incoming data
* - Fixed documentation typos and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg) * - Fixed documentation typos and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg)
* - Fixed USBTask.h not conditionally including HostChapter9.h only when USB_CAN_BE_HOST is defined (thanks to Ian Gregg) * - Fixed USBTask.h not conditionally including HostChapter9.h only when USB_CAN_BE_HOST is defined (thanks to Ian Gregg)
* - Fixed incorrect ADC driver init register manipulation (thanks to Tobias) * - Fixed incorrect ADC driver init register manipulation (thanks to Tobias)
@ -133,7 +133,7 @@
* - Added SetProtocol request to HID class non-parser Mouse and Keyboard demos to force devices to use the correct Boot Protocol * - Added SetProtocol request to HID class non-parser Mouse and Keyboard demos to force devices to use the correct Boot Protocol
* - Added new "dfu" and "flip" programming targets to project makefiles * - Added new "dfu" and "flip" programming targets to project makefiles
* - HID_PARSE_Sucessful enum member typo corrected to HID_PARSE_Successful * - HID_PARSE_Sucessful enum member typo corrected to HID_PARSE_Successful
* - Changed COLLECTION item strucutres in the HID descriptor parser to include the collection's Usage Page value * - Changed COLLECTION item structures in the HID descriptor parser to include the collection's Usage Page value
* - Serial driver now sets Tx line as output, enables pullup on Rx line * - Serial driver now sets Tx line as output, enables pullup on Rx line
* - Fixed smaller USB AVRs raising multiple connection and disconnection events when NO_LIMITED_CONTROLLER_CONNECT is disabled * - Fixed smaller USB AVRs raising multiple connection and disconnection events when NO_LIMITED_CONTROLLER_CONNECT is disabled
* - Added HOST_DEVICE_SETTLE_DELAY_MS to give the host delay after a device is connected before it is enumerated * - Added HOST_DEVICE_SETTLE_DELAY_MS to give the host delay after a device is connected before it is enumerated
@ -189,7 +189,7 @@
* easily be altered to show different LED combinations (or do something else entirely) as the demo's status changes * easily be altered to show different LED combinations (or do something else entirely) as the demo's status changes
* - Removed LED commands from the CDC bootloader, unused by most AVR910 programming software * - Removed LED commands from the CDC bootloader, unused by most AVR910 programming software
* - Fixed RNDIS demo ICMP ping requests echoing back incorrect data * - Fixed RNDIS demo ICMP ping requests echoing back incorrect data
* - Added DHCP server code to RNDIS demo, allowing for hands-free autoconfiguration on any PC * - Added DHCP server code to RNDIS demo, allowing for hands-free auto configuration on any PC
* - Fixed DFU bootloader PID value for the ATMEGA16U4 AVR * - Fixed DFU bootloader PID value for the ATMEGA16U4 AVR
* - Endpoint and Pipe configuration functions now return an error code indicating success or failure * - Endpoint and Pipe configuration functions now return an error code indicating success or failure
* - USB Reset in device mode now resets and disables all device endpoints * - USB Reset in device mode now resets and disables all device endpoints
@ -197,7 +197,7 @@
* invocation when in host mode * invocation when in host mode
* - Added support for the ATMEGA32U6 microcontroller * - Added support for the ATMEGA32U6 microcontroller
* - Added STATIC_ENDPOINT_CONFIGURATION compile time option, enabled in the bootloaders to minimize space usage * - Added STATIC_ENDPOINT_CONFIGURATION compile time option, enabled in the bootloaders to minimize space usage
* - Removed redudant code from the USB device GetStatus() chapter 9 processing routine * - Removed redundant code from the USB device GetStatus() chapter 9 processing routine
* - Added new TeensyHID bootloader, compatible with the Teensy HID protocol (http://www.pjrc.com/teensy/) * - Added new TeensyHID bootloader, compatible with the Teensy HID protocol (http://www.pjrc.com/teensy/)
* - Versions are now numbered by release dates, rather than arbitrary major/minor revision numbers * - Versions are now numbered by release dates, rather than arbitrary major/minor revision numbers
* - USB_RemoteWakeupEnabled is now correctly set and cleared by SetFeature and ClearFeature requests from the host * - USB_RemoteWakeupEnabled is now correctly set and cleared by SetFeature and ClearFeature requests from the host
@ -211,7 +211,7 @@
* - Updated all Mouse and Keyboard device demos to include boot protocol support (now works in BIOS) * - Updated all Mouse and Keyboard device demos to include boot protocol support (now works in BIOS)
* - Renamed bootloader directories to remove spaces, which were causing build problems on several OSes * - Renamed bootloader directories to remove spaces, which were causing build problems on several OSes
* - Removed serial number strings from all but the MassStore demo where it is required - users were not * - Removed serial number strings from all but the MassStore demo where it is required - users were not
* modifing the code to either ommit the descriptor or use a unique serial per device causing problems * modifying the code to either omit the descriptor or use a unique serial per device causing problems
* when multiple units of the same device were plugged in at the same time * when multiple units of the same device were plugged in at the same time
* - AudioOutput and AudioInput demos now correctly silence endpoints when not enabled by the host * - AudioOutput and AudioInput demos now correctly silence endpoints when not enabled by the host
* - Added KeyboardMouse demo (Keyboard and Mouse functionality combined into a single demo) * - Added KeyboardMouse demo (Keyboard and Mouse functionality combined into a single demo)
@ -289,7 +289,7 @@
* - Endpoint and Pipe creation routines now mask endpoint/pipe size with the size mask, to remove transaction * - Endpoint and Pipe creation routines now mask endpoint/pipe size with the size mask, to remove transaction
* size bits not required for the routines (improves compatibility with devices) * size bits not required for the routines (improves compatibility with devices)
* - Fixed AudioInput demo - now correctly sends sampled audio to the host PC * - Fixed AudioInput demo - now correctly sends sampled audio to the host PC
* - Fixed AudioOutput demo oncemore -- apparently Windows requires endpoint packets to be >=192 bytes * - Fixed AudioOutput demo once more -- apparently Windows requires endpoint packets to be >=192 bytes
* - Shrunk round-robbin scheduler code slightly via the use of struct pointers rather than array indexes * - Shrunk round-robbin scheduler code slightly via the use of struct pointers rather than array indexes
* - Fixed off-by-one error when determining if the Usage Stack is full inside the HID Report parser * - Fixed off-by-one error when determining if the Usage Stack is full inside the HID Report parser
* - Renamed Magstripe.h to MagstripeHW.h and moved driver out of the library and into the MagStripe demo folder * - Renamed Magstripe.h to MagstripeHW.h and moved driver out of the library and into the MagStripe demo folder
@ -298,25 +298,25 @@
* - The USB device task now restores the previously selected endpoint, allowing control requests to be transparently * - The USB device task now restores the previously selected endpoint, allowing control requests to be transparently
* handled via interrupts while other endpoints are serviced through polling * handled via interrupts while other endpoints are serviced through polling
* - Fixed device signature being sent in reverse order in the CDC bootloader * - Fixed device signature being sent in reverse order in the CDC bootloader
* - Host demos now have a seperate ConfigDescriptor.c/.h file for configuration descriptor processing * - Host demos now have a separate ConfigDescriptor.c/.h file for configuration descriptor processing
* - HostWithParser demos now have a seperate HIDReport.c/.h file for HID report processing and dumping * - HostWithParser demos now have a separate HIDReport.c/.h file for HID report processing and dumping
* - Removed non-mandatory commands from MassStorage demo to save space, fixed SENSE ResponseCode value * - Removed non-mandatory commands from MassStorage demo to save space, fixed SENSE ResponseCode value
* - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host * - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host
* - Updated demo descriptors to use VID/PID values donated by Atmel * - Updated demo descriptors to use VID/PID values donated by Atmel
* - Added DoxyGen documentation to the source files * - Added DoxyGen documentation to the source files
* - Fixed Serial_IsCharRecieved() definition, was previously reversed * - Fixed Serial_IsCharRecieved() definition, was previously reversed
* - Removed seperate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead * - Removed separate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead
* - Removed unused Device Qualifier descriptor structure * - Removed unused Device Qualifier descriptor structure
* - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged * - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged
* - Fixed MassStorageHost demo reading in the block data in reverse * - Fixed MassStorageHost demo reading in the block data in reverse
* - Removed outdated typedefs in StdRequestType.h, superceeded by the macro masks * - Removed outdated typedefs in StdRequestType.h, superseded by the macro masks
* - Corrected OTG.h is now included when the AVR supports both Host and Device modes, for creating OTG products * - Corrected OTG.h is now included when the AVR supports both Host and Device modes, for creating OTG products
* - USB_DeviceEnumerationComplete event is now also fired when in device mode and the host has finished its enumeration * - USB_DeviceEnumerationComplete event is now also fired when in device mode and the host has finished its enumeration
* - Interrupt driven demos now properly restore previously selected endpoint when ISR is complete * - Interrupt driven demos now properly restore previously selected endpoint when ISR is complete
* - USB_HOST_TIMEOUT_MS is now overridable in the user project makefile to a custom fixed timeout value * - USB_HOST_TIMEOUT_MS is now overridable in the user project makefile to a custom fixed timeout value
* - Renamed USB_Host_SOFGeneration_* macros to more friendly USB_Host_SuspendBus(), USB_Host_ResumeBus() * - Renamed USB_Host_SOFGeneration_* macros to more friendly USB_Host_SuspendBus(), USB_Host_ResumeBus()
* and USB_Host_IsBusSuspended() * and USB_Host_IsBusSuspended()
* - Renamed *_*_Is* macros to *_Is* to make all flag checking macros consistant, Pipe_SetInterruptFreq() is now * - Renamed *_*_Is* macros to *_Is* to make all flag checking macros consistent, Pipe_SetInterruptFreq() is now
* Pipe_SetInterruptPeriod() to use the correct terminology * Pipe_SetInterruptPeriod() to use the correct terminology
* - UnicodeString member of USB_Descriptor_String_t struct changed to an ordinary int array type, so that the GCC * - UnicodeString member of USB_Descriptor_String_t struct changed to an ordinary int array type, so that the GCC
* Unicode strings (prefixed with an L before the opening quotation mark) can be used instead of explicit arrays * Unicode strings (prefixed with an L before the opening quotation mark) can be used instead of explicit arrays
@ -361,7 +361,7 @@
* new comparator API * new comparator API
* - Fixed MassStorageHost demo capacity printout, and changed data read/write mode from little-endian to the correct * - Fixed MassStorageHost demo capacity printout, and changed data read/write mode from little-endian to the correct
* big-endian for SCSI devices * big-endian for SCSI devices
* - Fixed macro/function naming consistancy; USB_HOST is now USB_Host, USB_DEV is now USB_Device * - Fixed macro/function naming consistency; USB_HOST is now USB_Host, USB_DEV is now USB_Device
* - Added better error reporting to host demos * - Added better error reporting to host demos
* - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls * - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls
* *
@ -374,7 +374,7 @@
* GetLineCoding request had an incorrect RequestType mask preventing it from being processed * GetLineCoding request had an incorrect RequestType mask preventing it from being processed
* - Improved reliability of the USBtoSerial demo, adding a busy wait while the buffer is full * - Improved reliability of the USBtoSerial demo, adding a busy wait while the buffer is full
* - Device control endpoint size is now determined from the device's descriptors rather than being fixed * - Device control endpoint size is now determined from the device's descriptors rather than being fixed
* - Seperated out SPI code into new SPI driver in AT90USBXXX driver directory * - Separated out SPI code into new SPI driver in AT90USBXXX driver directory
* - Bootloader now returns correct PID for the selected USB AVR model, not just the AT90USB128X PID * - Bootloader now returns correct PID for the selected USB AVR model, not just the AT90USB128X PID
* - Added support for the RZUSBSTICK board * - Added support for the RZUSBSTICK board
* - Bicolour driver removed in favour of generic LEDs driver * - Bicolour driver removed in favour of generic LEDs driver
@ -412,7 +412,7 @@
* *
* \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008 * \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008
* *
* - Unneccesary control endpoint config removed from device mode * - Unnecessary control endpoint config removed from device mode
* - Fixed device standard request interpreter accidentally processing some class-specific requests * - Fixed device standard request interpreter accidentally processing some class-specific requests
* - Added USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS compile time options to instruct the library * - Added USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS compile time options to instruct the library
* to use descriptors stored in RAM or EEPROM rather than flash memory * to use descriptors stored in RAM or EEPROM rather than flash memory
@ -431,7 +431,7 @@
* - Added support for the STK525 and STK526 boards * - Added support for the STK525 and STK526 boards
* - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and * - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and
* placing board drivers in {Application Directory}/Board/ * placing board drivers in {Application Directory}/Board/
* - PLL is now stopped and USB clock is frozen when detatched from host in device mode, to save power * - PLL is now stopped and USB clock is frozen when detached from host in device mode, to save power
* - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY * - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY
* - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register * - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register
* - Fixed data transfers to devices when in host mode * - Fixed data transfers to devices when in host mode
@ -479,4 +479,4 @@
* - Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile * - Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile
* - Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and * - Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and
* Endpoint_IsConfigured() after calling the config functions to determine success * Endpoint_IsConfigured() after calling the config functions to determine success
*/ */

@ -21,11 +21,11 @@
* the source code at compile time. * the source code at compile time.
* *
* <b>NUM_BLOCKS</b> - ( \ref Group_MemoryAllocator ) \n * <b>NUM_BLOCKS</b> - ( \ref Group_MemoryAllocator ) \n
* Sets the number of allocable blocks in the psudo-heap of the dynamic memory allocation driver. This should be * Sets the number of allocable blocks in the pseudo-heap of the dynamic memory allocation driver. This should be
* defined as a constant larger than zero. * defined as a constant larger than zero.
* *
* <b>BLOCK_SIZE</b> - ( \ref Group_MemoryAllocator ) \n * <b>BLOCK_SIZE</b> - ( \ref Group_MemoryAllocator ) \n
* Sets the size of each allocable block in the psudo-heap of the dynamic memory allocation driver. This should be * Sets the size of each allocable block in the pseudo-heap of the dynamic memory allocation driver. This should be
* defined as a constant larger than zero. * defined as a constant larger than zero.
* *
* <b>NUM_HANDLES</b> - ( \ref Group_MemoryAllocator ) \n * <b>NUM_HANDLES</b> - ( \ref Group_MemoryAllocator ) \n
@ -42,7 +42,7 @@
* skipped when processing a device HID report. * skipped when processing a device HID report.
* *
* <b>HID_INCLUDE_CONSTANT_DATA_ITEMS</b> - ( \ref Group_HIDParser ) \n * <b>HID_INCLUDE_CONSTANT_DATA_ITEMS</b> - ( \ref Group_HIDParser ) \n
* By default, constant data items (usually used as spacers to align seperate report items to a byte or word boundary) * By default, constant data items (usually used as spacers to align separate report items to a byte or word boundary)
* in the HID report are skipped during report processing. It is highly unusual for an application to make any use of * in the HID report are skipped during report processing. It is highly unusual for an application to make any use of
* constant data items (as they do not carry any useful data and only occupy limited RAM) however if required defining * constant data items (as they do not carry any useful data and only occupy limited RAM) however if required defining
* this switch will put constant data items into the processed HID report structure. * this switch will put constant data items into the processed HID report structure.
@ -57,12 +57,12 @@
* HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession * HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession
* when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with * when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with
* different usages in a compact manner. This token may be defined to a non-zero value to set the maximum depth of the * different usages in a compact manner. This token may be defined to a non-zero value to set the maximum depth of the
* usage stack, indicating the maximum number of USAGE items which can be stored tempoarily until the next INPUT, OUTPUT * usage stack, indicating the maximum number of USAGE items which can be stored temporarily until the next INPUT, OUTPUT
* and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation. * and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation.
* *
* <b>HID_MAX_COLLECTIONS</b> - ( \ref Group_HIDParser ) \n * <b>HID_MAX_COLLECTIONS</b> - ( \ref Group_HIDParser ) \n
* HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information * HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information
* is stored seperately in the processed usage structure (and referred to by the data elements in the structure) to save space. * is stored separately in the processed usage structure (and referred to by the data elements in the structure) to save space.
* This token may be defined to a non-zero value to set the maximum number of COLLECTION items which can be processed by the * This token may be defined to a non-zero value to set the maximum number of COLLECTION items which can be processed by the
* parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file * parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file
* documentation. * documentation.
@ -71,8 +71,8 @@
* All HID reports contain one or more INPUT, OUTPUT and/or FEATURE items describing the data which can be sent to and from the HID * All HID reports contain one or more INPUT, OUTPUT and/or FEATURE items describing the data which can be sent to and from the HID
* device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which * device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which
* the report data should be interpreted by the host. This token may be defined to a non-zero value to set the maximum number of * the report data should be interpreted by the host. This token may be defined to a non-zero value to set the maximum number of
* data elements which can be stored in the processed HID report strucuture, including INPUT, OUTPUT and (if enabled) FEATURE items. * data elements which can be stored in the processed HID report structure, including INPUT, OUTPUT and (if enabled) FEATURE items.
* If a item has a multiple count (i.e. a REPORT COUNT of more than 1), each item in the report count is placed seperately in the * If a item has a multiple count (i.e. a REPORT COUNT of more than 1), each item in the report count is placed separately in the
* processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation. * processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation.
* *
* *
@ -148,7 +148,7 @@
* <b>USB_DEVICE_ONLY</b> - ( \ref Group_USBManagement ) \n * <b>USB_DEVICE_ONLY</b> - ( \ref Group_USBManagement ) \n
* For the USB AVR models supporting both device and host USB modes, the USB_Init() function contains a Mode parameter which specifies the * For the USB AVR models supporting both device and host USB modes, the USB_Init() function contains a Mode parameter which specifies the
* mode the library should be initialized to. If only device mode is required, the code for USB host mode can be removed from the binary to * mode the library should be initialized to. If only device mode is required, the code for USB host mode can be removed from the binary to
* save space. When defined, the USB_Init() function no longer accepts a Mode parameter. This define is irrelevent on smaller USB AVRs which * save space. When defined, the USB_Init() function no longer accepts a Mode parameter. This define is irrelevant on smaller USB AVRs which
* do not support host mode. * do not support host mode.
* *
* <b>USB_HOST_ONLY</b> - ( \ref Group_USBManagement ) \n * <b>USB_HOST_ONLY</b> - ( \ref Group_USBManagement ) \n
@ -165,5 +165,5 @@
* slightly inaccurate due to the possibility of the host suspending the bus while the device is still connected. If accurate connection status is * slightly inaccurate due to the possibility of the host suspending the bus while the device is still connected. If accurate connection status is
* required, the VBUS line of the USB connector should be routed to an AVR pin to detect its level, so that the USB_IsConnected global * required, the VBUS line of the USB connector should be routed to an AVR pin to detect its level, so that the USB_IsConnected global
* can be accurately set and the USB_Connect and USB_Disconnect events manually raised by the RAISE_EVENT macro. When defined, this token disables * can be accurately set and the USB_Connect and USB_Disconnect events manually raised by the RAISE_EVENT macro. When defined, this token disables
* the library's auto-detection of the connection state by the aformentioned suspension and wake up events. * the library's auto-detection of the connection state by the aforementioned suspension and wake up events.
*/ */

@ -78,7 +78,7 @@
* \brief Board hardware driver files. * \brief Board hardware driver files.
* *
* This folder contains drivers for interfacing with the physical hardware on supported commercial boards, primarily from * This folder contains drivers for interfacing with the physical hardware on supported commercial boards, primarily from
* the Atmel corporation. Header files in this folder should be included in user applications requring the functionality of * the Atmel corporation. Header files in this folder should be included in user applications requiring the functionality of
* hardware placed on supported boards. * hardware placed on supported boards.
* *
* \dir Drivers/Board/USBKEY * \dir Drivers/Board/USBKEY
@ -119,7 +119,7 @@
* \dir DriverStubs * \dir DriverStubs
* \brief Driver stub header files for custom boards, to allow the LUFA board drivers to operate. * \brief Driver stub header files for custom boards, to allow the LUFA board drivers to operate.
* *
* This contains stub files for the LUFA board drivers. If the LUFA board drivers are used with board hardare other than those * This contains stub files for the LUFA board drivers. If the LUFA board drivers are used with board hardware other than those
* directly supported by the library, the BOARD parameter of the application's makefile can be set to "USER", and these stub files * directly supported by the library, the BOARD parameter of the application's makefile can be set to "USER", and these stub files
* copied to the "/Board/" directory of the application's folder. When fleshed out with working driver code for the custom board, * copied to the "/Board/" directory of the application's folder. When fleshed out with working driver code for the custom board,
* the corresponding LUFA board APIs will work correctly with the non-standard board hardware. * the corresponding LUFA board APIs will work correctly with the non-standard board hardware.

@ -9,7 +9,7 @@
* Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and * Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and
* ultimately build upon for your own projects. All the demos come pre-configured to build and run correctly * ultimately build upon for your own projects. All the demos come pre-configured to build and run correctly
* on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz master clock. * on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz master clock.
* This is due to two reasons; one, it is the hardware the author posesses, and two, it is the most popular Atmel * This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most popular Atmel
* USB demonstration board to date. * USB demonstration board to date.
* *
* *
@ -25,10 +25,11 @@
* and the project recompiled from the source code before being programmed into the AVR microcontroller. Most project * and the project recompiled from the source code before being programmed into the AVR microcontroller. Most project
* configuration options are located in the "makefile" build script inside each LUFA application's folder, however some * configuration options are located in the "makefile" build script inside each LUFA application's folder, however some
* demo or application-specific configuration settings (such as the output format in the AudioOut demo) are located in the * demo or application-specific configuration settings (such as the output format in the AudioOut demo) are located in the
* main .c source file of the project. * main .c source file of the project. See each project's individual documentation for application-specific configuration
* values.
* *
* Each project "makefile" contains all the script and configuration data required to compile each project. When opened with * Each project "makefile" contains all the script and configuration data required to compile each project. When opened with
* any regular basic text editor such as Notepad or Wordpad (ensure that the save format is a pure ASCII text format) the * any regular basic text editor such as Notepad or WordPad (ensure that the save format is a pure ASCII text format) the
* build configuration settings may be altered. * build configuration settings may be altered.
* *
* Inside each makefile, a number of configuration variables are located, with the format "<VARIABLE NAME> = <VALUE>". For * Inside each makefile, a number of configuration variables are located, with the format "<VARIABLE NAME> = <VALUE>". For
@ -67,18 +68,18 @@
* *
* <b>Note that this value does not actually *alter* the AVR's input clock frequency</b>, it is just a way to indicate to the library the clock frequency * <b>Note that this value does not actually *alter* the AVR's input clock frequency</b>, it is just a way to indicate to the library the clock frequency
* of the AVR as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more * of the AVR as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more
* library components will ocurr. * library components will occur.
* *
* \subsection SSec_F_CPU The F_CPU Parameter * \subsection SSec_F_CPU The F_CPU Parameter
* This parameter indicates the target AVR's master CPU clock frequency, in Hz. * This parameter indicates the target AVR's master CPU clock frequency, in Hz.
* *
* <b>Note that this value does not actually *alter* the AVR's CPU clock frequency</b>, it is just a way to indicate to the library the clock frequency * <b>Note that this value does not actually *alter* the AVR's CPU clock frequency</b>, it is just a way to indicate to the library the clock frequency
* of the AVR core as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more * of the AVR core as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more
* library components will ocurr. * library components will occur.
* *
* \subsection SSec_CDEFS The CDEFS Parameter * \subsection SSec_CDEFS The CDEFS Parameter
* Most applications will actually have multiple CDEF lines, which are concatenated together with the "+=" operator. This ensures that large * Most applications will actually have multiple CDEF lines, which are concatenated together with the "+=" operator. This ensures that large
* numbers of configuration options remain readable by splitting up groups of options into seperate lines. * numbers of configuration options remain readable by splitting up groups of options into separate lines.
* *
* Normally, these options do not need to be altered to allow an application to compile and run correctly on a different board or AVR to the * Normally, these options do not need to be altered to allow an application to compile and run correctly on a different board or AVR to the
* current configuration - if the options are incorrect, then the demo is most likely incompatible with the chosen USB AVR model and cannot be * current configuration - if the options are incorrect, then the demo is most likely incompatible with the chosen USB AVR model and cannot be
@ -97,7 +98,7 @@
* *
* \subsection SSec_CommandLine Via the Command Line * \subsection SSec_CommandLine Via the Command Line
* To build a project from the source via the command line, the command <b>"make all"</b> should be executed from the command line in the directory * To build a project from the source via the command line, the command <b>"make all"</b> should be executed from the command line in the directory
* of interest. To remove compiled files (including the binary output, all intermediatary files and all diagnostic output * of interest. To remove compiled files (including the binary output, all intermediately files and all diagnostic output
* files), execute <b>"make clean"</b>. Once a "make all" has been run and no errors were encountered, the resulting binary will * files), execute <b>"make clean"</b>. Once a "make all" has been run and no errors were encountered, the resulting binary will
* be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP" * be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP"
* file will contain the project's EEPROM data. * file will contain the project's EEPROM data.

@ -88,7 +88,7 @@
* The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory. * The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory.
* If this directory is missing, please re-download the project from the project homepage. * If this directory is missing, please re-download the project from the project homepage.
* *
* Also included with the library are two fully functional bootloaders, loacated in the /Bootloaders/ subdirectory. * Also included with the library are two fully functional bootloaders, located in the /Bootloaders/ subdirectory.
* The DFU class bootloader is compatible with Atmel's FLIP software or the open source dfu-programmer project, and * The DFU class bootloader is compatible with Atmel's FLIP software or the open source dfu-programmer project, and
* the CDC class (AVR109 protocol) is compatible with such open source software as AVRDUDE and AVR-OSP. * the CDC class (AVR109 protocol) is compatible with such open source software as AVRDUDE and AVR-OSP.
* *
@ -99,4 +99,4 @@
* to myself to support this and my future Open Source projects. You can donate any amount via PayPal on my * to myself to support this and my future Open Source projects. You can donate any amount via PayPal on my
* website, http://www.fourwalledcubicle.com . All donations are greatly appreciated. * website, http://www.fourwalledcubicle.com . All donations are greatly appreciated.
*/ */

@ -32,7 +32,7 @@
* Endpoint_IsOUTReceived() respectively. * Endpoint_IsOUTReceived() respectively.
* - The Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(). * - The Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived().
* - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(). * - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP().
* - All endpoint read/write/discard aliases which did not have an explicity endianness specifier (such as Endpoint_Read_Word()) have * - All endpoint read/write/discard aliases which did not have an explicitly endianness specifier (such as Endpoint_Read_Word()) have
* been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions. * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.
* *
* <b>Host Mode</b> * <b>Host Mode</b>
@ -51,7 +51,7 @@
* - The new Pipe_ClearControlSETUP() macro should be used to send CONTROL transactions, rather than the previous Pipe_ClearSetupOUT() macro. * - The new Pipe_ClearControlSETUP() macro should be used to send CONTROL transactions, rather than the previous Pipe_ClearSetupOUT() macro.
* - The Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent(). * - The Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent().
* - The Pipe_ClearSetupSent() macro is no longer applicable and should be removed. * - The Pipe_ClearSetupSent() macro is no longer applicable and should be removed.
* - All pipe read/write/discard aliases which did not have an explicity endianness specifier (such as Pipe_Read_Word()) have * - All pipe read/write/discard aliases which did not have an explicitly endianness specifier (such as Pipe_Read_Word()) have
* been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions. * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.
* - The Host_IsResetBusDone() macro has been renamed to Host_IsBusResetComplete(). * - The Host_IsResetBusDone() macro has been renamed to Host_IsBusResetComplete().
* - The Pipe_Ignore_Word() function has been renamed to Pipe_Discard_Word() to remain consistent with the rest of the pipe API. * - The Pipe_Ignore_Word() function has been renamed to Pipe_Discard_Word() to remain consistent with the rest of the pipe API.
@ -196,7 +196,7 @@
* and/or is self-powered are now accessed and set through the new USB_RemoteWakeupEnabled and * and/or is self-powered are now accessed and set through the new USB_RemoteWakeupEnabled and
* USB_CurrentlySelfPowered macros. See the DevChapter9.h documentation for more details. * USB_CurrentlySelfPowered macros. See the DevChapter9.h documentation for more details.
* - All endpoint stream functions now require an extra Callback function parameter. Existing code may be updated * - All endpoint stream functions now require an extra Callback function parameter. Existing code may be updated
* to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by pasing * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing
* the token NO_STREAM_CALLBACKS to the compiler using the -D switch. * the token NO_STREAM_CALLBACKS to the compiler using the -D switch.
* *
* <b>Host Mode</b> * <b>Host Mode</b>
@ -206,7 +206,7 @@
* timeout duration in ms. * timeout duration in ms.
* - CollectionPath_t has been renamed to HID_CollectionPath_t to be more in line with the other HID parser structures. * - CollectionPath_t has been renamed to HID_CollectionPath_t to be more in line with the other HID parser structures.
* - All pipe stream functions now require an extra Callback function parameter. Existing code may be updated * - All pipe stream functions now require an extra Callback function parameter. Existing code may be updated
* to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by pasing * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing
* the token NO_STREAM_CALLBACKS to the compiler using the -D switch. * the token NO_STREAM_CALLBACKS to the compiler using the -D switch.
* *
* *
@ -243,7 +243,7 @@
* avoid such mistakes in the future, the VERSION_BCD macro has been added to StdDescriptors.h. Existing * avoid such mistakes in the future, the VERSION_BCD macro has been added to StdDescriptors.h. Existing
* projects should at least manually correct the BCD version numbers, or preferably update the descriptors to * projects should at least manually correct the BCD version numbers, or preferably update the descriptors to
* encode the version number in BCD format using the new macro. * encode the version number in BCD format using the new macro.
* - The mandatory GetReport class-specific request was accidentally ommitted from previous versions of the demos * - The mandatory GetReport class-specific request was accidentally omitted from previous versions of the demos
* based on the Human Interface Device (HID) class. This has been corrected, and any user projects based on the * based on the Human Interface Device (HID) class. This has been corrected, and any user projects based on the
* HID demos should also be updated accordingly. * HID demos should also be updated accordingly.
* - The CDC demos now correctly send an empty packet directly after a full packet, to end the transmission. * - The CDC demos now correctly send an empty packet directly after a full packet, to end the transmission.
@ -271,13 +271,13 @@
* appropriate. It fires in an identical manner to the previously named event, thus the only change to be made * appropriate. It fires in an identical manner to the previously named event, thus the only change to be made
* is the event name itself in the user project. * is the event name itself in the user project.
* - The USB_Descriptor_Language_t structure no longer exists in StdDescriptors.h, as this was a * - The USB_Descriptor_Language_t structure no longer exists in StdDescriptors.h, as this was a
* psudo-descriptor modelled on the string descriptor. It is replaced by the true USB_Descriptor_String_t type * pseudo-descriptor modelled on the string descriptor. It is replaced by the true USB_Descriptor_String_t type
* descriptor as indicated in the USB specification, thus all device code must be updated accordingly. * descriptor as indicated in the USB specification, thus all device code must be updated accordingly.
* - The names of several Endpoint macros have been changed to be more consistant with the rest of the library, * - The names of several Endpoint macros have been changed to be more consistent with the rest of the library,
* with no implementation changes. This means that existing code can be altered to use the new macro names * with no implementation changes. This means that existing code can be altered to use the new macro names
* with no other considerations required. See Endpoint.h for the new macro names. * with no other considerations required. See Endpoint.h for the new macro names.
* - The previous version of the MassStorage demo had an incorrect value in the SCSI_Request_Sense_Response_t * - The previous version of the MassStorage demo had an incorrect value in the SCSI_Request_Sense_Response_t
* strucuture named SenseData in SCSI.c which caused some problems with some hosts. User projects based on this * structure named SenseData in SCSI.c which caused some problems with some hosts. User projects based on this
* demo should correct the structure value to maintain compatibility across multiple OS platforms. * demo should correct the structure value to maintain compatibility across multiple OS platforms.
* - By default, the descriptor structures use the official USB specification names for the elements. Previous * - By default, the descriptor structures use the official USB specification names for the elements. Previous
* versions of the library used non-standard (but more verbose) names, which are still usable in the current * versions of the library used non-standard (but more verbose) names, which are still usable in the current
@ -288,7 +288,7 @@
* - The USB_Host_Request_Header_t structure in HostChapter9.h (used for issuing control requests) has had its * - The USB_Host_Request_Header_t structure in HostChapter9.h (used for issuing control requests) has had its
* members renamed to the official USB specification names for requests. Existing code will need to be updated * members renamed to the official USB specification names for requests. Existing code will need to be updated
* to use the new names. * to use the new names.
* - The names of several Pipe macros have been changed to be more consistant with the rest of the library, * - The names of several Pipe macros have been changed to be more consistent with the rest of the library,
* with no implementation changes. This means that existing code can be altered to use the new macro names * with no implementation changes. This means that existing code can be altered to use the new macro names
* with no other considerations required. See Pipe.h for the new macro names. * with no other considerations required. See Pipe.h for the new macro names.
* - By default, the descriptor structures use the official USB specification names for the elements. Previous * - By default, the descriptor structures use the official USB specification names for the elements. Previous
@ -304,5 +304,5 @@
* header inside the library. * header inside the library.
* - The USB_DeviceEnumerationComplete event (see Events.h) now also fires in Device mode, when the host has * - The USB_DeviceEnumerationComplete event (see Events.h) now also fires in Device mode, when the host has
* finished enumerating the device. Projects relying on the event only firing in Host mode should be updated * finished enumerating the device. Projects relying on the event only firing in Host mode should be updated
* so that the event action only ocurrs when the USB_Mode global is set to USB_MODE_HOST. * so that the event action only occurs when the USB_Mode global is set to USB_MODE_HOST.
*/ */

@ -15,7 +15,7 @@
* hogs the processor, preventing another from running before some sort of timeout is exceeded). Unlike normal RTOS * hogs the processor, preventing another from running before some sort of timeout is exceeded). Unlike normal RTOS
* tasks, each LUFA scheduler task is a regular function, and thus must be designed to be called, and designed to * tasks, each LUFA scheduler task is a regular function, and thus must be designed to be called, and designed to
* return to the calling scheduler function repeatedly. Data which must be preserved between task calls should be * return to the calling scheduler function repeatedly. Data which must be preserved between task calls should be
* declared as global or (prefferably) as a static local variable inside the task. * declared as global or (preferably) as a static local variable inside the task.
* *
* The scheduler consists of a task list, listing all the tasks which can be executed by the scheduler. Once started, * The scheduler consists of a task list, listing all the tasks which can be executed by the scheduler. Once started,
* each task is then called one after another, unless the task is stopped by another running task or interrupt. * each task is then called one after another, unless the task is stopped by another running task or interrupt.

@ -13,7 +13,7 @@
* passed to the compiler, with a constant of BOARD_{Name}. For example <b>-DBOARD=BOARD_USBKEY</b> instructs the * passed to the compiler, with a constant of BOARD_{Name}. For example <b>-DBOARD=BOARD_USBKEY</b> instructs the
* compiler to use the USBKEY board hardware drivers. * compiler to use the USBKEY board hardware drivers.
* *
* If your application does not use *any* board level drivers, you can ommit the definition of the BOARD macro. * If your application does not use *any* board level drivers, you can omit the definition of the BOARD macro.
* However, some users may wish to write their own custom board hardware drivers which are to remain compatible * However, some users may wish to write their own custom board hardware drivers which are to remain compatible
* with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates * with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates
* that the board level drivers should be located in a folder named "Board" located inside the application's folder. * that the board level drivers should be located in a folder named "Board" located inside the application's folder.

@ -42,7 +42,7 @@
* See http://ossguy.com/ss_usb/ for the USB reader hardware project website, * See http://ossguy.com/ss_usb/ for the USB reader hardware project website,
* including construction and support details. * including construction and support details.
* *
* To use, connect your magentic card reader device to the USB AVR as follows (pin and port mapping may be adjusted * To use, connect your magnetic card reader device to the USB AVR as follows (pin and port mapping may be adjusted
* from the project makefile): * from the project makefile):
* *
* <table> * <table>
@ -104,4 +104,4 @@
* <td>Gives the maximum number of bits per track which can be buffered by the device for later transmission to a host.</td> * <td>Gives the maximum number of bits per track which can be buffered by the device for later transmission to a host.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

Loading…
Cancel
Save