Dean Camera
64fe1cd0b2
Rename RingBuffer header functions and typedefs from RingBuff_* to RingBuffer_* so that it matches the header name.
14 years ago
Dean Camera
a8b66f318d
Documentation improvements - put driver example code into its own section, fix incorrect and missing section names.
14 years ago
Dean Camera
39ac72f2d1
Make a new general RingBuffer.h misc library driver, instead of the per-application LightweightRingBuff.h ring buffers. Change over projects to use the new driver.
...
Add ORDERED_EP_CONFIG to the device Projects (only) that use only a single class driver, or where the endpoint ordering is fixed, to save on compiled binary size.
Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointers.
14 years ago
Dean Camera
7d83bd0dcc
Add DEVICE_STATE_AS_GPIOR=0 compile time option to the library projects, to reduce compiled binary size.
14 years ago
Dean Camera
46677b4589
Fixed possible lost data in the XPLAINBridge, USBtoSerial and Benito projects when the host exceeds the packet timeout period on received packets as set by USB_STREAM_TIMEOUT_MS (thanks to Justin Rajewski).
14 years ago
Dean Camera
b67f9f3669
Added new RingBuffer_Peek() function to the lightweight ring buffer headers.
14 years ago
Dean Camera
423d4018f0
Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy.
...
Minor documentation improvements.
14 years ago
Dean Camera
c43605612d
Lower bulk endpoint polling rate in the descriptors to the lowest possible value to give maximum throughput.
14 years ago
Dean Camera
3988639823
Oops - reduce size of each ring buffer in the USBtoSerial and Benito projects so that the RAM is not overflowed on the smaller USB AVR targets (thanks to Andrei from Microsin.ru).
14 years ago
Dean Camera
b27f35536d
Fixed incorrect event name in the Benito project.
14 years ago
Dean Camera
50390867e7
Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics).
14 years ago
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.
14 years ago
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.
14 years ago
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
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
4c9425c0d5
Added periodic flush timer to the Benito project. Alter the serial transmission code so that sent bytes do not block the remainder of the main program code from running.
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.
15 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
ac61b81a0b
Add first lot of AVRStudio project files for some of the library projects.
15 years ago
Dean Camera
ae9dab1398
Add missing clean_doxygen phony targets to the project makefiles.
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