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
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
612df774d9
Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards.
15 years ago
Dean Camera
0f45b9c8e0
More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary.
15 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.
15 years ago
Dean Camera
28401f7bb7
Spell check all source files once again to find any typos.
15 years ago
Dean Camera
059307d89c
Use static inline intermediatary functions in Endpoint.h to handle the masking for the private endpoint configuration routine, instead of performing the masking in the Endpoint_ConfigureEndpoint() macro.
15 years ago
Dean Camera
be2a7d4598
Move over message ID specific header data to unions inside the standard TMC header structure, so that all header data is read in one chunk in the incomplete TMC demo.
15 years ago
Dean Camera
cd39c38d5f
Rename reserved members of all structs so that they are uniformly named across all demos/projects/bootloaders.
...
Added start of the Incomplete TMC demo's command parser code.
15 years ago
Dean Camera
eb8a708b53
Update size of compiled Mouse demo in documentation, fix indenting in Device.h.
15 years ago
Dean Camera
9b0e4b8356
Convert over internal pseudo-function macros to true inline functions for added type-safety and compile-checking.
15 years ago
Dean Camera
83e293a6ec
Replace internal Pipe_BytesToEPSizeMask() routine with a new version which results in smaller code.
15 years ago
Dean Camera
97143bf814
Add missing const qualifiers to class drivers.
...
Indent core library function parameters so that there is only one parameter per line, to increase readability.
15 years ago
Dean Camera
99d8a39363
Move and rename DevChaper9.c/.h and HostChapter9.c/.h to the HighLevel directory, new named DeviceStandardReq.c/.h and HostStandardReq.c/.h.
...
Rename LowLevel.c/.h to USBController.c/.h.
Remove dependancies on the complete <avr/io.h> header in the HighLevel USB driver directory, to ensure less work is required in later (possible) ports.
15 years ago
Dean Camera
5f57785404
Add missing const qualifier to the parameters of the USB_GetNextDescriptorComp() function.
...
Reduce spacing of the structure elements in StdDescriptors.h to make the code more readable.
15 years ago
Dean Camera
f9bcac5e00
Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green).
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
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
7cef08e10e
Fixed HID device class driver still using PrevReportINBuffer for GetReport control requests even when it has been set to NULL by the user application (thanks to Axel Rohde).
15 years ago
Dean Camera
0313034245
Added const attributes to some of the class driver function parameters that were missing it.
15 years ago
Dean Camera
1167b69943
Add missing eol-style properties to new source files.
15 years ago
Dean Camera
dea897ef57
Make main readme file easier to read, and make documentation build instructions clearer.
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
deed746d37
Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
...
Minor tweaks to the library documentation.
15 years ago
Dean Camera
711542ee89
Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better.
15 years ago
Dean Camera
dcedde0123
Fix HID parser documentation for the default maximum report/path/etc. elements so that it matches the current code values.
15 years ago
Dean Camera
a14ece5f57
Change over Doxygen \note documentation to \pre where applicable.
15 years ago
Dean Camera
036a156ff4
Slight improvements to the reliability of the software UART in the XPLAINBridge project.
15 years ago
Dean Camera
75d440ace3
Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured pipes, rather than performing token check first.
15 years ago
Dean Camera
5ce3f0b17b
Add missing ATTR_NON_NULL_PTR_ARG and ATTR_ALWAYS_INLINE attributes to class driver functions.
15 years ago
Dean Camera
be09f64872
Fixed incorrect function references in the Mass Storage Class driver documentation.
15 years ago
Dean Camera
6d53cdba83
More documentation fixes.
15 years ago
Dean Camera
fc92f9969c
Minor documentation cleanups.
15 years ago
Dean Camera
5144ea76f6
Oops - descriptor pointer should be assigned, not incremented with the new type-safe code.
15 years ago
Dean Camera
6d22a00e8b
Better fix to avoid void pointer arithmetic in ConfigDescriptor.h to regain C++ compatibility (thanks to Michael Hennebry).
15 years ago
Dean Camera
f606afefff
Remove void* arithmetic in the USB_GetNextDescriptor() static inline function, to make the header file C++ compatible once again. Implement workaround for an obscure GCC bug which can cause incorrect code generation under some circumstances when the void* is re-cast.
15 years ago
Dean Camera
152b2764c3
Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead.
15 years ago
Dean Camera
e95c96ea20
Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde).
15 years ago
Dean Camera
328ed71ce7
Fix spacing of the function parameter descriptions in the Doxygen documentation.
15 years ago
Dean Camera
670413603f
The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan.
...
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
15 years ago
Dean Camera
34047efc7e
Remove incorrect check for the current device state in the Set Configuration request handler of DevChapter9, which broke Set Configuration requests to the device under most circumstances.
...
Move out the SPI prescaler list to a PROGMEM module-level variable in ISPTarget.c.
15 years ago
Dean Camera
1331cce08a
Fixed possible device lockup when INTERRUPT_CONTROL_ENDPOINT is enabled and the control endpoint is not properly selected when the ISR completes.
15 years ago
Dean Camera
ee5ea4ce2b
Fix nasty bug in USBInterrupt.c which would cause a lockup if the control endpoint was not selected at the point the USB endpoint interrupt fires when INTERRUPT_CONTROL_ENDPOINT is defined.
15 years ago
Dean Camera
05ac59d0ee
Add new ReportType parameter to the HID class driver device callback and host report sending routines.
...
Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
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
a9e0935a90
Device mode class driver callbacks are now fired before the control request status stage is sent to prevent the host from timing out if another request is immediately fired and the device has a lengthy callback routine.
...
Inlined currently unused MIDI ProcessControlRequest routine.
15 years ago
Dean Camera
27eb17cb93
Change over unix line-endings to dos line endings.
15 years ago
Dean Camera
842e219bf3
Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() function to the Device and Host CDC Class drivers.
15 years ago
Dean Camera
cde2afc50e
Ensure that the CDC class drivers return 0 if the number of unread bytes is queried and the bank has become empty.
15 years ago
Dean Camera
708a1c6166
Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint request is being processed, causing possible lockups if a USB interrupt occurs during a transfer.
15 years ago