* As an open-source option, this bootloader is also compatible with the Linux Atmel USB DFU Programmer\r
* software, available for download at http://sourceforge.net/projects/dfu-programmer/.\r
* \r
- * If SECURE_MODE is defined as true, upon startup the bootloader will be locked, with only the chip erase\r
+ * If SECURE_MODE is defined as true, upon start-up the bootloader will be locked, with only the chip erase\r
* function available (similar to Atmel's DFU bootloader). If SECURE_MODE is defined as false, all functions \r
- * are usable on startup without the prerequisite firmware erase.\r
+ * are usable on start-up without the prerequisite firmware erase.\r
* \r
* Out of the box this bootloader builds for the USB1287, and should fit into 4KB of bootloader space. If\r
* you wish to enlarge this space and/or change the AVR model, you will need to edit the BOOT_START and MCU\r
* <tr>\r
* <td>SECURE_MODE</td>\r
* <td>BootloaderDFU.h</td>\r
- * <td>If defined to true, the bootloader will not accept any memory commands other than a chip erase on statup, until an\r
- * erase has been perfomed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from\r
+ * <td>If defined to true, the bootloader will not accept any memory commands other than a chip erase on start-up, until an\r
+ * erase has been performed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from\r
* being dumped by unauthorized persons.</td>\r
* </tr>\r
* <tr>\r
* manually in the makefile CDEFS.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* \r
* Out of the box this bootloader builds for the USB162, and will fit into 2KB of bootloader space.\r
*\r
- * This spoofs (with permission) the offical Teensy bootloader's VID and PID, so that the software remains\r
+ * This spoofs (with permission) the official Teensy bootloader's VID and PID, so that the software remains\r
* compatible with no changes.\r
*\r
* \section SSec_Options Project Options\r
* </td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* basic USB Audio drivers in all modern OSes (i.e. no special drivers\r
* required).\r
* \r
- * On startup the system will automatically enumerate and function\r
- * as a USB microphone. Incomming audio from the ADC channel 1 will\r
+ * On start-up the system will automatically enumerate and function\r
+ * as a USB microphone. Incoming audio from the ADC channel 1 will\r
* be sampled and sent to the host computer.\r
* \r
* To use, connect a microphone to the ADC channel 2.\r
* <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* basic USB Audio drivers in all modern OSes (i.e. no special drivers\r
* required).\r
* \r
- * On startup the system will automatically enumerate and function\r
- * as a USB speaker. Incomming audio will output in 8-bit PWM onto\r
+ * On start-up the system will automatically enumerate and function\r
+ * as a USB speaker. Incoming audio will output in 8-bit PWM onto\r
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for\r
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO\r
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs\r
* <td>Gives the audio sample rate per channel for the audio stream, in Hz.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* OSes (i.e. no special drivers required). It accepts and sends up to 255 byte reports to\r
* and from a USB Host, and by default transmits the last sent report back to the host.\r
* \r
- * On startup the system will automatically enumerate and function as a vendor HID device.\r
+ * On start-up the system will automatically enumerate and function as a vendor HID device.\r
* When controlled by a custom HID class application, reports can be sent and received by\r
* both the standard data endpoint and control request methods defined in the HID specification.\r
*\r
* <td>INTERRUPT_DATA_ENDPOINT</td>\r
* <td>Makefile CDEFS</td>\r
* <td>When defined, this causes the demo to enable interrupts for the data endpoints,\r
- * which services incomming LED reports and outgoing key status reports to and from the host.\r
+ * which services incoming LED reports and outgoing key status reports to and from the host.\r
* If not defined, the data endpoints are serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* OSes (i.e. no special drivers required). It is boot protocol compatible, and thus\r
* works under compatible BIOS as if it was a native keyboard (e.g. PS/2).\r
* \r
- * On startup the system will automatically enumerate and function\r
+ * On start-up the system will automatically enumerate and function\r
* as a keyboard when the USB connection to a host is present. To use\r
* the keyboard example, manipulate the joystick to send the letters\r
* a, b, c, d and e. See the USB HID documentation for more information\r
- * on sending keyboard event and keypresses.\r
+ * on sending keyboard event and key presses.\r
*\r
* \section SSec_Options Project Options\r
* \r
* <td>INTERRUPT_DATA_ENDPOINT</td>\r
* <td>Makefile CDEFS</td>\r
* <td>When defined, this causes the demo to enable interrupts for the data endpoints,\r
- * which services incomming LED reports and outgoing key status reports to and from the host.\r
+ * which services incoming LED reports and outgoing key status reports to and from the host.\r
* If not defined, the data endpoints are serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* Keyboard/Mouse demonstration application. This gives a simple reference\r
* application for implementing a composite device containing both USB Keyboard\r
* and USB Mouse functionality using the basic USB HID drivers in all modern OSes\r
- * (i.e. no special drivers required). This example uses two seperate HID\r
+ * (i.e. no special drivers required). This example uses two separate HID\r
* interfaces for each function. It is boot protocol compatible, and thus works under\r
* compatible BIOS as if it was a native keyboard and mouse (e.g. PS/2).\r
* \r
- * On startup the system will automatically enumerate and function\r
+ * On start-up the system will automatically enumerate and function\r
* as a keyboard when the USB connection to a host is present and the HWB is not\r
* pressed. When enabled, manipulate the joystick to send the letters\r
* a, b, c, d and e. See the USB HID documentation for more information\r
- * on sending keyboard event and keypresses.\r
+ * on sending keyboard event and key presses.\r
* \r
* When the HWB is pressed, the mouse mode is enabled. When enabled, move the\r
* joystick to move the pointer, and push the joystick inwards to simulate a\r
* </td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* <tr>\r
* <td><b>Relevant Standards:</b></td>\r
* <td>USBIF Audio Class Specification</td>\r
- * <td>USB-MIDI Audio Class Extention Specification</td>\r
+ * <td>USB-MIDI Audio Class Extension Specification</td>\r
* <td>General MIDI Specification</td>\r
* </tr>\r
* <tr>\r
* </td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* device using the basic USB UFI drivers in all modern OSes (i.e. no\r
* special drivers required).\r
* \r
- * On startup the system will automatically enumerate and function as an\r
- * external mass storage device with two LUNs (seperate disks) which may\r
+ * On start-up the system will automatically enumerate and function as an\r
+ * external mass storage device with two LUNs (separate disks) which may\r
* be formatted and used in the same manner as commercial USB Mass Storage\r
* devices.\r
* \r
* - this can be set to any positive non-zero amount.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* boot protocol compatible, and thus works under compatible BIOS as if\r
* it was a native mouse (e.g. PS/2).\r
* \r
- * On startup the system will automatically enumerate and function\r
+ * On start-up the system will automatically enumerate and function\r
* as a mouse when the USB connection to a host is present. To use\r
* the mouse, move the joystick to move the pointer, and push the\r
* joystick inwards to simulate a left-button click. The HWB serves as\r
* the data endpoint is serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* \r
* Not that this demo is only compatible with devices which report the correct CDC\r
* and ACM class, subclass and protocol values. Most USB-Serial cables have vendor\r
- * specific features, thus use vendor-specfic class/subclass/protocol codes to force\r
- * the user to use specialized drivers. This demo is not compaible with such devices.\r
+ * specific features, thus use vendor-specific class/subclass/protocol codes to force\r
+ * the user to use specialized drivers. This demo is not compatible with such devices.\r
*\r
* \section SSec_Options Project Options\r
*\r
* </td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* \section SSec_Description Project Description: \r
*\r
* Generic HID host demonstration application. This gives a simple reference\r
- * application for implementing a Genric HID USB host, for any device implementing\r
+ * application for implementing a Generic HID USB host, for any device implementing\r
* the HID profile.\r
*\r
* Received reports from the attached device are printed to the serial port.\r
* serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* This uses a naive method where the keyboard is set to Boot Protocol mode, so\r
* that the report structure is fixed and known. A better implementation\r
* uses the HID report parser for correct report data processing across\r
- * all compatable mice with advanced characteristics, as shown in the\r
+ * all compatible mice with advanced characteristics, as shown in the\r
* KeyboardHostWithParser demo application.\r
* \r
* Currently only single interface keyboards are supported.\r
* serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* This uses a naive method where the mouse is set to Boot Protocol mode, so\r
* that the report structure is fixed and known. A better implementation\r
* uses the HID report parser for correct report data processing across\r
- * all compatable mice with advanced characteristics, as shown in the\r
+ * all compatible mice with advanced characteristics, as shown in the\r
* MouseHostWithParser demo application.\r
* \r
* Currently only single interface mice are supported. \r
* serviced via polling using the task scheduler.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
*\r
* \return A value from the USB_Host_SendControlErrorCodes_t enum\r
*/\r
-uint8_t SImage_ClearPipeStall(const uint8_t PipeEndpointNum)\r
+uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum)\r
{\r
USB_HostRequest = (USB_Host_Request_Header_t)\r
{\r
bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),\r
bRequest: REQ_ClearFeature,\r
wValue: FEATURE_ENDPOINT_HALT,\r
- wIndex: PipeEndpointNum,\r
+ wIndex: EndpointNum,\r
wLength: 0,\r
};\r
\r
void SImage_SendData(void* Buffer, uint16_t Bytes);\r
uint8_t SImage_ReadData(void* Buffer, uint16_t Bytes);\r
bool SImage_IsEventReceived(void);\r
- uint8_t SImage_ClearPipeStall(const uint8_t PipeEndpointNum);\r
+ uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum);\r
\r
#endif\r
/** Displays a PIMA command error via the device's serial port.\r
*\r
* \param ErrorCode Error code of the function which failed to complete successfully\r
- * \param ResponseErrorCode Indicates if the error is due to a command failed indication from the device, or a communication failure\r
+ * \param ResponseCodeError Indicates if the error is due to a command failed indication from the device, or a communication failure\r
*/\r
void ShowCommandError(uint8_t ErrorCode, bool ResponseCodeError)\r
{\r
* \section SSec_Description Project Description: \r
*\r
* Test application. Demonstrates several aspects of the LUFA\r
- * Library. On startup the current temperature will be printed\r
+ * Library. On start-up the current temperature will be printed\r
* through the USART every 10 seconds, and the current joystick\r
* position will be indicated via the LEDs on the selected board.\r
* Pressing the HWB will initiate the USB subsystem, enumerating\r
* </td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r
* code without having to be itself patched and recompiled first\r
* - Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to\r
* outdated avr-libc versions.\r
- * - Added support to the CDCHost demo for devices with mutiple CDC interfaces which are not the correct ACM type preceeding the desired\r
+ * - Added support to the CDCHost demo for devices with multiple CDC interfaces which are not the correct ACM type preceding the desired\r
* ACM CDC interface\r
* - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen)\r
* - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan Oakley)\r
* device descriptor\r
* - Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name\r
* - Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman)\r
- * - Capitolised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and\r
+ * - Capitalised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and\r
* DSearch_Comp_Return_ErrorCodes_t enums\r
* \r
*\r
* - Incorporated makefile changes by Denver Gingerich to retain compatibility with stock (non-WinAVR) AVR-GCC installations\r
* - Fixed makefile EEPROM programming targets programming FLASH data in addition to EEPROM data\r
* - LUFA devices now enumerate correctly with LUFA hosts\r
- * - Fixed Configuration Descriptor search routine freezing when a comparitor returned a failure\r
+ * - Fixed Configuration Descriptor search routine freezing when a comparator returned a failure\r
* - Removed HID report item serial dump in the MouseHostWithParser and KeyboardHostWithParser - useful only for debugging, and\r
* slowed down the enumeration of HID devices too much\r
* - Increased the number of bits per track which can be read in the MagStripe project to 8192 when compiled for the AT90USBXXX6/7\r
* - Keyboard and Mouse device demos (normal, data interrupt and fully interrupt driven) combined into unified keyboard and mouse demos\r
* - Keyboard and Mouse host demos (normal and data interrupt driven) combined into unified keyboard and mouse demos\r
* - Removed AVRISP_Programmer project due to code quality concerns\r
- * - Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incomming data\r
+ * - Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incoming data\r
* - Fixed documentation typos and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg)\r
* - Fixed USBTask.h not conditionally including HostChapter9.h only when USB_CAN_BE_HOST is defined (thanks to Ian Gregg)\r
* - Fixed incorrect ADC driver init register manipulation (thanks to Tobias)\r
* - Added SetProtocol request to HID class non-parser Mouse and Keyboard demos to force devices to use the correct Boot Protocol\r
* - Added new "dfu" and "flip" programming targets to project makefiles\r
* - HID_PARSE_Sucessful enum member typo corrected to HID_PARSE_Successful\r
- * - Changed COLLECTION item strucutres in the HID descriptor parser to include the collection's Usage Page value\r
+ * - Changed COLLECTION item structures in the HID descriptor parser to include the collection's Usage Page value\r
* - Serial driver now sets Tx line as output, enables pullup on Rx line\r
* - Fixed smaller USB AVRs raising multiple connection and disconnection events when NO_LIMITED_CONTROLLER_CONNECT is disabled\r
* - Added HOST_DEVICE_SETTLE_DELAY_MS to give the host delay after a device is connected before it is enumerated\r
* easily be altered to show different LED combinations (or do something else entirely) as the demo's status changes\r
* - Removed LED commands from the CDC bootloader, unused by most AVR910 programming software\r
* - Fixed RNDIS demo ICMP ping requests echoing back incorrect data\r
- * - Added DHCP server code to RNDIS demo, allowing for hands-free autoconfiguration on any PC\r
+ * - Added DHCP server code to RNDIS demo, allowing for hands-free auto configuration on any PC\r
* - Fixed DFU bootloader PID value for the ATMEGA16U4 AVR\r
* - Endpoint and Pipe configuration functions now return an error code indicating success or failure\r
* - USB Reset in device mode now resets and disables all device endpoints\r
* invocation when in host mode\r
* - Added support for the ATMEGA32U6 microcontroller\r
* - Added STATIC_ENDPOINT_CONFIGURATION compile time option, enabled in the bootloaders to minimize space usage\r
- * - Removed redudant code from the USB device GetStatus() chapter 9 processing routine\r
+ * - Removed redundant code from the USB device GetStatus() chapter 9 processing routine\r
* - Added new TeensyHID bootloader, compatible with the Teensy HID protocol (http://www.pjrc.com/teensy/)\r
* - Versions are now numbered by release dates, rather than arbitrary major/minor revision numbers\r
* - USB_RemoteWakeupEnabled is now correctly set and cleared by SetFeature and ClearFeature requests from the host\r
* - Updated all Mouse and Keyboard device demos to include boot protocol support (now works in BIOS)\r
* - Renamed bootloader directories to remove spaces, which were causing build problems on several OSes\r
* - Removed serial number strings from all but the MassStore demo where it is required - users were not\r
- * modifing the code to either ommit the descriptor or use a unique serial per device causing problems\r
+ * modifying the code to either omit the descriptor or use a unique serial per device causing problems\r
* when multiple units of the same device were plugged in at the same time\r
* - AudioOutput and AudioInput demos now correctly silence endpoints when not enabled by the host\r
* - Added KeyboardMouse demo (Keyboard and Mouse functionality combined into a single demo)\r
* - Endpoint and Pipe creation routines now mask endpoint/pipe size with the size mask, to remove transaction\r
* size bits not required for the routines (improves compatibility with devices)\r
* - Fixed AudioInput demo - now correctly sends sampled audio to the host PC\r
- * - Fixed AudioOutput demo oncemore -- apparently Windows requires endpoint packets to be >=192 bytes\r
+ * - Fixed AudioOutput demo once more -- apparently Windows requires endpoint packets to be >=192 bytes\r
* - Shrunk round-robbin scheduler code slightly via the use of struct pointers rather than array indexes\r
* - Fixed off-by-one error when determining if the Usage Stack is full inside the HID Report parser\r
* - Renamed Magstripe.h to MagstripeHW.h and moved driver out of the library and into the MagStripe demo folder\r
* - The USB device task now restores the previously selected endpoint, allowing control requests to be transparently\r
* handled via interrupts while other endpoints are serviced through polling\r
* - Fixed device signature being sent in reverse order in the CDC bootloader\r
- * - Host demos now have a seperate ConfigDescriptor.c/.h file for configuration descriptor processing\r
- * - HostWithParser demos now have a seperate HIDReport.c/.h file for HID report processing and dumping\r
+ * - Host demos now have a separate ConfigDescriptor.c/.h file for configuration descriptor processing\r
+ * - HostWithParser demos now have a separate HIDReport.c/.h file for HID report processing and dumping\r
* - Removed non-mandatory commands from MassStorage demo to save space, fixed SENSE ResponseCode value\r
* - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host\r
* - Updated demo descriptors to use VID/PID values donated by Atmel\r
* - Added DoxyGen documentation to the source files\r
* - Fixed Serial_IsCharRecieved() definition, was previously reversed\r
- * - Removed seperate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead\r
+ * - Removed separate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead\r
* - Removed unused Device Qualifier descriptor structure\r
* - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged\r
* - Fixed MassStorageHost demo reading in the block data in reverse\r
- * - Removed outdated typedefs in StdRequestType.h, superceeded by the macro masks\r
+ * - Removed outdated typedefs in StdRequestType.h, superseded by the macro masks\r
* - Corrected OTG.h is now included when the AVR supports both Host and Device modes, for creating OTG products\r
* - USB_DeviceEnumerationComplete event is now also fired when in device mode and the host has finished its enumeration\r
* - Interrupt driven demos now properly restore previously selected endpoint when ISR is complete\r
* - USB_HOST_TIMEOUT_MS is now overridable in the user project makefile to a custom fixed timeout value\r
* - Renamed USB_Host_SOFGeneration_* macros to more friendly USB_Host_SuspendBus(), USB_Host_ResumeBus()\r
* and USB_Host_IsBusSuspended()\r
- * - Renamed *_*_Is* macros to *_Is* to make all flag checking macros consistant, Pipe_SetInterruptFreq() is now\r
+ * - Renamed *_*_Is* macros to *_Is* to make all flag checking macros consistent, Pipe_SetInterruptFreq() is now\r
* Pipe_SetInterruptPeriod() to use the correct terminology\r
* - UnicodeString member of USB_Descriptor_String_t struct changed to an ordinary int array type, so that the GCC\r
* Unicode strings (prefixed with an L before the opening quotation mark) can be used instead of explicit arrays\r
* new comparator API\r
* - Fixed MassStorageHost demo capacity printout, and changed data read/write mode from little-endian to the correct\r
* big-endian for SCSI devices\r
- * - Fixed macro/function naming consistancy; USB_HOST is now USB_Host, USB_DEV is now USB_Device\r
+ * - Fixed macro/function naming consistency; USB_HOST is now USB_Host, USB_DEV is now USB_Device\r
* - Added better error reporting to host demos\r
* - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls\r
*\r
* GetLineCoding request had an incorrect RequestType mask preventing it from being processed\r
* - Improved reliability of the USBtoSerial demo, adding a busy wait while the buffer is full\r
* - Device control endpoint size is now determined from the device's descriptors rather than being fixed\r
- * - Seperated out SPI code into new SPI driver in AT90USBXXX driver directory\r
+ * - Separated out SPI code into new SPI driver in AT90USBXXX driver directory\r
* - Bootloader now returns correct PID for the selected USB AVR model, not just the AT90USB128X PID\r
* - Added support for the RZUSBSTICK board\r
* - Bicolour driver removed in favour of generic LEDs driver\r
*\r
* \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008\r
*\r
- * - Unneccesary control endpoint config removed from device mode\r
+ * - Unnecessary control endpoint config removed from device mode\r
* - Fixed device standard request interpreter accidentally processing some class-specific requests\r
* - Added USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS compile time options to instruct the library\r
* to use descriptors stored in RAM or EEPROM rather than flash memory\r
* - Added support for the STK525 and STK526 boards\r
* - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and\r
* placing board drivers in {Application Directory}/Board/\r
- * - PLL is now stopped and USB clock is frozen when detatched from host in device mode, to save power\r
+ * - PLL is now stopped and USB clock is frozen when detached from host in device mode, to save power\r
* - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY\r
* - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register\r
* - Fixed data transfers to devices when in host mode\r
* - Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile\r
* - Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and \r
* Endpoint_IsConfigured() after calling the config functions to determine success\r
- */
\ No newline at end of file
+ */\r
* the source code at compile time.\r
*\r
* <b>NUM_BLOCKS</b> - ( \ref Group_MemoryAllocator ) \n\r
- * Sets the number of allocable blocks in the psudo-heap of the dynamic memory allocation driver. This should be\r
+ * Sets the number of allocable blocks in the pseudo-heap of the dynamic memory allocation driver. This should be\r
* defined as a constant larger than zero.\r
*\r
* <b>BLOCK_SIZE</b> - ( \ref Group_MemoryAllocator ) \n\r
- * Sets the size of each allocable block in the psudo-heap of the dynamic memory allocation driver. This should be\r
+ * Sets the size of each allocable block in the pseudo-heap of the dynamic memory allocation driver. This should be\r
* defined as a constant larger than zero.\r
*\r
* <b>NUM_HANDLES</b> - ( \ref Group_MemoryAllocator ) \n\r
* skipped when processing a device HID report.\r
*\r
* <b>HID_INCLUDE_CONSTANT_DATA_ITEMS</b> - ( \ref Group_HIDParser ) \n\r
- * By default, constant data items (usually used as spacers to align seperate report items to a byte or word boundary)\r
+ * By default, constant data items (usually used as spacers to align separate report items to a byte or word boundary)\r
* in the HID report are skipped during report processing. It is highly unusual for an application to make any use of\r
* constant data items (as they do not carry any useful data and only occupy limited RAM) however if required defining\r
* this switch will put constant data items into the processed HID report structure.\r
* HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession\r
* when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with\r
* different usages in a compact manner. This token may be defined to a non-zero value to set the maximum depth of the\r
- * usage stack, indicating the maximum number of USAGE items which can be stored tempoarily until the next INPUT, OUTPUT\r
+ * usage stack, indicating the maximum number of USAGE items which can be stored temporarily until the next INPUT, OUTPUT\r
* and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation.\r
*\r
* <b>HID_MAX_COLLECTIONS</b> - ( \ref Group_HIDParser ) \n\r
* HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information\r
- * is stored seperately in the processed usage structure (and referred to by the data elements in the structure) to save space.\r
+ * is stored separately in the processed usage structure (and referred to by the data elements in the structure) to save space.\r
* This token may be defined to a non-zero value to set the maximum number of COLLECTION items which can be processed by the\r
* parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file\r
* documentation.\r
* 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\r
* device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which\r
* 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\r
- * data elements which can be stored in the processed HID report strucuture, including INPUT, OUTPUT and (if enabled) FEATURE items.\r
- * 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\r
+ * data elements which can be stored in the processed HID report structure, including INPUT, OUTPUT and (if enabled) FEATURE items.\r
+ * 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\r
* processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation.\r
*\r
*\r
* <b>USB_DEVICE_ONLY</b> - ( \ref Group_USBManagement ) \n\r
* For the USB AVR models supporting both device and host USB modes, the USB_Init() function contains a Mode parameter which specifies the\r
* 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\r
- * save space. When defined, the USB_Init() function no longer accepts a Mode parameter. This define is irrelevent on smaller USB AVRs which\r
+ * save space. When defined, the USB_Init() function no longer accepts a Mode parameter. This define is irrelevant on smaller USB AVRs which\r
* do not support host mode.\r
*\r
* <b>USB_HOST_ONLY</b> - ( \ref Group_USBManagement ) \n\r
* slightly inaccurate due to the possibility of the host suspending the bus while the device is still connected. If accurate connection status is\r
* 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\r
* can be accurately set and the USB_Connect and USB_Disconnect events manually raised by the RAISE_EVENT macro. When defined, this token disables\r
- * the library's auto-detection of the connection state by the aformentioned suspension and wake up events.\r
+ * the library's auto-detection of the connection state by the aforementioned suspension and wake up events.\r
*/\r
* \brief Board hardware driver files.\r
* \r
* This folder contains drivers for interfacing with the physical hardware on supported commercial boards, primarily from\r
- * the Atmel corporation. Header files in this folder should be included in user applications requring the functionality of\r
+ * the Atmel corporation. Header files in this folder should be included in user applications requiring the functionality of\r
* hardware placed on supported boards.\r
*\r
* \dir Drivers/Board/USBKEY\r
* \dir DriverStubs\r
* \brief Driver stub header files for custom boards, to allow the LUFA board drivers to operate.\r
* \r
- * This contains stub files for the LUFA board drivers. If the LUFA board drivers are used with board hardare other than those\r
+ * This contains stub files for the LUFA board drivers. If the LUFA board drivers are used with board hardware other than those\r
* directly supported by the library, the BOARD parameter of the application's makefile can be set to "USER", and these stub files\r
* copied to the "/Board/" directory of the application's folder. When fleshed out with working driver code for the custom board,\r
* the corresponding LUFA board APIs will work correctly with the non-standard board hardware.\r
* Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and\r
* ultimately build upon for your own projects. All the demos come pre-configured to build and run correctly\r
* on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz master clock.\r
- * This is due to two reasons; one, it is the hardware the author posesses, and two, it is the most popular Atmel\r
+ * This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most popular Atmel\r
* USB demonstration board to date.\r
*\r
*\r
* and the project recompiled from the source code before being programmed into the AVR microcontroller. Most project\r
* configuration options are located in the "makefile" build script inside each LUFA application's folder, however some\r
* demo or application-specific configuration settings (such as the output format in the AudioOut demo) are located in the\r
- * main .c source file of the project.\r
+ * main .c source file of the project. See each project's individual documentation for application-specific configuration\r
+ * values.\r
*\r
* Each project "makefile" contains all the script and configuration data required to compile each project. When opened with\r
- * any regular basic text editor such as Notepad or Wordpad (ensure that the save format is a pure ASCII text format) the\r
+ * any regular basic text editor such as Notepad or WordPad (ensure that the save format is a pure ASCII text format) the\r
* build configuration settings may be altered.\r
*\r
* Inside each makefile, a number of configuration variables are located, with the format "<VARIABLE NAME> = <VALUE>". For\r
*\r
* <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\r
* 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\r
- * library components will ocurr.\r
+ * library components will occur.\r
*\r
* \subsection SSec_F_CPU The F_CPU Parameter\r
* This parameter indicates the target AVR's master CPU clock frequency, in Hz.\r
*\r
* <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\r
* 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\r
- * library components will ocurr.\r
+ * library components will occur.\r
*\r
* \subsection SSec_CDEFS The CDEFS Parameter\r
* Most applications will actually have multiple CDEF lines, which are concatenated together with the "+=" operator. This ensures that large\r
- * numbers of configuration options remain readable by splitting up groups of options into seperate lines.\r
+ * numbers of configuration options remain readable by splitting up groups of options into separate lines.\r
*\r
* 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\r
* current configuration - if the options are incorrect, then the demo is most likely incompatible with the chosen USB AVR model and cannot be\r
*\r
* \subsection SSec_CommandLine Via the Command Line\r
* 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\r
- * of interest. To remove compiled files (including the binary output, all intermediatary files and all diagnostic output\r
+ * of interest. To remove compiled files (including the binary output, all intermediately files and all diagnostic output\r
* files), execute <b>"make clean"</b>. Once a "make all" has been run and no errors were encountered, the resulting binary will\r
* be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP"\r
* file will contain the project's EEPROM data.\r
* The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory.\r
* If this directory is missing, please re-download the project from the project homepage.\r
*\r
- * Also included with the library are two fully functional bootloaders, loacated in the /Bootloaders/ subdirectory.\r
+ * Also included with the library are two fully functional bootloaders, located in the /Bootloaders/ subdirectory.\r
* The DFU class bootloader is compatible with Atmel's FLIP software or the open source dfu-programmer project, and\r
* the CDC class (AVR109 protocol) is compatible with such open source software as AVRDUDE and AVR-OSP.\r
*\r
* to myself to support this and my future Open Source projects. You can donate any amount via PayPal on my\r
* website, http://www.fourwalledcubicle.com . All donations are greatly appreciated.\r
*/\r
-
\ No newline at end of file
+ \r
* Endpoint_IsOUTReceived() respectively.\r
* - The Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived().\r
* - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP().\r
- * - All endpoint read/write/discard aliases which did not have an explicity endianness specifier (such as Endpoint_Read_Word()) have\r
+ * - All endpoint read/write/discard aliases which did not have an explicitly endianness specifier (such as Endpoint_Read_Word()) have\r
* been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.\r
*\r
* <b>Host Mode</b>\r
* - The new Pipe_ClearControlSETUP() macro should be used to send CONTROL transactions, rather than the previous Pipe_ClearSetupOUT() macro.\r
* - The Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent().\r
* - The Pipe_ClearSetupSent() macro is no longer applicable and should be removed.\r
- * - All pipe read/write/discard aliases which did not have an explicity endianness specifier (such as Pipe_Read_Word()) have\r
+ * - All pipe read/write/discard aliases which did not have an explicitly endianness specifier (such as Pipe_Read_Word()) have\r
* been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.\r
* - The Host_IsResetBusDone() macro has been renamed to Host_IsBusResetComplete().\r
* - The Pipe_Ignore_Word() function has been renamed to Pipe_Discard_Word() to remain consistent with the rest of the pipe API.\r
* and/or is self-powered are now accessed and set through the new USB_RemoteWakeupEnabled and\r
* USB_CurrentlySelfPowered macros. See the DevChapter9.h documentation for more details.\r
* - All endpoint stream functions now require an extra Callback function parameter. Existing code may be updated\r
- * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by pasing\r
+ * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing\r
* the token NO_STREAM_CALLBACKS to the compiler using the -D switch.\r
*\r
* <b>Host Mode</b>\r
* timeout duration in ms.\r
* - CollectionPath_t has been renamed to HID_CollectionPath_t to be more in line with the other HID parser structures.\r
* - All pipe stream functions now require an extra Callback function parameter. Existing code may be updated\r
- * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by pasing\r
+ * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing\r
* the token NO_STREAM_CALLBACKS to the compiler using the -D switch.\r
*\r
*\r
* avoid such mistakes in the future, the VERSION_BCD macro has been added to StdDescriptors.h. Existing\r
* projects should at least manually correct the BCD version numbers, or preferably update the descriptors to\r
* encode the version number in BCD format using the new macro.\r
- * - The mandatory GetReport class-specific request was accidentally ommitted from previous versions of the demos\r
+ * - The mandatory GetReport class-specific request was accidentally omitted from previous versions of the demos\r
* based on the Human Interface Device (HID) class. This has been corrected, and any user projects based on the\r
* HID demos should also be updated accordingly.\r
* - The CDC demos now correctly send an empty packet directly after a full packet, to end the transmission.\r
* appropriate. It fires in an identical manner to the previously named event, thus the only change to be made\r
* is the event name itself in the user project.\r
* - The USB_Descriptor_Language_t structure no longer exists in StdDescriptors.h, as this was a\r
- * psudo-descriptor modelled on the string descriptor. It is replaced by the true USB_Descriptor_String_t type\r
+ * pseudo-descriptor modelled on the string descriptor. It is replaced by the true USB_Descriptor_String_t type\r
* descriptor as indicated in the USB specification, thus all device code must be updated accordingly.\r
- * - The names of several Endpoint macros have been changed to be more consistant with the rest of the library,\r
+ * - The names of several Endpoint macros have been changed to be more consistent with the rest of the library,\r
* with no implementation changes. This means that existing code can be altered to use the new macro names\r
* with no other considerations required. See Endpoint.h for the new macro names.\r
* - The previous version of the MassStorage demo had an incorrect value in the SCSI_Request_Sense_Response_t\r
- * strucuture named SenseData in SCSI.c which caused some problems with some hosts. User projects based on this\r
+ * structure named SenseData in SCSI.c which caused some problems with some hosts. User projects based on this\r
* demo should correct the structure value to maintain compatibility across multiple OS platforms.\r
* - By default, the descriptor structures use the official USB specification names for the elements. Previous\r
* versions of the library used non-standard (but more verbose) names, which are still usable in the current\r
* - The USB_Host_Request_Header_t structure in HostChapter9.h (used for issuing control requests) has had its\r
* members renamed to the official USB specification names for requests. Existing code will need to be updated\r
* to use the new names.\r
- * - The names of several Pipe macros have been changed to be more consistant with the rest of the library,\r
+ * - The names of several Pipe macros have been changed to be more consistent with the rest of the library,\r
* with no implementation changes. This means that existing code can be altered to use the new macro names\r
* with no other considerations required. See Pipe.h for the new macro names.\r
* - By default, the descriptor structures use the official USB specification names for the elements. Previous\r
* header inside the library.\r
* - The USB_DeviceEnumerationComplete event (see Events.h) now also fires in Device mode, when the host has\r
* finished enumerating the device. Projects relying on the event only firing in Host mode should be updated\r
- * so that the event action only ocurrs when the USB_Mode global is set to USB_MODE_HOST.\r
+ * so that the event action only occurs when the USB_Mode global is set to USB_MODE_HOST.\r
*/\r
* hogs the processor, preventing another from running before some sort of timeout is exceeded). Unlike normal RTOS\r
* tasks, each LUFA scheduler task is a regular function, and thus must be designed to be called, and designed to\r
* return to the calling scheduler function repeatedly. Data which must be preserved between task calls should be\r
- * declared as global or (prefferably) as a static local variable inside the task.\r
+ * declared as global or (preferably) as a static local variable inside the task.\r
*\r
* The scheduler consists of a task list, listing all the tasks which can be executed by the scheduler. Once started,\r
* each task is then called one after another, unless the task is stopped by another running task or interrupt.\r
* passed to the compiler, with a constant of BOARD_{Name}. For example <b>-DBOARD=BOARD_USBKEY</b> instructs the\r
* compiler to use the USBKEY board hardware drivers.\r
*\r
- * If your application does not use *any* board level drivers, you can ommit the definition of the BOARD macro.\r
+ * If your application does not use *any* board level drivers, you can omit the definition of the BOARD macro.\r
* However, some users may wish to write their own custom board hardware drivers which are to remain compatible\r
* with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates\r
* that the board level drivers should be located in a folder named "Board" located inside the application's folder.\r
* See http://ossguy.com/ss_usb/ for the USB reader hardware project website,\r
* including construction and support details.\r
* \r
- * To use, connect your magentic card reader device to the USB AVR as follows (pin and port mapping may be adjusted\r
+ * To use, connect your magnetic card reader device to the USB AVR as follows (pin and port mapping may be adjusted\r
* from the project makefile):\r
* \r
* <table>\r
* <td>Gives the maximum number of bits per track which can be buffered by the device for later transmission to a host.</td>\r
* </tr>\r
* </table>\r
- */
\ No newline at end of file
+ */\r