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.
14 years ago
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.
14 years ago
Dean Camera
5a4def7478
Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda
14 years ago
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.
14 years ago
Dean Camera
713670043a
Move out many of the common class driver constants into grouped enums, to make them more managable.
...
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.
Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
14 years ago
Dean Camera
800485bd95
Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions.
14 years ago
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.
14 years ago
Dean Camera
6d2f091cec
Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany).
14 years ago
Dean Camera
fdcb486e22
Fix typos in the project overview text files.
14 years ago
Dean Camera
4dece08bef
Clarify in the project documentation files what the each of the different USB AVR device "series" comprises of.
14 years ago
Dean Camera
263178fbb6
Add better description of the Ultra-Lightweight Ring Buffer header files.
14 years ago
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).
14 years ago
Dean Camera
1be3436e89
Moved calls to Device mode Class Driver events to after the request has been acknowledged, so that long event handlers do do skew the timing of the control requests.
...
Fixed USBtoSerial and Benito project SetLineEncoding calls failing if the USART is busy, due to the RX ISR delaying the control request handler.
14 years ago
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.
14 years ago
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.
14 years ago
Dean Camera
48c5cdced4
Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations.
14 years ago
Dean Camera
ff09cf9c73
Fix XPLAINBridge project discarding characters from the USB interface due to a double read from the endpoint.
...
Make XPLAINBridge and USBtoSerial projects more reliable by forcing a flush if the UART-to-USB buffer becomes nearly full.
Reduce locking in the LightweightRingBuffer.h header files by only locking on the update of the buffer count, and require insertions and removals from each buffer to occur in only one execution thread.
Fix CDC_*_ReceiveByte() returning 0 when the interface is not configured, instead of the new -1 error value.
Fix CDC_Host_ReceiveByte() not re-freezing the pipe if no packet has been received.
Remove redundant Pipe token set commands in the CDC and RNDIS host class drivers.
14 years ago
Dean Camera
9597b33c33
Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation to occur (thanks to Bob Paddock).
14 years ago
Dean Camera
0f45b9c8e0
More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary.
14 years ago
Dean Camera
24e621a8d8
Altered the CDC Deivice and Host Class drivers' receive byte routines, so that no data is indicated by a negative return value.
...
Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer.
14 years ago
Dean Camera
7c8d16fd7a
Oops - need to turn off USART via control register B before reconfiguring, fix ordering of USART control register modifications in the Benito and USBtoSerial projects.
14 years ago
Dean Camera
28401f7bb7
Spell check all source files once again to find any typos.
14 years ago
Dean Camera
ca007f91f2
Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect operation to occur (thanks to Bob Paddock).
14 years ago
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.
14 years ago
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.
15 years ago
Dean Camera
42ac34b484
Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
dfe50ff349
Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project.
15 years ago
Dean Camera
e2e1fe5aad
Fixed possible buffer overrun in the XPLAINBridge project when in serial bridge mode.
15 years ago
Dean Camera
3904c1a606
Add remaining AVRStudio project files to the library projects.
15 years ago
Dean Camera
ae9dab1398
Add missing clean_doxygen phony targets to the project makefiles.
15 years ago
Dean Camera
8de31cbb78
Reduce prescaler of the flush timer in the USBtoSerial demo, so that buffer overruns will not occur regardless of hardware and baud rate settings.
15 years ago
Dean Camera
0bcc82ac28
Alter the ring buffer library headers to have both atomic and non-atomic insertion/removal routines. Modify the existing projects so that buffer operations performed in an ISR use the shorted non-atomic versions, as they are already performed in a blocking ISR.
...
Alter USBtoSerial demo so that it does not enter a blocking loop to send data from the USB to the USART, as this can cause dropped bytes in the reception code if large amounts of data are sent in both directions at the same time. Added a flush timer to the USBtoSerial code for the USART to USB interface, so that multiple bytes can be sent in the same USB packet.
15 years ago
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.
15 years ago
Dean Camera
ad29e79b94
Maximise the size of the ring buffers in the Benito/XPLAINBridge/USBtoSerial projects, so that they should never become full under normal conditions.
15 years ago
Dean Camera
5fa0e9c007
Oops - light weight ring buffer documentation used \ref instead of \param to document function parameters.
15 years ago
Dean Camera
c2e340320c
Document lightweight ring buffer header files.
15 years ago
Dean Camera
2dabb4e55f
Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings.
15 years ago
Dean Camera
8d993afc53
Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability.
15 years ago
Dean Camera
776485a6c5
Remove obsolete entry from the Doxygen configuration files.
15 years ago
Dean Camera
a883cf65dc
Renamed CDC device class demos' ManagementEndpoint descriptor to NotificationEndpoint to more accurately indicate its purpose.
15 years ago
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.
15 years ago
Dean Camera
e331b531c6
Change over instances of "make" in the makefiles to "$(MAKE)" to allow for the make tool to be overridden.
15 years ago
Dean Camera
9c8bd6ed9b
Remove incorrect Abstract Call Management class specific descriptor from the CDC demos, bootloaders and projects.
15 years ago
Dean Camera
3d28d53c3e
Change AVRISP project's timeout to be interrupt based again, but make the interrupt itself interruptable and use a seperate assembly file to hand-optimize the ISR code.
...
Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be selected (thanks to Steffan).
15 years ago
Dean Camera
e977774d4e
Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent.
15 years ago
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.
15 years ago
Dean Camera
49b09a2042
Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders and projects.
...
Fix errors in the MouseHostWithParser demo from incorrect use of the HID_ALIGN_DATA() macro.
15 years ago
Dean Camera
7d51e51c79
Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.).
15 years ago