Commit Graph

282 Commits (b3c6599bb7ab8518c3a457579c538c6520e85b01)

Author SHA1 Message Date
Dean Camera 86e6ed7f31 Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards.
Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index.

Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%.
16 years ago
Dean Camera f1076ac4d6 Added const modifiers to device mode class drivers.
Added parameter directions to function parameter documentation.

Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
16 years ago
Dean Camera 3cbdcd3686 Reduce struct name pollution - group typedef struct names by class driver name where appropriate. 16 years ago
Dean Camera bb23e55f11 Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command. 16 years ago
Dean Camera 189d0c7e66 Add demos/bootloaders/projects overview to the manual. 16 years ago
Dean Camera 730624f745 Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it. 16 years ago
Dean Camera 00d0883507 Added USE_INTERNAL_SERIAL compile time option to automatically read out the internal unique serial number as the device's serial number descriptor on supported AVR models. 16 years ago
Dean Camera 35bdada24b Clean up RNDIS demo type define names. 16 years ago
Dean Camera feabfd12ce Fix makefiles -- the auto-addition of -D switches to each LUFA compile time option was faulty, due to GNUMake becomming confused by the spaces in the USE_STATIC_OPTIONS lines. Make user add in the switches explicitly instead. 16 years ago
Dean Camera beb0b2bda0 Move LUFA compile time options to a new section in the application makefiles for clarity. 16 years ago
Dean Camera f896c00c48 Break device mode class driver interfaces into seperate config and state structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces. 16 years ago
Dean Camera 2b21a1552d Remove hardcoded DOT path from all Doxygen config files.
Better documentation for the MissleLauncher project - add credit to PyLauncher project.
16 years ago
Dean Camera dcf303762a Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors.
Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
16 years ago
Dean Camera 39d07c3da0 Added USB Missle Launcher project, submitted by Dave Fletcher. 16 years ago
Dean Camera c75f8bf223 More Doxygen fixes - ensure no undocumented function parameters. 16 years ago
Dean Camera 234d0a39eb Doxygen corrections to fix Doxygen warnings in some demos. 16 years ago
Dean Camera afe6ae1402 Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
Split out common defines/types from class drivers into a seperate common class driver directory.

Make central USB Class driver dispatch headers, used for both device and host modes.
16 years ago
Dean Camera 4d3a594f3e Changed per-device controller preprocessor checks over to per-device series for better device control.
Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
16 years ago
Dean Camera 9798440ca4 Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers. 16 years ago
Dean Camera b2330934b9 Some minor whitespace corrections. 16 years ago
Dean Camera 6be24e4404 Fixes to the MIDI device demos (ClassDriver, LowLevel); discard unused read-in events from the host, use standard MIDI event structure in low level demo rather than sending individual bytes. 16 years ago
Dean Camera e6881fd166 Error status LEDs shown when device endpoint configuration fails to complete.
MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready.
16 years ago
Dean Camera 33a0184749 Converted device mode low-level demos to schedulerless. 16 years ago
Dean Camera 2793c88fc6 Add master device Host demo makefile.
Copy and convert incomplete Bluetooth Host demo to the library.
16 years ago
Dean Camera f51017f8fb Conversion of old incomplete SideShow demo to new APIs. 16 years ago
Dean Camera bf041e8bbf Add new Incomplete device subdirectory for work-in-progress demos. Add incomplete SideShow demo. 16 years ago
Dean Camera dd2cc7eda7 Remove outdated AVRStudio project files from demos, projects, bootloaders. Fix makefiles of ClassDriver device demos. 16 years ago
Dean Camera b9b03aadb2 Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory. 16 years ago
Dean Camera 3d1baa6f95 Added multiple Report ID support to the HID class driver. Removed OUT endpoint support from HID driver (all OUT reports are now processed through control requests) as a seperate endpoint had issues with determining the exact output report length. 16 years ago
Dean Camera d37d419ffa Fix Doxygen errors in demos. 16 years ago
Dean Camera 4897ef8972 Ensure all USB device class drivers have the same three main functions as their interface for consistency. 16 years ago
Dean Camera a67bd74e3e Minor documentation page updates.
Redocumented all device demos, now that they have changed over to the new USB class drivers.

Added C linkage to class drivers for C++ support.

Added prefixes to most of the class driver constants to prevent name clashes.
16 years ago
Dean Camera 7c5444b89a Removed new Start of Frame event from the library; performance suffered far too much and it was only useful in one of the standard classes (HID). Altered HID demos to use the previous method of tracking millisecond periods via a hardware timer rather than the SOF events.
Fixed MIDI class driver blocking on unread events to the host.
16 years ago
Dean Camera 74b7c07e96 Add MIDI class driver, update MIDI device demo to use the new USB class driver. All device demos/projects have now been converted to the new library class drivers, although documentation is yet to be completed. 16 years ago
Dean Camera d1e5266036 Commit of new class abstraction APIs for all device demos other than the MIDI demo - not documented yet.
Removed scheduler and memory allocation libraries.

Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated).

Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.
16 years ago
Dean Camera 7eb4eb7cdd Fix all device mode demos broken in the recent API changes.
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
16 years ago
Dean Camera b7ef7f49c9 Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure. 16 years ago
Dean Camera d0806c817c Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs. 16 years ago
Dean Camera b3a4d8512b Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill). 16 years ago
Dean Camera 2ee9fc7077 Rewritten event system to remove all macros, to make user code clearer.
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).

Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.

Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
16 years ago
Dean Camera 72c2922e38 Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code. 16 years ago
Dean Camera fabfdd454a Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped. 16 years ago
Dean Camera 32f0f605ef Removed all user pipe/endpoint interrupt APIs, added internal library support for interrupt driven control endpoints when in device mode by defining INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch. 16 years ago
Dean Camera 4904b10ef6 Moved USB Host state machine code out from USBTask.c and into Host.c, where it more properly belongs. 16 years ago
Dean Camera 958a1b4e2b Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman).
Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues.
16 years ago
Dean Camera ea74397095 Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled. 16 years ago
Dean Camera e0985b9950 Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data.
Fixed documentation showing incorrect USB mode support on the supported AVRs list.
16 years ago
Dean Camera 3f48497874 Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status stage clearing).
Commit for the 090510 release.
16 years ago
Dean Camera 1f83abe6f4 Renamed the the TotalHIDReports element of the HID descriptor structure in the HID class demos to TotalReportDescriptors, to be more accurate of the element's function (thanks to Brian Dickman). 16 years ago
Dean Camera 938f86d063 Fix build errors in Joystick device demo and library LEDs driver (on *nix systems). 16 years ago
Dean Camera a908773a13 Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency. 16 years ago
Dean Camera 63a8f66d92 Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button. 16 years ago
Dean Camera 253deb996f Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given wLength value when reading in the device descriptor.
Further documentation improvements - removed file view from the main library documentation, replaced file references in the documentation with group references.
16 years ago
Dean Camera f05224ec46 Fix minor build errors. 16 years ago
Dean Camera 58e42c6ca9 Fixed SPI driver init function not clearing SPI2X bit when not needed.
Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex).

Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus().
16 years ago
Dean Camera a504a3a010 Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless STATIC_ENDPOINT_CONFIGURATION compile time token. 16 years ago
Dean Camera c20a94a4e8 Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled).
Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
16 years ago
Dean Camera 9cec85bfd9 Documentation enhancements to improve documentation cross-references. 16 years ago
Dean Camera 6865a7bc09 Applied STATIC_ENDPOINT_CONFIGURATION and FIXED_CONTROL_SIZE tokens to all Device mode demos to reduce binary size. 16 years ago
Dean Camera d860e9e842 USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.

The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
16 years ago
Dean Camera e5e7eaee7a Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints). 16 years ago
Dean Camera 37b2130fb2 Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander). 16 years ago
Dean Camera 619b0b7b6b Spell checked non-source documentation pages. 16 years ago
Dean Camera 663f449c10 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 DSearch_Comp_Return_ErrorCodes_t enums.

Minor documentation improvements.
16 years ago
Dean Camera d38fa49cb6 More documentation changes for better module-level documentation rather than file-level documentation. 16 years ago
Dean Camera 6380d057f8 Fixed CDC and USBtoSerial demos freezing where buffers were full while still transmitting or receiving (thanks to Peter Hand). 16 years ago
Dean Camera 11bb2f2172 Renamed Serial_Stream driver to SerialStream to remain consistent with the rest of the library's naming scheme for files. 16 years ago
Dean Camera 1c16ae399a Partial commit: change references to Drivers/AT90USBXXX to Drivers/Peripheral. 16 years ago
Dean Camera 8f6b4ddf76 Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length).

Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API.

Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API.

Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel).

Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity.

Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity.

Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
16 years ago
Dean Camera ef06bfd1c0 Fixed minor issue with the RNDISEthernet demo DHCP protocol decoder routine using incorrectly named variables (thanks to Jonathan Oakley).
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei).
16 years ago
Dean Camera ecaf872177 Corrected AudioInput and AudioOutput demos, to fix endpoint underflows due to rounding in the sample reload timer. 16 years ago
Dean Camera fea5d08512 Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to account for situations where the division results in a value with no remainder, requiring one to be subtracted from the result (thanks to Robin Theunis). 16 years ago
Dean Camera af02b5b0c9 Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan).
Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint.
16 years ago
Dean Camera d3484e6bdd Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen). 16 years ago
Dean Camera cb7884da50 Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions. 16 years ago
Dean Camera 6933f2e1a5 All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected. 16 years ago
Dean Camera ece9e3d599 Changed GenericHID device demo to use the LUFA scheduler, added INTERRUPT_DATA_ENDPOINT and INTERRUPT_CONTROL_ENDPOINT compile time options. 16 years ago
Dean Camera dc83f73ca3 Added new GenericHID device demo application. 16 years ago
Dean Camera ca641bba83 Corrected bitfields -- the smallest datatype required for each bitfield is now used, rather than relying on GCC to truncate unused bytes in bitfields (thanks to Walt Sacuta). 16 years ago
Dean Camera 7cca7eb53d Added missing documentation for AUDIO_SAMPLE_FREQUENCY configuration option in the audio device demos. 16 years ago
Dean Camera 350141e085 Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incomming data.
Altered Project and Bootloader makefiles so that the path to the LUFA library can be set in one place.
16 years ago
Dean Camera ed031c1df2 Seperated out OTG, Device and Host mode demos into seperate folders for clarity. Adjusted makefiles so that the path to the LUFA library can be set in one place. 16 years ago