Commit Graph

193 Commits

Author SHA1 Message Date
Dean Camera f2ae4dc255 Upgrade Doxygen configuration files for Doxygen 1.8.1, fix broken stylesheet and footer HTML, add explicit spacing into documentation code fragments to prevent Doxygen from removing empty lines in the output. 2012-05-20 10:55:59 +00:00
Dean Camera c31fdbd03e Minor documentation adjustments to the demos, projects and bootloaders to ensure correct formatting of application device support. 2012-05-18 18:39:35 +00:00
Dean Camera 8cfb3d9f09 Update project Doxygen and makefiles so that the resulting project documentation hides the unused version value, and uses the same HTML CSS stylesheet as the library core. 2012-05-17 21:08:53 +00:00
Dean Camera cb9e7392c5 AppConfigHeaders: Make sure that in applications using an AppConfig.h configuration file, all application headers include the configuration file. 2012-05-15 19:51:41 +00:00
Dean Camera 13085a3351 AppConfigHeaders: Switch low level Device mode demos to use LUFAConfig.h configuration header files. 2012-05-13 15:03:17 +00:00
Dean Camera 802910d49f AppConfigHeaders: Update several additional user projects to use configuration header files, rather than makefile defines. Remove compile time warnings for projects lacking device serial support, remove incomplete StandaloneProgrammer project. 2012-05-12 15:32:53 +00:00
Dean Camera 359fbfe14d Add branch for the conversion of demos to use standard C header files for configuration, rather than makefile defined macros. 2012-05-10 19:24:58 +00:00
Dean Camera 590d9b5ff8 Increased endpoint polling interval for all demos and projects to 5ms, as 1ms was causing some enumeration issues on some machines (thanks to Riku Salminen). 2012-05-06 11:10:25 +00:00
Dean Camera 47f6a35013 Reintegrate the FullEPAddresses development branch into trunk. 2012-04-14 14:41:17 +00:00
Dean Camera 3211b35a4c Make Doxygen fail for any Doxygen output other than unsupported tags (as these are somewhat benign).
Improve exclusion list for the main library export_tar rule to exclude any compiled library files from the export.
2012-04-09 10:04:40 +00:00
Dean Camera d5291c2e10 Only abort Doxygen documentation generation if a non-unsupported tag warning is encountered. 2012-03-09 22:36:56 +00:00
Dean Camera 663f9bd5f5 Update Doxygen documentation build scripts to fail if any warnings are generated. 2012-03-09 21:28:44 +00:00
Dean Camera eb2431ecd8 Update Doxygen configuration files to disable Markdown support. 2012-03-08 16:59:55 +00:00
Dean Camera dba5004684 Update Doxygen configuration files for all projects. 2012-03-07 19:11:15 +00:00
Dean Camera 7416ebd7c6 Update StaticAnalysisTest to check for missing header files. Fix found incorrect header file paths in the demos and projects. 2012-02-29 17:04:04 +00:00
Dean Camera f1b6ddb710 Update file contributor copyrights for 2012. 2012-02-04 22:38:44 +00:00
Dean Camera 2c806f6cee Update file header copyrights for 2012. 2012-02-04 22:32:30 +00:00
Dean Camera 3038ea1c6e USB_CONFIG_ATTR_BUSPOWERED constant renamed to USB_CONFIG_ATTR_RESERVED, as this was misnamed (thanks to NXP Semiconductors). 2012-01-02 05:43:23 +00:00
Dean Camera f201f6697b Run wspurify script on /trunk/ and /branches/ C source files, to remove any trailing whitespace at the end of each line. 2011-12-23 01:51:39 +00:00
Dean Camera eb2e883fd3 Added Class, ClassDevice, ClassHost and ClassCommon to the internal class driver source filenames to prevent ambiguities. 2011-11-18 06:26:51 +00:00
Dean Camera e30be658c9 Add missing SVN eol-style property to ensure that source code line endings and converted to the native values on checkout. 2011-11-09 23:35:16 +00:00
Dean Camera b057041660 Use strcat() in the HTTPServer project instead of using strcpy() and strlen(). 2011-11-09 12:47:15 +00:00
Dean Camera b5682f2c44 Add project name to the Doxygen makefile target output. 2011-09-21 06:45:09 +00:00
Dean Camera aceb015ea7 Fixed incorrect Dataflash buffer use in the DataflashManager_WriteBlocks_RAM() function of several demos/projects (thanks to Jeremy Willden). 2011-07-30 02:49:59 +00:00
Dean Camera 110711598a Removed the ENDPOINT_DESCRIPTOR_DIR_* macros in favour of the shorter ENDPOINT_DIR_* macros, which can now be used with both Endpoint_ConfigureEndpoint() and in the device descriptors. 2011-07-19 07:02:19 +00:00
Dean Camera 0c2ad9eb34 Add missing SVN eol-style property to files where it was missing. 2011-07-15 08:46:08 +00:00
Dean Camera d9c16402b9 Add missing device deconfiguration-on-error statements to the host mode demos and projects. 2011-07-08 07:56:40 +00:00
Dean Camera 137ce280c1 Updated all host mode demos and projects to use the EVENT_USB_Host_DeviceEnumerationComplete() event callback for device configuration instead of manual host state machine manipulations in the main application task.
Added new USB_Host_ConfigurationNumber global variable to indicate the selected configuration in an attached device.

Renamed global state variables that are specific to a certain USB mode to clearly indicate which mode the variable relates to, by changing the USB_* prefix to USB_Device_* or USB_Host_*.

Removed the HOST_STATE_WaitForDeviceRemoval and HOST_STATE_Suspended host state machine states, as these are no longer required.

Altered the USB_Host_SetDeviceConfiguration() function to update the new USB_Host_ConfigurationNumber global as required.

Moved out the Host mode standard request convenience/helper functions from the architecture specific Host driver files to the architecture agnostic HostStandardReq.c driver file.
2011-07-08 07:25:56 +00:00
Dean Camera 7932ce86bd Add the GCC -fno-split-wide-types compile time option to some of the larger user projects to reduce the compiled application size. 2011-07-06 02:10:01 +00:00
Dean Camera a09e1cb53b Switch the HTTP Webserver project to use the safer strlcpy() instead of strncpy() to save on manual null-termination. 2011-07-04 09:19:37 +00:00
Dean Camera 04660d3793 Seperate out the device demos and project's configuration descriptor structure definitions to clearly indicate what descriptors belong to which interface. 2011-07-01 05:26:25 +00:00
Dean Camera ca9f89ce82 Add new "checksource" target to the library makefiles, for automated source file existance checking. 2011-06-20 14:38:21 +00:00
Dean Camera 7dffa15c16 Massive corrections to the project documentation and code comments, thanks to Russian translation services provided by Andrey from Microsin.ru. 2011-06-05 13:55:56 +00:00
Dean Camera f01a05415c Spell check library source code files. 2011-06-01 14:33:40 +00:00
Dean Camera edc4db41f4 Update Webserver project to remove DHCP IP configuration status notification. 2011-05-26 10:50:22 +00:00
Dean Camera b88e0a7b90 Add new MediaController project, a simple Media Playback control manipulator (Play/Pause/Next Track/Volume/etc.). 2011-05-23 12:54:15 +00:00
Dean Camera 4343e68779 Correct errors in the DHCP Server application in the Webserver project, that was causing random server restarts and/or incorrectly allocated IP addresses. 2011-05-23 07:13:45 +00:00
Dean Camera 3cba88e4c0 Add RNDIS Device support to the Webserver project, so that the files stored on the device can be viewed from a web-browser while the board is plugged into a host machine. 2011-05-22 08:28:40 +00:00
Dean Camera c263ea837a Move global interrupt enable/disable functions out to Common.h and document them. 2011-04-08 05:40:25 +00:00
Dean Camera 70284d390f Add in a new common Delay_MS() function, which provides a blocking delay for all architectures.
Remove use of avr-libc specific ATOMIC_BLOCK, replace with a new per-architecture set of inline functions to retrieve and manipulate the global interrupt enable bit for each architecture.

Add in documentation for the USB controller common interrupt routine which must be linked to the interrupt controller in the user application on the AVR32 UC3 architecture.
2011-04-08 04:49:20 +00:00
Dean Camera 899df7d331 Renamed all low level Endpoint_Read_*, Endpoint_Write_* and Endpoint_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
2011-04-04 12:52:30 +00:00
Dean Camera 8f5ab27dc9 Use the MIN() macro where possible instead of manual "(x < y) ? x : y" constructs. 2011-03-23 09:26:41 +00:00
Dean Camera aba7932a5c F_CLOCK changed to F_USB to be more descriptive, and applicable on future architecture ports. 2011-03-21 10:20:42 +00:00
Dean Camera 3d4d8e7f62 Add new ARCH option to the makefiles to (eventually) specify the target device architecture. Update non-usb peripheral drivers to reflect future multiple architecture support. 2011-02-19 18:37:22 +00:00
Dean Camera 782614dbb5 Add static keyword to all project globals whose scope should be restricted to the same module as they are declared in.
Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs.
2011-02-10 17:55:49 +00:00
Dean Camera 5995c3f880 Oops - fix missing constants in the TempDataLogger FatFS diskio.h header file.
Add const to all project descriptor definitions for safety.
2011-02-06 18:03:29 +00:00
Dean Camera a95d224185 Update projects using FatFS and PetiteFatFS to the latest library versions. 2011-02-06 15:17:46 +00:00
Dean Camera 43b9d552bb Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable(). 2011-01-30 23:12:06 +00:00
Dean Camera f555ad7ced Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.

Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.

Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
2011-01-10 18:43:34 +00:00
Dean Camera d126146887 The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio.
Add GCC_FORCE_POINTER_ACCESS() macro use to the RingBuffer library header, to attempt to force GCC into producing more efficient code for manipulating the buffers.
2011-01-08 00:54:30 +00:00
Dean Camera 1d433d4506 Update copyright year on all source files. 2011-01-01 13:00:56 +00:00
Dean Camera a8b66f318d Documentation improvements - put driver example code into its own section, fix incorrect and missing section names. 2010-12-26 14:55:26 +00:00
Dean Camera 7d83bd0dcc Add DEVICE_STATE_AS_GPIOR=0 compile time option to the library projects, to reduce compiled binary size. 2010-12-24 18:04:51 +00:00
Dean Camera 9f7883fa2b Added ability to write protect Mass Storage disk write operations from the host OS. 2010-11-26 04:16:47 +00:00
Dean Camera b634ec50a0 Changed the XPLAINBridge software UART to use the regular CTC mode instead of the alternative CTC mode via the Input Capture register, to reduce user confusion. 2010-11-25 03:20:01 +00:00
Dean Camera c43605612d Lower bulk endpoint polling rate in the descriptors to the lowest possible value to give maximum throughput. 2010-11-22 05:24:33 +00:00
Dean Camera 50390867e7 Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics). 2010-11-10 12:38:25 +00:00
Dean Camera 0ce2950d81 Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.

Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
2010-11-08 03:41:48 +00:00
Dean Camera fb76acb084 Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards. 2010-11-05 05:15:20 +00:00
Dean Camera cb779e3d7d Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. 2010-10-28 06:08:58 +00:00
Dean Camera 55538dcef3 Add descriptor class, subclass and protocol constants to the class drivers, modify all demos to use them where possible.
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.

Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
2010-10-25 12:42:55 +00:00
Dean Camera b37d77eab3 All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
2010-10-24 22:53:57 +00:00
Dean Camera 3661ae8dfb Minor documentation corrections. 2010-10-13 14:10:24 +00:00
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 2010-10-13 14:05:35 +00:00
Dean Camera 3693916cd3 Fix Webserver project code not compiling due to the changes to the USB mode selection constant names. 2010-10-12 12:25:05 +00:00
Dean Camera 158afe9109 Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction on the configuration order instead to ensure maximum reliability.
Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly.

Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices.

Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
2010-09-30 06:23:38 +00:00
Dean Camera 800485bd95 Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions. 2010-09-24 06:59:28 +00:00
Dean Camera bd85422d2b Added the --suppress-bootloader-mem option to the makefile dfu target, to ensure that writes to the bootloader section of the AVR's flash memory are ignored (thanks to Axel Rohde).
Fixed incorrect command name for EEPROM memory programming in the makefile dfu-ee target.

Makefile whitespace fixes.
2010-09-24 06:45:11 +00:00
Dean Camera 6d2f091cec Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany). 2010-09-15 03:00:29 +00:00
Dean Camera 4dece08bef Clarify in the project documentation files what the each of the different USB AVR device "series" comprises of. 2010-08-31 12:33:21 +00:00
Dean Camera 092f82e06f Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove the need for extra casting inside the callback (thanks to Jonathan Kollasch). 2010-08-24 13:02:38 +00:00
Dean Camera 4f114e5766 Fixed MassStorage based demos and projects resetting the SCSI sense values before the command is executed, leading to missed SCSI sense values when the host retrieves the sense key (thanks to Martin Degelsegger).
Added missing DataflashManager_CheckDataflashOperation() function to the MassStorageKeyboard demo, removed redundant SCSI_Codes.h file as these values are part of the MassStorage Class Driver.
2010-08-18 10:33:21 +00:00
Dean Camera 508e905d8d Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing with basic code.
Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints.
2010-08-09 10:20:10 +00:00
Dean Camera 5f3a1b2629 Fix invocations of avr-size in all makefiles broken on unpatched *nix systems, due to the recent update to the latest WinAVR makefile template. 2010-08-08 08:30:42 +00:00
Dean Camera 48c5cdced4 Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations. 2010-08-02 08:53:23 +00:00
Dean Camera 612df774d9 Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards. 2010-07-30 10:58:16 +00:00
Dean Camera 0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 2010-07-30 09:48:35 +00:00
Dean Camera 2034141a7e Spell check more of the third party libraries used by LUFA. 2010-07-30 08:29:53 +00:00
Dean Camera 28401f7bb7 Spell check all source files once again to find any typos. 2010-07-29 16:20:45 +00:00
Dean Camera 0803cf00ac Add missing INTERRUPT_CONTROL_ENDPOINT compile time option to the Mass Storage device projects/demos and incomplete Test and Measurement Class demo, which was accidentally removed during the makefile updates.
Alter Test and Measurement Class demo's request handlers to accept, process and correctly return the fields indicated in the specification.
2010-07-26 04:57:50 +00:00
Dean Camera 6bda628718 Update all demos, projects and bootloaders to indent all function parameters, one per line, for better readability.
Add missing const qualifiers to the demos.
2010-07-21 16:19:32 +00:00
Dean Camera 6b5e684c77 Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
2010-07-19 14:00:44 +00:00
Dean Camera 42ac34b484 Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions. 2010-07-18 07:31:57 +00:00
Dean Camera 9299735c75 Disable strict aliasing explicitly in the project makefiles, as this is apparently enabled by default in newer AVR-GCC builds, and aliasing is used heavily for type-punning through the LUFA and third party library's codebase. 2010-07-15 17:13:33 +00:00
Dean Camera f4710f6f86 Removed the automated checking of event names in the demo, project and bootloader makefiles due to inconsistancies between the behaviour of the command line tools used to perform the check on each platform.
Removed the internal endpoint and pipe memory allocation macros, as this is already performed directly in the code. Simplify the endpoint and pipe reset procedure.
2010-07-15 16:45:26 +00:00
Dean Camera 40631e9fe5 Fix pointer aliasing warning in the Mass Storage demos. 2010-07-15 10:34:29 +00:00
Dean Camera 3904c1a606 Add remaining AVRStudio project files to the library projects. 2010-07-13 04:39:54 +00:00
Dean Camera ae9dab1398 Add missing clean_doxygen phony targets to the project makefiles. 2010-07-12 10:18:18 +00:00
Dean Camera 2b0d93c129 Correct misspellings in the Bluetooth demo code. 2010-07-11 08:11:25 +00:00
Dean Camera c326fe9605 Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to minimal loads and stores rather than complicated shifts.
Fixed SCSI.c implementations of all the demos/projects casting the block count to a 32-bit temporary before calling SwapEndian_16().
2010-07-09 07:24:34 +00:00
Dean Camera 8b053d6ba5 Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros. Moved USB_Device_SendRemoteWakeup() to the new Device.c source file and corrected it to unfreeze and restart the USB controller clock before issuing a Remote Wakeup request.
Removed the USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros, as they are now obsolete.
2010-07-02 03:37:19 +00:00
Dean Camera 27fb44268f Update TemperatureDataLogger and Webserver projects to the latest FATFS library version. 2010-06-14 11:58:23 +00:00
Dean Camera 6d53cdba83 More documentation fixes. 2010-06-03 15:55:28 +00:00
Dean Camera fc92f9969c Minor documentation cleanups. 2010-06-03 15:32:45 +00:00
Dean Camera 776485a6c5 Remove obsolete entry from the Doxygen configuration files. 2010-05-23 08:39:02 +00:00
Dean Camera 071e02c6b6 Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style. 2010-05-08 03:12:14 +00:00
Dean Camera e331b531c6 Change over instances of "make" in the makefiles to "$(MAKE)" to allow for the make tool to be overridden. 2010-05-07 07:11:25 +00:00
Dean Camera 27eb17cb93 Change over unix line-endings to dos line endings. 2010-05-07 06:40:47 +00:00
Dean Camera e977774d4e Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent. 2010-04-28 08:15:16 +00:00
Dean Camera 59c4871f80 USB_Init() no longer calls sei() to enable global interrupts - this must now be done in the user application once all init code has run. 2010-04-28 07:48:26 +00:00